A Framework for Concurrency in Numerical Simulations Using Lock Free Data Structures: The Graph Parallel Architecture GraPA

Peter Klein, Dimo Maleshkov, Dimitar Asenov · 2008

The development of numerical simulation software tools for the solution of real-world problems usually calls for domain experts in modeling. The GraPA framework, as an abstraction layer on top of hardware characteristics, supports modelers in two respects: one is the built-in support for co-processing of multiple models and the other is the generically delivered high performance achieved by implementing concurrency features of multicore and distributed memory architectures. Technically, GraPA is designed as a C++ template framework, where the modeler`s data structures and algorithms instantiate the framework. Using this approach, we handle parallel processing of lock-free data structures and message passing transparently to the modelers. In this paper, we report on the status of the implementation of GraPA and on its performance characteristics.

Read the paper · More papers on PaperTik