Chapter

Applied Parallel Computing. State of the Art in Scientific Computing

Volume 4699 of the series Lecture Notes in Computer Science pp 1006-1015

NestStepModelica – Mathematical Modeling and Bulk-Synchronous Parallel Simulation

  • Christoph KesslerAffiliated withPELAB Programming Environments Lab, Dept. of Computer Science, Linköping University, SE-581 83 Linköping
  • , Peter FritzsonAffiliated withPELAB Programming Environments Lab, Dept. of Computer Science, Linköping University, SE-581 83 Linköping
  • , Mattias ErikssonAffiliated withPELAB Programming Environments Lab, Dept. of Computer Science, Linköping University, SE-581 83 Linköping

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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.