Skip to main content

High Performance Computing

Introduction to Su...

Understanding... [foundation]

High Performance Computing

Parallel and Distr...

Parallelism i... [foundation]

High Performance Computing

Introduction to Su...

Image Sharpen... [foundation]

Supercomputing World
"Introduction to HPC" course by EPCC. This material was originally developed by David Henty, Manos Farsarakis, Weronika Filinger, James Richings, and Stephen Farr at EPCC under funding from EuroCC.

"Introduction to HPC" course by EPCC. This material was originally developed by David Henty, Manos Farsarakis, Weronika Filinger, James Richings, and Stephen Farr at EPCC under funding from EuroCC.

Creative Commons License

Supercomputing World

Computer circuit board looking like a city Image courtesy of bert b from Unsplash
Over recent decades, computers have become more and more powerful. New computing devices appear on the market at a tremendous rate, and if you like to always have the fastest available personal computer, you need to visit your local computer store very frequently! But how did computers become so powerful, and are there any fundamental limits to how fast a computer can be? To answer these questions, we need to understand what CPUs are made up of.
As mentioned previously, our measure of the performance of a CPU-core is based on the number of floating-point operations it can carry out per second, which in turn depends on the clock speed. CPUs are built from Integrated Circuits that consist of very large numbers of transistors. These transistors are connected by extremely small conducting wires which can carry an electric current. By controlling whether or not an electric current goes through certain conducting lines, we are able to encode information and perform calculations.
Most transistors nowadays are created with silicon, a type of semiconductor. A semiconductor is a material that can act as both a conductor (a material that permits the flow of electrons) and an insulator (that inhibits electron flow), which is exactly the characteristics we want a transistor to have. The maximum physical size of a processor chip is limited to a few square centimetres, so to get a more complicated and powerful processor we need to make the transistors smaller.
In 1965, the co-founder of Fairchild Semiconductor and Intel, Gordon E. Moore, made an observation and forecast. He noticed that manufacturing processes were continually improving to the extent that:
"The number of transistors that could be placed on an integrated circuit was doubling approximately every two years."
He predicted that this would continue into the future. This observation is named after him, and is called Moore’s law. Although it is really a forecast and not a fundamental law of nature, the prediction has been remarkably accurate for over 50 years.
The first CPU from Intel (the i4004) introduced in 1971 had 2000 transistors, and Intel’s Core i7 CPU introduced in 2012 had 3 billion transistors. This is in excess of a million times more transistors, but is actually in line with what you would expect from the exponential growth of Moore’s law over around 40 years.
It turns out that, as we pack our transistors closer and closer together, every time we double the density of transistors we can double the frequency. So, although Moore’s law is actually a prediction about the density of transistors, for the first four decades it also meant that:
"Every two years the CPU clock frequency doubled."
We saw clock speeds steadily increasing, finally breaking the GHz barrier (a billion cycles per second) in the early twenty-first century. But then this growth stopped, and clock speeds have remained at a few GHz for more than a decade. So did Moore’s law stop?
The problem is that increasing clock frequency comes at a cost: it takes more power. Above a few GHz, our processors become too power hungry and too hot to use in everyday devices. But Moore’s law continues, so rather than increasing the frequency we put more processors on the same physical chip. We call these CPU-cores, and we now have multicore processors. The below image shows a schematic of a modern processor (Intel’s Core i7) with four CPU-cores (four pinkish rectangles).
Rendering of Intel Core i7 CPU Intel's Core i7 A modern quad-core CPU - Intel’s Core i7 © Intel
So for the past decade, Moore’s law has meant:
"Every two years, the number of CPU-cores in a processor now doubles."
In the last few years the process of doubling transistors in integrated circuits is showing signs of slowing down. It’s no longer every two years but perhaps every three years, but the overall trend still continues.
The current trend in the supercomputing world is that supercomputers are getting bigger not faster. Since the speed of a single CPU-core cannot be increased any more, having more and more cores working together is the only way to meet our computational requirements.
Graph of transistor count over time, Image courtesy of Max Roser, Hannah Ritchie OurWorldinData (CC-BY)
Your next mobile phone will probably have more CPU-cores than your current one. Do you think this is more useful than a faster CPU? Can you see any problems in making use of all these CPU-cores?

How to calculate the world's yearly income?

How would you go about calculating the world’s yearly income? Well, it’s simple adding up of numbers but there are many of them… so the real question is: how long would it take?
In this video David describes how to tackle the calculation in serial on his laptop, and in the next step we will discuss how long it might take.
We will use this example in other steps on this course to better illustrate some of the key concepts, so make sure you understand how it works.

Moore's Law in practice

So how long does it take to add up 7 billion numbers? Well, it depends on what you are using to add them…
We’ve talked about Moore’s Law and what it has meant in terms of processor hardware:
Every two years the number of transistors that can fit onto an integrated circuit doubles (until 2005);
Every two years the number of CPU-cores in a processor now doubles.
In this video David uses the income calculation example to illustrate what is the impact of the first point in practice.

Podium with top three winners Image courtesy of Peggy_Marco from Pixabay

Top500 list: Supercomputing hit parade

On the top500.org site, you can find the ranks and details of the 500 most powerful supercomputers in the world.
The first Top500 list was published in June 1993, and since then the Top500 project publishes an updated list of the supercomputers twice a year:
in June at the ISC High Performance conference in Germany, and in November at the Supercomputing conference in the US. The site provides news with respect to supercomputers and HPC, it also has a handy statistics tool which people can use to gain more insights of the Top500 systems.
Have a look at the most recent list and briefly comment on the following question:
  • What manufacturers produce the world’s largest supercomputers?
  • What types of processors do they use?
  • What fraction of peak performance is typically achieved for the LINPACK benchmark?
  • Play with the statistics tool on top500.org and think about the trends in current HPC systems. For example, how many supercomputers in the Top500 are classed as being for use by industry?

Terminology recap

Supercomputing World Q1

Historically, a __ contained a single "brain" but nowadays it contains multiple __.

Supercomputing World Q2

The mode of computing in which a single CPU-core is doing a single computation is called __ computing, as opposed to __ computing, where all CPU-cores work together at the same time.

Supercomputing World Q3

The process of evaluating the performance of a supercomputer by running a standard program is called __. The standard calculation used to compile the top500 list is called __.