På et tidspunkt mange af os Vi turde lege med guvernørerne I vores system er dette gjort for at opnå nogle præstationsforbedringer eller til et bestemt formål, såsom arbejdsbelastning, applikationer, spil osv.
Denne type ændringer, De er normalt ikke inkluderet i generelle fordelinger Og det er forståeligt hvorfor, da dette udmønter sig i en stigning eller et fald (afhængigt af sagen) i vores teams ressourcer.
Jeg nævner dette, fordi for nylig en Google-ingeniør har foreslået ændring la standardindstillinger den Linux kerne timer, hvilket hæver dens afbrydelseshastighed fra 250 Hz til 1000 Hz.
Denne ændring ville indebære en højere frekvens i opgaveskift og en reduktion i mængden af tid i opgaveplanlæggeren, somog effektiviteten kunne forbedres i visse scenarier. I øjeblikket betragtes 250Hz som en balance mellem ydeevne, latenstid og strømforbrug.
Motivation for forslaget
A af de vigtigste argumenter for af denne ændring er Ydeevneoptimering på enheder med 120Hz-skærme, mere og mere almindelig på pc'er og mobile enheder. Ved den nuværende 250Hz-indstilling udgør unøjagtigheden af tidskvantiseringen omkring halvdelen af rammetiden, hvilket påvirker ressourceallokeringseffektiviteten.
Derudover er det blevet observeret, at den dynamiske spændings- og frekvensskaleringsmekanisme (DVFS) har tendens til at anvende aggressive frekvensudvælgelsesstrategier for at undgå opbremsninger. Dette kan resultere i unødvendigt strømforbrug, når en opgave allerede er færdigbehandlet, men processoren fortsætter med at køre med en højere frekvens, fordi dens tidskvante endnu ikke er udløbet.
Stigningen af hyppigheden af opgaveskift ville tillade:
- Forbedret effektivitet i dynamisk frekvensstyring (DVFS).
- Mere præcis tildeling af tidsplaner for opgaveplanlægning.
- Øget hyppighed af opdatering af CPU-belastningsstatistikker.
- Reduceret ventetid på udestående opgaver.
- Argumenter imod ændringsforslaget
For sin del, En anden Google-ingeniør udtrykte sin uenighed med ændringen og argumenterer for det At holde timerfrekvensen på 250 Hz er mest fordelagtigt for enheder med lavt strømforbrug, såsom IoT-kort og mobile enheder.
Efter hans vurdering, Forøgelse af frekvensen til 1000 Hz kan forårsage en stigning i strømforbruget. På Android-enheder er der for eksempel observeret en stigning på op til 7 % i processorforbruget i visse situationer.
Derudover En højere timerfrekvens ville indebære en hyppigere genaktivering af CPU'en. Ved 250 Hz er timere, der er planlagt til t+1 ms, t+2 ms, t+3 ms og t+4 ms, grupperet i en enkelt wake-up, mens der ved 1000 Hz ville være fire individuelle wake-ups, hvilket kunne øge strømforbruget.
Resultater af præstationstest
Om sagen, portalen Phoronix gennemførte en række tests på en pc med en AMD Ryzen 9 9950X CPU for at evaluere virkningen af frekvensændringen. Resultaterne var blandede:
- MBedre ydeevne med 1000 Hz i:
Lama.cpp
Nginx
Super Tux Kart
Selen
Kernel kompileringstider - Bedste ydeevne ved 250Hz på:
Darktable
PostgreSQL
unvanquished
Xonotisk
Blender
SVT-AV1
RawTherapee
Med hensyn til energiforbrug, var resultaterne følgende:
- Indstilling ved 1000 Hz:
Gennemsnitsforbrug: 144,2 W
Minimumsforbrug: 0,18 W
Maksimalt forbrug: 202,13 W - Indstilling ved 250 Hz:
Gennemsnitsforbrug: 144,37 W
Minimumsforbrug: 0,07 W
Maksimalt forbrug: 202 W
Endelig er det værd at nævne, at en forøgelse af kernetimerens afbrydelseshastighed til 1000 Hz giver fordele i visse tilfælde, især i applikationer, der kræver hyppigere opgaveskift og på enheder med høj opdateringshastighed. Det har dog også ulemper med hensyn til strømforbrug, især i enheder med lav effekt og miljøer, hvor energieffektivitet er en prioritet.
For øjeblikket Forslaget er stadig under debat inden for fællesskabet og dets vedtagelse vil afhænge af en dybere analyse af virkningerne i forskellige brugsscenarier.