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
Download articlehttp://dx.doi.org/10.3384/ecp140961213Published in: Proceedings of the 10th International Modelica Conference; March 10-12; 2014; Lund; Sweden
Linköping Electronic Conference Proceedings 96:128, p. 1213-1220
Published: 2014-03-10
ISBN: 978-91-7519-380-9
ISSN: 1650-3686 (print), 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.
[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.