skip to main content


Title: Static analysis techniques for semiautomatic synthesis of message passing software skeletons

The design of high-performance computing architectures demands performance analysis of large-scale parallel applications to derive various parameters concerning hardware design and software development. The process of performance analysis and benchmarking an application can be done in several ways with varying degrees of fidelity. One of the most cost-effective ways is to do a coarse-grained study of large-scale parallel applications through the use of program skeletons. The concept of a “program skeleton” that we discuss in this article is an abstracted program that is derived from a larger program where source code that is determined to be irrelevant is removed for the purposes of the skeleton. In this work, we develop a semiautomatic approach for extracting program skeletons based on compiler program analysis. Finally, we demonstrate correctness of our skeleton extraction process by comparing details from communication traces, as well as show the performance speedup of using skeletons by running simulations in the SST/macro simulator.
 [1] ;  [1] ;  [2] ;  [3] ;  [4]
  1. Galois, Inc., Portland, OR (United States). Research and Engineering
  2. Univ. of Central Florida, Orlando, FL (United States)
  3. Sandia National Lab. (SNL-CA), Livermore, CA (United States)
  4. Sandia National Lab. (SNL-CA), Livermore, CA (United States); Univ. of Central Florida, Orlando, FL (United States)
Publication Date:
Report Number(s):
Journal ID: ISSN 1049-3301; 536718
Grant/Contract Number:
Accepted Manuscript
Journal Name:
ACM Transactions on Modeling and Computer Simulation
Additional Journal Information:
Journal Volume: 26; Journal Issue: 1; Journal ID: ISSN 1049-3301
Research Org:
Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
Sponsoring Org:
USDOE National Nuclear Security Administration (NNSA)
Country of Publication:
United States
97 MATHEMATICS AND COMPUTING; algorithms; design; experimentation; human factors; verification; program skeleton; static analysis; dependency analysis; simulation; source-to-source code generation
OSTI Identifier: