Intel ha presentato i suoi nuovi processori di dodicesima generazione altrimenti noti con il nome in codice di Alder Lake.
La principale novità, come abbiamo visto nell’articolo dedicato all’attuale modello di punta ovvero il Core i9-12900K, consiste nell’architettura ibrida: un cluster di core a elevate prestazioni è abbinato a un cluster di core che puntano sulla riduzione dei consumi energetici.
L’architettura ibrida per la piattaforma x86 non è una novità in casa Intel: la società di Santa Clara aveva sviluppato i processori Lakefield che avrebbero dovuto costituire il cuore pulsante dei dispositivi basati sul sistema operativo Windows 10X, mandato in pensione da Microsoft anzi tempo insieme con Surface Neo, dispositivo a doppio schermo.
Il debutto in grande stile è avvenuto però proprio con i nuovi processori Alder Lake: la sfida sta nell’assicurare che i carichi di lavoro siano di volta in volta gestiti con i core corretti. È facile immaginare che avere un core che eccelle nei workload ad alte prestazioni non è di grande aiuto se essi vengono prevalentemente dirottati sui core a basso consumo energetici e se i sistemi per la gestione dei thread basati su regole statiche causano continue inefficienze e introducono overhead lato software.
Cos’è e come funziona Thread Director
Con il lancio dei suoi nuovi Alder Lake, Intel ha presentato Thread Director, una tecnologia implementata in hardware che fornisce dati telemetrici al sistema operativo per assicurare che i thread siano indirizzati sui core P più performanti o sui core E a basso consumo energetico in modo intelligente.
Microsoft ha confermato che le prestazioni di Windows 11 miglioreranno nel 2022 anche grazie a Thread Director, tecnologia che tra l’altro è trasparente anche nei confronti del software in esecuzione sulla macchina.
Thread Director informa il sistema operativo sullo stato di ciascun core (in un altro articolo abbiamo visto cosa sono i core di un processore) condividendo anche i dati di potenza, quelli termici, valori di tensioni e clock; può inoltre rivelare il mix di istruzioni scalari/vettoriali utilizzato in ogni thread con una periodicità dell’ordine dei nanosecondi. In questo modo il sistema operativo può decidere come distribuire i carichi di lavoro.
In particolare è lo scheduler di Windows 11 che provvede a indirizzare i thread adattando la configurazione in tempo reale sulla base dei dati telemetrici che giungono da Thread Director.
In precedenza il sistema operativo non aveva accesso ai tipi di dati citati e si basava unicamente su informazioni generiche, ad esempio se un processo fosse legato a un’applicazione caricata in primo piano o in background.
Grazie a Thread Director sistema operativo e processore lavorano in simbiosi assicurando uno scheduling dei thread altamente ottimizzato.
Gli stessi sviluppatori possono dialogare con Thread Director assegnando un attributo QoS (Quality of Service) ai thread usati dalle loro applicazioni. La nuova classificazione EcoQoS consente di “marcare” i thread che sono particolarmente adatti per l’esecuzione sui core E.
Microsoft riferisce che il browser Edge e diversi componenti di Windows 11 possono sin da ora trarre vantaggio da EcoQoS.
Ovviamente gli Alder Lake sono perfettamente compatibili con Windows 10 ma le capacità di scheduling avanzato dei thread figlie del supporto per Thread Director sono disponibili solamente con Windows 11.
Thread Director sbarca su Linux
Con una serie di interventi applicati a livello di sistema operativo, Intel e Microsoft hanno collaborato affinché Thread Director funzionasse correttamente in Windows 11.
La novità è che con il kernel 5.18 anche Linux potrà abbracciare Thread Director. Finora Linux installato su sistemi Alder Lake utilizzava prevalentemente i core P verificando la frequenza turbo massima ottenibile.
Un approccio che ha portato a una sottoutilizzazione dei core E e quindi a un consumo energetico complessivo più elevato.
La pubblicazione del kernel Linux release 5.18 è prevista per la prossima primavera: per allora il pinguino dovrebbe quindi accedere all’interfaccia Enhanced Hardware Feedback Interface (HFI) che appunto permette al sistema operativo di allocare correttamente i thread sui core Golden Cove ad alte prestazioni e Gracemont ad alta efficienza energetica.