Equation based parallelization of Modelica models

Marcus Walther
Dresden University of Technology, Germany

Volker Waurich
Dresden University of Technology, Germany

Christian Schubert
Dresden University of Technology, Germany

Ines Gubsch
Dresden University of Technology, Germany

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp140961213

Ingår i: Proceedings of the 10th International Modelica Conference; March 10-12; 2014; Lund; Sweden

Linköping Electronic Conference Proceedings 96:128, s. 1213-1220

Visa mer +

Publicerad: 2014-03-10

ISBN: 978-91-7519-380-9

ISSN: 1650-3686 (tryckt), 1650-3740 (online)


In order to enhance the performance of modern computers; the current development is towards placing multiple cores on one chip instead of inreasing the clock rates. To gain a speed-up from this architecture; software programs have to be partitioned into several independent parts. A common representation of these parts is called a task graph or data dependency graph. The authors of this article have developed a module for the OpenModelica Compiler (OMC); which creates; simplifies and schedules such task graphs. The tasks are created based on the BLT (block lower triangular)-structure; which is derived from the right hand side of the model equations. A noticeable speed-up for fluid models on modern six-core CPUs can be achieved.


modelica; openmodelica; parallelization; BLT; task graph


[1] M. Gebremedhin, “Parmodelica: Extending the algorithmic subset ofmodelica with explicit parallel languageconstructs for multi-core simulation,” Linköping University Electronic Press, Linköpings universitet, 2011.

[2] K. Stavåker, “Contributions to parallel simulation of equation-based models on graphics processing units,” Linköping University, Sweden, 2011.

[3] P. Aronsson, Automatic Parallelization of Equation-Based Simulation Programs. Institutionen för datavetenskap, 2006.

[4] H. Lundvall, K. Stavåker, P. Fritzson, and C. Kessler, “Automatic parallelization of simulation code for equation-based models with software pipelining and measurements on three platforms,” SIGARCH Comput. Archit. News, vol. 36, pp. 46–55, June 2009.

[5] P. Östlund, “Simulation of modelica models on the cuda parallel architecture,” Linköping University Electronic Press, Linköpings universitet, 2010.

[6] F. Casella, “A strategy for parallel simulation of declarative object-oriented models of generalized physical networks,” Linköping University Electronic Press, Linköpings universitet, 2013.

[7] F. Cellier and E. Kofman, Continuous System Simulation. Springer, 2006.

[8] R. E. Tarjan, “Depth-first search and linear graph algorithms.,” SIAM J. Comput., vol. 1, no. 2, pp. 146–160, 1972.

[9] M. R. Garey, D. S. Johnson, and R. Sethi, “The complexity of flowshop and jobshop scheduling,” Math. of Op. Res., vol. 2, pp. 117–129, May 1976. ctr127.

[10] A. Duran, J. Corbalán, and E. Ayguadé, “Evaluation of openmp task scheduling strategies.,” in IWOMP (R. Eigenmann and B. R. de Supinski,
eds.), vol. 5004 of Lecture Notes in Computer Science, pp. 100–110, Springer, 2008.

[11] U. Banerjee, “Parallelization, basic block,” in Encyclopedia of Parallel Computing (D. A. Padua, ed.), pp. 1450–1458, Springer, 2011.

[12] M.-Y. Wu and D. D. Gajski, “Hypertool: A programming aid for message-passing systems,” IEEE TRANS. ON PARALLEL AND DISTRIBUTED SYSTEMS, vol. 1, pp. 330–343, 1990.

[13] A. Radulescu and A. J. C. van Gemund, “Flb: Fast load balancing for distributed-memory machines.,” in ICPP, pp. 534–541, 1999.

[14] G. Karypis and V. Kumar, “A fast and high quality multilevel scheme for partitioning irregular graphs,” SIAM J. Sci. Comput., vol. 20, pp. 359–392, Dec. 1998.

[15] H. Elmqvist and M. Otter, “Methods for tearing systems of equations in object-oriented modeling,” in ESM, vol. 94, p. 1–3, 1994.

Citeringar i Crossref