Commenti AMD sui problemi di pianificazione di Threadripper 2990WX

Funzione Threadripper di seconda generazione

Da quando AMD ha lanciato il suo Threadripper 2990WX, ci sono state domande su quanto efficacemente potesse scalare nei carichi di lavoro multi-thread. Inizialmente, i cali di prestazioni e i rallentamenti in alcuni carichi di lavoro sono stati attribuiti alla configurazione del controller di memoria asimmetrica: solo alcuni die Threadripper hanno accesso diretto ai controller di memoria, mentre altri si connettono solo indirettamente. Ciò sembrava causare una significativa perdita di prestazioni in alcuni benchmark.

Ma sono emerse rapidamente informazioni che suggerivano che il problema non riguardava l'hardware. Sotto Linux, il 2990WX ha mantenuto alti livelli di prestazioni, anche quando si è abbassato nella stessa configurazione in Windows. Chiaramente, c'era dell'altro nella storia. Anandtech, che ha collaborato con Wendell di Level1Tech's, ha pubblicato il proprio aggiornamento sulla situazione.

2990WX-Memory-Access



Sembra che Windows sia progettato per mantenere un'impostazione 'Miglior nodo NUMA' e tenta di eseguire i thread su quei core. Lo scheduler tenta di spostare i nodi in queste posizioni il più spesso possibile, ma eliminerà i thread precedenti che avrebbero dovuto essere assegnati a questo cluster principale.

Ciò crea un'enorme contesa di base poiché diversi thread si muovono per la posizione e il sistema operativo tenta senza pensare di inserire tutto nello stesso nodo sovrautilizzato. Un'applicazione completamente multi-thread potrebbe impiegare fino al 50% del suo tempo a mescolare i dati all'infinito (il che, a quanto pare, è esattamente ciò che accade). Il punto di questo sistema era originariamente per le VM, in modo che ciascuna VM avesse il proprio runtime e fosse assegnata al nodo NUMA 'migliore', indipendentemente da dove si trovava. Ad un certo punto, Microsoft si rese conto che questo eterno conflitto di base è un grosso problema e creò una patch che avrebbe disabilitato il problema del 'miglior nodo NUMA' su qualsiasi sistema NUMA a due nodi. Questo è il motivo per cui Threadripper 1950X e 2950X non sono interessati.

coreprio_ui

I sistemi con tre o più nodi, tuttavia, siamo è ancora influenzato, motivo per cui vediamo che il problema ha colpito sia Epyc 7551 che Threadripper 2990WX. Il motivo per cui CorePrio NUMA Disassociator funziona è che analizza il software attivo ogni pochi secondi e regola l'affinità del thread mentre l'applicazione è in esecuzione. Pensala come un'operazione di ordinamento manuale eseguita periodicamente per garantire che lo scheduler integrato del sistema operativo funzioni in modo appropriato.

Secondo AMD, ha i ticket aperti con Microsoft e sta esplorando metodi per risolvere questo problema il più rapidamente possibile. La comprensione di Wendell del problema è presumibilmente 'molto vicina' a ciò che sta realmente accadendo, ma non sono stati forniti dettagli sulle differenze. Si dice che Microsoft stia ora lavorando a una correzione, anche se la tempistica per l'inclusione non è chiara. Il prossimo punto logico di inclusione per l'aggiornamento sarebbe Redstone 6, noto anche come il prossimo aggiornamento di Windows che uscirà nella prima metà del 2019.

Ci sono state molte speculazioni da parte degli utenti su di chi sia questa 'colpa'. In una certa misura, la domanda è mal strutturata. AMD può informare Microsoft di un problema con la pianificazione in qualsiasi momento, ma questo non significa automaticamente che Microsoft contrassegni il problema per la risoluzione, in particolare nel contesto di una CPU appena lanciata ai vertici del mercato con una base di utenti trascurabile.

Sappiamo che AMD ha ora una linea di comunicazione aperta a Microsoft e possiamo fare alcune ipotesi su quando le soluzioni potrebbero arrivare sul mercato. Certamente non farà male a nulla che le CPU Intel Cascade Lake Advanced Performance, con un massimo di 48 core e un design chiplet, arriveranno sul mercato quest'anno. Dal punto di vista di Microsoft, potrebbe aver avuto più senso aspettare e introdurre tutte le modifiche necessarie per supportare una gamma di nuove configurazioni NUMA, tra cui Threadripper 2990WX, allo stesso tempo, debuttando così con un supporto più forte per Epyc 7nm, 32 core e sopra CPU Threadripper, AP Cascade Lake e futuri prodotti Intel nello stesso aggiornamento.

Gli utenti con un 2990WX dovrebbero scaricare la versione modificata di CorePrioper migliorare le prestazioni: dovremo aspettare e vedere cosa introduce la versione formale del supporto dello scheduler per vedere se può migliorare le prestazioni oltre l'applicazione.

Copyright © Tutti I Diritti Riservati | 2007es.com