Intel velocizza il kernel Linux del 3888%. Ma è davvero così?

Intel ha proposto una modifica sul kernel Linux per migliorare le prestazioni in scenari a elevata richiesta di memoria. L'intervento non ha un impatto universale, ma offre vantaggi significativi in contesti specifici.

Sta facendo discutere la notizia che vede Intel proporre una modifica sul kernel Linux, al fine di aumentarne significativamente le prestazioni. La società guidata da Pat Gelsinger utilizza un sistema chiamato Linux Kernel Test Robot che si occupa di monitorare e testare le modifiche sul kernel Linux. È uno strumento parte di un’iniziativa più ampia per garantire la stabilità e la qualità del kernel, in particolare in relazione alle patch e alle nuove funzionalità proposte dagli sviluppatori.

Una corretta gestione della memoria è cruciale per qualunque carico di lavoro e le ottimizzazioni a livello di codice, anche minime, possono portare a risultati inaspettati. Così, gli ingegneri di Intel sostengono che la modifica proposta, venuta a galla proprio usando il Linux Kernel Test Robot, ha permesso di migliorare le performance di un processore Xeon Platinum (Cooper Lake) del 3888,9%.

Davvero Intel ha velocizzato il kernel Linux di 40 volte?

Freniamo subito i facili entusiasmi. Le cose non stanno propriamente in questi termini. D’altra parte, è la stessa Intel a chiarirlo nel suo intervento.

I benefici prestazionali osservati nel test “will-it-scale.per_process_ops” sono applicabili principalmente in contesti che traggono vantaggio dall’ottimizzazione della gestione della memoria, in particolare in carichi di lavoro intensivi e scalabili su sistemi con molteplici processi concorrenti.

Si parla quindi di ambiti HPC (elaborazione ad alte prestazioni), elaborazione dei big data, applicazioni AI/ML, database ad alte prestazioni. Leggasi server di fascia alta e sistemi che sfruttano la parallelizzazione intensiva e la gestione massiva della memoria.

La patch Intel non ha quindi carattere universale ma ha il preciso obiettivo di eliminare precedenti correzioni, negativamente impattanti dal punto di vista prestazionale, e di fornire un notevole potenziamento in situazioni specifiche.

Allineamento ottimizzato delle Transparent Huge Pages (THP)

Le Transparent Huge Pages (THP) sono una tecnologia per la gestione della memoria che permette di utilizzare pagine di memoria di dimensioni maggiori rispetto a quelle standard, con l’obiettivo di migliorare le prestazioni del sistema. Normalmente, i sistemi operativi suddividono la memoria in pagine di piccole dimensioni (4 KB), ma in alcuni scenari, soprattutto con carichi di lavoro intensivi o applicazioni che richiedono molta memoria, l’uso di pagine più grandi, come le Huge Pages da 2 MB (PMD), può ridurre il carico sul processore e migliorare l’efficienza della cache.

Intel ha  scoperto che una modifica nella gestione delle THP a livello di kernel Linux poteva portare a un miglioramento delle prestazioni. Nella nuova implementazione, il kernel utilizza un criterio più specifico per allineare le anonymous memory mappings alla dimensione delle pagine PMD (2 MB per la maggior parte dei sistemi).

Gli anonymous memory mappings fanno riferimento a memoria non associata a un file o a una risorsa specifica: sono semplicemente blocchi di memoria temporaneamente utilizzati da processi e applicazioni.

Ti consigliamo anche

Link copiato negli appunti