ExM: High-Level Dataflow Programming for Extreme-Scale Systems
The authors present here the ExM (Extreme-scale Many-task) programming and execution model as a practical solution to the challenges of programming the higher-level logic of complex parallel applications on current petascale and future exascale computing systems. ExM provides an expressive, high-level functional programming model that yields massive concurrency through implicit, automated parallelism. It comprises a judicious integration of dataflow constructs, highly parallel function evaluation, and extremely scalable task generation. It directly addresses the intertwined programmability and scalability requirements of systems with massive concurrency, while providing a programming model that may be attractive and feasible for systems of much lower scale.