Test de performance pour la virtualisation KVM sur ARM
Efficacité et performance sont des facteurs parmi les plus importants pour que un hyperviseur réponds aux requis des cas d'utilisation pour des nouvelles applications. KVM sur ARM a été intégrée avec Linux depuis la version 3.9 démontrant des performances quasi natives. Open Virtual Systems a été actif dans le développement de techniques de profilage pour KVM sur ARM par l'évaluation continue sur diverses plates-formes matérielles (VExpress, Arndale, Omap5 uEVM, Chromebook) et par la mise en œuvre des tests spécifiques pour identifier et améliorer les capacités de l'hyperviseur.
La société fournit des services pour évaluer les performances de la virtualisation sur plates-formes hétérogènes ARMv7/ARMv8 et développer des techniques d'optimisation pour des cas d'utilisation précis. Les résultats exposés ont été réalisés à partir d'une plate-forme de développement Versatile Express (Cortex-A15 TC2) et d'un portable Chromebook Exynos5250.
Analyse comparative des charges de la CPU et de la Mémoire
Pour les tests de stress de CPU sans activité sur les périphériques d'entrées/sorties, KVM sur ARM démontre les avantages de la virtualisation complète. KVM excelle dans ce type de test avec des performances quasi natives, et des pertes bien en dessous de 10%. Une comparaison de performance entre le système hôte et invité, pour différents types de test de référence, est montré ci après.
Comparaison de performance hôte/invité pour différents types de test
S'appuyant sur l'infrastructure Linux, la gestion de la mémoire est un avantage majeur de l'hyperviseur KVM sur ARM. En utilisant l'outil de test de la bande passante de la mémoire lmbench3, nous pouvons constater également des résultats aussi positifs que dans le cas des tests de charge de la CPU.
Comparaison hôte/invité des tests de bande passante de la mémoire
Test de performance de la virtualisation - Émulation ou Paravirtualisation
Il existe différentes façons de gérer la virtualisation des périphériques d'entrée/sorties, et en fonction de la complexité du dispositif virtualisé, ainsi que les contraintes du cas d'utilisation choisi, ils s'avèrent nécessaires différentes approches et compromis. Les options les plus importantes sont l'émulation ou la paravirtualisation (une autre option étant l'assignation directe du périphérique).
L'émulation comporte une surcharge considérable en tant que technique de virtualisation; elle est utilisée seulement dans le cas le plus simple. La paravirtualisation, peut accélérer de manière significative, dans les systèmes invités, l'accès aux périphériques d'entrée/sorties. En utilisant Virtio, KVM peut atteindre une performance excellente. Dans le cas des périphériques d'entrée/sorties de réseau, nous pouvons comparer la bande passante hôte/invité en utilisant netperf:
Performance de réseau d'une interface émulée comparée avec Virtio et hôte
Un comportement similaire peut être observé avec d'autres périphériques, comme par exemple un disque, pour lequel l'émulation montre des faibles performances, alors que Virtio peut atteindre de performances quasi natives. En outre vHost-net peut encore améliorer les performances des périphériques de réseau des systèmes virtualisés dans les cas d'utilisation demandant une bande passante plus élevée (1 Gbps ou plus).
On peut conclure que, en utilisant les extensions matérielles de virtualisation complète des nouvelles architectures ARM, couplés avec des mécanismes de paravirtualisation pour accélérer les périphériques d'entrée/sorties, KVM excelle en performance.
- Virtual bfq
- Vosyshmem zero copie
- 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