В какой-то момент многие из нас Мы осмелились играть с губернаторами В нашей системе это делается для получения некоторого улучшения производительности или для какой-то конкретной цели, например, рабочей нагрузки, приложений, игр и т. д.
Этот тип модификаций, Они обычно не включаются в общие дистрибутивы. И понятно почему, ведь это означает увеличение или уменьшение (в зависимости от случая) ресурсов нашей команды.
Я упоминаю об этом, потому что недавно Инженер Google предложил изменить la настройка по умолчанию из Таймер ядра Linux, увеличив частоту прерываний с 250 Гц до 1000 Гц.
Это изменение будет означать более высокую частоту переключения задач и сокращение кванта времени в планировщике задач, чтои эффективность может быть улучшена в определенных сценариях. В настоящее время частота 250 Гц считается балансом между производительностью, задержкой и энергопотреблением.
Мотивация предложения
Uno из основных аргументов в пользу этого изменения является Оптимизация производительности на устройствах с дисплеями 120 Гц, все чаще встречающееся на ПК и мобильных устройствах. При текущей настройке 250 Гц неточность квантования времени составляет около половины времени кадра, что влияет на эффективность распределения ресурсов.
Кроме того, было замечено, что механизм динамического масштабирования напряжения и частоты (ДВФС) имеет тенденцию применять агрессивные стратегии выбора частоты чтобы избежать замедления. Это может привести к ненужному потреблению энергии, когда задача уже завершила обработку, но процессор продолжает работать на более высокой частоте, поскольку его квант времени еще не истек.
Увеличение частоты переключения задач позволит:
- Повышение эффективности динамического управления частотой (DVFS).
- Более точное распределение времени планировщика задач.
- Увеличена частота обновления статистики загрузки ЦП.
- Сокращено время ожидания выполнения задач.
- Аргументы против поправки
Со своей стороны, Другой инженер Google выразил свое несогласие с изменением, утверждая, что Поддержание частоты таймера на уровне 250 Гц наиболее выгодно для маломощных устройств., такие как платы Интернета вещей и мобильные устройства.
По его оценке, Увеличение частоты до 1000 Гц может привести к увеличению энергопотребления. Например, на устройствах Android в определенных ситуациях наблюдалось увеличение потребления ресурсов процессора до 7%.
Кроме того, Более высокая частота таймера будет означать более частую повторную активацию. ЦП. При частоте 250 Гц таймеры, запланированные на t+1 мс, t+2 мс, t+3 мс и t+4 мс, группируются в одно пробуждение, тогда как при частоте 1000 Гц будет четыре отдельных пробуждения, что может привести к увеличению энергопотребления.
Результаты теста производительности
О деле, портал Phoronix провел серию тестов на ПК с процессором AMD Ryzen 9 9950X, чтобы оценить влияние изменения частоты. Результаты оказались неоднозначными:
- MЛучшая производительность при 1000 Гц в:
Лама.cpp
Nginx
SuperTuxКарт
Селен
Время компиляции ядра - Лучшая производительность при 250 Гц на:
Darktable
PostgreSQL
непобежденный
Ксонотический
смеситель
СВТ-АВ1
RawTherapee
Относительно потребление энергии, результаты были следующее:
- Настройка на 1000 Гц:
Среднее потребление: 144,2 Вт
Минимальное потребление: 0,18 Вт
Максимальное потребление: 202,13 Вт - Настройка на 250 Гц:
Среднее потребление: 144,37 Вт
Минимальное потребление: 0,07 Вт
Максимальное потребление: 202 Вт
Наконец, стоит упомянуть, что увеличение частоты прерываний таймера ядра до 1000 Гц дает преимущества в определенных случаях использования, особенно в приложениях, требующих более частого переключения задач, и на устройствах с дисплеями с высокой частотой обновления. Однако он также имеет недостатки с точки зрения энергопотребления, особенно в маломощных устройствах и средах, где энергоэффективность является приоритетом.
На данный момент, Предложение все еще находится на стадии обсуждения. в сообществе и его принятие будут зависеть от более глубокого анализа воздействия в различных сценариях использования.