DASH - Hierarchical Arrays for Efficient and Productive Data-Intensive Exascale Computing

DASH aims to ease the efficient programming of future supercomputing systems for data-intensive applications. These systems will be characterized by their extreme scale an a multi-level hierarchical organization. DASH adopts the concept of Partitioned Global Address Space (PGAS) and provides a C++ template library for distributed containers as multidimensional arrays, lists, hash tables, etc. Unlike other PGAS approaches, DASH does not only distinguish local and remote data, but allows different grades of remoteness taking into account the hierarchical nature of future (and to a lesser degree, current) systems as for instance NUMA domain, socket, node, rack, island, full system. DASH will furthermore allow a developer to control (and explicitly take advantage of) the hierarchical data layout of global data structures. The global address space semantics is realized by operator overloading and other advanced C++ features based on a runtime system with one-sided messaging primitives provided by MPI or GASNet. As such, DASH can co-exist with other parallel programming models and allows to parallize existing codes incrementally. DASH is complemented by an efficient I/O system directly to and from the hierarchical structures.

HLRS' contribution to the project is twofold. Firstly, we will participate in the development of the core runtime system, in particular the communication backend. On the other side, HLRS will port a Molecular Dynamics application to the DASH model in order to validate the approach with realistic data-intensive use-cases.

Project Details

Funding Agency DFG
Runtime01.05.2013 - 30.04.2016