Несколько дней назад появилась новость о том, что компания ByteDance (создатель TikTok) удивил сообщество свободного программного обеспечения Публикация Паркера (PARTitioned KERnel), экспериментальная технология, которая позволяет запускать несколько ядер Linux одновременно на одной физической машине, не полагаясь на традиционные решения виртуализации, такие как KVM.
Это усовершенствование, предложенное через список рассылки разработчиков ядра Linux, направлено на решение одной из важнейших проблем современных систем: масштабируемость на компьютерах с большим количеством ядер ЦП.
Привет всем,
Parker — это предлагаемая функция в Linux, позволяющая запускать несколько ядер Linux.
одновременно на одной машине, без традиционной виртуализации KVM. Это
Можно разделить ядра ЦП, память и устройства на разделы
Ядро Linux с поддержкой разделов.
Parker, решение без гипервизоров и виртуальных машин
Паркер Он основан на концепции физического аппаратного разбиения., разделяя ядра ЦП, память и устройства ввода/вывода на независимые области. Каждый экземпляр ядра (называется ядром приложения) работает на собственных выделенных ресурсах, в то время как загрузочное ядро управляет начальной конфигурацией системы и распределением оборудования.
В отличие от традиционной виртуализации, Все экземпляры Parker используют один и тот же образ ядра, что упрощает реализацию и снижает накладные расходы. Однако, Каждый из них может иметь свои собственные оптимизации, конфигурации и параметры. производительность, адаптация к различным рабочим нагрузкам или сценариям использования.
Внутреннее функционирование и управление ресурсами
Центральный механизм Паркера использует kexec для динамической загрузки новых экземпляров ядра в зарезервированных областях памяти. Перед запуском этих экземпляров основное ядро освобождает ядра процессора, резервировать физическую память с помощью CMA (Распределитель непрерывной памяти) и отключает устройства PCI который будет посвящен вторичным ядрам.
Для каждого раздела требуются собственные устройства. PCIe, например, накопители NVMe или специализированные сетевые адаптеры, обеспечивающие полностью независимую среду ввода-вывода. Parker также предлагает интерфейс управления на основе kernfs, что позволяет управлять разделами и отслеживать состояние каждого работающего ядра.
Текущие ограничения и будущая дорожная карта
В этой первой версии, все экземпляры ядра используют один и тот же домен изоляции, лили это означает, что сбой в одном из них может повлиять на всю системуByteDance распознает это ограничение как изначальное решение по проектированию, отдавая приоритет простоте и низким накладным расходам, а не полной изоляции.
Однако разработчики Они уже планируют воспользоваться возможностями изоляции на аппаратном уровне., такие как технологии виртуализации с использованием процессора, позволяющие повысить отказоустойчивость и позволяющие каждому ядру работать полностью автономно и безопасно.
Хотя Паркер разделяет ту же цель, что и проект Многоядерный (недавно представленный другими разработчиками в экосистеме Linux), Оба варианта различаются как по архитектуре, так и по техническому подходу.Parker использует модель общего ядра и физически сегментированных ресурсов, в то время как Multikernel стремится к созданию кооперативной среды между несколькими скоординированными ядрами.
ByteDance подчеркивает, что ее реализация полностью независима, и надеется, что сообщество разработчиков предоставит свои предложения и отзывы для усовершенствования этой технологии.
Стоит отметить, что Паркер готовится стать многообещающим экспериментом Это может кардинально изменить подход к масштабированию ядра Linux на многоядерных серверах. Удалив традиционный уровень виртуализации и напрямую используя физические ресурсы, Эта технология открывает путь к большей эффективности и меньшей задержке. и более гибкие конфигурации в высокопроизводительных системах.
Хотя инициатива ByteDance пока находится на ранней стадии, она демонстрирует растущий интерес крупных технологических компаний к инновациям в ядре Linux, укрепляя их роль не только как пользователей системы, но и как активных участников ее развития.
Наконец, если вы хотите узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.