В един момент много от нас Посмяхме се да си играем с губернаторите В нашата система това се прави, за да се получат някои подобрения в производителността или за някаква конкретна цел, като натоварване, приложения, игри и т.н.
Този тип модификации, Те обикновено не се включват в общите дистрибуции И е разбираемо защо, тъй като това се изразява в увеличаване или намаляване (в зависимост от случая) на ресурсите на нашия екип.
Споменавам това, защото наскоро a Инженерът на Google предложи промяна la настройка по подразбиране дел Таймер на ядрото на Linux, повишавайки честотата на прекъсване от 250 Hz на 1000 Hz.
Тази промяна би означавало по-висока честота при превключване на задачи и намаляване на количеството време в планировчика на задачи, коетои ефективността може да бъде подобрена при определени сценарии. В момента 250Hz се счита за баланс между производителност, латентност и консумация на енергия.
Мотивация на предложението
A от основните аргументи в полза на тази промяна е Оптимизиране на производителността на устройства с 120Hz дисплеи, все по-често срещано на компютри и мобилни устройства. При текущата настройка от 250 Hz, неточността на квантуването на времето възлиза на около половината от времето на рамката, което оказва влияние върху ефективността на разпределението на ресурсите.
Освен това се наблюдава, че динамичния механизъм за мащабиране на напрежението и честотата (DVFS) има тенденция да приема агресивни стратегии за избор на честота за да избегнете забавяне. Това може да доведе до ненужна консумация на енергия, когато дадена задача вече е приключила с обработката, но процесорът продължава да работи на по-висока честота, тъй като времето му все още не е изтекло.
Увеличението от честотата на превключване на задачи ще позволи:
- Подобрена ефективност при динамично управление на честотата (DVFS).
- По-точно разпределение на времената на планировчика на задачи.
- Повишена честота на актуализиране на статистиката за натоварване на процесора.
- Намалено време за чакане за висящи задачи.
- Аргументи против поправката
От своя страна, Друг инженер от Google изрази несъгласието си с промяната, с аргумента, че Поддържането на честотата на таймера на 250 Hz е най-полезно за устройства с ниска мощност, като IoT платки и мобилни устройства.
По негова оценка, Увеличаването на честотата до 1000 Hz може да доведе до увеличаване на консумацията на енергия. При устройства с Android, например, в определени ситуации се наблюдава увеличение с до 7% на консумацията на процесор.
Освен това, По-високата честота на таймера би означавала по-често повторно активиране на процесора. При 250 Hz таймерите, планирани на t+1 ms, t+2 ms, t+3 ms и t+4 ms, се групират в едно събуждане, докато при 1000 Hz ще има четири отделни събуждания, което може да увеличи консумацията на енергия.
Резултати от тестове за ефективност
За случая, порталът Phoronix проведе серия от тестове на компютър с процесор AMD Ryzen 9 9950X, за да оцените въздействието на промяната на честотата. Резултатите бяха смесени:
- MПо-добра производителност с 1000 Hz в:
Call.cpp
Nginx
Super Tux Kart
Селен
Време за компилиране на ядрото - Най-добра производителност при 250Hz на:
Darktable
PostgreSQL
Непобеден
Ксонотичен
бъркачка
SVT-AV1
RawTherapee
В cuanto др консумация на енергия, резултатите бяха следното:
- Настройка при 1000 Hz:
Средна консумация: 144,2 W
Минимална консумация: 0,18 W
Максимална консумация: 202,13 W - Настройка при 250 Hz:
Средна консумация: 144,37 W
Минимална консумация: 0,07 W
Максимална консумация: 202 W
И накрая, струва си да се спомене, че увеличаването на честотата на прекъсване на таймера на ядрото до 1000 Hz предлага предимства в определени случаи на употреба, особено в приложения, които изискват по-често превключване на задачи и на устройства с дисплеи с висока честота на опресняване. Той обаче има и недостатъци по отношение на консумацията на енергия, особено в устройства с ниска мощност и среди, където енергийната ефективност е приоритет.
За момента, Предложението все още се обсъжда в рамките на общността и приемането му ще зависи от по-задълбочен анализ на въздействията при различни сценарии на използване.