Adaptive Remus: adaptive checkpointing for Xen-based virtual machine replication. Issue 4 (4th July 2017) - da Silva, Marcelo Pereira; Obelheiro, Rafael Rodrigues; Koslovski, Guilherme Piegas
Abstract : With the ever increasing dependence on computers and networks, many systems are required to be continuously available in order to fulfil their mission. Virtualization technology enables high availability to be offered in a convenient, cost-effective manner: with the encapsulation provided by virtual machines (VMs), entire systems can be replicated transparently in software, obviating the need for expensive fault-tolerant hardware. Remus is a VM replication mechanism for the Xen hypervisor that provides high availability despite crash failures. Replication is performed by checkpointing the VM at fixed intervals. However, there is an antagonism between processing and communication regarding the optimal checkpoint interval: while longer intervals benefit processor-intensive applications, shorter intervals favour network-intensive applications. Thus, any chosen interval may not always be suitable for the hosted applications, limiting Remus usage in many scenarios. This work introduces Adaptive Remus, a proposal for adaptive checkpointing in Remus that dynamically adjusts the replication frequency according to the characteristics of running applications. Experimental results indicate that our proposal improves performance for applications that require both processing and communication, without harming applications that use only one type of resource. Graphical Abstract: Adaptive Remus quantifies VM metrics to infer the current hosted application load. With this information, the mechanism adjusts the checkpointing frequency between two modes. (I) networking mode: increases the checkpointing frequency whenever output traffic is detected on the VM interface; and (II) processing mode: when there is no output traffic in the VM interface, the mechanism reduces the checkpointing frequency, increasing the VM execution time. This approach improves application performance by dynamically adapting the checkpoint interval.