vix.ing · top · new · best · stats · spec

A Generic Checkpoint-Restart Mechanism for Virtual Machines

2012/12/08 by Rohan Garg, Garg, Rohan, Komal Sodha +3
Computer Science · #FOS: Computer and information sciences #Operating Systems (cs.OS) #cs.OS

paper · pdf · doi:10.48550/arxiv.1212.1787

arxiv created 2012/12/08 · arxiv updated 2012/12/11

Abstract

It is common today to deploy complex software inside a virtual machine (VM). Snapshots provide rapid deployment, migration between hosts, dependability (fault tolerance), and security (insulating a guest VM from the host). Yet, for each virtual machine, the code for snapshots is laboriously developed on a per-VM basis. This work demonstrates a generic checkpoint-restart mechanism for virtual machines. The mechanism is based on a plugin on top of an unmodified user-space checkpoint-restart package, DMTCP. Checkpoint-restart is demonstrated for three virtual machines: Lguest, user-space QEMU, and KVM/QEMU. The plugins for Lguest and KVM/QEMU require just 200 lines of code. The Lguest kernel driver API is augmented by 40 lines of code. DMTCP checkpoints user-space QEMU without any new code. KVM/QEMU, user-space QEMU, and DMTCP need no modification. The design benefits from other DMTCP features and plugins. Experiments demonstrate checkpoint and restart in 0.2 seconds using forked checkpointing, mmap-based fast-restart, and incremental Btrfs-based snapshots.

Related