AMD a montré sur son stand ( photo ci-dessus) de nouvelles solutions de virtualisation au VM World de San Francisco, la semaine passée. Avec sa solution multi-GPU, on pourrait administrer jusqu’à 15 utilisateurs sur un seul GPU AMD, ce qui serait une vraie bénédiction à l’heure de la résurrection du VDI.

Avec son « Add-in –Board GPU », AMD veut surtout séduire les constructeurs de serveurs avec sa technologie multi-utilisateurs intégrée dans le GPU. Cette technique ne fatigue pas, à priori,  le cœur des serveurs et  fournirait des performances constantes et prévisibles. Capture d’écran 2015-09-07 à 12.28.30Le GPU multi-utilisateur est conçu pour fonctionner dans des environnements utilisant VMware vSphere / ESXi 5.5 et plus, avec le support de protocoles distants tels que Horizon, Citrix Xen Desktop et  un programme moins connu, Teradici Workstation. Le GPU utilise le pilote VIB de VMware avec la certification VMware.

La virtualisation est un éternel recommencement

Rappelons que la virtualisation des périphériques est essentiellement utilisée pour deux usages : offrir des capacités vidéo nouvelles à une machine virtuelle (en lui dédiant une carte graphique) ou plus couramment, du moins dans nos colonnes, 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 depuis la nuit des temps informatiques.

Le GPU est virtualisé pour afficher des graphiques à distance, il est ainsi partagé entre plusieurs utilisateurs, tout comme un classique CPU était partagé, dans le temps, pour accéder à une même application. C’est l’hyperviseur qui gère la charge des accés utilisateurs et envoie au GPU leurs demandes de tâches.

Cela n’a rien de très nouveau, on peut en convenir, le terme d’hyperviseur ayant été inventé par Dave Tuttle chez IBM à la fin de l’année 1971. Plus près de nous, en 1990, on s’extasiait, car cela faisait faire des économies, déjà de pouvoir gérer plusieurs terminaux à partir d’un même OS/2, l’un des premiers multitâches. Les brillants éditeurs français de logiciels de l’époque, Memsoft et ISS ayant écrit un gestionnaire d’entrée sortie (Polymod chez Memsoft) apte à rediriger les tâches vers des ports-séries. Une solution reprise par Microsoft dans les versions multi-ulisatateurs des OS  à partir de la version 2000. Là, en 2015, l’évolution notoire est de basculer la charge de travail sur les processeurs graphiques,les GPU, beaucoup plus puissants que le coeur des CPU des années 90.

Lorsque le GPU est configuré de manière appropriée, selon AMD, les utilisateurs finaux obtiendraient les temps d’accès au GPU indépendamment de leur charge de travail. Cette formule de partitionnement « déterministe » spécifique, concurrence l’approche de Nvida qui elle prône l’équilibrage de charge dynamique. Il s’agit toujours en mathématiques comme en programmation d’optimiser la gestion des files d’attente.

Cette concurrence n’est pas sans rappeler celle qui existait pour prendre la main sur un réseau il y a 20 ans entre Token ring (déterministe – on prend un jeton pour jouer son tour) et Ethernet (non déterministe – le premier arrivé et le premier servi).

AMD affirme que son allocation déterministe est dans le domaine de la virtualisation de GPU, le premier à utiliser la technologie SR-IOV. SR-IOV est une spécification développée par l’organisme de normalisation des bus, le PCI SIG. Il est sensé fournir une solution standardisée pour les appareils pour exposer la virtualisation matérielle.

Les utilisateurs auront toujours accès à des pilotes d’affichage natif d’AMD pour OpenGL, DirectX et pourront ainsi profiter de l’accélération Open CL.

Cette technologie sera disponible aux OEM au troisième 2015.