The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен Multikernel, механизм для одновременного выполнения нескольких ядер Linux

20.09.2025 15:17

Для обсуждения разработчиками ядра Linux предложена серия патчей, разработанных проектом Multikernel, который на днях был переведён в категорию открытого ПО и теперь будет развиваться совместно с сообществом. Multikernel позволяет на одном физическом компьютере выполнять несколько независимых экземпляров ядра Linux, которые имеют прямой доступ к аппаратным ресурсам и могут использоваться для запуска нескольких изолированных системных окружений. Проект создан компанией Multikernel Technologies, основанной и возглавляемой Конгом Вангом (Cong Wang), сопровождающим в ядре Linux подсистему управления трафиком (TC, Traffic Control).

Для запуска и управления ядрами предложен усовершенствованный вызов kexec, который в отличие от классического kexec не ограничивается заменой работающего ядра и позволяет запускать дополнительные экземпляры ядра, выполняемые параллельно. Для мониторинга и отладки запущенных экземпляров ядра реализован интерфейс "/proc/multikernel", а для обмена сообщениями между ядрами и координации работы предложен коммуникационный фреймворк Multikernel IPI.

Multikernel преподносится как новая архитектура изоляции, занимающая нишу между виртуализацией при помощи гипервизора и контейнерной изоляцией на базе общего ядра. В отличие от виртуализации Multikernel не требует использования гипервизора, упрощает создание окружений для изолированного запуска отдельных приложений и позволяет добиться высокой производительности без накладных расходов на виртуализацию. В отличие от контейнеров Multikernel обеспечивает высокий уровень изоляции и позволяет использовать отдельное ядро в каждом изолированном окружении.

Производительность при использовании Multikernel оценивается как близкая к производительности выполнения на отдельном оборудовании. Подобного удалось добиться за счёт исключения свойственных виртуализации накладных расходов, возникающих из-за обработчиков передачи управления между виртуальными машинами (VM exit), трансляции IOMMU и вмешательства гипервизора в выполнение привилегированных операций. Поддерживается динамическое выделение ресурсов запускаемым окружениям и обеспечение предсказуемой производительности.

Одновременное выполнение нескольких ядер осуществляется без виртуализации, используя SMP-обработчик, распределяющий доступные CPU между экземплярами ядер Linux. Каждый экземпляр ядра Linux закреплён за одним или несколькими ядрами CPU, выделенными для его выполнения, при совместном использовании остальных аппаратных ресурсов.

