Противостояние в Google: повышение частоты генерации прерываний в ядре Linux до 1000 Гц обсуждается как способ улучшения эффективности на PC, но возможно повышение энергопотребления на маломощных устройствах

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

Текущее значение в 250 Гц в Linux ядре является стандартом, выбранным как компромисс между производительностью, задержками и уровнем потребления энергии.

Согласно данным OpenNET, использование 120 Гц дисплеев, которые стали обычными для современных ПК и мобильных устройств, при частоте таймера 250 Гц вызывает неточности в квантовании времени, составляющие примерно половину времени кадра. Это снижает эффективность распределения ресурсов и не позволяет достигнуть оптимального соотношения производительности и энергопотребления. При низкой частоте таймера, энергопотребление может быть выше, так как механизм DVFS (Dynamic Voltage and Frequency Scaling) выбирает более агрессивный подход к выбору частоты, пытаясь не замедлить выполнение задач.

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

Однако, другой разработчик из Google выразил предположение о том, что сохранение частоты таймера на уровне 250 Гц может быть предпочтительнее, ведь его расчеты указывают на возможное увеличение энергопотребления у маломощных устройств, включая IoT-устройства, при повышении частоты прерываний таймера.


Специалисты Phoronix сравнили производительность ПК на основе CPU AMD Ryzen 9 9950X с двуми вариантами частоты таймера.

Тесты выявили, что при 1000 Гц система была более быстрой в бенчмарках Llama.cpp, nginx, SuperTuxKart, Selenium и при измерении времени сборки ядра. С другой стороны, производительность системы была выше при установке таймера на 250 Гц в тестах Darktable, PostgreSQL, Unvanquished, Xonotic, Blender, SVT‑AV1, RawTherapee.

При 1000 Гц среднее потребление энергии было 144.2 Вт, минимальное – 0.18 Вт, а максимальное – 202.13 Вт. При 250 Гц среднее потребление энергии составило 144.37 Вт, при этом минимальное было 0.07 Вт, а максимальное – 202 Вт.