What is Exascale computing?
The speed of a computer is typically measured by the number of arithmetic operations per second it can perform (floating point operations per second or FLOPS). As of summer 2017, the fastest computers have reached a speed of 93 PetaFLOPS (on a standard benchmark), which is 93×1015 (or 93,000,000,000,000,000) operations per second. A system delivering one ExaFLOPS would be more than 10x faster (with at least 1018 operations per second). In comparison, a standard desktop computer reaches a computing performance in the GigaFLOPS range (one Gigaflop is 109 operations per second). Such an Exascale computer would be roughly more powerful by a factor of one billion.
If (by way of analogy) we let the speed of an Exascale computer correspond to the speed of a moon rocket (which was around 40,000 km/h for Apollo 10), then the computing performance of a typical desktop computer would correspond to about 1/10 of the speed of a snail (which crawls around 3 metres per hour).
The first petascale computer that came into operation was in 2008. At a supercomputing conference in 2009, Computerworld projected exascale implementation by 2018. Although the exascale wall for FLOPS was not broken in 2019, the Oak Ridge National Laboratory performed a 1.8×1018 operation calculation per second (which is not the same as 1.8×1018 FLOPS) on the Summit OLCF-4 Supercomputer while analyzing genomic information in 2018. They were Gordon Bell Award winners at Supercomputing 2018.
The exaFLOPS barrier was first broken in March of 2020 by the Folding Home project, used to fold proteins for medical research.
Exascale computing would be a significant achievement in computer engineering, as an exascale computer would have processing power on the order of the estimated processing power of the human brain at the neural level (although the functional power required to simulate a human brain might be lower). The Human Brain Project targets exascale computing capability.
Why building a fast computer is hard?
One could naively think that just connecting enough standard computers and memory would result in a fast enough system. However, this is not true. Just putting 1,000 cars or car engines together will neither produce a car 1,000 x as fast nor lead to a usable system 1,000 x as powerful, not to speak of noise, pollution and fuel consumption. Instead, different approaches would be necessary to reach those goals.
Similar barriers exist for computers. At the most basic level, a computer works by moving data from memory to a computer unit, calculating the results and moving the results back to memory. If using standard PC technology for the connection between memory and compute units, the sole movement of data for an Exascale computer would roughly need the same level of power as the whole of the UK. Thus, a promising approach to build Exascale machines is to store data very close to the compute unit where they are needed. One technique to put data closer to the processing unit is to extend the traditional two-dimensional layout of electric circuits by stacking integrated circuits also in the third dimension. This will not only consume much less energy, but will also be much faster: Nowadays, the transport of data has become a major constraint on processing speed (much more than the computing itself), similar to the speed difference between slow airport security checks and fast flights. An Exascale computer would need hundreds of thousands if not millions of units comprising processing and memory, and fast connections between them, for data that is needed in more than one place. However, designing and producing such novel compute units is very expensive, so it is of paramount importance to find ways to use components which can be mass produced, and used outside the HPC world, to reduce cost.
Road to Exascale
Because of both the importance of increasing the speed to the Exascale FLOPS level and the difficulties encountered in building such computers, the EU, like other big economies, has launched a research program for the development of Exascale technology. Member states have launched cooperation for the deployment of Exascale computers until 2022. The ETP4HPC think tank & advisory group has defined a research agenda to overcome the multiple difficulties of building and operating Exascale class systems.
It has been recognized that enabling applications to fully exploit capabilities of Exascale computing systems is not straightforward. In June 2014, the stagnation of the Top500 supercomputer list had observers question the possibility of exascale systems by 2020. Developing data-intensive applications over exascale platforms requires the availability of new and effective programming paradigms and runtimes systems. The Folding Home project, the first to break this barrier, relied on a network of servers sending pieces of work to hundreds of thousands of clients using Client–server model network architecture.
Semiconductor engineering has never been easy, but one can argue that the industry had the wind at its back for roughly 60 years. During that time, manufacturing process improvements have complemented architecture and software advances to produce seeming clockwork gains, often doubling the performance every 18 to 24 months. Those process improvements have helped to drive the industry to exascale computing, but now appear to be slowing. As this article highlights, there will be no shortage of innovative approaches and creative concepts that could be perfected over the next decade to continue the exceptional growth of computing capabilities. This is the beauty of computer engineering – demand driving innovation, and the exascale era is just the next milestone on the never-ending HPC journey.