Modeling message-passing programs with a Performance Evaluating Virtual Parallel Machine
Date
2005
Authors
Grove, D.
Coddington, P.
Editors
Advisors
Journal Title
Journal ISSN
Volume Title
Type:
Journal article
Citation
Performance evaluation (Print), 2005; 60(1-4):165-187
Statement of Responsibility
D.A. Grove and P.D. Coddington
Conference Name
Abstract
We present a new performance modeling system for message-passing parallel programs that is based around a Performance Evaluating Virtual Parallel Machine (PEVPM). We explain how a PEVPM model for a particular message-passing program can be developed by inserting PEVPM performance directives that describe the serial segments of computation and the message-passing events that the program contains. This is a novel bottom-up approach to performance modeling, which aims to accurately model when processing and message-passing occurs during program execution. Since the times at which these functions are performed are dynamic because they are affected by network contention and data dependencies, we use a virtual machine to simulate program execution. This simulation is done by executing PEVPM performance directives rather than executing the code itself, so it is very fast. However, it is still very accurate because enough information is stored by the PEVPM to dynamically create detailed submodels of processing and communication. Another novel feature of our approach is that the submodels used for communication allow completion time for individual message-passing calls to be sampled from a probability distribution that describes the performance variability exhibited by communication subject to contention. These performance distributions can be empirically measured using a suite of highly accurate message-passing benchmarks that we have developed. This approach provides a Monte Carlo analysis that can give very accurate results for the average and the variance (or even the probability distribution) of program execution time. In this paper, we introduce the ideas underpinning the PEVPM technique, describe the syntax of the modeling language and virtual machine that supports it, and discuss the power of the methodology.