Engineering with Computers

, Volume 30, Issue 4, pp 651–668

ViennaX: a parallel plugin execution framework for scientific computing

Original Article

DOI: 10.1007/s00366-013-0314-1

Cite this article as:
Weinbub, J., Rupp, K. & Selberherr, S. Engineering with Computers (2014) 30: 651. doi:10.1007/s00366-013-0314-1

Abstract

We present the free open source plugin execution framework ViennaX for modularizing and parallelizing scientific simulations. In general, functionality is abstracted by the notion of a task, which is implemented as a plugin. The plugin system facilitates the utilization of both, already available functionality as well as new implementations. Each task can define arbitrary data dependencies which are used by ViennaX to build a task graph. The framework supports the execution of this dependence graph based on the message passing interface in either a serial or a parallel fashion. The applied modular approach allows for defining highly flexible simulations, as plugins can be easily exchanged. The framework’s general design as well as implementation details are discussed. Applications based on the Mandelbrot set and the solution of a partial differential equation are investigated, and performance results are shown.

Keywords

Task graph Parallel execution Plugin system software reuse Framework 

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Josef Weinbub
    • 1
  • Karl Rupp
    • 2
  • Siegfried Selberherr
    • 1
  1. 1.Institute for MicroelectronicsTechnische Universität WienViennaAustria
  2. 2.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonneUSA

Personalised recommendations