YOLO: Speeding up VM Boot Time by reducing I/O operations
YOLO: Accélération du temps de démarrage de la machine virtuelleen réduisant les opérations d’I/O
Résumé
Several works have shown that the time to boot one virtual machine (VM) can last up to a few
minutes in high consolidated cloud scenarios. This time is critical as VM boot duration defines how an
application can react w.r.t. demands’ fluctuations (horizontal elasticity). To limit as much as possible the
time to boot a VM, we design the YOLO mechanism (You Only Load Once). YOLO optimizes the number
of I/O operations generated during a VM boot process by relying on the boot image abstraction, a subset
of the VM image (VMI) that contains data blocks necessary to complete the boot operation. Whenever
a VM is booted, YOLO intercepts all read accesses and serves them directly from the boot image, which
has been locally stored on fast access storage devices (e.g., memory, SSD, etc.). Creating boot images
for 900+ VMIs from Google Cloud shows that only 40 GB is needed to store all the mandatory data.
Experiments show that YOLO can speed up VM boot duration 2-13 times under different resources
contention with a negligible overhead on the I/O path. Finally, we underline that although YOLO has
been validated with a KVM environment, it does not require any modification on the hypervisor, the
guest kernel nor the VM image (VMI) structure and can be used for several kinds of VMIs (in this study,
Linux and Windows VMIs have been tested)
Plusieurs travaux ont montré que le temps de démarrage d’une machine virtuelle (VM)
peut s’étale sur plusieurs minutes dans des scénarios fortement consolidés. Ce délai est critique car la
durée de démarrage d’une VM définit la réactivité d’une application en fonction des fluctuations de
charge (élasticité horizontale). Pour limiter au maximum le temps de démarrage d’une VM, nous avons
conçu le mécanisme YOLO (You Only Load Once). YOLO optimise le nombre d’opérations “disque”
générées pendant le processus de démarrage. Pour ce faire, il s’appuie sur une nouvelle abstraction
intitulée “image de démarrage” et correspondant à un sous-ensemble des données de l’image de la VM.
Chaque fois qu’une machine virtuelle est démarrée, YOLO intercepte l’ensemble des accès en lecture
afin de les satisfaire directement à partir de l’image de démarrage, qui a été stockée préalablement sur
des périphériques de stockage à accès rapide (par exemple, mémoire, SSD, etc.). La création d’image
de démarrage pour les 900 types des VMs proposées sur l’infrastructure Cloud de Google représente
seulement 40 Go, ce qui est une quantité de données qui peut tout à fait être stockée sur chacun
des noeuds de calculs. Les expériences réalisées montrent que YOLO permet accélérer la durée de
démarrage d’un facteur allant de 2 à 13 selon les différents scénarios de consolidation. Nous soulignons
que bien que YOLO ait été validé avec un environnement KVM, il ne nécessite aucune modificatfion
sur l’hyperviseur, le noyau invité ou la structure d’image de la VM et peut donc être utilisé pour
plusieurs types d’images (dans cette étude, nous testons des images Linux et Windows).
Fichier principal
RR-9245.pdf (1.17 Mo)
Télécharger le fichier
RR-9245.zip (1.84 Mo)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...