Компания ByteDance представила своё решение для выполнения нескольких ядер Linux
Дата публикации:Tue, 23 Sep 2025 21:23:24 +0300
Китайская компания ByteDance, развивающая сервис TikTok, опубликовала в списке рассылки разработчиков ядра Linux патчи с реализацией системы Parker (PARtitioned KERnel), позволяющей запускать на одном компьютере одновременно несколько ядер Linux без применения традиционной виртуализации. По решаемым задачам Parker напоминает несколько дней назад представленный проект Multikernel, но отличается от него архитектурой и реализацией.
В Parker применяется секционирование имеющихся ядер CPU, памяти и устройств. Каждый запускаемый экземпляр ядра основывается на одном общем образе ядра, но может использовать разные настройки и оптимизации. Первое загруженное ядро (Boot Kernel) осуществляет распределение и секционирование аппаратных устройств. Остальные экземпляры ядра Linux (Application Kernel) работают только с привязанными к ними ядрами CPU, памятью и устройствами ввода/вывода.
В начальном варианте для снижения накладных расходов и упрощения реализации отсутствует управляющий механизм и все ядра используют одну область изоляции (domain), т.е. ошибка в любом экземпляре ядра может привести к проблемам во всей системе. В будущем планируют задействовать отдельные аппаратные возможности для изоляции экземпляров ядра. В качестве области применения Parker упоминаются компьютеры с большим числом ядер CPU, с масштабированием задач на которых возникают проблемы.
Для управления в Parker реализован интерфейс на базе kernfs, а для загрузки дополнительных экземпляров ядра в зарезервированные области памяти применяется kexec. Перед запуском дополнительных ядер первичное ядро освобождает ядра CPU, резервирует физическую память и отвязывает PCI-устройства для их использования в секционированном ядре. Для ввода/вывода за каждым ядром должно быть закреплено своё PCIe-устройство, такое как NVMe-накопитель или сетевой адаптер. После запуска экземпляра ядра оно не может взаимодействовать с другими ядрами.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63931