Disruptive technologies
Scope: Disruption identification method and technologies that tackle such disruptions.
Challenges: EESI2 has identified 3 areas of concern:
- variability in resources (resource performance, resource availability),
- change in the level of abstraction in the way that applications are written
- change in the execution model, from synchronous to asynchronous.
Some technologies have been identified as source of disruption:
- in hardware: new memory or packaging,
- in software: virtualization
Path: Some technologies could tackle identified issues:
- auto-management mechanisms at system level,
- dynamic adaptation or malleable programming models with runtimes
- resource management that support variability,
- dynamic load balancing
- programming models that separate at application level the algorithmic part from the specificities of the resources (OmpSs, OpenACC, …)
- rapid prototyping programming environments (eDSLs, Perl, Python, …);
- runtimes that support asynchrony (as task-based, data-flow schedulers or non- blocking MPI communications).