08/06/2021
What are Supercomputers?
Supercomputers are high power and performance computers that are made for performing very specific tasks, that require huge amounts of computations. This computation is provided by powerful CPUs, but most of it comes from special processing devices called GPUs, which may consist of thousands of cores as compared to 4,8 or 16 cores in CPU.
GPUs are Graphics Processing Units, as the name suggests they were meant for rendering graphics and other image processing tasks. This requires a great amount of computation, but most of the computation may be repetitive. GPUs are widely used in 3D graphic rendering, gaming, simulations etc.
How are GPUs different from our normal CPUs. They are the same at the core (get it!) but still they are very different. Both CPUs and GPUs are meant to perform mathematical calculations but there are some tasks that GPUs do more effectively than CPUs.
If you have a sequential calculation i.e, each step is dependent on a previous one, then a GPU will not do, you will need to have a CPU. But if you have calculations that are independent of each other or are repetitive then a GPU will do better simply because GPUs are optimized to do only that.
GPUs are highly suitable for machine learning tasks, since most of the neural network architectures are simply parallel. What this means is that they can be ran in isolation of each other, and the end result will not be affected. This is one thing where GPU will definitely be able to beat a CPU.
Here is a formal definition of GPUs from Wikipedia:
A graphics processing unit (GPU) is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing.
If you have ever played high end games or done any compute intensive task such as running a heavy software, you may have noticed that your system heats up and you hear the sound of your fan becoming faster, but why is this so?
When you have a processor doing computations it requires energy, lots of energy, this energy may be expended in the form of heat and we need to remove this heat otherwise it can damage our processor. For this we need Fans and/or Heat sinks that disperse the heat. Some gaming PCs go a step further and also include water/oil cooling systems which are much more efficient at cooling processors.
This problem is much more pronounced with supercomputers. Supercomputers require huge amounts of energy and thus expend a huge amount of heat. To cool this heat we need to make extensive arrangements and conditions which makes the installation of supercomputers quite difficult and expensive.
What can they do?
But why should we use supercomputers when we can browse equally well on our 1000 USD machines? Well the answer is simple- they are not meant for everyday usage. Their main purpose is to perform computations that cannot be performed on our normal computers or even a large group of computers.
One of the most important uses of supercomputers is to provide simulation models for things, like weather prediction on the data from weather or simulation of drugs, molecules, plus so many other products and services that one can name them all to be sure.
In the context of computers, Simulations can be thought of as mathematical models of the real world. But simulations are much more complex to understand and define. So complex that some people can’t even differentiate simulations and reality, since both of these terms don’t seem to have very clear definitions. Hence, a large number of people believe that we may be living in a simulation most likely being run by some advanced civilization. Some people also argue that you can simulate the whole universe given enough computation power.
Simulations are very helpful since we can do things in simulations which we may not be able to do in real life like changing some of the conditions/variables and measuring their impact. For example, it was found by Edward Lorenz that even small changes in natural conditions may lead to huge impacts in weather. This phenomenon was termed as Butterfly Effect. His theories then led the foundation of “chaos theory”.
Simulating molecules take a huge amount of computation power, since the number of interactions between particles are huge and to model it mathematically is quite taxing. But if we can do that we should be able to simulate combinations of molecules and find out if they would be effective against certain diseases. This can revolutionize medical industry and how drugs are produced. Powerful as they are, this is still not possible with super computers. (But, we are getting closer and closer every day! We need different kinds of computers called quantum computers that may be able to do this.
This “NEEDS TO BE SAID”!
Before we get to quantum computers we must be allowed and encouraged to revamp, redo, experiment with and ultimately improve our use of Super Computers by improving the software that you use with them. A fresh perspective is needed!
We can also use super computers for fluid simulations, simulating some events in the universe or recreating a picture of what might have happened based on the data obtained from far away galaxies.
Supercomputers are being used today for a wide range of applications such as simulating quantum computers to check if the answers given by quantum computers are correct, predicting earthquakes, simulating black holes, simulating protein folding, simulating human brain etc.
The Race
But how do we compare which supercomputers are better i.e, which have higher computation power. To measure the power of supercomputers we use FLOPS or Floating Point Operations per second.
For example, The performance of modern supercomputers are measured in petaflops, our normal computers can perform gigaflops. Supercomputers were at this rate in the 80s. Hence, supercomputers are not defined in absolute terms but in relativistic terms, i.e, the most powerful computers of that time.
Computation power is becoming more and more a symbol of power. For example, to mine crypto-currencies such as bitcoins you will need huge amount of computation power. If you had this power you might be making millions for doing absolutely nothing. Given enough computation power, you might be able to break encryption or attack another countries’ military. Hence, Computation power is becoming increasingly powerful in the real world and whoever possesses a lot of it will certainly have an edge.
This has led to countries building their own, more and more powerful supercomputers (for useful purposes [Also, for the purpose of destruction, lets not be NAÏVE, of course) and people keep comparing them to see which country is ahead in this race. Top500 is a project that lists and ranks 500 most powerful non-distributed computer systems in the world. That they talk about and that we know about…rest assured there are many more. It is suggested (for instance) within the Top 500 Super Computers listed that Russia has only 3 if for whatever reason you believe this then you are stuck on STUPID!
Supercomputers may also indicate the increasing power of a country. For example, In 2005, china had no supercomputers in top 500 but today they have some of the fastest supercomputers and not only that, they have more than 200 supercomputers in top 500 which is also the highest any country has.
Summary
The way computers developed from mechanical calculators to electro-mechanical devices to electronic computers that we know today fascinates all. The evolution and the rich history behind these incredible machines is fascinating and prompts us to believe that seemingly futuristic and impossible things might be possible. Supercomputers are an extreme example of what computers are capable of.
In this brief explanation we delved a bit into supercomputers. We looked at the building block of supercomputers, the GPUs and what supercomputers can be used for, particularly simulations. We then saw how a race is going on to amass as much computation power as possible.
The future of computing looks exciting with different kinds of materials, ranging from water to carbon to DNA being used for computation and widely different approaches being applied for computation such as the use of quantum mechanics. The coming together of different branches of studies and computation seems to be paving way for all kinds of exciting applications. The Issue is this. It is time to allow those within our society access to Super computers. We believe that a new way ofor manner of innovation will reap rewards untold. If given an oppertunity to explore the programing side in an innovative and unfettered manner.