NestStepModelica – Mathematical Modeling and Bulk-Synchronous Parallel Simulation
Many parallel computing applications are used for simulation of complex engineering applications and/or for visualization. To handle their complexity, there is a need for raising the level of abstraction in specifying such applications using high level mathematical modeling techniques, such as the Modelica language and technology. However, with the increased complexity of modeled systems, it becomes increasingly important to use today’s and tomorrow’s parallel hardware efficiently. Automatic parallelization is convenient, but may need to be combined with easy-to-use methods for parallel programming.
In this context, we propose to combine the abstraction power of Modelica with support for shared memory bulk-synchronous parallel programming including nested parallelism (NestStepModelica), which is both flexible (can be mapped to many different parallel architectures) and simple (offers a shared address space, structured parallelism, deterministic computation, and is deadlock-free). We describe NestStepModelica and report on first results obtained with a prototype implementation.
KeywordsParallel Loop Barrier Synchronization Automatic Parallelization Algorithm Section Memory Consistency Model
Unable to display preview. Download preview PDF.
- 1.Aronsson, P., Fritzson, P.: Automatic Parallelization in OpenModelica. In: Proc. of 5th EUROSIM Congress on Modeling and Simulation, Paris (September 2004)Google Scholar
- 3.Fritzson, P., Aronsson, P., Lundvall, H., Nyström, K., Pop, A., Saldamli, L., Broman, D.: The OpenModelica Modeling, Simulation, and Software Development Environment. Sim. News Europe 44/45 (December 2005), www.ida.liu.se/projects/OpenModelica
- 4.Fritzson, P.: Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press (2004), www.mathcore.com/drModelica
- 9.The Modelica Association. The Modelica Language Specification Version 2.2 (March 2005), http://www.modelica.org
- 10.Nyström, K., Fritzson, P.: Parallel Simulation with Transmission Lines in Modelica. In: Proc. 5th Int. Modelica Conf. (Modelica 2006), Vienna, Austria (September 2006)Google Scholar
- 11.Rauber, T., Rünger, G.: Tlib: a library to support programming with hierarchical multi-processor tasks. J. Parallel and Distr. Comput. 65(3), 347–360 (2005)Google Scholar
- 12.Sohl, J.: A Scalable Run-time System for NestStep on Cluster Supercomputers. Master thesis LITH-IDA-EX-06/011-SE, Department of Computer Science, Linköping University, Linköping, Sweden (March 2006)Google Scholar
- 13.Valiant, L.: A Bridging Model for Parallel Computation. Comm. ACM 33(8) (August 1990)Google Scholar