Предлагается масштабная переработка кода подкачки ядра Linux, направленная на повышение его производительности в реальных условиях.
Эта инициатива связана с публикацией серии патчей Кайруи Сона из Tencent, которые внедряют «Swap Table» — кэш подкачки ядра. Данная идея была озвучена им на конференции LSF/MM/BPF и предполагает интеграцию кэша подкачки, карт подкачки и функций распределителя подкачки в ядро Linux.
Ожидается, что новая структура кода подкачки будет более перспективной, обеспечит более низкое потребление памяти и приведет к повышению производительности. Текущая структура подсистемы SWAP страдает от множества обходных путей и оптимизаций, что усложняет внедрение новых функций.
Вчера были опубликованы первые патчи, реализующие инфраструктуру «Swap Table» и ее использование в качестве серверной части кэша подкачки. Предварительные результаты показывают значительное повышение производительности:
- Увеличение пропускной способности, RPS (количество запросов в секунду) или времени сборки на 5-20%.
- Тестирование показало эффективность на ARM-машинах 8c / 1G и серверах 48c96t / 128G x86_64.
Достигнуты впечатляющие результаты:
- Тест на масштабируемость виртуальных машин показал улучшение более чем на 20% в большинстве сценариев.
- Время сборки ядра Linux сократилось на несколько процентов.
- Пропускная способность базы данных Redis/Valkey в оперативной памяти увеличилась примерно на 6–7%.
Ожидается, что эта работа будет продолжена и остальные этапы серии патчей «Swap Table» появятся в ближайшее время.