GiantVM est une solution open source d'hyperviseur de type-II distribué proposant la virtualisation de type Many-to-one pour associer les ressources de plusieurs machines physiques afin de fournir une abstraction pour le système invité. Il est basé sur QEMU-KVM et distribue les CPU, I/O et mémoire entre les nœuds.
0 évaluation0% ont trouvé ce document utile (0 vote)
59 vues5 pages
GiantVM est une solution open source d'hyperviseur de type-II distribué proposant la virtualisation de type Many-to-one pour associer les ressources de plusieurs machines physiques afin de fournir une abstraction pour le système invité. Il est basé sur QEMU-KVM et distribue les CPU, I/O et mémoire entre les nœuds.
GiantVM est une solution open source d'hyperviseur de type-II distribué proposant la virtualisation de type Many-to-one pour associer les ressources de plusieurs machines physiques afin de fournir une abstraction pour le système invité. Il est basé sur QEMU-KVM et distribue les CPU, I/O et mémoire entre les nœuds.
GiantVM est une solution open source d'hyperviseur de type-II distribué proposant la virtualisation de type Many-to-one pour associer les ressources de plusieurs machines physiques afin de fournir une abstraction pour le système invité. Il est basé sur QEMU-KVM et distribue les CPU, I/O et mémoire entre les nœuds.
Téléchargez comme PPTX, PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 5
GiantVM
A TYPE-II HYPERVISOR IMPLEMENTING
MANY-TO-ONE VIRTUALIZATION 1- Motivation Les techniques de mise à l’échelle proposent des avantages mais aussi des inconvénients que vient résoudre le SSI (Single System Image) appliqué au niveau de l’hyperviseur GiantVM est donc une solution open source d’hyperviseur de type-II distribué proposant la virtualisation de type Many-to-one pour associer les ressources de plusieurs machines physiques afin de fournir une abstraction pour le système invité GiantVM est basé sur l’hyperviseur QEMU-KVM où KVM est un outil du noyau Linux de virtualisation et QEMU un hyperviseur 2- Architecture et Design Chaque nœud fait tourner une instance d’hyperviseur Chaque instance est en charge d’une partie des ressources et elles se chargent toutes à ce que l’OS invité voit le système de manière globale Les composantes principales dont il est chargé de distribuer sont : CPU, I/O, mémoire Pour la virtualisation des I/O, un nœud maître est désigné et il reçoit l’ensemble des requêtes d’I/O Pour les CPU, la virtualisation se fait de manière indépendante sur chaque nœud, sauf pour les communications internoeuds Pour la mémoire, il s’agit de DSM, basé sur le protocole Ivy 3- Implémentation Pour les vCPU, on utilise un IPI forwarding mechanism, qui consiste à ajouter un contrôle aux endroits susceptibles de générer des IPI. Si l’IPI est envoyé au vCPU local, on agit comme d’habitude; sinon on l’envoi à l’instance d’hyperviseur concerné et on injecte dans l’APIC de ce dernier, Pour les I/O, les instructions sont capturées par l’hyperviseur et interceptées par GiantVM qui les envoie au VCPU cible dans le cas où elles sont générées par les I/O , et au nœud maître si elles proviennent du vCPU 3- Implémentation (suite) Pour la mémoire, Il y a 3 états possibles d’une page DSM offrant différents privilèges à son propriétaire : Modified (Read and Write) , Shared (Read only,sinon apparition de page fault Pour écrire il faut rendre les autres copies invalides et devenir propriétaire) et Invalid (cannot Read or Write; une dernière version de la page est donc demandée aux autres nœuds, Pour écrire il faut rendre les autres copies invalides et devenir propriétaire), Les managers sont le plus souvent des nœuds et sont chargés de suivre le propriétaire Mapping management : QEMU alloues la mémoire à utiliser par l’invité dans son espace mémoire HVA, ensuite KVM maintient la correspondance entre GPA et HVA, Quand un invité accède à la mémoire, il utilise d’abord la table de page pour traduire de GVA à GPA et utilises ensuite EPT pour traduire de GPA à HPA,