В целом, ядро Linux прекрасно справляется с большинством задач. Но чтобы получить максимальную отдачу от него в конкретной ситуации, необходимо произвести тонкую настройку, установив параметры для достижения наилучших результатов. При таком подходе есть только одна небольшая проблема. Параметров тысячи. Даже для эксперта по Linux настройка их для достижения оптимальной производительности – это долгая и сложная работа. И, конечно, для разных рабочих нагрузок требуются разные настройки для разных наборов параметров ядра Linux.
Такие инструменты, как
System Management Interface Tool,
Sysctl и TuneD, могут помочь. Но они лишь позволяют легче вносить изменения в настройку ядра вручную. Существуют также «умные» программы, например, от Red Hat
BayOp, которые используют ML для оптимизации эффективности сетевых приложений, но это не AI/ML-программа общего назначения, она предназначена для конкретного вида настройки Linux.
То, над чем работает ByteDance, – это первая попытка автоматизировать весь процесс настройки параметров ядра Linux с минимальными инженерными усилиями. В частности, ByteDance работает над настройкой управления памятью Linux.
ByteDance обнаружила, что с помощью алгоритмов машинного обучения, таких как байесовская оптимизация, автоматическая настройка может даже превзойти большинство инженеров ядра Linux.
Цель состоит в том, чтобы освободить инженеров от необходимости настраивать параметры ядра Linux. При этом принимая более качественные решения на основе исторических данных, с чем люди раньше и часто сталкивались.
Это еще только начало, но компания ByteDance уже добилась определенных успехов. Например, используя
DAMON. позволяет использовать легковесные данные, свои системы и оптимизировать подсистему ядра Linux для мониторинга и оптимизации доступа к памяти, с помощью фреймворка удалось найти оптимальную схему для приложения MySQL. Для этого они запустили различные схемы DAMON и сравнили их производительность. Они обнаружили, что могут снизить использование памяти приложением на 30%. Для массивных приложений это реальная экономия.
В другом случае компании ByteDance удалось оптимизировать задержку сетевых соединений HTTP на сервере
nginx за счет настройки 16 параметров sysctl ядра. В лучшем случае ML-настройка дала прирост производительности сети NGNIX на 12% по сравнению с экспертной ручной настройкой.
ByteDance не утверждает, что ее AI/ML-подход будет работать для каждой задачи по настройке Linux, но Ванг сказал: «Несмотря на существующие ограничения, мы считаем, что машинное обучение ядра не только возможно, но и необходимо.»
Комментарии (0)