An Exascale Programming, Multi-objective Optimisation and Resilience Management Environment Based on Nested Recursive Parallelism
The potential of existing programming models to effectively utilise future Exascale systems, while addressing the challenges of energy-efficiency, diminishing resilience and hardware diversity, is severey limited. It follows that the lack of appropriate, high-productivity and portable programming models for Exascale computing is a fundamental barrier for the future of science and engineering. We propose the AllScale environment for the effective development of highly scalable, resilient and performance-portable parallel applications for Exascale systems. AllScale follows three design principles:
- Use a single parallel programming model to target all the levels of hardware parallelism available in extreme scale computing systems.
- Leverage the inherent advantages of nested recursive parallelism for adaptive parallelisation, automatic resilience management and auto-tuning for multiple optimisation objectives.
- Provide a programming interface that will be fully compatible with widely used industry standards and existing toolchains.
The AllScale project is based on the following hypothesis:
A unified, recursive parallel programming model coupled with advanced, parallelism- and context-aware compiler and runtime optimisation, provides the potential for productive development of Exascale applications that are more scalable, versatile, resilient and portable than their conventionally implemented counterparts.