Selecting simulation models when predicting parallel program behavior

Document type: Conference Papers
Peer reviewed: Yes
Author(s): Magnus Broberg, Lars Lundberg, Håkan Grahn
Title: Selecting simulation models when predicting parallel program behavior
Conference name: ISCA 15th International Conference on Parallel and Distributed Computing Systems
Year: 2002
Pagination: 165-172
ISBN: 1-880843-44-7
ISI number: 000179776300027
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
Language: English
Abstract: The use of multiprocessors is an important way to increase the performance of a parallel program. This means that. the program has to be parallelized to make use of the multiple 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 program 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 uniprocessor 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, we 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 models.
Subject: Software Engineering\General
Keywords: simulation models, trace-driven simulation, development tool, performance prediction