La Virtualisation Complète KVM sur Versatile Express
Un guide détaillé pour déployer la virtualisation KVM sur Cortex-A15
Ce guide explique le déploiement de la virtualisation complète KVM sur une plateforme matérielle ARM Cortex-A15 Versatile Express. Il utilise les extensions de virtualisation matérielles du Cortex-A15, sur la base de la technologie de virtualisation KVM-sur-ARM développée par Virtual Open Systems, permettant ainsi à plusieurs instances de systèmes d'exploitation (machines virtuelles invités) d'afficher des performances quasi-natives. Se faisant, des cas d'usage spécifiques peuvent être facilement réalisés, tels que: Android multi-persona, BYOD, la virtualisation de systèmes hétérogènes ou de plusieurs instances du même système d'exploitation.
Introduction à la virtualisation du Cortex-A15
Encore récemment, beaucoup de travaux sur le portage de KVM sur l'architecture ARM ont été faits grâce à l'environnement de simulation Fast Models. En raison d'un manque de véritable matériel Cortex-A15, les Fast Models se sont révélés être des outils essentiels pour le développement de nouveaux projets. Bien qu'ils fournissent une alternative directe et facile à utiliser, les Fast models présentent quelques insuffisances en ce qui concerne ses performances en fonction de la charge de travail.
Avec les dernières versions des plateformes SoC établies (Exynos, OMAP, Tegra) vers fin 2012 et 2013, la disponibilité du matériel pour Cortex-A15 a commencé à se répandre. Actuellement, ARM fournit deux CoreTiles différents de Cortex-A15 sur leur plateforme Versatile Express: Un dual core Cortex-A15 (TC1) cadencé à 1,2 GHz, et leur dernier CoreTile (TC2), auquel s'ajoute un groupe A7 dual core qui est la version à faible consommation de A15 (également appelé big.LITTLE).
Ce guide sera axé sur le déploiement d'un hôte Ubuntu sur la plateforme Versatile Express, avec les dernières fonctionnalités du noyau KVM-sur-ARM. Par la suite, on va montrer comment virtualiser entièrement deux machines virtuelles d'invités différents:
Android Jelly Bean
Ubuntu 12.04
Avec Android, nous pouvons montrer que l'interactivité de l'interface utilisateur est assez décente par rapport à la performance, même en absence d'une accélération matérielle dans la plateforme Versatile Express. D'autre part, un invité Ubuntu peut donner l'exemple d'un déploiement futur sur les serveurs d'ARM à grande échelle. Pour avoir une idée du résultat final, une vidéo de démonstration à été mise en place, ainsi que d'autres démonstrations relatives à l'activité de développement de la technologie de virtualisation..
Composants Requis
Pour bien compléter ce guide, il y a quelques conditions de base:
La plateforme Versatile Express, avec un Cortex-A15 (TC1) ou big.LITTLE (TC2) CoreTile
Environnement de développement Linux. Consulter le KVM-on-ARM guide
Souris et clavier PS/2 ou USB
Écran avec une résolution d'au moins 1024 * 768
Disque dur USB ou une clé USB, comme support de démarrage
Versatile Express
La famille de plateformes de développement Versatile Express fournit un environnement favorable pour le prototypage et conceptions de la nouvelle génération de système-sur-puce. Grâce à sa souplesse, son architecture modulaire, et interfaces à haut débit, des applications logicielles et matérielles peuvent être développées et déboguées rapidement et efficacement.
Schéma Bloc de Versatile Express [1]
Présentation de la Plateforme
La plateforme se compose de trois blocs principaux:
Carte mère: Se compose de plusieurs périphériques et l'addition éventuelle de cartes filles plug-in.
CoreTile: Bloc CPU supportant des processeurs Cortex-A15, Cortex-A9 et Cortex-A5.
LogicTiles: Les blocs optionnels de carte fille pour étendre la fonctionnalité de la plateforme.
Cortex-A15
Le nouveau processeur Cortex-A15 MPCore, est le premier processeur de la série ARM-A à introduire des extensions de virtualisation matérielle, avec de hautes performances (jusqu'à 40% plus rapide que A9) et des caractéristiques standard de faible consommation de l'architecture ARM. Ces principales caractéristiques sont:
La virtualisation complète à l'aide des extensions de matériel
Les Extensions de Large Physical Address (LPAE)
Virgule Flottante VFPv4
Extensions NEON SIMD avancées
1-4x SMP dans un seul cluster des processeurs et jusqu'à 2 groupes par puce
Schéma Bloc de Cortex-A15 [2]
Les Composants Périphériques
Parmi les principaux composants périphériques de la plateforme Versatile Express (et Cortex-A15), on distingue:
PL011 UART (communication série)
PL031 Horloge temps réel
PL050 L'interface PS2 pour clavier et souris
PL110/PL111 LCD/HDLCD Couleur (le rendement logiciel, sans GPU)
L'Interface de la Carte MultiMedia (MMCI)
PL390 Contrôleur d'Interruption Générique (GIC)
PL041_AACI interface audio
SMSC91C111 contrôleur ethernet
ISPI1761 contrôleur USB 2.0
Identifiant ou inscription pour visualiser l'information complète