In this part of the course, we start to outline the answers to these questions and discuss the basic building blocks of modern supercomputers.
It may come as a surprise that modern supercomputers are built using the same basic elements, such as processors, memory, and disk, found in desktop computers. The difference is largely a matter of scale. The reason is quite simple: the cost of developing new hardware is measured in billions of euros, and the market for consumer products is vastly larger than that for supercomputing. Hence the most advanced technology is actually found in general-purpose computers.
When we talk about a processor, we mean the computer’s central processing unit (CPU), which can also be considered the computer's brain. The CPU carries out the instructions of a computer program, and the terms CPU and processor are generally used interchangeably. However, it is slightly confusing that a modern CPU actually contains a number of independent brains; it is in effect a collection of several separate processing units. Therefore, we really need another term to avoid confusion, and in this course, we will call each independent processing unit a CPU core, while many just use the simplified term core.
A modern domestic device (e.g., a laptop, mobile phone, or tablet) has a single CPU with a few cores, typically 4–8. Domestic devices used for high-end gaming and graphics applications (e.g., video editing) also contain graphics processing units, or GPUs, for accelerating applications, and several modern supercomputers also utilize GPUs for computing.
The CPUs and GPUs used in supercomputers are often quite similar to those in consumer devices, but the scale is immensely larger. A modern supercomputer can contain hundreds of thousands of CPU cores and thousands of GPUs. A supercomputer gets its power from all these CPU cores and GPUs working together simultaneously – working in parallel. Conversely, the mode of operation familiar from everyday computing, in which a single CPU core performs a single computational task, is called serial computing.
Supercomputers are built up from nodes, and a single node contains a few multi-core CPUs, possibly GPUs, and memory. The amount of memory per node varies typically from a hundred gigabytes to a few thousand gigabytes (a high-end laptop might have 32 gigabytes of memory), and in total there can be millions of gigabytes of memory in a supercomputer.
All these CPU cores and GPUs need to be able to communicate with each other in order to function together. In a supercomputer, the nodes are connected together with a communications network called interconnect in the field’s jargon. The interconnect is a crucial component that gives a supercomputer its massive parallel computing ability. Even though nodes can have local disks, there is usually a separate disk storage system that all the nodes can access.
Supercomputers are also distinguished from consumer devices by much denser packing. Physically, a supercomputer consists of several cabinets, each about the size of a traditional phone booth, all of which contain multiple rack blades and nodes within the rack blades (figure below).
If the computing power of LUMI supercomputer in Kajaani, Finland, was devised from high-end laptos, the pile would be over 23 kilometers high. In contrast, LUMI fits into a few dozens of cabinets in the area about the size of a tennis court.
Copyright SURFsara, EPCC at the University of Edinburgh, CSC - IT Center for Science Ltd.