Il supporto per la tecnologia Intel Thread Director è un “campo di battaglia” sul quale Linux si è sempre fatto valere. L’obiettivo del “direttore d’orchestra” progettato da Intel e integrato nei suoi processori di generazione più recente è quello di ottimizzare la gestione delle attività di elaborazione sui sistemi con architetture core ibride. L’obiettivo principale di Thread Director è infatti quello di migliorare l’efficienza energetica e le prestazioni complessive del sistema, soprattutto con quei processori che sfruttano, all’interno del medesimo package, core E e core P (i primi a basso consumo energetico, i secondi orientati alle prestazioni).
Il supporto di Intel Thread Director su Linux
La gestione ibrida dei core integrati nelle moderne CPU Intel Core, con una combinazione di core P ed E, risulta ormai ben consolidata in ambiente Linux. Il supporto di Thread Director è stato integrato con vari miglioramenti applicati nel corso del tempo sul kernel Linux, al fine di gestire al meglio la distribuzione dei compiti e dei carichi di lavoro tra core P ed E.
La novità è che gli ingegneri software di Intel hanno prima proposto e poi ottenuto l’aggiunta a livello di kernel Linux di una serie di nuove patch per supportare la cosiddetta Thread Director Virtualization. L’obiettivo è quello di migliorare le prestazioni delle macchine virtuali che operano su piattaforme ibride Intel.
Il caso d’uso principale riguarda l’utilizzo di un sistema host Linux su hardware Intel Core che esegue una o più macchine virtuali guest con Microsoft Windows.
Con le patch Intel integrate nel kernel Linux, i processori Intel Core dalla (12esima alla 15esima generazione comprese) riescono a gestire perfettamente i workload su core P ed E, facendo peraltro registrare un aumento delle prestazioni del 14% rispetto alla configurazione precedente (prima dell’intervento a basso livello). A mettere in luce i risultati incoraggianti, il benchmark 3DMark eseguito su una macchina virtuale guest Windows.
I requisiti per rendere Windows 11 ancora più veloce su macchine virtuali create su host Linux
Spulciando la documentazione condivisa da Ricardo Neri (Intel) si apprende che per migliorare le performance di Windows 11 in una macchina virtuale creata su un sistema Linux, non è necessario abilitare soltanto Thread Director ma anche disporre di alcuni requisiti addizionali. Hardware P-state (HWP) e Collaborative Processor Performance Control (CPPC) sono meccanismi che gestiscono e ottimizzano le prestazioni del processore in base alle esigenze termiche del sistema. In sostanza, HWP e CPPC sono funzionalità di gestione termica che contribuiscono a mantenere la temperatura del processore entro limiti sicuri.
Neri afferma comunque che è possibile emulare (o simulare) questi supporti termici impostando un valore fittizio a livello di Virtual Machine Monitor (VMM), ovvero il componente software che gestisce le macchine virtuali su un sistema fisico. Questo espediente permette di esporre il comportamento di HWP e CPPC virtuali, anche in assenza di un supporto hardware reale.
L’accorgimento in questione è utile a garantire che, anche se il sistema fisico non dispone di certi supporti termici, la macchina virtuale possa comunque beneficiare dell’ottimizzazione dei carichi di lavoro basata su Thread Director.