From Fedora Project Wiki

Revision as of 12:39, 1 February 2010 by Lewis41 (talk | contribs)

SR-IOV

Sommario

SR-IOV (Single Root I/O Virtualization) è una caratteristica PCI che consente di costruire virtual functions (VF) che condividono le risorse di una physical function (PF). SR-IOV è particolarmente utile quando un singolo dispositivo PCI è condiviso tra multiple virtual machines (VM).

Progettista

Stato corrente

Descrizione dettagliata

SR-IOV consente a un singolo dispositivo PCI di essere condiviso tra multiple virtual machines (VM) salvaguardandone le prestazioni. Un esempio comune si ha quando una singola NIC con facoltà di SR-IOV - fornita anche solo di una unica porta di rete fisica - può essere condivisa tra multiple virtual machines asseganado una virtual function ad ogni VM.

Il supporto a SR-IOV è implementato nel kernel. L'implementazione base è contenuta nel sotto-sistema PCI, ma occorre anche il supporto ai driver sia per le Physical Function (PF) che per le Virtual Function (VF) dei dispositivi. In un dispositivo con facoltà di SR-IOV si possono allocare più VF da una PF. Le VF affiorano come dispositivi PCI in cui si presentano come risorse (code, e insiemi di registri).

In 2.6.30, Intel® 82576 Gigabit Ethernet Controller è l'unico dispositivo supportato in grado di offrire SR-IOV. il driver igb ha supporto per PF e igbvf per VF.

Nella 2.6.31 Neterion® X3100™ è supportata abbastanza bene. Questo dispositivo usa lo stesso driver, vxge, per PF ed le VF.

SR-IOV allows a single PCI device to be shared amongst multiple virtual machines while retaining the performance benefit of assigning a PCI device to a virtual machine. A common example is where a single SR-IOV capable NIC - with perhaps only a single physical network port - might be shared with multiple virtual machines by assigning a virtual function to each VM.

SR-IOV support is implemented in the kernel. The core implementation is contained in the PCI subsystem, but there must also be driver support for both the Physical Function (PF) and Virtual Function (VF) devices. With an SR-IOV capable device one can allocate VFs from a PF. The VFs surface as PCI devices which are backed on the physical PCI device by resources (queues, and register sets).

In 2.6.30, the Intel® 82576 Gigabit Ethernet Controller is the only SR-IOV capable device supported. The igb driver has PF support and the igbvf has VF support.

In 2.6.31 the Neterion® X3100™ is supported as well. This device uses the same vxge driver for the PF as well as the VFs.

Vantaggi per Fedora

Il supporto a SR-IOV estende l'abilità di Fedora di agire come una soluzione ad alte prestazioni di un server virtualizzato. Con la caratteristica PCI device assignment di Fedora 11, è possibile assegnare un dispositivo PCI ad un guest. Con SR-IOV Fedora ora può allocare risorse da un dispositivo PCI, che ovviamente può supportare SR-IOV. Queste risorse, dette Virtual Functions, emergono come nuovi dipositivi PCI che possono essere asseganti ad un S.O. guest. Ciò dà gli stessi vantaggi in termini di prestazioni dell'assegnare un dispositivo PCI fisico ad un guest, con il vantaggio di eliminare la necessità di avere il server riempito di dispositivi PCI (che molte volte risulta impossibile), e riduce le complicazioni di gestione di un gran numero di dispositivi (generalmente si tratta di NIC o HBA, con ulteriori cablaggi). Poiche il S.O. guest realmente gestisce l'hardware direttamente, le prestazioni di I/O sono pari ai dati di targa. Un miglioramento definitivo nel campo dei dispositivi I/O emulati o paravirtualizzati.

SR-IOV support further extends Fedora's ability to act as a high-performance server Virtualization solution. With the F11 feature PCI device assignment Fedora can assign a physical PCI device to a guest. With SR-IOV support Fedora can now allocate resources from a PCI device which itself supports SR-IOV. These resources, called Virtual Functions, surface as new PCI devices which can be assigned to a guest OS. This gives the same performance benefit of assigning a physical PCI device to a guest, however, it eliminates the need to have the server filled with physical PCI devices (which may not be physically possible for large counts of PCI devices), and the administrative complications of managing a large number of devices (these are typically NICs or HBAs, so there's cabling involved). Because the guest OS is effectively driving the hardware directly, the I/O performance is on par with bare metal performance. A definite improvement over emulated I/O devices or paravirtual I/O devices.

Documentazione

Note di rilascio

Fedora 12 aggiunge supporto a SR-IOV (PCI Single Root I/O Virtualization) per permettere ad hardware dotato di essere condiviso tra multiple guest virtual machines.

Altre informazioni

Per:

  • Obbiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Commenti e Discussioni

consultare la pagina originale di questo documento.