Hardware is leaving software behind. Hardware is leaving many HPC users and codes behind. The majority of codes scale to less than 512 cores. These will soon be desktop systems. Less than 10 codes in the European Union today will scale on capability systems with 100.000+ cores. Currently, the Hector Cray XE6 system has 90.112 cores, Mark Parsons started his talk on CRESTA.
Software is leaving algorithms behind. Few mathematical algorithms have been designed with parallelism in mind. This approach generates much duplication of efforts as comoponents are custom-built for each application.
Mark Parsons strongly believes that we have arrived at a tipping point. Without any fundamental algorithmic changes progress in many areas will be limited. This does not just apply to exascale. Some codes already fail to scale on a 8 or 16-core desktop system. And we have a huge skills gap, noted the speaker.
Mark Parsons described how we face a probrammability problem today at the Petascale with application scalability. A vast majority of applications are not beyond 8000 cores.
Today's maximum per core performance is 10 GFlop/s. An Exafop would therefore require 100 million x86 cores. No application today will scale remotely close to this level. Most codes today use traditional programming models. There is very little desire by the application community to rewrite using new programming models.
The performance monitoring and debugging tools constitute another huge area, stated Mark Parsons. How do you debut 100 milion threads? This is what the partners are thinking about in CRESTA.
There is a huge difference in strong versus weak scaling. Weak scaling has been the mainstay of parrallelism for 30 years. Strong scaling is hard to find, according to Mark Parsons. For some applications there is no more weak scaling because the system being studied is already large enough. An even larger set is constrainded by algorithmic complexity. The numerical core of many applications will have to be rewritten to achieve exascale performance.
All vendors have the same hardware challenges. It would be possible to build an exascale system today
but the system will be very diificult to use from a software application point of view.
Collaborative Research into Exascale Systemware Tools and Applications (CRESTA) is dealing with these issues. In the consortium there are four large European HPC centres. Cray is represented as well as exascale application owners and specialists and world leading tools providers, such as TU Dresden and Allinea.
CRESTA is a two strand project, explained Mark Parsons. The first goal is to build and explore appropriate systemware for exascale platforms and the second aim is to enable a set of key co-design applications for exascale.
Co-design is at the heart of the project. It will provide guidance and feedback to the systemware development process. The partners aim at employing both incremental and disruptive solutions.
They are developing the exascale software stack and are committed to open source interfaces, standards and new software.
An exceptional group of six applications is used by academia and industry to solve critical grand challenge issues, noted Mark Parsons. Applications are either developed in Europe or have a large European user base in CRESTA. The project is enabling Europe to be at the forefront.
Systemware is the sofware components required for grand challenge applications to exploit future exascale platforms. The project is supporting underpinning and cross-cutting technologies. The partners have thought hard about how to enable and coordinate co-design within the project. It is crucial to get this right
but work packages only encourage 1D collaboration. The co-design in CRESTA is 2D.
FFTs are a challenge at the exascale level because a very large number of HPC applications use them, Mark Parsons noted. Distributed memory parallel FFT is already a major performance issue today. The CRESTA partners accept some FFT's will not scale further.
There is a need to choose between an incremental or a disruptive approach.
CRESTA is a small project with a strong focus on software co-design. The hardware is slowly moving forward and will probably deliver the first exascale systems in early 2020's, Mark Parsons predicted. Unfortunately, far too little funding is being focused on this issue.