Publications
Download:
File size:
2504 kb
Format:
application/pdf
Author:
Aronsson, Peter (Linköping University, PELAB - Programming Environment Laboratory)(Linköping University, The Institute of Technology)
Title:
Automatic Parallelization of Simulation Code from Equation Based Simulation Languages
Department:
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory
Linköping University, The Institute of Technology
Publication type:
Licentiate thesis, monograph (Other academic)
Language:
English
Publisher:
Institutionen för datavetenskap
Pages:
107
Series:
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971; 933
Year of publ.:
2002
URI:
urn:nbn:se:liu:diva-5720
Permanent link:
http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-5720
ISBN:
91-7373-280-X
Subject category:
Computer science
Keywords(en) :
state-of-the-art equation, object oriented modeling, automatic parallelization tool, data dependency graph, clustering algorithms
Abstract(en) :

Modern state-of-the-art equation based object oriented modeling languages such as Modelica have enabled easy modeling of large and complex physical systems. When such complex models are to be simulated, simulation tools typically perform a number of optimizations on the underlying set of equations in the modeled system, with the goal of gaining better simulation performance by decreasing the equation system size and complexity. The tools then typically generate efficient code to obtain fast execution of the simulations. However, with increasing complexity of modeled systems the number of equations and variables are increasing. Therefore, to be able to simulate these large complex systems in an efficient way parallel computing can be exploited.

This thesis presents the work of building an automatic parallelization tool that produces an efficient parallel version of the simulation code by building a data dependency graph (task graph) from the simulation code and applying efficient scheduling and clustering algorithms on the task graph. Various scheduling and clustering algorithms, adapted for the requirements from this type of simulation code, have been implemented and evaluated. The scheduling and clustering algorithms presented and evaluated can also be used for functional dataflow languages in general, since the algorithms work on a task graph with dataflow edges between nodes.

Results are given in form of speedup measurements and task graph statistics produced by the tool. The conclusion drawn is that some of the algorithms investigated and adapted in this work give reasonable measured speedup results for some specific Modelica models, e.g. a model of a thermofluid pipe gave a speedup of about 2.5 on 8 processors in a PC-cluster. However, future work lies in finding a good algorithm that works well in general.

Note:
Report code: LiU-Tek-Lic-2002:06.
Presentation:
2002-04-03, 00:00 (English)
Supervisor:
Fritzson, Peter (Linköping University, PELAB - Programming Environment Laboratory)(Linköping University, The Institute of Technology)
Available from:
2003-04-15
Created:
2003-04-15
Last updated:
2009-04-27
Statistics:
185 hits
FILE INFORMATION
File size:
2504 kb
Mimetype:
application/pdf
Type:
fulltext
Statistics:
412 hits