Un Mécanisme à Mémoire Partagée Zéro-Copie pour VM ARM: vosyshmem
La virtualisation est désormais une technologie omniprésente, utilisée dans de nombreux scénarios applicatifs pour fonctionnalités différenciées. De plus en plus de machines virtuelles peuvent être activées au dessus d'une couche d'hyperviseur, nécessitant des mécanismes de communication efficaces entre machines virtuelles et hôte.
En effet dans un environnement hautement virtualisé, comme par exemple un système de calcul haute performance (HPC), des plates-formes réseau (NFV, SDN, etc.) ou des serveurs, les machines virtuelles ont des interactions fréquentes et intensives entre elles. D'autre part, dans des systèmes embarqués, en raison de ressources plus limitées, il est rare de trouver plus de deux machines virtuelles en cours d'exécution en même temps; ici les principales interactions du système invité sont avec le hôte.
Dans tous ces scénarios, il y a toujours une surcharge importante (par exemple en raison de la mise en œuvre de protocoles de réseau, de pilotes de périphériques etc.) qui peut être évitée par l'utilisation d'une mémoire partagée zéro-copie entre différents systèmes d'exploitation (i.e. les machines virtuelles et l'hôte) s'exécutant au dessus d'une même plate-forme matérielle.
Architecture de communication entre-VMs à mémoire partagée (vosyshmem)
Pour résoudre ce problème et accélérer les performances des machines virtuelles sur architectures ARM, Virtual Open Systems a développé un mécanisme de communication entre-VM à mémoire partagée (vosyshmem) de type zéro-copie, qui permet aux applications s'exécutant dans une machine virtuelle en espace utilisateur d'accéder directement à une zone de mémoire partagée avec d'autres applications s'exécutant dans l'hôte ou dans un autre espace utilisateur d'invité.
Mémoire partagée haute performance avec vosyshmem pour HPC, NFV, embarqué
Habituellement, pour déplacer des données à partir d'une machine virtuelle à une autre, de nombreuses copies de la même zone de mémoire sont nécessaires. Par exemple, quand une application s'exécutant su un invité A doit communiquer avec un invité B, elle écrit des données dans une mémoire tampon dans l'espace utilisateur. Cette mémoire tampon est ensuite copiée dans l'espace noyau de l'invité A, puis dans l'espace utilisateur de l'hôte. À ce stade, l'invité B est capable de lire les données à partir de l'espace utilisateur de l'hôte (dans l'espace du noyau de l'invité B) qui seront finalement copiées dans l'espace utilisateur de l'application en cours d'exécution dans l'invité B. Il est évident que ce nombre élevé d'opérations de copies mémoire provoque un véritable goulot d'étranglement pour les performances des applications en cours d'exécution.
La mise en œuvre du composant logiciel vosyshmem de Virtual Open Systems se base sur un mécanisme de mémoire partagée de type zéro-copie, qui permet aux applications s'exécutant dans une machine virtuelle d'accéder directement à la même zone de mémoire d'un programme en cours d'exécution dans un autre invité ou dans l'hôte lui-même. Un programme d'une machine virtuelle peut facilement communiquer avec une application s'exécutant dans l'hôte ainsi que avec un logiciel actif dans un autre invité, indépendamment des systèmes d'exploitation concernés. En outre, vosyshmem supporte un système de notifications pour l'activation des événements et la gestion des interruptions. Ceci est une fonctionnalité importante pour réduire la charge de travail CPU (et par conséquent la consommation d'énergie), tout en assurant une performance optimale.
Il s'agit donc d'un mécanisme de mémoire partagée pour viser une performance optimale combinée avec un haut degré de sécurité, qui peut être utilisé non seulement pour partager des données, mais aussi comme élément logiciel de base pour de nombreuses applications telles que API Remoting, Remote Procedure Call (RPC), des solutions E/S à base de mémoire partagée (i.e. sockets) et des fonctions de réseaux virtuels (VNF) pour NFV.
- Virtual bfq
- Test de performance kvm
- Vosysmonitor
- Api remoting
- 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