U nekom trenutku mnogi od nas Usudili smo se igrati sa guvernerima U našem sistemu to se radi kako bi se postigla neka poboljšanja performansi ili za neke posebne svrhe, kao što su radno opterećenje, aplikacije, igre itd.
Ova vrsta modifikacija, Obično nisu uključeni u opšte distribucije I razumljivo je zašto, budući da to znači povećanje ili smanjenje (u zavisnosti od slučaja) resursa našeg tima.
Ovo spominjem, jer nedavno a Google inženjer je predložio izmjenu la zadana postavka del Linux kernel tajmer, podižući stopu prekida sa 250 Hz na 1000 Hz.
Ova promjena bi impliciralo veću frekvenciju u prebacivanju zadataka i smanjenje količine vremena u rasporedu zadataka, štoa efikasnost bi se mogla poboljšati u određenim scenarijima. Trenutno se 250Hz smatra ravnotežom između performansi, kašnjenja i potrošnje energije.
Motivacija za prijedlog
Uno od glavnih argumenata u prilog ove promjene je Optimizacija performansi na uređajima sa 120Hz displejima, sve češće na računarima i mobilnim uređajima. Na trenutnoj postavci od 250Hz, nepreciznost vremenske kvantizacije iznosi oko polovinu vremena kadra, što utiče na efikasnost alokacije resursa.
Osim toga, uočeno je da mehanizam dinamičkog skaliranja napona i frekvencije (DVFS) ima tendenciju da usvoji agresivne strategije odabira frekvencija kako bi se izbjegla usporavanja. Ovo može rezultirati nepotrebnom potrošnjom energije kada je zadatak već završio obradu, ali procesor nastavlja raditi na višoj frekvenciji jer njegov vremenski kvant još nije istekao.
Povećanje učestalosti prebacivanja zadataka bi dozvolio:
- Poboljšana efikasnost u upravljanju dinamičkim frekvencijama (DVFS).
- Preciznija alokacija vremena planera zadataka.
- Povećana učestalost ažuriranja statistike opterećenja procesora.
- Smanjeno vrijeme čekanja na zadatke na čekanju.
- Argumenti protiv amandmana
Sa druge strane, Još jedan Google inženjer je izrazio svoje neslaganje sa promjenom, tvrdeći to Održavanje frekvencije tajmera na 250 Hz je najkorisnije za uređaje male snage, kao što su IoT ploče i mobilni uređaji.
Prema njegovoj oceni, Povećanje frekvencije na 1000 Hz može uzrokovati povećanje potrošnje energije. Na Android uređajima, na primjer, u određenim situacijama je uočeno povećanje potrošnje procesora do 7%.
Takođe, Veća frekvencija tajmera bi implicirala češće reaktiviranje CPU-a. Na 250 Hz, tajmeri planirani na t+1 ms, t+2 ms, t+3 ms i t+4 ms grupišu se u jedno buđenje, dok bi na 1000 Hz postojala četiri pojedinačna buđenja, što bi moglo povećati potrošnju energije.
Rezultati testova performansi
O slučaju, portal Phoronix je sproveo niz testova na računaru sa AMD Ryzen 9 9950X CPU-om da proceni uticaj promene frekvencije. Rezultati su bili mješoviti:
- MBolje performanse sa 1000 Hz u:
Call.cpp
nginx
Super Tux Kart
selen
Vremena kompilacije kernela - Najbolje performanse na 250Hz na:
Darktable
PostgreSQL
Unququished
Xonotic
miješalica
SVT-AV1
RawTherapee
Što se tiče potrošnja energije, rezultati su bili sljedeće:
- Podešavanje na 1000 Hz:
Prosječna potrošnja: 144,2 W
Minimalna potrošnja: 0,18 W
Maksimalna potrošnja: 202,13 W - Podešavanje na 250 Hz:
Prosječna potrošnja: 144,37 W
Minimalna potrošnja: 0,07 W
Maksimalna potrošnja: 202 W
Na kraju, vrijedno je spomenuti da povećanje stope prekida kernel timera na 1000 Hz nudi prednosti u određenim slučajevima upotrebe, posebno u aplikacijama koje zahtijevaju češće prebacivanje zadataka i na uređajima s visokom brzinom osvježavanja displeja. Međutim, ima i nedostatke u pogledu potrošnje energije, posebno u uređajima male snage i okruženjima gdje je energetska efikasnost prioritet.
Za trenutak, Prijedlog je još uvijek u raspravi unutar zajednice i njegovo usvajanje će zavisiti od dublje analize uticaja u različitim scenarijima upotrebe.