Take advantage of the full capabilities of exascale computing, in particular through high-productivity programming environments, system software and management, exascale I/O and storage in the presence of multiple tiers of data storage, supercomputing for extreme data and emerging HPC use modes, mathematics and algorithms for extreme scale HPC systems for existing or visionary applications, including data-intensive and extreme data applications in scientific areas such as physics, chemistry, biology, life sciences, materials, climate, geosciences, etc.
Proposals should address one or more of the following subtopics:
a) High productivity programming environments for exascale: Proposals should have as target to simplify application software development for large- and extreme-scale systems. This can include the development of more productive programming models and environments, the easier combination of different programming models, and using increased intelligence throughout the programming environment. Key aspects include managing data transfers, data locality and memory management, including support for heterogeneous and reconfigurable systems as well as dealing with inter-application dynamic load balancing and malleability, adapting to changes in the number of processors. Unified performance tools are required supporting HPC, embedded and extreme data workloads, on diverse target systems. APIs, runtime systems and the underlying libraries should support auto-tuning for performance and energy optimisation. Automated support for debugging and anomaly detection is also included under this subtopic. To provide simplified development and to ensure the maintainability of domain-specific languages (DSLs), DSL frameworks are required which target a general-purpose stable programming model and runtime. Since large future systems will require the use of multiple programming models or APIs, an important aspect is interoperability and standardisation of programming model, API and runtime as well as the composability of programming models (the capability of building new programming models out of existing programming model elements)
b) Exascale system software and management: Proposals should advance the state of the art in system software and management for node architectures that will be drastically more complex and their resource topology and heterogeneity will require OS and runtime enhancement, such as data aware scheduling. In the area of hardware abstraction, proposals should address run time handling of all types of resources (cores, bandwidth, logical and physical memory or storage) and controls, e.g. for optimised data coherency, consistency and data flow. For applications, proposals should address new multi-criteria resource allocation capabilities and interaction during task execution, with the aim to improve resilience, interactivity, power and efficiency. To cope with the exploding amount of data, the sequential analysis process (capture, store, analyse) is not sufficient; proposals should explore on-the-fly analysis methods offering reactivity, compute efficiency and availability. Graphical simulation interaction will require new real-time features; configuration and deployment tools will have to evolve to take into account the composability of software execution environments.
c) Exascale I/O and storage in the presence of multiple tiers of data storage: proposals should address exascale I/O systems expected to have multiple tiers of data storage technologies, including non-volatile memory. Fine grain data access prioritisation of processes and applications sharing data in these tiers is one of the goals as well as prioritisation applied to file/object creates/deletes. Runtime layers should combine data replication with data layout transformations relevant for HPC, in order to meet the needs for improved performance and resiliency. It is also desirable for the I/O subsystem to adaptively provide optimal performance or reliability especially in the presence of millions of processes simultaneously doing I/O. It is critical that programming system interoperability and standardised APIs are achieved. On the fly data management supporting data processing, taking into account multi-tiered storage and involving real time in situ/in transit processing should be addressed.
d) Supercomputing for Extreme Data and emerging HPC use modes: HPC architectures for real-time and in-situ data analytics are required to support the processing of large-scale and high velocity real-time data (e.g. sensor data, Internet of Things) together with large volumes of stored data (e.g. climate simulations, predictive models, etc.). The approaches should include support for real-time in-memory analysis of different data structures, direct processing of compressed data and appropriate benchmarking method for performance analysis. Interactive 3-D visualisation of large-scale data to allow users to explore large information spaces in 3-D and perform on-demand data analysis in real-time (e.g. large scale queries or analytics) should be addressed. Interactive supercomputing is required to execute complex workflows for urgent decision making in the field of critical clinical diagnostics, natural risks or spread of diseases; this implies adapting operational procedures of HPC infrastructures, developing efficient co-scheduling techniques or improving checkpoint/restart and extreme data management
e) Mathematics and algorithms for extreme scale HPC systems and applications working with extreme data: Specific issues are quantification of uncertainties and noise, multi-scale, multi-physics and extreme data. Mathematical methods, numerical analysis, algorithms and software engineering for extreme parallelism should be addressed. Novel and disruptive algorithmic strategies should be explored to minimize data movement as well as the number of communication and synchronization instances in extreme computing. Parallel-in-time methods may be investigated to boost parallelism of simulation codes across a wide range of application domains. Taking into account data-related uncertainties is essential for the acceptance of numerical simulation in decision making; a unified European VVUQ (Verification Validation and Uncertainty Quantification) package for Exascale computing should be provided by improving methodologies and solving problems limiting usability for very large computations on many-core configurations; access to the VVUQ techniques for the HPC community should be facilitated by providing software that is ready for deployment on supercomputers.
The Commission considers that proposals requesting a contribution from the EU between EUR 2 and 4 million would allow this specific challenge to be addressed appropriately. Nonetheless, this does not preclude submission and selection of proposals requesting other amounts. Proposals should clearly indicate the subtopic which is their main focus. At least one project per subtopic will be funded.