Логотип
Если вопрос задан правильно, ответ будет неожиданным (Авессалом Подводный).

Multikernel Linux: первое общедоступное дерево ядер на основе Linux 7.0

Multikernel Linux: первое общедоступное дерево ядер на основе Linux 7.0

Спустя почти год после того, как проект Multikernel поделился своим кодом ядра Linux и отправил первые патчи на проверку, команда впервые сделала общедоступным дерево Multikernel Linux. Эта версия построена на базе Linux 7.0 и обозначена как v7.0-mk2 в дереве ядра проекта. В настоящее время официально поддерживается только архитектура x86_64.

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

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

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

Задержка при использовании KVM по сравнению с мультиядерным режимом

 

В этом релизе проект также опубликовал результаты сравнительного тестирования производительности, демонстрирующие, в каких случаях подход с использованием «голого железа» может превзойти традиционную виртуализацию. В одном из наборов тестов lmbench мультиядерный режим сравнивался с хорошо настроенной виртуальной машиной KVM. В обоих случаях использовалась одна и та же сборка ядра, два ядра процессора и 1 ГБ памяти в двухпроцессорной системе Intel Xeon Gold 5418Y.

Читать  Разработка Flatpak возобновляется с новыми силами и чётким направлением

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

Например, тесты показали, что переключение контекста двух процессов в Multikernel занимало 1,37 микросекунды по сравнению с 3,42 микросекунды в гостевой системе KVM по умолчанию. Задержка при передаче данных по конвейеру составила 3,24 микросекунды по сравнению с 7,06, а задержка при передаче данных через сокет Unix — 4,81 микросекунды по сравнению с 7,48.

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

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

Разработчики говорят, что в этом первом публичном релизе больше всего внимания было уделено тестированию x86_64. Поддержка других архитектур может появиться позже. Архитектурно-специфичные интерфейсы уже разделены с прицелом на будущие порты, но ни один из них пока официально не поддерживается.

Более подробную информацию можно найти в объявлении. Исходный код Multikernel Linux доступен на GitHub. В рамках проекта также предлагается руководство по началу работы для всех, кто хочет опробовать эту технологию.

Читать  Выпущено ядро Linux 6.19 RC2: спокойное и стабильное обновление

Авторство изображения: Multikernel Project

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

двенадцать + одиннадцать =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала