Selecting Simulation Models when Predicting Parallel Program Behaviour

Document type: Researchreports
Full text:
Author(s): Magnus Broberg, Lars Lundberg, Håkan Grahn
Title: Selecting Simulation Models when Predicting Parallel Program Behaviour
Series: Research Report
Year: 2002
Issue: 4
ISSN: 1103-1581
Organization: Blekinge Institute of Technology
Department: Department of Software Engineering and Computer Science (Institutionen för programvaruteknik och datavetenskap)
Dept. of Software Engineering and Computer Science S-372 25 Ronneby
+46 455 38 50 00
Authors e-mail: {Magnus.Broberg, Lars.Lundberg, Hakan.Grahn}
Language: English
Abstract: The use of multiprocessors is an important way to increase the performance of a supercom-puting program. This means that the program has to be parallelized to make use of the multi-ple processors. The parallelization is unfortunately not an easy task. Development tools supporting parallel programs are important. Further, it is the customer that decides the number of processors in the target machine, and as a result the developer has to make sure that the pro-gram runs efficiently on any number of processors. Many simulation tools support the developer by simulating any number of processors and predict the performance based on a uni-processor execution trace. This popular technique gives reliable results in many cases. Based on our experience from developing such a tool, and studying other (commercial) tools, we have identified three basic simulation models. Due to the flexibility of general purpose programming languages and operating systems, like C/C++ and Sun Solaris, two of the models may cause deadlock in a deadlock-free program. Selecting the appropriate model is difficult, since we in this paper also show that the three models have significantly different accuracy when using real world programs. Based on the findings we present a practical scheme when to use the three models.
Subject: Computer Science\Computersystems
URN: urn:nbn:se:bth-00189