The challenge is particularly severe for multi-physics, multi-scale simulation platforms that will have to combine massively parallel software components developed independently from each others.
Another difficult issue is to deal with legacy codes, which are constantly evolving and have to stay in the forefront of their disciplines. This will require new numerical methods, code architectures, mesh generation tool, visualization tool. In addition to the applications, all the software layers between the applications and the hardware need to be revisited for Peta-Exa Scale computers.
Many challenges are to be addressed: scalability, fault tolerance, programming models, to cite a few. As examples of scalability challenges, currently, none of the runtime environment allows executing an application on 1 million of nodes and there is no known solution to launch 1 million of processes on large scale machines in less than 5 minutes. Fault tolerance is another very important challenge to solve before being able to run applications on 1 million of nodes for hours. Several recent keynote addresses in top level conferences have raised two significant issues:
There are other challenges in software for PetaScale-ExaScale computers such as performance, computational precisions, energy saving, etc.