Hyper-V R2: schede di rete (NIC) che supportano Virtual Machine Queue (VMQ)
Nei giorni scorsi, via mail, mi è stato chiesto quali schede di rete presenti sul mercato supportano Virtual Machine Queue (VMQ).
VMQ è una delle novità introdotte con il rilascio di Hyper-V R2 (la versione disponibile con Windows Server 2008 R2 e Microsoft Hyper-V Server 2008 R2).
Virtual Machine Queue consente di assegnare alle macchine virtuali una coda dedicata per l’IO di rete gestita direttamente dalle schede di rete.
Questa tecnologia consente prestazioni di rete estremamente più elevate rispetto al solo uso del virtual switch.
Per sommi capi VMQ funziona in questo modo
- La scheda di rete NIC presenta code multiple all’host fisico (di fatto delle schede di NIC virtuali)
- Alla VM viene assegnata una coda
- Il device buffer della VM, relativo alla scheda di rete, è assegnato alla coda
- La NIC può copiare in DMA i pacchetti direttamente nella memoria della VM
- Si evita di copiare i pacchetti nel VSP
- Si evita il route lookup nel virtual switch
I benefici risiedono nella riduzione del percorso di IO dei pacchetti di rete.
(immagini originale di Ali Dabagh - Software Architect - Microsoft Corporation)
L’uso di VMQ deve essere abilitato per singola VM. Siccome l’assegnazione delle code disponibili avviene in modalità “first-come, first-served” è importante scegliere accuratamente le VM per cui abilitare questa funzionalità in modo da evitare che una coda sia assegnata ad una VM con basso traffico di rete lasciandone sfornita un’altra con traffico più elevato.
In particolare VMQ migliora le performance del traffico in ingresso ne segue che dovrebbe essere abilitato per le VM con elevato traffico in ingresso.
Qui sotto trovate un breve elenco (che non ha la pretesa di essere esaustivo) di quelle che sono riuscito a identificare.
Scheda di rete Intel |
# code supportate |
Ethernet Server Adapter X520 Series (SFP+) | 64 |
Ethernet Server Adapter X520-T2 | 64 |
10 Gigabit AF DA Dual Port Server Adapter | 16 |
10 Gigabit AT2 Server Adapter | 16 |
10 Gigabit AT Server Adapter | 16 |
10 Gigabit CX4 Dual Port Server Adapter | 16 |
10 Gigabit XF LR Server Adapter | 16 |
10 Gigabit XF SR Server Adapter | 16 |
10 Gigabit XF SR Dual Port Server Adapter | 16 |
Ethernet Server Adapter I340 | 8 |
Gigabit ET Quad Port Server Adapter | 8 |
Gigabit ET Dual Port Server Adapter | 8 |
Gigabit EF Dual Port Server Adapter | 8 |
Anche le schede Emulex serie OCE11102 e Broadcom NetExtreme serie 1 e 2, a quel che mi è dato capire, supportano VMQ.
Se conoscete altre schede che supportano VMQ, vi prego a beneficio di tutti i lettori del blog di indicarle in un commento. Grazie in anticipo
Risorse utili:
- TechNet Library: Using Virtual Machine Queue
- Hyper-V Networking Optimization (part 2 of 6)
- Improving networking performance for Hyper-V virtual machine
- Novità per la virtualizzazione di server e client in Windows Server 2008 R2
Buona giornata e buona settimana a tutti
Comments
Anonymous
January 01, 2003
@Ermanno Ciao! è sicuramente una buona idea. Devo trovare un server con una scheda di rete che supporti VMQ in modo da poter fare anche una piccola demo :)Anonymous
August 31, 2011
Post utile, che ne dici di farne uno anche sulla configurazione della VMQ?