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