An adaptive virtual machine replication algorithm for highly-available services
Adrian Coleşa, Mihai Bica · 2011
This paper presents an adaptive algorithm for the replication process of a primary virtual machine (VM) hosting a service that must be provided high-availability. Running the service in a VM and replicating the entire VM is a general strategy, totally transparent for the service itself and its clients. The replication takes place in phases, which are run asynchronous for efficiency reasons. The replication algorithm adapts to the running context, consisting of the behavior of the service and the available bandwidth between primary and backup nodes. The length of each replication phase is determined dynamically, in order to reduce as much as possible the latencies experienced by the clients of the service, especially in the case of a degraded connectivity between primary and backup nodes. We implemented our replication algorithm as an extension of the Xen hypervisor's VM migration operation. It proved better than its non-adaptive variants.