NestStepModelica – Mathematical Modeling and Bulk-Synchronous Parallel Simulation

  • Christoph Kessler
  • Peter Fritzson
  • Mattias Eriksson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4699)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aronsson, P., Fritzson, P.: Automatic Parallelization in OpenModelica. In: Proc. of 5th EUROSIM Congress on Modeling and Simulation, Paris (September 2004)Google Scholar
  2. 2.
    Bisseling, R.H.: Parallel Scientific Computation – A structured approach using BSP and MPI. Oxford University Press, Oxford (2004)MATHGoogle Scholar
  3. 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. 4.
    Fritzson, P.: Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press (2004), www.mathcore.com/drModelica
  5. 5.
    Keßler, C.: NestStep: Nested Parallelism and Virtual Shared Memory for the BSP model. The Journal of Supercomputing 17, 245–262 (2000)MATHCrossRefGoogle Scholar
  6. 6.
    Kessler, C.: Managing Distributed Shared Arrays in a Bulk-Synchronous Parallel Environment. Concurrency and Computation Pract. Exp. 16, 133–153 (2004)CrossRefGoogle Scholar
  7. 7.
    Korch, M., Rauber, T.: Optimizing locality and scalability of embedded Runge-Kutta solvers using block-based pipelining. J. Parallel and Distr. Comput. 66, 444–468 (2006)MATHCrossRefGoogle Scholar
  8. 8.
    Mattsson, H., Kessler, C.: Towards a Bulk-Synchronous Distributed Shared Memory Programming Environment for Grids. In: Dongarra, J.J., Madsen, K., Waśniewski, J. (eds.) PARA 2004. LNCS, vol. 3732, pp. 519–526. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    The Modelica Association. The Modelica Language Specification Version 2.2 (March 2005), http://www.modelica.org
  10. 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. 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. 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. 13.
    Valiant, L.: A Bridging Model for Parallel Computation. Comm. ACM 33(8) (August 1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Christoph Kessler
    • 1
  • Peter Fritzson
    • 1
  • Mattias Eriksson
    • 1
  1. 1.PELAB Programming Environments Lab, Dept. of Computer Science, Linköping University, SE-581 83 LinköpingSweden

Personalised recommendations