Handbook of European HPC projects

ALLScale

AllScale enables developers to be productive and to port applications to any scale of system
AllScale is an innovative programming approach for ExaScale, decoupling program specification of parallelism by the programmer from management tasks automatized by the underlying runtime system. The programmer is exposed to a single, generic parallel model that provides a global view of parallelism and locality which is automatically mapped by exploiting recursive parallelism to a variety of parallel resources with the help of the AllScale toolchain that supports:
  • Automated applications porting from small- to extreme scale architectures
  • Flexible tuning of program execution to fulfil trade-offs among execution time, energy and resource usage
  • Efficient management of hardware resources and associated parameters (e.g. clock speed)
  • Seamless integration of resilience management measures to compensate for isolated hardware failures,
  • Online performance monitoring and analysis.
  The key-enablers of this approach are the utilization of nested recursive parallel primitives, the empowerment of the runtime system to actively manage the distribution of work and data throughout the system, and the utilization of advanced compiler analysis to aid the runtime system in steering program executions. AllScale is expected to boost the parallel applications development productivity, their performance portability, and runtime efficiency. It will reduce energy consumption, thus improving the resource efficiency utilization of small to extreme scale parallel systems. The achieved outcomes are validated with applications from fluid dynamics, environment hazard and space weather simulations provided from SME, industry and academic institutions.

Allscale api based on c++ templates

User-level API:
  • High-level abstractions (e.g. grids, meshes, stencils, channels)
  • Familiar interfaces (e.g. parallel for loops, map-reduce)
Core-level API:
  • Generic function template for recursive parallelism
  • Set of recursive data structure templates
  • Synchronization, control- and data-flow primitives
ALLScale Architecture

PROJECT’S CONTACT:

Thomas Fahringer

Call:
FETHPC-1-2014

Coordinating Organization:
Universität Innsbruck, Austria

Project Timespan
2015-10-01 – 2018-09-30

Other Partners:
  • The Queens University of Belfast, United Kingdom
  • IBM Ireland Ltd, Ireland
  • NUMECA International, Belgium
  • KTH – Kungliga Tekniska Högskolan, Sweden
  • Friedrich-Alexander Universität Erlangen-Nürnberg, Germany