В Linux ожидается значительный прирост производительности

Серия патчей, опубликованная ночью и являющаяся частью более масштабной запланированной переработки ядра с целью внедрения «таблицы подкачки», способна принести значительный прирост реальной производительности ядра Linux. Кайруи Сонг из Tencent опубликовал начальную фазу патчей для внедрения таблицы подкачки и ее использования в качестве кэша подкачки ядра. Это связано с идеей, высказанной Кайруи во время выступления на LSF/MM/BPF, об интеграции кэша подкачки, карт подкачки и функциональности распределителя подкачки в ядре Linux. Этот редизайн кода подкачки должен быть более перспективным и обеспечивать меньшее использование памяти, чем текущий код, а также более высокую производительность:

«Люди жаловались на подсистему управления swap. Добавляется много дополнительных обходных путей и оптимизаций, но это приводит к множеству других проблем и усложняет реализацию новых функций. Одна из причин заключается в том, что текущий дизайн почти обеспечивает минимальное использование памяти (1 байт Карты подкачки) при приемлемой производительности, поэтому его трудно превзойти инкрементными изменениями. Но на самом деле, по мере добавления новых функций и кода, появляется множество дублирующихся частей. Поэтому я предлагаю эту идею, чтобы пересмотреть все управление слотами SWAP с другой стороны, как следующая работа над SWAP-распределителем.»

Была опубликована серия патчей первой фазы для внедрения предложенной инфраструктуры таблицы подкачки и использования ее в качестве бэкенда кэша подкачки. Она уже показывает очень хорошие результаты:

«Эта фаза I содержит 9 патчей, представляющих инфраструктуру таблицы подкачки и использующих ее в качестве бэкенда кэша подкачки. Благодаря этому мы получили ~5-20% прироста производительности в пропускной способности, RPS или времени сборки в тестах бенчмарков и рабочих нагрузок…. Тестирование показало, что фаза I значительно повышает производительность от 8c/1G ARM-машин до 48c96t/128G x86_64 серверов во многих практических рабочих нагрузках.»

Некоторые хорошие результаты производительности: бенчмарк масштабируемости VM показал более чем 20% улучшение в большинстве сценариев, время сборки ядра Linux на несколько процентов быстрее, а база данных Redis/Valkey in-memory имеет примерно на 6~7% большую пропускную способность. Очень хорошее начало для этих исправлений таблицы подкачки. Надеюсь, что эта работа в конечном итоге будет признана приемлемой для включения в основное ядро Linux, и остальные фазы серии патчей для таблиц подкачки появятся в ближайшее время.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)

Опубликовать