Massively parallel computers for high-performance computing (HPC) applications have significantly different requirements to the operating system compared to typical server and desktop computers. These systems typically have a large number of processors (tens to hundreds of thousands), different I/O (disks and network connections to the outside are centralized in special nodes), and a single processor usually does not have to be time-shared between different applications (but the complete system can be partitioned to support multiple users at the same time).
Operating systems should not stand in the way of the user by requiring a lot of resources for themselves. This is especially relevant in HPC systems, which should deliver the highest possible performance to the application. Accordingly, specialized OS kernels support thin hardware abstractions and enable the operation of applications in these complex systems.
Accordingly, different systems have been developed to support these massively parallel systems. Early manyprocessor systems such as the Connection Machine [1] had only very primitive systems, but later systems, such as the nCUBE [2] and the German SUPRENUM [3] project, already used sophisticated systems.
More recent massively parallel systems, such as IBM's BlueGene system, were a fertile basis for OS research [4]. A version of the Plan 9 OS [5] was ported to BlueGene due to Plan 9's excellent support for transparently distributed networked systems with specialized functionality (such as having separate compute, networking and I/O nodes). Recent developments in massively parallel systems include Steve Furber's SpiNNaker system [6], a research project in neuromorphic computing intended to model the functions of biological brains, which requires special system software [7]. On the more conventional side, the current number 1 system in the TOP500 supercomputer list, Fujitsu's Fukagu, is based on specialized ARM CPUs running McKernel [8], a bespoke lightweight kernel to support HPC applications.