Инженеры ByteDance предлагают Parker — новый многоядерный подход для Linux

Инженеры ByteDance предлагают Parker — разделённое ядро RFC, которое позволяет запускать несколько ядер Linux в одной системе без традиционной виртуализации.
ByteDance, компания, наиболее известная как владелец TikTok, предложила новую идею для ядра Linux. В недавнем RFC, опубликованном в списке рассылки Linux Kernel Mailing List (https://lore.kernel.org/linux-pm/20250923153146.365015-1-fam.zheng@bytedance.com/), инженеры Фам Чжэн и Том Хьюз представили Parker (сокращение от «PARtitioned KERnel»).
Эта концепция позволяет нескольким ядрам Linux одновременно работать на одном физическом компьютере без использования традиционных инструментов виртуализации, таких как KVM. Напомню, что всего неделю назад было выдвинуто похожее предложение от проекта Multikernel.
Однако в данном случае подход немного иной. Паркер работает с разделением аппаратных ресурсов. Сначала за дело берётся так называемое загрузочное ядро, которое выделяет ядра процессора, области памяти и устройства ввода-вывода, а затем передаёт их тому, что разработчики называют ядрами приложений.
В результате каждое ядро работает независимо, без взаимодействия с другими ядрами, что теоретически делает систему более масштабируемой на серверах с большим количеством ядер.
Один из вариантов использования, который предлагают инженеры, — это запуск ядер с различными конфигурациями или настройками производительности, адаптированными под выполняемые задачи. Паркер добивается этого, предоставляя kernfs
интерфейс и используя kexec
для горячей загрузки дополнительных образов ядра в зарезервированную память. Перед этим загрузочное ядро отключает процессоры, резервирует память и отсоединяет устройства, чтобы каждый раздел мог работать безопасно.
Однако не все убеждены в правильности такого подхода. Дэйв Хансен из Intel выступил против этого предложения (https://lore.kernel.org/linux-pm/40419dea-666e-4a8d-97a7-fa571d7122f4@intel.com/), предупредив, что без контролирующего уровня невозможно предотвратить конфликты между ядрами. Например, ядро, которое включает обнаружение разделённых блокировок или выдаёт общесистемные инструкции, такие как WBINVD
, может вызвать проблемы для всех остальных ядер на компьютере.
Будет ли предложение ByteDance реализовано или останется незамеченным, как и предыдущие попытки, станет ясно после того, как сообщество разработчиков ядра Linux завершит обсуждение.
Редактор: AndreyEx