<div class='slidealt'>Expérimentez des extensions de <a title='virtualisation pour plateformes hétérogènes à base de processeurs ARM' href='/fr/produits/'>virtualisation KVM</a></div> <div class='slidealt'>Faites appelle à des <a title='services de full virtualisation pour kvm sur coeur ARM' href='/fr/services/'>services de virtualisation sur mesure</a></div> <div class='slidealt'>Virtualisation KVM des E/S's pour coeurs ARMv7, ARMv8 <a title='extensions de virtualisation de plateforme VFIO des E/S par kvm sur arm en logiciel libre' href='/fr/solutions/guides/vfio-sur-arm/'>par extensions VFIO/IOMMU</a></div> <div class='slidealt'>Projets de recherche de virtualisation <a title='kvm en logiciel libre pour ARM multicoeur' href='/fr/innovation/'>pour les systèmes embarqués et le cloud</a></div> <div class='slidealt'>Solutions de virtualisation pour systèmes <a title='solutions en logiciels libres de virtualisation pour ARMv7-ARMv8' href='/fr/solutions/'>hétérogènes multicoeur ARM</a></div>

Une solution API Remoting pour la virtualisation des GPUs

api remoting est un mécanisme de mémoire partagée zero-copie de haute performance pour machines virtuelles KVM sur ARM

Les systèmes embarqués hétérogènes modernes sont conçus pour une efficacité en consommation d'énergie. Ces plates-formes peuvent intégrer des GPUs programmables multi coeurs et des accélérateurs, qui peuvent être nécessaires pour exécuter des tâches informatiques parallèles. Ces systèmes sont répandus dans plusieurs segments de marché, de l'automobile à l'HPC, des réseaux aux passerelles personnelles et résidentiels.

Dans ce contexte, pour obtenir une consolidation de la couche matérielle, un isolement de sécurité et une plus grande flexibilité de l'ensemble du système, la virtualisation joue un rôle clé. Son adoption a été accélérée par la disponibilité d'extensions de virtualisation matérielles dans les processeurs modernes, capable de réduire considérablement les pénalités en prestation lors de l'exécution d'un environnement virtuel. Tel est le cas dans les processeurs ARM (par exemple, ARMv7, ARMv8, etc.), où la virtualisation fait partie de la définition de la plate-forme elle même.

Différemment des processeurs, seul quelque périphérique offre un support efficace pour la virtualisation au niveau matériel (par exemple, les contrôleurs de réseau SR-IOV). Il y a donc un besoin de virtualiser ces périphériques afin de faciliter l'adoption de SoCs hétérogènes. Dans des systèmes hétérogènes les GPUs sont utilisés pour l'exécution de charges de calcul hautement parallèles (par exemple pour HPC, réseaux et télécommunication) et graphiques (par exemple, en automobile). Cependant, les GPUs intégrés dans les SoCs n'offrent pas toujours des extensions matérielles pour la virtualisation, ce qui rend nécessaire l'utilisation de solutions alternatifs logicielles de virtualisation.

API Remoting pour GPU pour activer OpenCL/OpenGL dans les VMs

Virtual Open Systems propose une solution logicielle pour la virtualisation de la GPU basée sur API Remoting, qui permet le partage de la GPU entre des machines virtuelles grâce à une interface API de programmation. Les applications dans l'espace utilisateur, s'exécutant dans le système d'exploitation d'invité, peuvent exploiter la GPU grâce à son interface de programmation (par exemple OpenCL, OpenGL) sans aucune modification de code source, et sans la nécessité de l'hyperviseur de fournir une abstraction virtuelle de la GPU.

Chaque appel de l'API passe à travers trois composants de l'implementation API Remoting: le front-end, le transport et le back-end. Le front-end, installé dans l'OS d'invité, met en oeuvre des stubs de l'API pour transmettre les appels par la couche de transport. Le back-end s'exécutant sur l'hôte traite les demandes d'appel reçus via la couche de transport et les exécute dans la couche matériel de la GPU en utilisant les commandes de la bibliothèque d'API. La couche de transport est conçu pour minimiser le temps de communication entre back-end et front-end, et repose sur un mécanisme zéro-copie de partage de la mémoire.

Architecture de l'offre produit API Remoting de Virtual Open Systems par mécanisme de zero-copie

Architecture de l'offre produit API Remoting de Virtual Open Systems

API Remoting s'avère nécessaire dans plusieurs domaines d'application tels que l'informatique haute performance (HPC), où les applications virtualisées nécessite du GPU pour accélérer le traitement des données; la virtualization des fonctions réseaux (NFV), où la GPU peut être utilisé pour accélérer le traitement des VNFs. l'API Remoting est utile aussi dans un système virtualisé d'info-divertissement dans l'automobile (IVI) pour rendre des graphismes complexes.