Linux diventa davvero più reattivo aumentando la frequenza del timer nel kernel?

L'aumento della frequenza del timer del kernel Linux da 250 Hz a 1.000 Hz può migliorare la reattività del sistema e accelerare le operazioni di intelligenza artificiale. Quali sono le applicazioni che possono davvero beneficiare di questa modifica.

Di recente, un ingegnere Google, Qais Yousef, ha proposto di aumentare la frequenza del timer del kernel Linux dal valore attuale di 250 Hz a 1.000 Hz. Questo genere di cambiamento potrebbe comportare miglioramenti nelle prestazioni generali e nella risposta del sistema, con effetti particolarmente rilevanti nell’accelerazione dei Large Language Models (LLM) utilizzati nelle applicazioni di intelligenza artificiale.

Cos’è la frequenza del timer nel kernel Linux e quali sono gli impatti della modifica

Il kernel Linux è il cuore del sistema operativo, capace di gestire le risorse hardware e software. Uno degli aspetti fondamentali che ne influenzano il comportamento è la frequenza del timer. Questo parametro, noto come “default timer frequency“, definisce la frequenza con cui il kernel esegue operazioni di temporizzazione, come il controllo degli interrupt hardware e la gestione dei processi in esecuzione. Modificare questa frequenza può avere impatti significativi sulle prestazioni del sistema, sia in termini di efficienza che di consumo energetico.

Di default, il kernel Linux utilizza una “timer frequency” di 250 Hz, il che significa che il kernel genera un interrupt ogni 4 millisecondi. Tuttavia, alcune distribuzioni Linux, come quelle basate su Ubuntu (oltre allo stesso SteamOS), utilizzano già una frequenza di 1.000 Hz, generando un interrupt ogni millisecondo.

In generale, aumentando la frequenza, il kernel diventa più reattivo e in grado di gestire un numero maggiore di operazioni in un dato intervallo di tempo. Il rovescio della medaglia è che questa maggiore reattività può anche portare a un maggiore carico di lavoro per il processore, con possibili implicazioni sul consumo energetico.

Le modifiche sulla frequenza del timer possono essere fatte modificando il parametro CONFIG_HZ nel kernel.

Aumentare la frequenza del timer nel kernel porta davvero benefici concreti?

I primi test condotti a valle della proposta di Qais Yousef mettono in evidenza che l’aumento della frequenza a livello del kernel Linux porta davvero a un incremento dei token elaborati per secondo da parte dei vari LLM. Portando a 1.000 Hz la “timer frequency“, si assiste a un miglioramento prestazionale a doppia cifra.

Il balzo in avanti non riguarderebbe però soltanto le applicazioni di intelligenza artificiale generativa. Usando macchine “ben carrozzate”, ad esempio sistemi basati su AMD Ryzen 9 9950X (16 core, 32 thread), 32 GB di RAM e scheda grafica AMD Radeon RX 7900 XTX, come ha fatto Phoronix, il miglioramento prestazionale è netto anche lato server Web con Nginx che ha beneficiato del cambiamento, con un aumento delle richieste gestite al secondo. Elevare il parametro CONFIG_HZ nel kernel ha portato quindi a una migliore gestione delle connessioni simultanee sul server Web.

Di contro, altri test come quelli relativi al processamento delle immagini, la manipolazione di database SQL, il gaming, la navigazione Web, il rendering e le attività di compilazione del codice, hanno mostrato avanzamenti minimi o nulli. Con differenze che potrebbero rientrare nei margini di errore delle tradizionali metriche di benchmarking.

Ti consigliamo anche

Link copiato negli appunti