liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Automatic Parallelization using Pipelining for Equation-Based Simulation Languages
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
2008 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

During the most recent decades modern equation-based object-oriented modeling and simulation languages, such as Modelica, have become available. This has made it easier to build complex and more detailed models for use in simulation. To be able to simulate such large and complex systems it is sometimes not enough to rely on the ability of a compiler to optimize the simulation code and reduce the size of the underlying set of equations to speed up the simulation on a single processor. Instead we must look for ways to utilize the increasing number of processing units available in modern computers. However to gain any increased performance from a parallel computer the simulation program must be expressed in a way that exposes the potential parallelism to the computer. Doing this manually is not a simple task and most modelers are not experts in parallel computing. Therefore it is very appealing to let the compiler parallelize the simulation code automatically. This thesis investigates techniques of using automatic translation of models in typical equation based languages, such as Modelica, into parallel simulation code that enable high utilization of available processors in a parallel computer. The two main ideas investigated here are the following: first, to apply parallelization simultaneously to both the system equations and the numerical solver, and secondly. to use software pipelining to further reduce the time processors are kept waiting for the results of other processors. Prototype implementations of the investigated techniques have been developed as a part of the OpenModelica open source compiler for Modelica. The prototype has been used to evaluate the parallelization techniques by measuring the execution time of test models on a few parallel archtectures and to compare the results to sequential code as well as to the results achieved in earlier work. A measured speedup of 6.1 on eight processors on a shared memory machine has been reached. It still remains to evaluate the methods for a wider range of test models and parallel architectures.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press , 2008. , 25 p.
Series
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1381
Keyword [en]
Equation-Based languages, automatic parallelization, Modelica, simulation
Keyword [sv]
Ekvationsbaserade språk, automatisk parallellisering, Modelica, simulering
National Category
Computer Science
Identifiers
URN: urn:nbn:se:liu:diva-12504Local ID: LIU-TEK-LIC-2008:39ISBN: 978-91-7393-799-3 (print)OAI: oai:DiVA.org:liu-12504DiVA: diva2:290
Presentation
2008-09-26, Alan Turing, Hus E, Campus Valla, Linköpings universitet, Linköping, 10:15 (English)
Opponent
Supervisors
Available from: 2008-09-09 Created: 2008-09-09 Last updated: 2014-10-08Bibliographically approved
List of papers
1. Automatic Parallelization of Models using Pipeline Extraction from Combined RHS and Inlined Solvers
Open this publication in new window or tab >>Automatic Parallelization of Models using Pipeline Extraction from Combined RHS and Inlined Solvers
2009 (English)In: the 14th Workshop on Compilers for Parallel Computing, 2009Conference paper, Published paper (Other scientific)
Abstract [en]

In this work we report preliminary results from a new integrated method of automatically generating parallel code from equationbased object-oriented mathematical models by combining parallelization at two levels of abstraction. Performing inline expansion of a Runge-Kutta solver combined with fine-grained automatic parallelization of the resulting RHS opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are becoming commonplace. We have introduced a new way of scheduling the task graph generated from the simulation problem which utilizes knowledge about locality of the simulation problem and generates a computation pipeline such that processors early in the pipeline can carry on with subsequent time steps while the end of the pipeline still computes the current step. A prototype implementation has been developed as part of the OpenModelica compiler, which has been used for preliminary measurements.

Keyword
Modelica, automatic parallelization, equation-based modeling
Identifiers
urn:nbn:se:liu:diva-12438 (URN)
Note
Submitted, but not yet accepted.Available from: 2008-09-04 Created: 2008-09-04 Last updated: 2013-06-12
2. Automatic Parallelization of Object Oriented  Models Across Method and System
Open this publication in new window or tab >>Automatic Parallelization of Object Oriented  Models Across Method and System
2007 (English)Conference paper, Published paper (Refereed)
Abstract [en]

In this work we report preliminary results of automatically generating parallel code from equation-based models together at two levels: Performing inline expansion of a Runge-Kutta solver combined with fine-grained automatic parallelization of the resulting RHS opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are becoming common-place.We have introduced a new way of scheduling the task graph generated from the simulation problem which utilizes knowledge about locality of the simulation problem. The scheduling is also done in a way that limits communication, to the greatest extent possible, to neighboring processors thus avoiding expensive global synchronization. Preliminary tests on a PC-cluster show speedup that is better than what was achieved in previous work where parallelization was done only at the equation system level.

National Category
Computer Science
Identifiers
urn:nbn:se:liu:diva-12429 (URN)
Conference
Proceedings of 6th Eurosim Congress, Ljubjana, Slovenia
Available from: 2008-09-04 Created: 2008-09-04 Last updated: 2014-10-08
3. Event Handling in the OpenModelica Compiler and Runtime System
Open this publication in new window or tab >>Event Handling in the OpenModelica Compiler and Runtime System
2008 (English)Report (Other academic)
Abstract [en]

This paper gives an introduction and overview of problems and solutions regarding simulating hybrid DAEs (systems of Differential Algebraic Equations) with event-handling, in the context of producing such equations from models in the Modelica language. Iimplementation and measurements are done in the OpenModelica environment. The basic hybrid DAE solution algorithm is presented, followed by a discussion of handling possibly varying structure of the active part of the hybrid DAE, and how to find consistent initial values at start or restart of simulation. The problem of detecting events during continuous-time simulation is dealt with using crossing functions and an algorithm for proper integration with a numerical solver, here DASRT. Event-related aspects of code generation from models are presented, followed by an example showing how the event mechanism works. Finally, preliminary results from translating and simulating two examples models, the bouncing ball and the full wave rectifier, are presented and compared with those from a commercial simulation tool (Dymola), giving identical results.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2008. 21 p.
Series
Technical reports in Computer and Information Science, ISSN 1654-7233 ; 2
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-12431 (URN)
Available from: 2008-09-04 Created: 2008-09-04 Last updated: 2014-10-08Bibliographically approved

Open Access in DiVA

fulltext(269 kB)1437 downloads
File information
File name FULLTEXT01.pdfFile size 269 kBChecksum SHA-512
d55dc6a80c3a7a339111ab4e1a2ba7fcd6b21ce15d249ae87705992b16ac44dee9e5a8b4a71260bd09b8c288f1706878f769fac4a89125f2e0b3bd5618e6f921
Type fulltextMimetype application/pdf
cover(86 kB)65 downloads
File information
File name COVER01.pdfFile size 86 kBChecksum SHA-512
224267072fd8c5efc1356c7656fa3832a6a9fd6d9a3d5a5b65f3afd106dfb05a261445375131d7a204cd18351d7671272e0657bf313c4bf5b331c70742c04c81
Type coverMimetype application/pdf

Authority records BETA

Lundvall, Håkan

Search in DiVA

By author/editor
Lundvall, Håkan
By organisation
PELAB - Programming Environment LaboratoryThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 1437 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 2043 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf