Replicated-kernel Linux

Performance scalability of software running on highly parallel, general-purpose (homogeneous) CPUs has been shown to be a problem. In fact, performance of software written for shared memory multiprocessors or multicores may suffer when multiple CPUs synchronize on the same variable or access the same variable in parallel – this is because, cache coherency, which provides shared memory, has a non-negligible cost when the number of CPUs is high. Additionally, the CPU topology may contribute to an increase in memory access latency. 

The very first version of Popcorn Linux addressed this problem at the operating system level. Popcorn Linux recognizes that application software scalability may be hindered by operating system scalability and redesigns the Linux operating system kernel as a multiple kernel OS. In this design, each CPU, or group of CPUs (e.g., a NUMA node) runs a different Linux kernel instance. Instances do not share memory, and communicate via message passing (similar to a multikernel OS). Each operating system service is rewritten as a distributed service (the project focused only on a subset of Linux services). We call this model "replicated-kernel OS". Popcorn Linux's replicated-kernel model demonstrated that the multiple kernel OS design based on a “shared nothing” model (cf. multikernel) can also be successfully applied to monolithic kernels and achieve similar speedups.



You can find more information about Popcorn as a replicated-kernel Linux in the following papers and Virginia Tech thesis: 

Source code and documentation is available online on sourceforge


Binoy Ravindran, Virginia Tech:  This email address is being protected from spambots. You need JavaScript enabled to view it.



This is an open-source project of the Systems Software Research Group at Virginia Tech.

This work was supported in part by ONR under grants N00014- 12-1-0880 and N00014-13-1-0317, and by US NSWC under contract N00178-09-D-3017/0022.  Any opinions, findings, and conclusions or recommendations expressed in this site are those of the author(s) and do not necessarily reflect the views of ONR and NSWC.