Con l'introduzione di Zen2 si è reso necessario il rilascio, da parte di Microsoft e AMD, nella versione 1903 di Windows 10, di un nuovo scheduler software per gestire i thread delle novelle CPU Ryzen 3000. Già con l'introduzione della prima iterazione di Zen, in particolare con le CPU ThreadRipper, si è potuto constatare come il design Chiplet ed Infinity Fabric mal si abbinassero ad uno scheduler nato per le CPU Intel. Infatti, al rilascio di ThreadRipper 2, Microsoft rese disponibile una patch ad hoc.

Oggi, fortunatamente, Microsoft e AMD si sono mosse per tempo, e la Versione 1903 è già in grado di sfruttare la funzionalità chiamata "Thread Grouping", integrata in Zen2 e nata per sostituire quella integrata in Zen/Zen+, chiamata "Hybrid Thread Expansion". Di queste funzionalità avevamo parlato nella nostra introduzione a Zen2, ma considerato che nei forum c'è ancora una certa confusione a riguardo, abbiamo deciso di spiegarla in maniera più esaustiva.

 

 

La funzionalità per la gestione dei thread integrata nelle CPU Zen/Zen+, "Hybrid Thread Expansion", cercava di distribuire in maniera omogenea i thread tra i vari CCD (Core Chiplet Die), così da limitare l'aumento eccessivo del calore dei Die. Vi era però un rovescio della medaglia, come per ogni cosa: la gestione dei thread risultava difficoltosa per lo scheduler del S.O., e provocava un eccessivo scambio di dati tra i vari CCD, con conseguente aumento delle latenze.

 

 

La funzionalità per la gestione dei thread integrata in Zen2, chiamata "Thread Grouping", segue una filosofia completamente opposta. I thread vengono assegnati prima al CCD più performante (I CCD delle CPU Ryzen 9 3900X e 3950X sono binnati in maniera diversa) a scalare, così da occcupare ogni singolo core. Qualora i thread superassero quelli gestibili dal primo CCD, verrebbero allora occupati anche i core del secondo CCD.

Questo permette di avere latenze bassissime, favorendo inoltre una più semplice gestione dei thread da parte dello scheduler del Sistema Operativo. Il lato negativo di questa implementazione? Un CCD potrebbe venire spremuto fino all'osso, mentre l'altro potrebbe essere in uno stato di Idling. In altre parole, il calore si concentrerebbe in un singolo, limitato punto dell'IHS (Quello dove ha sede il CCD utilizzato). Per questo motivo è meglio stendere con oculatezza la pasta termica tra IHS e dissipatore!