The first release of mklinux to run multiple kernel instances simultaneously Linux

The first public release of the Multikernel project has been released. Linux (mklinux-v7.0-mk2), a development version of the kernel Linux, enhanced with the ability to run multiple independent kernel instances on a single physical computer without the use of a hypervisor or virtualization. Each kernel instance has direct access to hardware resources and can be used to run separate, isolated system environments. The first release is based on the kernel Linux 7.0 and contains the "CONFIG_MULTIKERNEL" build setting. When disabled, the kernel becomes completely identical to the stock 7.0 kernel. Currently, only x86_64 CPU architectures are supported.

Multikernel is being touted as a new isolation mechanism that fills a gap between hypervisor-based virtualization and shared-kernel container isolation. Unlike virtualization, Multikernel does not require a hypervisor, simplifies the creation of isolated environments for running individual applications, and enables high performance without the overhead of virtualization. Unlike containers, Multikernel provides a high level of isolation and allows for the use of a separate kernel in each isolated environment, so that a crash or vulnerability exploit in one does not affect other environments.

The host kernel distributes available CPU, memory, and PCI devices among additional kernel instances running concurrently. Each instance runs on a separate, dedicated CPU core, operates with the devices assigned to it, and has access to a dedicated area of ​​physical memory. Simultaneous execution of multiple cores is accomplished without virtualization, using an SMP handler that distributes available CPUs. Dynamic resource allocation to running environments is supported, ensuring predictable performance.

By eliminating the overhead inherent to virtualization, performance using Multikernel is estimated to be close to that of running on standalone hardware. Multikernel eliminates the VM exit stage, L2 memory pages, a separate device model, and IOMMU translation. When compared to a hypervisor, KVM When using Multikernel, the performance of various system calls and functions increases from 1.07 to 2.5 times (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, context switching - 2.50x), the throughput and latency when working with memory are at the same level.



Source: opennet.ru
Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster