Automated Scalability Analysis of Message-Passing Parallel Programs

  • Authors:
  • Sekhar R. Sarukkai;Pankaj Mehra;Robert J. Block

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Parallel & Distributed Technology: Systems & Technology
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most performance tools for parallel programs are geared toward small-scale executions of small programs. Scalability analysis tools can help programmers predict the efficiency of scaled-up versions of such programs. Scalability analysis characterizes a program's asymptotic speedup as a function of problem size and the number of processors. It often requires modeling the program, which is a complex and tedious task. Scalability analysis toolkits that automate modeling can ease the programmer's burden.The authors introduce a methodology and a toolkit for automated scalability analysis of message-passing programs. The toolkit, called MK, generates an augmented parse tree, which is an abstraction of a program's actual parse tree. MK extracts the APT's skeleton from the original parse tree and annotates it with symbolic information about loop bounds and corresponding complexity expressions. The toolkit augments this annotated parse tree with computation phase graphs, which contain communication pattern information.MK then traverses the APT's nodes to perform two types of scalability analysis: complexity analysis or abstract interpretation. Complexity analysis, which involves algorithmic analysis of computation and communication costs, predicts a program's general performance. Abstract interpretation, which simulates a program's communication but abstracts out computation, pinpoints causes of poor performance.The authors demonstrate their approach by automatically characterizing the scalability of several scientific applications that run on Intel's iPSC/860 and Paragon supercomputers. Complexity analyses of a pipeline tridiagonal solver and a 2D atmospheric simulation predict times that are close to the actual execution times. The pipeline solver simulation has a maximum error of less than 20%; the atmospheric simulation has a mean error of 9.14%. Abstract interpretations of a transpose-based tridiagonal solver and a pipeline tridiagonal solver produce similar results. The transposed-based solver simulation's error is within 8%, and the pipeline simulation's error is approximately 15%.The authors plan to extend MK to handle more complicated analyses, and to extend the analyses to other platforms and architectures.