Основные достоинства Multikernel:

  • Улучшенная изоляция от сбоев в работе выполняемых окружений.
  • Повышенная безопасность за счёт разделения на уровне ядра.
  • Более эффективное использование ресурсов по сравнению с традиционными виртуальными машинами на базе гипервизоров, таких как KVM и Xen.
  • Потенциальна возможность обновления ядра без остановки работы при использовании механизма KHO (Kernel Hand Over).
  • Поддержка интеграции со стандартными облачными инфраструктурами и возможность прозрачного перехода с традиционных систем виртуализации и контейнерной изоляции.
  • Полная совместимость с существующими приложениями и системными интерфейсами Linux. Multikernel лишь точечно изменяет ядро, сохраняя полную совместимость на уровне API.


  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: VMScape - атака на CPU AMD и Intel, обходящая изоляцию между гипервизором и гостевой системой
  3. OpenNews: Выпуск Kata Containers 3.4 с изоляцией на основе виртуализации
  4. OpenNews: Компания Intel прекратила разработку дистрибутива Clear Linux
  5. OpenNews: Для ядра Linux развивается система распределённого выполнения потоков Popcorn
  6. OpenNews: Механизм Kexec HandOver для перезагрузки ядра Linux без потери состояния
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63913-multikernel
Ключевые слова: multikernel, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 16:44, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не описано где может быть полезен такой комбайн.
     
     
  • 2.5, Аноним (5), 17:01, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Везде, где нужно запускать больше одного ядра параллельно. Для локалхоста, очевидно, не нужно.
     
     
  • 3.11, Аноним (11), 17:21, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эм, хостеры которые не могут себе позволить виртуалки ?
     
     
  • 4.21, Аноним (21), 17:56, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Позволить?!

    Если хостеры на этом смогут *продавать* больше виртуалок т.е. больше заработать денег на том же железе, то им это нужно.

     
  • 4.22, Аноним (22), 18:12, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если своей фантазии не хватает, в новости можно пройти по ссылкам и почитать и чем мотивировались авторы, и сравнение с виртуалками, и даже предполагаемые юзкейсы.
     
  • 3.17, Аноним (17), 17:47, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Везде, где нужно запускать больше одного ядра параллельно. Для локалхоста, очевидно, не
    > нужно.

    Эээ, у меня локалхост, а мне вот нужно. Вы, батенька путаете понятие локалхост и локалхост хомяка-нормиса, которому там только фурей смотреть и арч обновлять. И нет, неочевидно!

     
     
  • 4.24, Аноним (22), 18:14, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я как раз ничего не путаю, в отличие от тебя. То, что ты дома по вечерам косплеишь сисадмина не добавляет нужности твоему локалхосту.
     
  • 2.27, Аноним (27), 18:29, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для АНБ может быть полезен, когда надо лохов поломать.
     
  • 2.33, Аноним (33), 18:46, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.kernel.org
     

  • 1.4, Аноним (4), 16:55, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо развернуть сравнение "Attack Surface" с VM, сдаётся мне, фуфло они втирают. "Kernel Customization" тоже, в виртуалке любое ядро можно запускать
     
  • 1.6, 08497 (?), 17:09, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличное изобретение для хакиров. Все уязвимости одного кернела умножаем ни количество запущенных кернелов. А если еще на каждом кернеле запустить еще по несколько виртуалок, в каждой по несколько кернелов, ну вы поняли, да?
     
     
  • 2.19, мамины какиры самые забавные (?), 17:51, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Отличное изобретение для хакиров. Все уязвимости одного кернела умножаем ни количество
    > запущенных кернелов. А если еще на каждом кернеле запустить еще по
    > несколько виртуалок, в каждой по несколько кернелов, ну вы поняли, да?

    Чисто гипотетически, в вакууме, но к этим всем ядрам ваш вакуумный какир должен ещё пробраться и как-то понять, что соседнее ядро это соседнее ядро в пачке мультиядер, как-то сдетектить каким уязвимостям оно подвержено и т.п.

    Но по факту чем оно отличается от необходимости щупать подсеть с несколькими машинами на предмет наличия уязвимостей в каждой, например?

    Сдаётся мне, вы на очень толстый глобус пытаетесь натянуть очень тощую и ни разу не эластичную сову.


     

  • 1.7, Аноним (7), 17:09, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Не понимаю что здесь нового. Разные ядра linux и так выполняются в разных VM.
     
  • 1.8, Мемоним (?), 17:10, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А на средней схеме Hypervisor не должен быть под Kernel?
     
     
  • 2.10, Аноним (7), 17:14, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они его интегрировали и сделали прозрачным.
     

  • 1.9, Аноним (7), 17:12, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Производительность при использовании Multikernel оценивается как близкая к производительности выполнения на отдельном оборудовании.

    Ну так паравиртуализация тоже близка по производительности к нативной.

     
  • 1.12, Аноним (7), 17:24, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Гипервизор не зря ел свой "хлеб". Это гибкость, функциональность, контроль, безопасность. Обработчик SMP будет "обрастать ракушками" по мере плавания и будет тем же гипервизором.
     
     
  • 2.20, Еще один Аноним (?), 17:52, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дак это классическая (Н. Винера) кибернетическая система (хоть и виртуальная), состоящей из управляющего (в данном случае гипервизор) и управляемого (сама ВМ) элемента. Мне кажется, что если покопаться детально в этом Multikernel, может тоже выясниться, что там тоже есть разделение на управляющую и управляемую подсистемы.
     

  • 1.14, Аноним (14), 17:28, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Скрестили ужа с ежом, получилось непонятно что. С процессорами еще можно отдаленно понять как они между ядрами расшариваются. А память как делить? А ввод-вывод? Без гипервизора, ага
     
     
  • 2.15, Аноним (14), 17:30, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Напоминает добровольную мультизадачность под досом. Все хорошо пока хорошо
     
  • 2.16, Аноним (16), 17:42, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На уровне ведра этим можно рулить (если патчи сделать), это не проблема. Непонятно только, почему они утверждают будто изоляция на уровне ядер дает меньшую поверхность атаки, чем виртуализация.  Ну и в целом юзкейсы неясны. Виртуализация нужна для эмуляции оборудования, а контейнеризация для простой и быстрой доставки приложений. Какие профиты дает мультикернел непонятно.
     
     
  • 3.31, Аноним (31), 18:42, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При атаке на гипервизор у малвари права ring -2, а так только ring 0.
     
  • 2.23, пох. (?), 18:13, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так и делить - тебе половина, и мине одна вторая.
    В принципе, для этого и в обычном ведре почти все есть.
    Диски очевидно привязаны к экземпляру. Консоль достанется кому-то одному.

    Про "эффективность" при таком разделении топором, понятно, можно забыть.

     

  • 1.18, Балерун (?), 17:47, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Cong Wang

    От короля (кит.), если что так. подарочек. Вопрос Кому?

     
     
  • 2.29, Аноним (27), 18:34, 20/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.30, Аноним (30), 18:36, 20/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты хотел написать King Kong Wang?
     

  • 1.25, Аноним (30), 18:21, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наконец будет нормальное 3d ускорение в гостевой системе без virgl/virtio и sriov?
     
  • 1.26, Аноним (27), 18:27, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Multikernel преподносится как новая архитектура изоляции, занимающая нишу между виртуализацией при помощи гипервизора и контейнерной изоляцией на базе общего ядра

    Не понятно, зачем. Главная претензия к контейнерам - из них можно достать до главного ядра, ломануть его, а как его ломанули - так машина взломана по полной. Для решения этой проблемы используют гипервизоры. Ядру выделяется виртуальная машина, оно в ней полностью крутится, а из виртуальной машины до хоста - гипервизор с очень ограниченной поверхностью атаки. Тут же предлагают выполнять дочерние ядра поверх хостового без всякого гипервизора, то есть ничего не меняется с точки зрения взлома контейнеров: ломаем дочернее ядро, и сразу же ломаем хостовое, PROFIT.

     
  • 1.28, Аноним (27), 18:33, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кстати, дочерние ядра прямо в юзерспейсных процессах, а под ними - своя ФС, свои контейнеры ... можно запускать было очень давно, с начала нулевых в ядре опция его собирать так, чтобы оно работало как обычная линуксовая программа. Только единственный профит - это просто упрощение разработки самого ядра линукс и дров к нему, чтобы с виртуалками не париться. Кому для изоляции - тем полноценная виртуалка. Кому не нужны такие требования к изоляции - тем и контейнеры и песочницы сойдут.
     
  • 1.32, Аноним (32), 18:43, 20/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, начали rump NetBSDшный переизобретать...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру