Zvýšenie frekvencie časovača systému Linux prinesie výhody výkonu a optimalizácie

V určitom okamihu mnohí z nás Odvážili sme sa hrať s guvernérmi V našom systéme sa to robí s cieľom získať určité vylepšenia výkonu alebo na nejaký konkrétny účel, ako je pracovné zaťaženie, aplikácie, hry atď.

Tento typ úprav, Zvyčajne nie sú zahrnuté vo všeobecných distribúciách A je pochopiteľné prečo, keďže sa to premieta do zvýšenia alebo zníženia (v závislosti od prípadu) zdrojov nášho tímu.

Spomínam to, pretože nedávno a Inžinier spoločnosti Google navrhol úpravu la predvolené nastavenie del Časovač jadra Linuxu, čím sa zvýši frekvencia prerušenia z 250 Hz na 1000 Hz.

Táto zmena by znamenalo vyššiu frekvenciu prepínania úloh a zníženie množstva času v plánovači úloh, ktorýa účinnosť by sa mohla v určitých scenároch zlepšiť. V súčasnosti sa 250 Hz považuje za rovnováhu medzi výkonom, latenciou a spotrebou energie.

Motivácia pre návrh

One,es z hlavných argumentov v prospech tejto zmeny je Optimalizácia výkonu na zariadeniach so 120 Hz displejmi, ktorý je čoraz bežnejší na počítačoch a mobilných zariadeniach. Pri súčasnom nastavení 250 Hz dosahuje nepresnosť kvantovania času približne polovicu času snímky, čo ovplyvňuje efektívnosť prideľovania zdrojov.

Okrem toho sa zistilo, že mechanizmus dynamického škálovania napätia a frekvencie (DVFS) má tendenciu prijať agresívne stratégie výberu frekvencie aby nedošlo k spomaleniu. To môže viesť k zbytočnej spotrebe energie, keď úloha už dokončila spracovanie, ale procesor naďalej beží na vyššej frekvencii, pretože jeho časové kvantum ešte neuplynulo.

Zvýšenie frekvencie prepínania úloh by umožnilo:

  • Vylepšená efektivita pri dynamickej správe frekvencií (DVFS).
  • Presnejšie prideľovanie časov plánovača úloh.
  • Zvýšená frekvencia aktualizácie štatistík zaťaženia procesora.
  • Znížená doba čakania na čakajúce úlohy.
  • Argumenty proti novele

Pre jeho časť, Ďalší inžinier Google vyjadril svoj nesúhlas so zmenou, argumentujúc tým Udržiavanie frekvencie časovača na 250 Hz je najvýhodnejšie pre zariadenia s nízkou spotrebou, ako sú dosky internetu vecí a mobilné zariadenia.

Podľa jeho hodnotenia Zvýšenie frekvencie na 1000 Hz môže spôsobiť zvýšenie spotreby energie. Napríklad na zariadeniach so systémom Android bol v určitých situáciách zaznamenaný nárast spotreby procesora až o 7 %.

Okrem toho, Vyššia frekvencia časovača by znamenala častejšiu reaktiváciu CPU. Pri 250 Hz sú časovače naplánované na t+1 ms, t+2 ms, t+3 ms a t+4 ms zoskupené do jedného budenia, zatiaľ čo pri 1000 Hz by došlo k štyrom individuálnym budeniam, čo by mohlo zvýšiť spotrebu energie.

Výsledky testov výkonnosti

O prípade portál Spoločnosť Phoronix vykonala sériu testov na PC s procesorom AMD Ryzen 9 9950X na vyhodnotenie vplyvu zmeny frekvencie. Výsledky boli zmiešané:

  • MLepší výkon s 1000 Hz v:
    Call.cpp
    nginx
    Super Tux Kart
    Selén
    Časy kompilácie jadra
  • Najlepší výkon pri 250 Hz na:
    Darktable
    PostgreSQL
    Nedobytný
    Xonotické
    Mixér
    SVT-AV1
    RawTherapee

Pokiaľ ide o spotreba energie, výsledky boli nasledujúci:

  • Nastavenie na 1000 Hz:
    Priemerná spotreba: 144,2W
    Minimálna spotreba: 0,18W
    Maximálna spotreba: 202,13 W
  • Nastavenie na 250 Hz:
    Priemerná spotreba: 144,37W
    Minimálna spotreba: 0,07W
    Maximálna spotreba: 202 W

Nakoniec stojí za zmienku, že zvýšenie frekvencie prerušenia časovača jadra na 1000 Hz ponúka výhody v určitých prípadoch použitia, najmä v aplikáciách, ktoré vyžadujú častejšie prepínanie úloh a na zariadeniach s displejmi s vysokou obnovovacou frekvenciou. Má však aj nevýhody, pokiaľ ide o spotrebu energie, najmä v zariadeniach s nízkou spotrebou energie a prostrediach, kde je energetická účinnosť prioritou.

Pre túto chvíľu, O návrhu sa stále rokuje v rámci komunity a jej prijatie bude závisieť od hlbšej analýzy dopadov v rôznych scenároch používania.