Ram Burst avec Dynamic Memory d'Hyper-V, la fin du swap ?

Jusqu’à présent, lorsque le système d’exploitation n’a plus de mémoire vive disponible, il place les données volatiles des nouveaux processus sur de la mémoire de masse. Ce procédé s’appelle le swapping. Il permet donc au système d’exploitation de ne pas planter pendant la période, généralement courte, où la quantité de mémoire demandée est supérieur à la quantité de mémoire vive disponible. En revanche, le périphérique de masse a des temps d’accès et des débits dix à vingt fois plus faible que la mémoire vive : les performances sont donc en fort déclin.


Avec la nouvelle fonctionnalité apportée par le Service Pack 1 de Windows Server 2008 R2 : Dynamic Memory, Hyper-V va pouvoir allouer dynamiquement un surplus de mémoire vive à la machine virtuelle qui va présenter les signes d’une surconsommation de mémoire vive.

 

Partons sur un modèle simple, nous avons 16Go de mémoire vive disponible pour 4 VM, les services que fournissent les VM ont le même poids, donc chaque machine virtuelle a 4 Go de RAM.
Supposons que notre 4e VM ait à un instant T une forte montée de charge. Sa consommation en mémoire volatile excède la quantité de mémoire vive disponible. Le 4e système invité va écrire son surplus dans l’espace swap qu’il a dédié sur un périphérique de masse : par défaut son disque dur (virtuel).
Malheureusement, dans cette configuration, toutes les VM ont leur VHD (disque dur virtuel) stocké sur le même disque dur physique. Donc l’accès au swap de la VM4 va littéralement saturer le disque dur physique et par la même occasion ralentir les accès aux disques des VM 1, 2 et 3. De ce fait, avec une seule VM qui plonge dans le swap, ce sont en réalité 4 VM qui ont des pertes de performances conséquentes. Et là, c’est une catastrophe.

 RAMBURST.jpg (858×530)

 

Si maintenant, nous avons une infrastructure avec la fonctionnalité Dynamic Memory activée, nous allons allouer 3Go comme quantité de mémoire vive de départ et 7Go de mémoire vive maximum (3Go de Démarrage + 4Go de mémoire vive restante pour l'hyperviseur).
Supposons qu’une fois de plus, la 4e VM ait une forte montée de charge. Sa quantité de mémoire vive disponible est inférieure au seuil préalablement définie dans Hyper-V. De ce fait, l’hyper-V va automatiquement allouer (à chaud) la quantité de mémoire nécessaire et disponible à la machine virtuelle en question pour rétablir son quota de RAM disponible.
De ce fait, la machine n’utilise pas de swap, donc n’entrave pas les performances du disque dur physique au détriment des autres machines virtuelle.

La fonctionnalité Dynamic Memory est donc très utile pour les surconsommations de mémoire vive qui peuvent être encaissés non plus par le disque dur mais par la mémoire vive restante à l’hyperviseur.

Ceux qui possèderont le plus de mémoire vive pourront même se permettre d’interdire le swap aux systèmes invités pour  empêcher ce dernier d’utiliser le swap pour les processus dormants.

 

Published 02-19-2011 5:20 by Mathieu DUPUY