old supercomputers used specialized CPUs that were much faster than consumer chips at the time, but nowadays supercomputers are essentially just lots of regular computers with tons of CPUs and GPUs, yes they have server grade ECC memory, Nvidia compute cards and not your gaming GPUs, and high speed networking equipment to sync them, but in the end it’s not that far off from your gaming Rig, just multiplied several times
They are just many smaller powerful computers put together.
Although supercomputers aren’t just more powerful computers, they are only good for tasks that can be broken up and distributed between all the smaller computers that make it up. So you wouldn’t be able to use a supercomputer for something like gaming, but if you are training AI or simulating protein folding, then a supercomputer is the right tool to use.
Most supercomputers aren’t really any “faster” than a high end pc. They can simply do more in the same amount of time.
It’s like a truck vs a car. Both can go similar speeds but the truck can do so much more each trip.
Also they aren’t constrained by the general nature of personal computers so their workloads can be highly optimised (ie someone could write something for a computer that simply distributed the workload across say 100 graphics cards) and that could be defined as a supercomputer even though no component is faster than your home pc).
Back in the day there was a military supercomputer that was just a bank of 1760 playstation 3’s.
A supercomputer is fast *for a specific workload*. This is typically a workload that can be processed “in parallel” (i.e. the job is broken up in smaller pieces which can be handled individually). Then “some communication” takes place to synchronize and redistribute the smaller job and/or data.
Supercomputers differ in the amount of processors, memory and the communication between the individual processors (low delay and high data throughput).
The step that the comments I’m seeing (I don’t think it’s all the comments) are missing is that physically, they’re not all that super. They’re used for problems where you can break it up into lots of smaller parts that don’t depend on each other.
Let’s take weather prediction as an example. The equations that tell us how weather works (we think) are really complicated. But if you look at a really small area (say 100 meters by 100 meters), the complicated stuff goes away and it’s just a few additions and multiplications. But some of the stuff used comes from the adjacent cells (from the previous step: yesterday if your step size is 1 day) and some of its outputs need to go to the adjacent cells (for the next step). You could do it by hand, but if you have any sort of reasonable sized area it would take forever. It took Lewis Fry Richardson about 5 weeks to calculate a 1 day forecast. (Some time during World War I, published in 1922.) His plan was to have thousands of people in an auditorium, each computing one step and passing their results to the next person in line. (This was actually done [I think just hundreds] during the Manhattan Project. There’s also an interesting Matt Parker youtube video (standup_maths) of a similar process to calculate pi.) But in reality, it’s just too expensive to use people for calculations, so we have to use computers.
But if your computer only has one processor (the calculation part), it still takes forever. But you can break a lot of problems up so that one processor could do one or a few cells, and then for the next step use the results from its own and other processors, and so on. So to make a supercomputer, you need a lot of fast processors. I don’t know what we use now, but about 10 years ago we were using commercially available graphics cards.
Some of the earliest supercomputers had specialized hardware for vector mathematics, and custom inter-connects for data transfer. With multiple CPU and vector processors, tasks (like modeling 3D space for nuclear explosions or weather systems) could be handled in parallel.
As general purpose CPUs improved and integrated floating-point maths coprocessors, it was easier to use multiple general purpose CPUs and network cards to interconnect elements. Commodity hardware running Unix and parallel task scheduling allowed the construction of large supercomputers. Multi-core CPU increased processing capacity.
Then the needs of modern gaming lead to the development of the GPU. At their core, these are effectively more advanced versions of the vector processing units used in early supercomputers, and because they had multiple processing pipelines, they were very quickly integrated into supercomputer design. In some cases, supercomputers were built with gaming consoles, because they included both general purpose CPUs and GPUs.
Modern supercomputers usually use multi-core CPUs and powerful GPUs, using modern OS’s and parallel task scheduling software. The speed is entirely due to the number of units processing in parallel, and using GPU pipelines to accelerate vector and matrix calculations.
Already said that they are just about of normal computers running together. But why they are fast ?
Imagine you need to calculate 2*3*4*5. You surely can do it like that: 2*3=6, 6*4=24, 24*5=120.
Or if you have two computers you can calculate 2*3=6 on one of them, at while first one you s busy you can do 4*5=20 on the other one. And then combine those into 6*20=120.
Supercomputers do exactly that, but with way harder tasks on way larger scale. For example – you got a bunch of data you want to turn into an image. Perhaps you can calculate 1 pixel of this image per second.
Instead of making one computer do 1 million pixels one by one you can make a million computers draw one pixel each.
Supercomputers are basically fairly normal computers linked together with a very fast network.
When I say “fairly normal”, they’re still pretty high end, more like good servers than PCs.
To give a car analogy, if a normal car can go 100mph, a supercomputer isn’t a car that can go 1,000,000mph, it’s 10,000 cars that can go 100mph.
Latest Answers