skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Automatic generation of executable communication specifications from parallel applications

Abstract

Portable parallel benchmarks are widely used and highly effective for (a) the evaluation, analysis and procurement of high-performance computing (HPC) systems and (b) quantifying the potential benefits of porting applications for new hardware platforms. Yet, past techniques to synthetically parameterized hand-coded HPC benchmarks prove insufficient for today's rapidly-evolving scientific codes particularly when subject to multi-scale science modeling or when utilizing domain-specific libraries. To address these problems, this work contributes novel methods to automatically generate highly portable and customizable communication benchmarks from HPC applications. We utilize ScalaTrace, a lossless, yet scalable, parallel application tracing framework to collect selected aspects of the run-time behavior of HPC applications, including communication operations and execution time, while abstracting away the details of the computation proper. We subsequently generate benchmarks with identical run-time behavior from the collected traces. A unique feature of our approach is that we generate benchmarks in CONCEPTUAL, a domain-specific language that enables the expression of sophisticated communication patterns using a rich and easily understandable grammar yet compiles to ordinary C + MPI. Experimental results demonstrate that the generated benchmarks are able to preserve the run-time behavior - including both the communication pattern and the execution time - of the original applications. Suchmore » automated benchmark generation is particularly valuable for proprietary, export-controlled, or classified application codes: when supplied to a third party. Our auto-generated benchmarks ensure performance fidelity but without the risks associated with releasing the original code. This ability to automatically generate performance-accurate benchmarks from parallel applications is novel and without any precedence, to our knowledge.« less

Authors:
 [1];  [2];  [2]
  1. Los Alamos National Laboratory
  2. NCSU
Publication Date:
Research Org.:
Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1048791
Report Number(s):
LA-UR-11-00402; LA-UR-11-402
TRN: US201217%%143
DOE Contract Number:  
AC52-06NA25396
Resource Type:
Journal Article
Country of Publication:
United States
Language:
English
Subject:
42 ENGINEERING; 97 MATHEMATICAL METHODS AND COMPUTING; BENCHMARKS; COMMUNICATIONS; EVALUATION; PERFORMANCE; PROCUREMENT; SIMULATION; SPECIFICATIONS

Citation Formats

Pakin, Scott, Wu, Xing, and Mueller, Frank. Automatic generation of executable communication specifications from parallel applications. United States: N. p., 2011. Web.
Pakin, Scott, Wu, Xing, & Mueller, Frank. Automatic generation of executable communication specifications from parallel applications. United States.
Pakin, Scott, Wu, Xing, and Mueller, Frank. Wed . "Automatic generation of executable communication specifications from parallel applications". United States. https://www.osti.gov/servlets/purl/1048791.
@article{osti_1048791,
title = {Automatic generation of executable communication specifications from parallel applications},
author = {Pakin, Scott and Wu, Xing and Mueller, Frank},
abstractNote = {Portable parallel benchmarks are widely used and highly effective for (a) the evaluation, analysis and procurement of high-performance computing (HPC) systems and (b) quantifying the potential benefits of porting applications for new hardware platforms. Yet, past techniques to synthetically parameterized hand-coded HPC benchmarks prove insufficient for today's rapidly-evolving scientific codes particularly when subject to multi-scale science modeling or when utilizing domain-specific libraries. To address these problems, this work contributes novel methods to automatically generate highly portable and customizable communication benchmarks from HPC applications. We utilize ScalaTrace, a lossless, yet scalable, parallel application tracing framework to collect selected aspects of the run-time behavior of HPC applications, including communication operations and execution time, while abstracting away the details of the computation proper. We subsequently generate benchmarks with identical run-time behavior from the collected traces. A unique feature of our approach is that we generate benchmarks in CONCEPTUAL, a domain-specific language that enables the expression of sophisticated communication patterns using a rich and easily understandable grammar yet compiles to ordinary C + MPI. Experimental results demonstrate that the generated benchmarks are able to preserve the run-time behavior - including both the communication pattern and the execution time - of the original applications. Such automated benchmark generation is particularly valuable for proprietary, export-controlled, or classified application codes: when supplied to a third party. Our auto-generated benchmarks ensure performance fidelity but without the risks associated with releasing the original code. This ability to automatically generate performance-accurate benchmarks from parallel applications is novel and without any precedence, to our knowledge.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2011},
month = {1}
}