Ad un certo punto molti di noi Abbiamo osato giocare con i governatori Nel nostro sistema, ciò viene fatto per ottenere alcuni miglioramenti delle prestazioni o per uno scopo particolare, come carico di lavoro, applicazioni, giochi, ecc.
Questo tipo di modifiche, Di solito non sono inclusi nelle distribuzioni generali Ed è comprensibile il perché, poiché ciò si traduce in un aumento o una diminuzione (a seconda dei casi) delle risorse del nostro team.
Lo dico perché di recente un L'ingegnere di Google ha proposto di modificare la impostazioni predefinite del Timer del kernel Linux, aumentando la frequenza di interruzione da 250 Hz a 1000 Hz.
Questo cambiamento implicherebbe una frequenza maggiore nel cambio di attività e una riduzione del quanto di tempo nel task scheduler, chee l'efficienza potrebbe essere migliorata in determinati scenari. Attualmente, 250 Hz è considerato un equilibrio tra prestazioni, latenza e consumo energetico.
Motivazione della proposta
Uno degli argomenti principali a favore di questo cambiamento è il Ottimizzazione delle prestazioni sui dispositivi con display a 120 Hz, sempre più comune su PC e dispositivi mobili. Con l'impostazione attuale di 250 Hz, l'imprecisione della quantizzazione temporale ammonta a circa la metà del tempo del frame, il che influisce sull'efficienza dell'allocazione delle risorse.
Inoltre, è stato osservato che il meccanismo di ridimensionamento dinamico della tensione e della frequenza (DVFS) tende ad adottare strategie aggressive di selezione della frequenza per evitare rallentamenti. Ciò può comportare un consumo energetico non necessario quando un'attività ha già terminato l'elaborazione, ma il processore continua a funzionare a una frequenza più elevata perché il suo quanto di tempo non è ancora scaduto.
L'aumento della frequenza di cambio attività consentirebbe:
- Maggiore efficienza nella gestione dinamica della frequenza (DVFS).
- Assegnazione più precisa dei tempi del task scheduler.
- Aumento della frequenza di aggiornamento delle statistiche sul carico della CPU.
- Tempi di attesa ridotti per le attività in sospeso.
- Argomentazioni contro l'emendamento
D'altro canto, Un altro ingegnere di Google ha espresso il suo disaccordo con il cambiamento, sostenendo che Mantenere la frequenza del timer a 250 Hz è più vantaggioso per i dispositivi a bassa potenza, come schede IoT e dispositivi mobili.
Secondo la sua valutazione, Aumentando la frequenza a 1000 Hz si potrebbe verificare un aumento del consumo energetico. Ad esempio, sui dispositivi Android è stato osservato in determinate situazioni un aumento fino al 7% del consumo del processore.
Inoltre, Una frequenza del timer più elevata implicherebbe una riattivazione più frequente della CPU. A 250 Hz, i timer programmati a t+1 ms, t+2 ms, t+3 ms e t+4 ms vengono raggruppati in un'unica riattivazione, mentre a 1000 Hz ci sarebbero quattro riattivazioni individuali, il che potrebbe aumentare il consumo di energia.
Risultati dei test delle prestazioni
A proposito del caso, il portale Phoronix ha condotto una serie di test su un PC con CPU AMD Ryzen 9 9950X per valutare l'impatto della variazione di frequenza. I risultati sono stati contrastanti:
- MPrestazioni migliori con 1000 Hz in:
Lama.cpp
nginx
SuperTuxKart
Selenio
Tempi di compilazione del kernel - Prestazioni migliori a 250 Hz su:
Darktable
PostgreSQL
Non vinto
Xonotico
Frullatore
SVT-AV1
RawTherapee
Da consumo energetico, i risultati sono stati il seguente:
- Impostazione a 1000 Hz:
Consumo medio: 144,2 W
Consumo minimo: 0,18 W
Consumo massimo: 202,13 W - Impostazione a 250 Hz:
Consumo medio: 144,37 W
Consumo minimo: 0,07 W
Consumo massimo: 202 W
Infine, vale la pena ricordare che l'aumento della frequenza di interruzione del timer del kernel a 1000 Hz offre vantaggi in determinati casi d'uso, in particolare nelle applicazioni che richiedono cambi di attività più frequenti e sui dispositivi con display ad alta frequenza di aggiornamento. Presenta però anche degli svantaggi in termini di consumo energetico, in particolare nei dispositivi a basso consumo e negli ambienti in cui l'efficienza energetica è una priorità .
Per il momento, La proposta è ancora in fase di dibattito all'interno della comunità e la sua adozione dipenderà da un'analisi più approfondita degli impatti nei diversi scenari di utilizzo.