Une solution API Remoting pour la virtualisation des GPUs
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
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.
- Virtual bfq
- Test de performance kvm
- Vosyshmem zero copie
- Vosysmonitor
- Vosyswitch nfv switch virtuel
- Interface virtualisation accélérateurs
- Vosysmonitor jp 日本語
- Vosysmonitorx86 jp 日本語
- Vosysiot edge
- Vfpgamanager
- Vosysvirtualnet
- Vosysmcs
- Vosystrustedvim
- Vosysmonitor sossl framework
- Vosysmonitorv risc v
- Vosysmonitorx86
- Vosysmonitorv risc v jp 日本語
- vosysvirtualnet jp 日本語
- Vosyszator