Discussione sull'aumento della frequenza del timer nel kernel Linux a 1000Hz per impostazione predefinita

Un ingegnere di Google ha proposto di aumentare la frequenza di generazione delle interruzioni del timer nel kernel Linux a 1000Hz di default, il che comporterebbe un incremento nella frequenza di switching delle attività e una riduzione del quantum di tempo nello scheduler. Attualmente, viene utilizzata per default una frequenza di 250Hz, come qualche compromesso tra prestazioni, latenza e consumo energetico.

Con l'uso di display con frequenza di aggiornamento di 120Hz, tipici dei moderni PC e dispositivi mobili, a una frequenza del timer di 250Hz l'accuratezza del quantum di tempo è di circa metà del tempo del fotogramma, il che riduce l'efficienza della distribuzione delle risorse e non consente di ottenere un ottimale rapporto tra prestazioni e consumo energetico. Il consumo energetico dei sistemi a bassa frequenza di timer potrebbe risultare maggiore, poiché il meccanismo DVFS (Dynamic Voltage and Frequency Scaling) applica una strategia di scelta della frequenza più aggressiva per evitare ritardi nell'esecuzione delle attività.

Si verificano situazioni in cui un'attività ha già eseguito le operazioni desiderate che richiedevano calcoli attivi, ma il processore continua a lavorare a una frequenza elevata a causa della finitezza del quantum di tempo che non è ancora concluso. L'aumento della frequenza di switching delle attività potrebbe portare a una diminuzione del consumo energetico grazie a una maggiore efficienza nella gestione dinamica della frequenza (DVFS), una distribuzione più precisa degli intervalli da parte dello scheduler, un aggiornamento più frequente delle statistiche di carico della CPU e una riduzione del tempo trascorso dalle attività in attesa.

Un altro ingegnere di Google ha suggerito di mantenere la frequenza del timer così com'è (250Hz), poiché l'aumento della frequenza di generazione delle interruzioni del timer potrebbe portare a un aumento del consumo energetico su dispositivi a basso consumo, come le schede per Internet delle cose. Secondo la sua stima, impostando la frequenza a 1000Hz anche sui dispositivi Android è stata registrata in alcune situazioni un aumento del consumo energetico della CPU del 7%. Con un incremento della frequenza del timer si osserva anche un risveglio più frequente della CPU, poiché a una frequenza di 250Hz i timer impostati su intervalli t + 1 ms, t + 2 ms, t + 3 ms e t + 4 ms verranno raggruppati e porteranno a un solo risveglio, mentre nel caso di 1000Hz ci saranno quattro risvegli distinti.

La risorsa Phoronix ha condotto un confronto delle prestazioni dei PC basati su CPU AMD Ryzen 9 9950X. La configurazione a 1000Hz si è rivelata più veloce 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 erano superiori con l'impostazione a 250Hz. A 1000Hz, il consumo medio di energia era di 144.2 W, il minimo di 0.18 W e il massimo di 202.13 W; con 250Hz: medio 144.37 W, minimo 0.07 W, massimo 202 W.

Discussione sull'aumento della frequenza del timer nel kernel Linux a 1000Hz per impostazione predefinita


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