Five reasons supercomputing centers love Linux

The first version of Linux (0.0.1) was launched on the Finnish University and Research Network Funet's FTP server nearly 25 years ago. Back then, few would have guessed that the open source operating system developed by a young student, Linus Torvalds, would a quarter of a century later run on most of the mobile phones and servers as well as on the world's most powerful supercomputers.

From the 50s to the 90s, big supercomputers came with vendor-developed, proprietary operating systems. In 1994 (three years after the first Linux release), researchers at NASA decided to build the first supercomputer consisting of common PCs, and chose Linux as the operating system. Researchers called the system Beowulf which is why Linux-based systems with commodity hardware are still sometimes referred to as Beowulf clusters.

This new class of systems proved to be significantly more cost-efficient compared to traditional supercomputers. Thus, their popularity grew rapidly. In Finland, too, the first experiments with Linux in high-performance computing were already carried out in the late 90s, and all CSC's supercomputers entered the era of Linux after the mid-2000s.

Initially, few experts believed in the competitiveness of the Linux systems among the most powerful computing systems in the world. All doubts were, however, washed away at least by year 2008 when Roadrunner, built by IBM, reached the number one position on the supercomputing Top500 list.

Nowadays, Linux has become the default OS in supercomputing – Nearly all of Top500 supercomputers today use Linux (or Linux-based) operating system.





Image: Linux dominates the competition on operating systems on the world's most powerful computers. (Source: Top500.org)

So why are supercomputing centers so in love with Linux? Here are five good reasons:

Performance

The Linux kernel is very lightweight, and it is possible to trim it even lighter for high-performance computing as some vendors, such as Cray, have done. Being lightweight means lower OS jitter which enables better load balancing and more CPU cycles for computing. This leads to better parallel scalability and floating point performance. Also memory management in Linux is very efficient.

Cost-effiency

High-performance computing (HPC) clusters consist of hundreds or even thousands of nodes (servers). Hardware costs a lot, so free software is attractive. Virtually anyone can now build a supercomputer as long as they have hardware. Also from the vendors' point of view, relying on Linux is profitable because developing and supporting one's own operating system is expensive.

Flexibility

Vendor-independent operating system makes it possible to buy hardware from different vendors. Also recruiting administrators is somewhat easier, because Linux skills are far more common than expertise in exotic HPC operating systems.

Application ecosystem

Linux provides a rich set of utility software and middleware which are very important in HPC. The vendors have less need to write their own middleware which is why product development costs and system prices remain lower.

User experience

For a researcher doing computational science, it can be handy that the operating system in researcher's own laptop, local university computing cluster, national supercomputers and World's leading supercomputers can be the same. From the end-user's perspective, the de facto standard position that Linux has achieved also means better portability and less effort in porting codes from one platform to another.

CSC's HPC experts Olli-Pekka Lehto and Pekka Manninen were interviewed for the article.