Linux 7.0-mk2 Released For Multi-Kernel Linux With Promising Performance Results
([Linux Kernel] 31 Minutes Ago
Multikernel)
- Reference: 0001654241
- News link: https://www.phoronix.com/news/Linux-7.0-mk2-Multikernel
- Source link:
Last year [1]a multi-kernel architecture was proposed for the Linux kernel to allow multiple independent kernel instances to co-exist on a single physical machine. Each kernel with "multikernel" Linux can run on dedicated CPU cores whole sharing the underlying hardware resources. Linux 7.0-mk2 released today with the kernel patched for this multi-kernel behavior.
Over the past year there have been [2]multikernel patches posted while today they were bundled up conveniently against a Linux 7.0 kernel tree for easier testing and evaluation. This is considered the first public release of the multikernel Linux tree.
Developer Cong Wang of Multikernel Technologies sums it up as:
"mklinux lets one machine run several independent Linux kernels at the same time on bare metal, without a hypervisor. A host kernel owns a pool of CPUs, memory and PCI devices, carves that pool into instances, and boots a spawn kernel into each instance through kexec_file_load(). Every spawn kernel runs natively on its own CPUs, its own physical memory and its own devices. Nothing is emulated and nothing is trapped; the only thing shared is what you choose to share.
Instances are declared with a device tree written to /sys/fs/multikernel/, and device tree overlays move memory, CPUs and devices between the pool and running instances without a reboot. An instance can be shut down, its resources reclaimed, and respawned with a different kernel.
Compared with virtual machines, there is no VM exit path, no second level of page tables and no device model. Compared with containers, instances do not share a kernel, so a lock, a panic or an exploit in one kernel cannot reach another."
Today's public release also includes some benchmarks promoting its performance over KVM when comparing a 2 core/vCPU showdown:
There are also benchmarks on a 24-core configuration showing the performance benefits of having two kernels in operation rather than one:
More details can be found in today's announcement on [3]the Linux kernel mailing list . So far it's not clear if/when multikernel support will make it to the mainline Linux kernel, if it does it's likely to still be a ways out
[1] https://www.phoronix.com/news/Linux-Multi-Kernel-Patches
[2] https://www.phoronix.com/news/Multi-Kernel-Linux-v2
[3] https://lore.kernel.org/lkml/ao34RJ7aZ2BLd67S@pop-os.localdomain/
Over the past year there have been [2]multikernel patches posted while today they were bundled up conveniently against a Linux 7.0 kernel tree for easier testing and evaluation. This is considered the first public release of the multikernel Linux tree.
Developer Cong Wang of Multikernel Technologies sums it up as:
"mklinux lets one machine run several independent Linux kernels at the same time on bare metal, without a hypervisor. A host kernel owns a pool of CPUs, memory and PCI devices, carves that pool into instances, and boots a spawn kernel into each instance through kexec_file_load(). Every spawn kernel runs natively on its own CPUs, its own physical memory and its own devices. Nothing is emulated and nothing is trapped; the only thing shared is what you choose to share.
Instances are declared with a device tree written to /sys/fs/multikernel/, and device tree overlays move memory, CPUs and devices between the pool and running instances without a reboot. An instance can be shut down, its resources reclaimed, and respawned with a different kernel.
Compared with virtual machines, there is no VM exit path, no second level of page tables and no device model. Compared with containers, instances do not share a kernel, so a lock, a panic or an exploit in one kernel cannot reach another."
Today's public release also includes some benchmarks promoting its performance over KVM when comparing a 2 core/vCPU showdown:
There are also benchmarks on a 24-core configuration showing the performance benefits of having two kernels in operation rather than one:
More details can be found in today's announcement on [3]the Linux kernel mailing list . So far it's not clear if/when multikernel support will make it to the mainline Linux kernel, if it does it's likely to still be a ways out
[1] https://www.phoronix.com/news/Linux-Multi-Kernel-Patches
[2] https://www.phoronix.com/news/Multi-Kernel-Linux-v2
[3] https://lore.kernel.org/lkml/ao34RJ7aZ2BLd67S@pop-os.localdomain/