First mklinux release runs Linux kernels without a hypervisor
Cong Wang announced the launch on the Linux kernel mailing list: mklinux v7.0-mk2, the first public release of the Multikernel project, is now available to try. On an x86_64 machine, it is intended to run multiple independent Linux kernels simultaneously—directly on the hardware, or on “bare metal,” without a hypervisor or container service.
The mechanism is divided up in an unusually straightforward way. A host kernel manages a pool of CPUs, memory and PCI devices—that is, connected hardware—and assigns parts of it to individual instances. Each instance gets its own kernel, processors, memory and devices. There is no emulation; the kernels share only what is explicitly designated for sharing. So-called DeviceTree overlays, which describe the hardware allocation, are intended to allow resources to be moved without even rebooting.
The expected advantage lies in combining isolation and speed. A fault, kernel panic or security problem in one kernel should not affect the others. Compared with virtual machines, Wang says, the system eliminates a second level of page tables and a device model. His measurements show a factor of 1.07 to 2.5 compared with KVM guests—that is, virtual Linux systems—depending on the test; memory bandwidth and memory latency, however, were at the same level.
The developers cite AI training and inference, latency-sensitive services and workloads with strict security requirements as possible use cases. Multikernel should also be able to start a separate kernel for each application; physical device drivers could run in separate kernels, with application kernels connected through virtual network cards and virtual block devices. Existing applications and system interfaces are intended to remain compatible because the changes to the Linux kernel are minimal and non-invasive.
What does that mean in practice? Operators could isolate applications or device drivers more extensively without accepting the overhead of conventional virtualization. Resources from a shut-down instance could then be assigned to another kernel. For now, this is primarily a tool for developers and testing: the release is available as a GitHub project, currently supports only x86_64, and the performance figures come from Wang and his team. Further experiments will have to show whether the advantage holds beyond these measurements.
Comments
Loading the thread…
Sign in to leave a comment. Sign in