ChEESE researchers from Istituto Nazionale di Geofisica e Vulcanologia (INGV) have recently published an article describing the current state of the European HPC system, how ChEESE is preparing codes for the exascale era and the role of INGV within the project.
“Today, your cell phone has more computer power than all of NASA back in 1969 when it sent two astronauts to the moon. [...] The Sony Playstation of today, which costs $300, has the power of a military supercomputer of 1997, which cost millions of dollars.” [Michio Kaku, Theoretical Physicist]
As the American computer scientist and essayist Ray Kurzweil shows, technological progress is an exponential growth process. If we had to describe the growth curve of computing capacity from the first programmable electronic computer (the Colossus, used by the British during World War II to decipher Nazi messages) to today's supercomputers, we certainly could not use a linear relationship. In the recent decades we have witnessed an incredible technological acceleration in the field of HPC (High Performance Computing or supercomputing), which has allowed us to achieve computing capabilities once unthinkable. Let's take the computing performance, which is generally expressed in FLOPS (FLoating Point Operations Per Second), i.e. the number of floating-point calculations that a computer can perform in one second: if 2010 saw the advent of petascale computing (1015 FLOPS, or one million of billions FLOPs), 2020 marked the beginning of the exascale era, characterized by computers that are capable of reaching 1018 FLOPS (or one billion of billions FLOPs, i.e. a thousand times more). The technological efforts behind these incredible numbers lie not only in hardware development, but also in software development: a computing infrastructure perfectly capable of sustaining a very large number of calculations is in fact useless if the implemented algorithms are inefficient or, even worse, unable to handle the specific characteristics of HPC computing. But why do we need exascale computing? For two fundamental reasons: 1) current computational capacity is not sufficient to solve certain scientific problems; 2) current computation times are incompatible with certain specific applications. In the remainder of this article we will look at some examples of the scientific challenges for which we need exascale machines.
Authors: Angela Stallone, Laura Sandri, Stefano Lorito, Manuela Volpe, Emanuele Casarotti, Tomaso Esposti Ongaro.