<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>

Memguard, un Gestionnaire de Bande passante Mémoire adapté KVM sur ARMv8

Patch Memguard, Memtalk, pour améliorer performance & isolation de Guests KVM sur ARMv8

Memguard, un Gestionnaire de Bande passante Mémoire pour améliorer des Guests KVM sur ARMv8

Cette vidéo présente "Memguard", un système de gestion de la bande passante mémoire développé par Heechul Yun de l'université de l'Illinois. Ce module du kernel linux a été, dans un premier temps, développé pour les plateformes x86 et plus précisément les processeurs de la famille Xeon d'Intel. Dans le cadre du projet de recherche et innovation DREAMS FP7, Virtual Open Systems a effectué les modifications nécessaires permettant au module Linux d'être exécuté sur une plateforme équipé avec l'architecture ARMV8. De plus, Virtual Open Systems a étendu les fonctionnalités de Memguard afin de lui permettre de gérer la bande passante mémoire des machines virtuelles et ce directement depuis l'espace utilisateur de ces dernières.

Cette nouvelle architecture repose sur le fait que l'ordonnanceur du host (Linux/KVM) est omniscient des besoins en bande passante mémoire des machines virtuelles (threads). Le mécanisme mis en place permet une communication facile et dynamique entre les machines virtuelles et le host afin de communiquer les besoins en bande passante mémoire.

Cette vidéo démo explore l'architecture et les fonctions de Memguard dans un environnement virtualisé:

bullet Memguard ARMv8: Au sein de l'architecture ARMv8, Memguard utilise le "Performance Monitor Unit" (PMU) afin de connaître le nombre de cache-miss durant un temps prédéfini. L'architecture ARMv8 permet de séparer les lignes caches en relation avec l'utilisateur (non privilégié) et celles du kernel (privilégié), ce qui permet une meilleur gestion de la bande passante par Memguard. La "Idle notifier chain" a été ajouté au Linux kernel afin de faire parvenir les informations au CPU. Cette version de Memguard est compatible avec la plus récente version du kernel Linux (4.9) pour les plateformes ARMv8 telle que la "JUNO development platform" présenté dans la vidéo.

bullet Memtalk pour les machines virtuelles KVM: Un module Linux, du nom de memtalk, a été développé afin de répondre au besoin d'un moyen de communication efficace entre le host et les différentes machines virtuelles. Ce module permet par une simple écriture dans un fichier (dans l'environnement utilisateur des machines virtuelles) de configurer la bande passante nécessaire au bon fonctionnement de la machine virtuelle. Cette communication est divisé en trois parties : memtalk, le module kernel présent dans les machines virtuelles pour communiquer avec le host, le service hypercall qui permet de traiter les messages HVC dans le host et enfin l'odonnanceur CFS de linux à été modifier pour permettre la régulation des différentes machines virtuelles en cours d'exécution. Ce code source Memtalk pour guests KVM est mis à disposition par Virtual Open Systems.

Memguard Memory Bandwidth Reservation System Extended To Boost Vm In Multi-Core Platforms Memguard, un Gestionnaire de Bande passante Mémoire adapté KVM sur ARMv8 pour améliorer performance & isolation de Guests KVM sur ARMv8

Remerciement

Cette video demo décrit certaines phases de recherche et développement accomplies par Virtual Open Systems dans le cadre du projet DREAMS FP7, qui propose des solutions pour les systèmes à criticité mixte.