Meta/Facebook уже несколько лет изучает возможность использования BOLT в ядре Linux для оптимизации структуры двоичных файлов ядра Linux. Поскольку BOLT был включен в состав LLVM, они продолжили работу над ядрами BOLT. Теперь существует общедоступное руководство по созданию ядра Linux, оптимизированного для BOLT, которое, как ожидается, улучшит производительность системы примерно на 5%.


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

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

«Улучшая компоновку кода, BOLT может повысить производительность ядра до 5% за счет уменьшения количества промахов в кэше инструкций и ошибок прогнозирования ветвей. При измерении общей производительности системы это число должно быть соответствующим образом скорректировано в зависимости от времени, которое приложение проводит в ядре (исключая время ввода-вывода)».

Чтобы использовать BOLT для оптимизации ядра Linux, см. новое руководство.