Handbook of European HPC projects

MAESTRO

Middleware for memory and data-awareness in workflows

Maestro will build a data-aware and memory-aware middleware framework that addresses ubiquitous problems of data movement in complex memory hierarchies and at many levels of the HPC software stack. 

Though HPC and HPDA applications pose a broad variety of efficiency challenges, it would be fair to say that the performance of both has become dominated by data movement through the memory and storage systems, as opposed to floating point computational capability. Despite this shift, current software technologies remain severely limited in their ability to optimise data movement. The Maestro project addresses what it sees as the two major impediments of modern HPC software: 

  1. Moving data through memory was not always the bottleneck. The software stack that HPC relies upon was built through decades of a different situation – when the cost of performing floating point operations (FLOPS) was paramount. Several decades of technical evolution built a software stack and programming models highly fit for optimising floating-point operations but lacking in basic data handling functionality. We characterise the set of technical issues at missing data-awareness.

  2. Software rightfully insulates users from hardware details, especially as we move higher up the software stack. But HPC applications, programming environments and systems software cannot make key data movement decisions without some under-standing of the hardware, especially the increasingly complex memory hierarchy. With the exception of runtimes, which treat memory in a domain-specific manner, soft-ware typically must make hardware-neutral decisions which can often leave performance on the table. We characterise this issue as missing memory-awareness. 

Maestro proposes a middleware framework that enables memory- and data-awareness. Maestro has developed new data-aware abstractions that can be be used in any level of software, e.g. compiler, runtime or application. Core elements are the Core Data Objects (CDO), which through a give/take semantics provided to the middleware. The middleware is being designed such that it enables modelling of memory and storage hierarchies to allow for reasoning about data movement and placement based on costs of moving data objects. The middleware will support automatic movement and promotion of data in memories and storage and allow for data transformations and optimisation. 

Maestro follows a co-design methodology using a set of applications and workflows from diverse areas including numerical weather forecasting, earth-system modelling, materials sciences and in-situ data analysis pipelines for computational fluid dynamics simulations. 

PROJECT’S CONTACT:

Dirk Pleiter

Transition to Exascale Computing

Call:
FETHPC-02-2017

Coordinating Organization:
FZJ Forschungszentrum Jülich, Germany

Project Timespan
2018-09-01 – 2021-11-30

Other Partners:
  • CEA – Commissariat à l’Energie Atomique et aux Energies Alternatives, France
  • Appentra Solutions SL, Spain
  • ETHZ – Eidgenössische Technische Hochschule Zürich, Switzerland
  • ECMWF – European Centre for Medium-range Weather Forecasts, United Kingdom
  • Seagate Systems UK Ltd, United Kingdom
  • Hewlett Packard Enterprise, Switzerland