In 2020, who doesn’t care about supercomputer? We all are aware about it’s usefulness and necessity. What turns a regular computer into a supercomputer is clustering multiple highly-performance, optimized computers; all configured to accomplish a specific type of task. This optimization will usually include finely tuned hardware, a specialized network, vast amounts of storage and so forth. Conversely, the workloads that require a supercomputer have usually two things in common, they either require computation on a huge amount of data, or they are very computationally intensive!
Traditional uses for supercomputers have been in oil and gas exploration, converting seismic data into maps that indicate where to drill oil or gas wells or both. But, in recent days, it is not limited to that – Supercomputers are engaged in performing research and treatment analysis of Covid-19.
After years of pushing toward total domination, Linux finally did it! Today, all 500 of the world’s top 500 supercomputers are running on Linux and who knows how many more after that. That’s even more impressive than Intel’s domination of the list, with 92 percent of the processors in the top 500.
When the first Top500 supercomputer list was compiled in June 1993, Linux was just a 2 years old promising candidate. However, it didn’t take long for Linux to start its journey on supercomputing!
Linux first appeared on the Top500 in 1998. Before Linux took the lead, Unix was supercomputing’s top operating system.
Twice a year, in June and November, TOP500 releases it a list of the 500 most powerful computer systems ranked by their performance on LINPACK Benchmark, which calls for the computer being tested to solve a dense system of a linear equations.
In the most recent TOP500 ranking, a Japanese supercomputer name Fugaku (inspired from an alternate name for Mount Fuji) has taken the top spot and pushed the former leaders down a rank. Fugaku was co-developed by Riken and Fujitsu. It uses Fujitsu’s 48-core A64FX ARM chip. This is the first time a computer based on ARM processors has topped the list.
The computer was fully assembled only in May but has already helped fighting COVID-19 by sorting through more than 2,000 drugs that might effectively block the virus and found a dozen that show promise.
Why do supercomputers use Linux?
How did Linux come to dominate supercomputing?
Let’s review the possible reasons!
1. Modular nature of Linux
A layman can think of typical Linux as being made up of small building blocks or modules. Each module performs distinct dedicated jobs. These building blocks work together to make the OS running. This modular nature of Linux facilitates anyone to modify the OS to suit their requirements. As a consequence, Linux can be modified to be used on supercomputers and archive dedicated goals, particularly enhance performance or energy efficiency etc. Today most supercomputers employ a modified Linux kernel.
2. Generic Nature of Linux Kernel
By nature, Linux kernel is generic. This implies that single source code can be written to run on large supercomputers and also on small gadgets; this is entirely up to the user how one uses Linux, either on giant systems or smaller systems. There is no need to add fundamental and large changes to the kernel in order to run on larger or smaller systems. Typically Linux kernel can be configured to be as small as 2MB or as large as 1GB or 1TB without impending time and effort.
Scalability can be defined as the ability of the server to adapt to larger loads. Scalability can be directly proportional to the measure of efficiency and performance. Ideal system must be able to scale without any massive efforts. Linux has tremendous scalability as it can accommodate the new and higher loads rather easily. This why you can find Linux run supercomputers and Android (using Linux kernel) on mobile phones, refrigerators and even microwave ovens!
4. Open Source Nature
Linux is entirely Open source and free software with complete source code available. This implies that supercomputer administrators can customize the OS to any level. Additionally, in case of performance glitches, security loop holes etc. found on supercomputers administrators can alter the code anytime to attain max performance and security (or for that matter any goal); rather than waiting for security updates from proprietary companies.
Supercomputers seek to maximize the performance. Usually supercomputers are assigned with jobs that require computation at a very high speed.
5. Community & Vendor Support
Linux being Open source has immense community support that is unparalleled on any other operating system. The final piece of the pie is vendor support, something Unix like FreeBSD never had. Linux had organized companies behind it.
Red Hat took off and helped drive Linux in a way UC Berkeley never did for FreeBSD. Eventually we got Caldera, SuSe and Canonical. Then came the big dog: In 1999, IBM announced support for Linux. At that point, Unix was a dead OS walking. It just didn’t know it.
Cost can be of major concern when it comes to huge devices like supercomputers. Deploying Linux on supercomputers is cost effective as Linux is completely royalty free.
7. Networking support
Other reasons of using Linux as it provides nice networking support. It is relatively easier to add or remove any experimental networking device. In most of the cases, no reboots are required! Linux is reliable and stable OS that can be run on large costly servers and computers without having to worry a lot.
Last but not the least, Linux is more secure.
The challenge for Linux is now to maintain this position. I believe, Linux can beat the record of any other Operating System!