Come faccio a sapere se dovrei disabilitare la NUMA virtuale sulle macchine virtuali che eseguono applicazioni precedenti?


9

Dai documenti di VMware:

La topologia NUMA virtuale è disponibile per le macchine virtuali versione hardware 8 ed è abilitata per impostazione predefinita quando il numero di CPU virtuali è maggiore di otto. È inoltre possibile influenzare manualmente la topologia NUMA virtuale utilizzando le opzioni di configurazione avanzate.

Supponiamo quindi di avere una VM a cui sono state assegnate 8 CPU, con il NUMA virtuale in esecuzione. Se avessi una vecchia applicazione non compatibile con NUMA in esecuzione sul server non funzionerebbe molto male o almeno non come farebbe in modalità non V-NUMA?

Suppongo che V-NUMA sia abilitato in questo modo perché se un fornitore di app consiglia 8 o più core, molto probabilmente il software sarà a conoscenza di NUMA. Oppure ci sono molte applicazioni con supporto multi-core integrato, ma non il supporto NUMA?

Come identificherei un collo di bottiglia causato da questo possibile problema?

Modifica: Hai pensato che ci sia una metrica in vCenter per monitorare le chiamate NUMA remote?


4
Ho eliminato la mia risposta proposta perché non credo sia quello che stai cercando. Se avessi ulteriori informazioni sulla configurazione del tuo host, potrei essere in grado di fornire ulteriore assistenza. La mia opinione personale è che in generale vNUMA non danneggia le app non numa ma non risponde solo a un'opinione. Esistono molte variabili che possono influire sulle prestazioni della VM e nei miei anni di lavoro con VMware non ho mai trovato vNUMA il colpevole di un problema di prestazioni.
Stewpudaso,

Risposte:


1

L'articolo: " NUMA Deep Dive Part 1: Da UMA a NUMA " raccomanda " Intel Memory Latency Checker v3.5 ", un articolo più breve " VMware vSphere - Perché controllare la configurazione NUMA è così importante! " (Da dove ho ottenuto quel link) spiega:

"L'aspetto principale è che l'accesso alla memoria della CPU è sempre il più veloce, quando la CPU può accedere alla sua memoria locale. I nodi NUMA sono coppie CPU / memoria. In genere, il socket CPU e i banchi di memoria più vicini hanno costruito un nodo NUMA. Ogni volta che una CPU deve accedere alla memoria di un altro nodo NUMA, non può accedervi direttamente ma è necessaria per accedervi attraverso la CPU proprietaria della memoria. "

Quindi configura correttamente NUMA, con memoria sufficiente per ogni CPU, prima di avviare VMM e allocare vNUMA.

In VMware è possibile utilizzare esxtop, digitare "m", "f" e "G" per abilitare le informazioni NUMA. Maggiori informazioni su esxtop qui: YellowBricks e gli antichi documenti di VMWare: " Interpretazione delle statistiche di esxtop ".

Una volta ottimizzato NUMA, è possibile verificare che l'allocazione di vNUMA non richieda memoria non locale utilizzando lo strumento Intel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.