Proceedings of the 28th Annual Hawaii International Conference on System Sciences - 1995 N-MAP: A Virtual Processor Discrete Event Simulation Tool for Performance Prediction in the CAPSE Environment A. Ferscha and J. Johnson Institut fiir Angewandte Informatik und Informationssysteme, Universitft Wien Lenaugasse 2/B, A-1080 Vienna, Austria Email: [ferscha 1johnson]@ani.uniiie.ac.at Abstract The CAPSE (Computer Aided Parallel Software Engineering) environment aims to assist a perfor- mance oriented parallel program development approach by integrating tools for performance prediction in the design phase, analytical or simulation based perfor- mance analysis in the detailed specification and coding phase, and finally monitoring in the testing and cor- rection phase. In this work, the N-MAP tool as part of the CAPSE environment is presented. N-MAP covers the crucial aspect of performance prediction to support a perfor- mance oriented, incremental development process of parallel applications such that implementation design choices can be investigated far ahead of the full coding of the application. Methodologically, N-MAP in an automatic parse and translate step generates a simu- lation program from a skeletal SPMD program, with which the programmer expresses just the constituent and performance critical program parts, subject to an incremental refinement. The simulated execution of the SPMD skeleton supports a variety of performance studies. We demonstrate the use and performance of the N-MAP tool by developing a linear system solver for the CM-5. 1 Introduction The aim to accelerate the execution of computa- tionally intensive applications using massively paral- lel hardware demands the availability of performance efficient implementations. As a consequence, perfor- mance orientation must be the driving force in the development process of parallel programs. In addition to the adherence to well-developed software enginee- ring principles, only the application of a profound per- formance engineering [21] methodology can guarantee t.he development of successful parallel program codes. Performance evaluation and engineering in the con- text of parallel processing has progressed over the past quarter of a century along different lines. Histori- cally first, works on the so called mapping problem appeared [24,4] which addressed assignment and sche- duling issues in distributed memory MIMD systems. A large body of literature (see e.g. [20] for a classifi- cation of the particular problems studied) is available on the subject, however, most of the models have be- come obsolete due to the technological development of multiprocessor hardware now being in its third ge- neration. The classical branch of computer systems performance evaluation has also recognized fields for research and application of analysis methods in paral- lel processing [2]. Model based performance analysis has recognized an overwhelming mass of contributi- ons in the various paradigms: queueing network mo- dels [15, 16, 111, Petri Net modeling [l] and marko- vian/stochastic performance models [22] to give some pointers. Performance models have been devised that describe the interdependencies of hardware resources [17], that characterize the behavior of parallel program components and the workload for parallel systems [6], but also integrated performance models explicitly re- presenting parallel program, multiprocessor hardware and mapping performance factors in a single model have been reported [B, 181. Most of the results pro- duced in this branch, however, are not related to the development process of parallel programs but do stand rather as contributions to the “art of modeling” for its own. A methodological integration of performance and software engineering activities has been tried for cer- tain purposes, and various different attempts have been made. Among the earliest approaches, we find the insertion of probes into parallel codes, generating trace information at runtime for t,he purpose of moni- toring [19], performance tuning [3] or post-execution behavior visualization [13]. For the user-directed par- 216 1060-3425/95$4.00 0 1995 IEEE Proceedings of the 28th Hawaii International Conference on System Sciences (HICSS'95) 1060-3425/95 $10.00 © 1995 IEEE