Discussione sull'aumento della frequenza del timer nel kernel Linux a 1000Hz di default

Un ingegnere di Google ha proposto di elevare la frequenza di generazione delle interruzioni del timer nel kernel Linux a 1000Hz per default, il che porterebbe a un aumento della frequenza di switching tra i task e a una riduzione del quantum di tempo nel pianificatore di attività. Attualmente si utilizza 250Hz come compromesso tra prestazioni, latenza e consumo energetico.

Con l'uso di display a 120Hz, tipici dei PC e dei dispositivi mobili moderni, una frequenza del timer di 250Hz porta a un'errore di quantizzazione del tempo paragonabile a metà del tempo del frame, riducendo l'efficienza nella distribuzione delle risorse e impedendo di ottenere un rapporto ottimale tra prestazioni e consumo energetico. Il consumo energetico nei sistemi a bassa frequenza del timer può risultare più alto, poiché il meccanismo DVFS (Dynamic Voltage and Frequency Scaling) adotta una strategia di scelta della frequenza più aggressiva per evitare di rallentare l'esecuzione dei task.

Si verifichano situazioni in cui un task ha già completato le operazioni desiderate, richiedendo calcoli attivi, ma il processore continua a operare a una frequenza più alta a causa dell'eterna dimensione del quantum di tempo che non è ancora scaduto. Aumentare la frequenza di switching dei task potrebbe portare a una diminuzione del consumo energetico grazie a una gestione più efficiente della frequenza dinamica (DVFS), una distribuzione più precisa degli intervalli da parte del pianificatore di attività, un aggiornamento più frequente delle statistiche di utilizzo della CPU e una riduzione del tempo in cui i task rimangono in attesa.

Un altro ingegnere di Google ha suggerito di mantenere la frequenza del timer a 250Hz, poiché un incremento nella frequenza di generazione delle interruzioni del timer potrebbe comportare un aumento del consumo energetico su dispositivi a bassa potenza, come le schede per Internet delle Cose. Secondo le sue stime, impostando la frequenza a 1000Hz anche su dispositivi Android, è stato registrato un incremento del consumo della CPU del 7% in alcune situazioni. Con l'aumento della frequenza del timer, si osserva anche un risveglio più frequente della CPU, dato che a 250Hz i timer impostati su intervalli t + 1 ms, t + 2 ms, t + 3 ms e t + 4 ms sarebbero raggruppati, producendo un'unica attivazione; mentre a 1000Hz si verificherebbero quattro risvegli separati.

Il sito Phoronix ha condotto un confronto sulle prestazioni dei PC basati su CPU AMD Ryzen 9 9950X. La configurazione a 1000Hz ha mostrato migliori prestazioni nei test di Llama.cpp, nginx, SuperTuxKart, Selenium e nella misurazione del tempo di compilazione del kernel. Nei test di Darktable, PostgreSQL, Unvanquished, Xonotic, Blender, SVT-AV1, RawTherapee, le prestazioni sono risultate superiori con un'installazione a 250Hz. A 1000Hz, il consumo energetico medio era di 144,2 W, il minimo di 0,18 W, e il massimo di 202,13 W; a 250Hz, il consumo medio era di 144,37 W, il minimo di 0,07 W, e il massimo di 202 W.

Discussione sull'aumento della frequenza del timer nel kernel Linux a 1000Hz di default


Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster