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.

image 

image
(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:

Buona giornata e buona settimana a tutti

| giorgio | twitter-logo-1 @pgmalusardi | full_green