The diversity of high-performance computer systems and application requirements harden the generalizability of software development. For these systems, where performance is critical, abstractions costs are unbearable. But, on the other hand, handcrafting code for every single requirement becomes complex, time-consuming and costly. In this thesis, we present an actor programming model library for high-performance applications running in distributed and shared-memory systems. The library aims to decouple computation and communication logic within finite-state machines entities and to release the pitfalls of parallel designs. We explore well-known standards such as MPI and OpenMP to provide broad cross-compatibility and close to native performance. Its usability and performance are explored on complex structured and unstructured mathematical models, and its results compared with other well-known programming models for HPC, such as the BSP and PGAS. By proxying a tsunami- generated simulation model, we achieve notable scalability on both weak and strong scaling performance tests. Our library allows programmers to focus on algorithms and data-dependencies specifications rather than low-level parallelization constructs and system load-balancing.
«
The diversity of high-performance computer systems and application requirements harden the generalizability of software development. For these systems, where performance is critical, abstractions costs are unbearable. But, on the other hand, handcrafting code for every single requirement becomes complex, time-consuming and costly. In this thesis, we present an actor programming model library for high-performance applications running in distributed and shared-memory systems. The library aims to d...
»