Настройка ядра Linux с помощью ИИ, согласно ByteDance (Перевод) / Хабр

Настройка ядра Linux с помощью ИИ, согласно ByteDance (Перевод) / Хабр

Linux хорошо подходит для большинства задач, но для того, чтобы справлялся еще лучше -требуется настройка ядра, а это всегда непросто. У ByteDance есть предложение сделать это проще.

Ричмонд, Вирджиния: На «Linux Plumbers Conference» — встрече ведущих разработчиков ядра Linux, доступной только по приглашениям, инженер ядра Linux ByteDance Конг Ван предложил использовать искусственный интеллект (ИИ) и машинное обучение (ML) для настройки ядра Linux для максимальные результаты при конкретных нагрузках. 

В общем и целом , ядро ​​Linux прекрасно справляется с большинством задач. Но чтобы получить максимальную отдачу от него для конкретных задач — нужно отконфигурировать его, установив определенные параметры для достижения наилучших результатов. Но есть одна небольшая проблема —  Существуют тысячи параметров. Изза которых даже для эксперта по ядру Linux, настройка их для достижения оптимальной производительности — долгая и тяжелая работа. И, конечно же, разные рабочие нагрузки требуют разных настроек в наборе параметров ядра Linux. Таким образом, как сказал Ван: «В крупных центрах обработки данных, таких как ByteDance, стало практически невозможно вручную настраивать параметры ядра Linux для сотен различных рабочих нагрузок».

Могут помочь такие инструменты, как System Management Interface Tool (SMIT) , Sysctl и TuneD . Но они просто позволяют вам легче вносить изменения в настройку ядра вручную. Существуют также «умные» программы, такие как BayOp от Red Hat , которые используют машинное обучение специально для оптимизации эффективности сетевых приложений, но это не программа AI/ML общего назначения; он предназначен для определенной настройки Linux. 

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

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

Как? Система автонастройки предназначена для автоматической настройки внутренних параметров ядра Linux в зависимости от конкретной рабочей нагрузки и конфигурации оборудования. Такая динамическая настройка обеспечивает оптимальную производительность, решая давнюю проблему сообщества Linux, связанную с ручной настройкой ядра для конкретных сценариев. Для этого платформа AI/ML использует несколько алгоритмов, таких как байесовская оптимизация, генетический алгоритм и алгоритм имитации отжига(эволюционный алгоритм).

Результат?

  • Динамическая оптимизация: система постоянно отслеживает производительность ядра, внося в реальном времени корректировки таких настроек, как масштабирование частоты процессора и управление памятью.

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

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

  • Настраиваемые параметры: опытные пользователи могут настроить параметры автонастройки, адаптируя систему к своим конкретным потребностям.

Пока еще рано, но ByteDance уже добился определенного успеха. Например, используя DAMON , подсистему ядра Linux для мониторинга и оптимизации доступа к памяти, они смогли найти лучшую схему для приложения MySQL . Это было сделано путем запуска различных схем DAMON и сравнения их производительности. Они обнаружили, что могут сократить использование памяти приложением на 30%. Для массовых приложений это реальная экономия.

В другом случае ByteDance удалось оптимизировать задержку сети HTTP на сервере NGINX за счет оптимизации настройки 16 параметров sysctl ядра. В лучшем случае настройка ML позволила повысить производительность сети NGNIX на 12% по сравнению с экспертной ручной настройкой. Опять же, это значительное улучшение. 

ByteDance не утверждает, что ее подход AI/ML подойдет для любой задачи по настройке Linux, но Ван сказал: «Хотя существуют ограничения, мы считаем, что машинное обучение ядра не только возможно, но и необходимо».

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

Дополнительные материалы :

Danon — (ссылка — Danon )

Искусственный интеллект (ИИ) и машинное обучение (МО) для настройки ядра Linux(PDF) — ( ссылка )

Интерфейс управления системой (SMIT )- ( ссылка )

Sysctl — ( ссылка )

Tuned -( ссылка )

BayOp — ( ссылка )

Байесовская оптимизация- ( ссылка )

Алгоритм имитации отжига(Эволюционный алгоритм) (PDF) — ( ссылка )

Опубликовал(а)admin
Предыдущая запись
скучные совещания в краткое саммари / Хабр
Следующая запись
Почему ChatGPT (или любой другой чат-бот) не работает так, как вам нужно / Хабр
Добавить комментарий
Ваш электронный адрес не будет опубликован. Обязательные поля помечены *