Since around the end of 2017 all the top 500 supercomputers are running Linux.
Why is Linux the preferred OS in supercomputers? Linux has become the dominant operating system in the world of supercomputing for a multitude of compelling reasons:
- High Flexibility: Linux's open-source nature allows for extensive modification and customization of the kernel and operating system to precisely match the unique hardware architectures and specific computational workloads of supercomputers. This level of control is crucial for optimizing performance and efficiency.
- Vendor neutrality: No single company controls it, avoiding lock-in.
- It's free: you don't have to pay for any license. It would be too expensive to have to pay for licenses based on the number of processors.
- Open Source: which is so important for research and scientific development.
- Hardware Support: Linux is the OS with more hardware support, which is crucial in high tech, and bleeding edge supercomputers.
- Community Support: It's the OS with more user base and developers. A vast and active global community of developers continuously contributes to the Linux kernel and its ecosystem, resulting in rapid bug fixes, security updates, and the development of specialized tools and libraries essential for high-performance computing (HPC).
- Excellent Support for HPC Architectures: The Linux kernel it's the one with more support and tools for parallel computing and scalability. Linux has been optimized over decades to efficiently handle the parallel processing and distributed computing architectures prevalent in supercomputers, including technologies like InfiniBand.
- Scalability: Linux can seamlessly scale to manage the massive number of cores, memory, and storage in modern supercomputing clusters.
- Proven Track Record: Linux has a long history of stability and reliability in server environments, capable of running for extended periods without requiring reboots – a critical factor for uninterrupted, long-duration scientific simulations.
- Early Adoption in Research: The open and collaborative nature of Linux resonated early on with the academic and research communities that drive supercomputing. The Beowulf project in the mid-1990s, which demonstrated the power of commodity hardware running Linux for HPC, was a pivotal moment.
- Strong Development Tools: Linux provides robust development tools and environments that are familiar to the scientists and engineers who develop and use supercomputing applications.
- Wide Availability of Scientific Software: A vast majority of scientific and engineering software, libraries, and tools are developed and optimized for Linux. This includes crucial tools for parallel programming (like MPI), scientific libraries, and domain-specific applications. More apps and software tools for scientific development are available in Linux than in any other OS.
- High Security & Isolation: Fine-grained permissions → SELinux, cgroups, namespaces isolate workloads.
- De Facto Standard: Over time, Linux became the de facto standard in supercomputing. This means that new hardware and software are often developed with Linux compatibility as a primary consideration, creating a positive feedback loop.