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.
[1]
Erik H. D'Hollander,et al.
Transition of Hpc Towards Exascale Computing
,
2013,
ParCo 2013.
[2]
Hartmut Kaiser,et al.
HPX: A Task Based Programming Model in a Global Address Space
,
2014,
PGAS.
[3]
Jonathan C. Hardwick,et al.
An Efficient Implementation of Nested Data Parallelism for Irregular Divide-and-Conquer Algorithms
,
1996
.
[4]
Bradford L. Chamberlain,et al.
Parallel Programmability and the Chapel Language
,
2007,
Int. J. High Perform. Comput. Appl..
[5]
David Gelernter,et al.
Generative communication in Linda
,
1985,
TOPL.
[6]
Vivek Sarkar,et al.
Software challenges in extreme scale systems
,
2009
.
[7]
John Shalf,et al.
The International Exascale Software Project roadmap
,
2011,
Int. J. High Perform. Comput. Appl..
[8]
Stefan Marr,et al.
Partitioned Global Address Space Languages
,
2015,
ACM Comput. Surv..
[9]
Allen D. Malony,et al.
The Tau Parallel Performance System
,
2006,
Int. J. High Perform. Comput. Appl..
[10]
Matthias S. Müller,et al.
The Vampir Performance Analysis Tool-Set
,
2008,
Parallel Tools Workshop.
[11]
Vivek Sarkar,et al.
X10: an object-oriented approach to non-uniform cluster computing
,
2005,
OOPSLA '05.
[12]
John Shalf,et al.
Exascale Computing Technology Challenges
,
2010,
VECPAR.