Dans la pratique, et même si les gains ne sont pas toujours aussi important qu'attendus, VT-x et AMD-V sont maintenant des prérequis pour installer des programmes de virtualisation (comme avec Windows 7) et les (rares) processeurs ne disposant pas encore de ces technologies sont peu à peu mis à l'écart de la virtualisation.
[...]
les Opteron Barcelona (et plus) chez AMD
[...]
La virtualisation des périphériques
Dernier point à prendre en charge, la virtualisation des E/S (entrées/sorties). En effet, même si l'accès au processeur est transparent avec VT-x et AMD-V, l'accès aux périphériques reste du ressort du programme de virtualisation : chaque logiciel doit créer ses propres périphériques virtuels, des pilotes adaptées à ces derniers doivent être dévellopés et les performances sont évidemment loin d'être mirobolantes (le problème se pose essentiellement pour les cartes graphiques). De plus, les logiciels de virtualisation doivent reproduire la gestion de la mémoire des périphériques et ce n'est pas toujours suffisant : si un programme de la machine virtuelle essaye d'accéder directement au matériel, il risque tout simplement de ne pas fonctionner. Pour régler le problème, les constructeurs ont donc proposé une nouvelle technologie, connue sous le nom d'IOMMU.
VT-d et AMD-Vi, les deux technologies d'Intel et AMD, permettent donc de créer un accès virtuel aux périphériques d'E/S. Le fonctionnement est un peu différent des instructions de virtualisations : au lieu de partager un périphérique entre deux systèmes (hôte et client), la technologie permet en fait de donner un accès direct à un périphérique depuis une machine virtuelle. Il n'y a pas ici de notion de partage en tant que tel, mais bien un accès direct et exclusif : si la machine virtuelle accède à un périphérique comme une carte graphique, la machine hôte perd son accès, ce qui suppose (dans le meilleur des mondes) qu'une carte graphique dédiée à la machine virtuelle soit installée. Il est possible de partager la majorité des périphériques, des ports USB aux connecteurs PCI-Express (et donc les cartes installées), tout en gardant bien à l'esprit que l'accès est exclusif.
Contrairement à VT-x et AMD-V, qui dépendent du processeur, ces deux technologies dépendent du chipset (ou du processeur, dans le cas des modèles Intel intégrant le contrôleur PCI-Express). Actuellement, VT-d et AMD-Vi sont peu utilisés et les logiciels capables de tirer parti des technologies sont rares. De plus, certains périphériques demandent des pilotes spécifiques pour être utilisés avec VT-d ou AMD-Vi.
Dans les faits, la virtualisation des périphériques est essentiellement utilisée pour deux usages : offrir des capacités vidéo correctes à une machine virtuelle (en dédiant une carte graphique) ou — plus courant — permettre à une machine virtuelle présente sur un serveur de disposer de sa propre carte réseau. Des cartes mères dédiées à ce type d'installation (et disposant donc de plusieurs cartes réseau) existent d'ailleurs.
Pour ce qui est de la compatibilité, les chipsets de la famille Q d'Intel ainsi que les puces dédiées aux Nehalem sont généralement compatibles alors qu'AMD ne propose AMD-Vi que sur les chipsets de la famille 8xx (pas encore disponibles).
Partager