The AllScale Runtime Interface — Theoretical Foundation and Concept

Extreme scale HPC systems are expected to reach exascale performance around the year 2020. While it is widely known that theses systems pose new challenges regarding energy efficiency of architectures, concurrency and resiliency, they also challenge developers of applications trying to efficiently utilizing resources: Managing parallel control flows, hardware resources and dependencies is a complex and labor-intensive endeavor. We present here the concept of a runtime interface for the AllScale environment, a novel and sophisticated approach to the decoupling of specification of parallelism from underlying management activities during runtime. AllScale itself utilizes a parallel programming model based on nested recursive parallelism as foundation to add compiler and runtime based techniques to harness performance gains of modern architectures. Automated Porting to extreme scale architectures, flexible tuning and hardware management are only among the things that will be additionally added. One core component of the system will consequently be the runtime with its interface to the other components. In this paper we will present our concept of a runtime interface, based on a theoretical foundation influenced by the tuple-space paradigm. The tuple-space will be augmented by asynchronous computation together with fine grained synchronization based on futures resembling the recursive control flow adding both decomposability as well as set-like behavior to the notion of a tuple.