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.
['P. Klein', 'Dimo Maleshkov', 'Dimitar Asenov']
A Framework for Concurrency in Numerical Simulations Using Lock Free Data Structures: The Graph Parallel Architecture GraPA