Distribuzione di NUMA virtuale per VMM

 

Si applica a: System Center 2012 SP1 - Virtual Machine Manager, System Center 2012 R2 Virtual Machine Manager

A partire da System Center 2012 Service Pack 1 (SP1) è possibile usare Virtual Machine Manager (VMM) per configurare, distribuire e gestire le funzionalità virtuali NUMA (Non-Uniform Memory Access, accesso non uniforme alla memoria) introdotte in Hyper-V in Windows Server 2012.

NUMA è un'architettura di memoria usata nei sistemi multiprocessore dove i tempi di accesso dipendono dalla posizione della memoria rispetto al processore. Nei sistemi NUMA, un processore può accedere più rapidamente alla propria memoria locale, vale a dire alla memoria collegata direttamente al processore, e più lentamente alle memorie collegate ad altri processori. Per tentare di compensare il divario che esiste tra la velocità dei processori e la memoria che usano, nell'architettura NUMA è prevista una memoria separata per ogni processore. In questo modo si elimina il degrado delle prestazioni che si verifica quando diversi processori tentano di accedere alla stessa memoria. Ogni blocco di memoria dedicata è denominato nodo NUMA.

Funzionalità NUMA in Hyper-V in Windows Server 2012 o versioni successive

A partire da Windows Server 2012, Hyper-V supporta l'esecuzione in un sistema host con un massimo di 320 processori logici. Il numero di processori virtuali che può essere configurato in una macchina virtuale dipende dal numero di processori effettivamente presenti nei computer fisici. Ad esempio, per configurare i 64 processori virtuali consentiti in una macchina virtuale, sarà necessario eseguire Hyper-V su un host di virtualizzazione con almeno 64 processori logici. A partire da Windows Server 2012, Hyper-V supporta questo livello di scalabilità mediante NUMA virtuale, un ambiente di tipo NUMA per le macchine virtuali. I processori virtuali e la memoria guest sono raggruppati in nodi NUMA virtuali affinché la macchina virtuale possa presentare al sistema operativo guest una topologia basata sulla topologia fisica sottostante.

Per impostazione predefinita, quando viene creata una macchina virtuale Hyper-V esamina la topologia fisica sottostante e configura automaticamente la topologia virtuale NUMA con le impostazioni ottimali in base a diversi fattori, che includono il numero di processori logici e la quantità di memoria per nodo NUMA.

NUMA virtuale consente di distribuire carichi di lavoro critici di dimensioni maggiori senza causare un degrado significativo delle prestazioni nell'ambiente virtualizzato, contrariamente a quanto si osserva quando l'esecuzione avviene in computer non virtualizzati con hardware NUMA. Per impostazione predefinita, quando si crea una nuova macchina virtuale in Hyper-V, i parametri del sistema operativo guest vengono sincronizzati con la topologia NUMA host Hyper-V. Ad esempio, se un host presenta 16 core e 64 GB di memoria suddivisi equamente tra due nodi NUMA con due nodi NUMA per ogni socket di processore, la macchina virtuale creata nell'host con 16 processori virtuali avrà otto come numero massimo di processori per nodo, due come numero massimo di nodi per socket e 32 GB come quantità massima di memoria per nodo.

Inoltre, la funzione Spanning NUMA può essere attivata o disattivata. Quando la funzione Spanning NUMA è attivata, singoli nodi NUMA virtuali possono allocare memoria non locale per permettere all'amministratore di distribuire una macchina virtuale configurata con un numero di processori virtuali per nodo NUMA virtuale superiore al numero di processori effettivamente disponibili nel nodo hardware NUMA sottostante nell'host Hyper-V. L'utilizzo di Spanning NUMA su macchine virtuali, tuttavia, influisce sulle prestazioni perché le macchine virtuali accedono alla memoria in nodi NUMA non locali.

Per informazioni su come configurare la funzione NUMA virtuale, vedere Come configurare NUMA virtuale per VMM.