Zvýšení frekvence linuxového časovače přinese výhody výkonu a optimalizace

V určitém okamžiku mnozí z nás Odvážili jsme se hrát s guvernéry V našem systému se tak děje za účelem získání určitých vylepšení výkonu nebo pro určitý konkrétní účel, jako je pracovní zatížení, aplikace, hry atd.

Tento typ úprav, Obvykle nejsou součástí obecných distribucí A je pochopitelné proč, protože se to promítá do zvýšení nebo snížení (v závislosti na případu) zdrojů našeho týmu.

Uvádím to, protože nedávno a Inženýr společnosti Google navrhl úpravu la výchozí nastavení del Časovač linuxového jádra, čímž se zvýší jeho frekvence přerušení z 250 Hz na 1000 Hz.

Tato změna by znamenalo vyšší frekvenci přepínání úkolů a snížení množství času v plánovači úloh, kterýa účinnost by se mohla v určitých scénářích zlepšit. V současné době je 250 Hz považováno za rovnováhu mezi výkonem, latencí a spotřebou energie.

Motivace pro návrh

Uno z hlavních argumentů ve prospěch této změny je Optimalizace výkonu na zařízeních s 120Hz displeji, stále častější na počítačích a mobilních zařízeních. Při současném nastavení 250 Hz dosahuje nepřesnost kvantování času přibližně polovinu doby snímku, což má dopad na efektivitu alokace zdrojů.

Kromě toho bylo pozorováno, že mechanismus dynamického škálování napětí a frekvence (DVFS) má tendenci přijímat agresivní strategie výběru frekvence aby nedošlo ke zpomalení. To může mít za následek zbytečnou spotřebu energie, když úloha již dokončila zpracování, ale procesor nadále běží na vyšší frekvenci, protože jeho časové kvantum ještě nevypršelo.

Zvýšení frekvence přepínání úkolů by umožnilo:

  • Vylepšená efektivita dynamické správy frekvencí (DVFS).
  • Přesnější přidělování časů plánovače úloh.
  • Zvýšená frekvence aktualizace statistik zatížení CPU.
  • Snížená doba čekání na čekající úkoly.
  • Argumenty proti novele

Pro jeho část, Další inženýr Google vyjádřil svůj nesouhlas se změnou, argumentovat tím Udržování frekvence časovače na 250 Hz je nejvýhodnější pro zařízení s nízkou spotřebou, jako jsou desky IoT a mobilní zařízení.

Podle jeho hodnocení Zvýšení frekvence na 1000 Hz by mohlo způsobit zvýšení spotřeby energie. Například na zařízeních Android byl v určitých situacích pozorován nárůst spotřeby procesoru až o 7 %.

Navíc, Vyšší frekvence časovače by znamenala častější reaktivaci CPU. Při 250 Hz jsou časovače naplánované na t+1 ms, t+2 ms, t+3 ms a t+4 ms seskupeny do jediného buzení, zatímco při 1000 Hz by došlo ke čtyřem individuálním buzení, což by mohlo zvýšit spotřebu energie.

Výsledky testů výkonu

O případu portál Společnost Phoronix provedla řadu testů na PC s procesorem AMD Ryzen 9 9950X, abyste vyhodnotili dopad změny frekvence. Výsledky byly smíšené:

  • MLepší výkon s 1000 Hz v:
    Lama.cpp
    Nginx
    Super Tux Kart
    Selen
    Časy kompilace jádra
  • Nejlepší výkon při 250 Hz na:
    Darktable
    PostgreSQL
    Neposkvrněné
    Xonotický
    Mixér
    SVT-AV1
    RawTherapee

Týkající se spotřeba energie, výsledky byly následující:

  • Nastavení na 1000 Hz:
    Průměrná spotřeba: 144,2W
    Minimální spotřeba: 0,18W
    Maximální spotřeba: 202,13 W
  • Nastavení na 250 Hz:
    Průměrná spotřeba: 144,37W
    Minimální spotřeba: 0,07W
    Maximální spotřeba: 202 W

Nakonec stojí za zmínku, že zvýšení frekvence přerušení časovače jádra na 1000 Hz nabízí výhody v určitých případech použití, zejména v aplikacích, které vyžadují častější přepínání úloh a na zařízeních s displejem s vysokou obnovovací frekvencí. Má však také nevýhody, pokud jde o spotřebu energie, zejména v zařízeních s nízkou spotřebou a v prostředích, kde je energetická účinnost prioritou.

Pro tuto chvíli, Návrh je stále v jednání v rámci komunity a její přijetí bude záviset na hlubší analýze dopadů v různých scénářích použití.