Can We Reach Exascale?

Ole Widar Saastad
TrackTrack 2
SessionHPC
DescriptionThe short answer is yes, it’s already been done, it’s only a matter of will-power.

 However, what is Exascale? This subject contain more than just the childish “my machine bigger than yours”.  What do we want or expect from an Exascale system ?

 We can hope that these large systems representing a considerably number of million Euro can be used for valuable science. Which again open up the question what kind of science and what kind of scientific problems can such a system tackle ?
 Stepping back, what do we mean with Exascale ? 10e18 , 64 bit (commonly referred to as double precision) floating point number calculations per second. Note that nothing is so far is about processing of any data.

You want to process data, real data and in large quantities ? That’s something totally differently, it involves different types of memory and storage. At this point we start approaching the real science regime as all scientific computations involve some data in some way. Which again open the question how do we measure performance ? Also known as benchmarking.

There are several well known methods for assessing the performance of a so called supercomputer, many of the tests are in widespread use and some are used in the ranking of the 500 fastest supercomputers in the world. Using the tests employed to rank the top-500 systems we can start at the purely theoretical number which is the floating point number calculations per second, which is found by just multiply cores, clock frequency, vector width etc and published as Rpeak. The next number which is actually used to rank the systems is Rmax which is how fast the systems can solve a linear algebra problem to solve a dense system of linear equations. This is known as the HPL benchmark. While this benchmark do linear algebra, it has far more computation per amount of data the commonly the case in real world scientific application and has come under criticism. To meet this criticism a second benchmark has been introduced which is more in line with real scientific applications, namely HPCG. This which solves a system of Conjugate Gradients. HPCG is designed to exercise computational and data access patterns that more closely match a different and broad set of important applications.

How does these benchmark perform on the different systems and how do they relate to Exascale?

As the majority of the system on the top500 list are supercharged by accelerators which is in most cases Graphic Processing Units (GPUs) yielding very high HLP performance numbers they are not easy to exploit using mainstream legacy scientific applications. Systems like the Fugaku (2. on the HPL top500 list, 1. on the HPCG top500 list) is a pure CPU based system, demonstrating that while accelerators are powerful they are not universal compute elements. Not all scientific codes lend themselves easily to acceleration.

Are the scientific applications actually experiencing Exascale ? Starting with HPCG and selected scientific applications. How far are common scientific applications from Exascale  ?

The last metric one might use to assess the fastest (maybe most useful) systems in the world is the Gordon Bell prize which is awarded annually to an outstanding achievement in high-performance computing. Tracking system by means of the Gordon Bell price is another mean of ranging systems.

So we can reach Exascale, but does that give us the best system for science ?

Presentation documents

All talks