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
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é:
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.
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.
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.
Copyright et Licences
Licences du code source
Le code source mis à disposition dans cette vidéo démo sur Memguard peut être téléchargé après avoir effectué un log in sur ce site, ce qui nécessite que l'utilisateur soit enregistré. Le code source est fourni sous les droits d'auteur suivants et la licence.
Le contenu de ce guide ainsi que le code source de Virtual Open Systems sont fournis sous le copyright and licence suivante:
Le code source de Memtalk est mis à disposition sous ces copyright et licence:
Copyright 2017 Virtual Open Systems SAS. All Rights Reserved.
Licensed under the GNU General Public License, version 2, (the "License"); This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Le code source de Memguard, modifié par Virtual Open Systems, est mis à disposition sous ces copyright et Licence:
Copyright (C) 2013 Heechul Yun.
Licensed under the the University of Illinois Open Source License.
- Kvm sur arndale exynos
- Démonstrateur de machines virtuelles kvm armv7
- Virtualisation complète kvm sur vexpress
- Virtualisation de machines virtuelles, kvm vs tcg
- Kvm android byod sur cortex-a15
- Machine virtuelle kvm android sur arm fastmodels
- Vosyshmem api remoting
- Virtual bfq en action
- Integration openstack et perf vosyswitch
- Vosyswitch interop2017 shownet arm server
- Video de formation sur la virtualisation kvm
- Vosyswitch odp armv8
- Vosyswitch interop
- Vosysmonitor als2016
- Vosysmcs rcar forum 2018
- Vosysmonitor als2017
- Virtualisation d'accélerateurs fpga
- Vosysiot sido demo
- Vfpgamanager sdnnfv2018
- Vosysiot edge iotwc2018
- Vosysmonitor emcos ew2019
- Vosysmonitor mt2712
- Virtualizing stb lower tco
- Vosysmonitor mt2712 jp 日本語
- Vosysmonitor emcos ew2019 jp 日本語
- Vosysmonitor secure freertos optee linux
- Everest virtio fpga
- Vosysmonitorv risc v demo
- Vosysmonitorx86 demo
- Vosysmonitorv core sharing virtualization demo
- Wave fpga sriov
- Virtio loopback agl lf
- Virtio loopback agl lf alpha release
- Virtio loopback sound agl
- Risc v multiple os