Selecting Simulation Models when Predicting Parallel Program Behaviour
Blekinge Institute of Technology, Department of Software Engineering and Computer Science2002 (English)Report (Other academic)
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.
Place, publisher, year, edition, pages
Blekinge Tekniska Högskola Forskningsrapport, ISSN 1103-1581 ; 4
IdentifiersURN: urn:nbn:se:bth-00189Local ID: oai:bth.se:forskinfo2CA4F771C77169E6C1256B65002BF692OAI: oai:DiVA.org:bth-00189DiVA: diva2:838230