Simulation of Live Migration

posted Apr 22, 2016, 12:58 AM by Takahiro Hirofuchi
Let me introduce the recent publication from the project. Here is Part 1.

The outcome of the one-year stay in France is the virtual machine support of SimGrid. This stay was supported by a French research fund.

At the time of writing, SimGrid is the only simulation framework with an accurate precopy-based live migration model. It implements the precopy algorithm used in hypervisors. It can correctly simulate the duration of live migrations and the amount of transferred data, considering memory update speeds of VMs and resource contention of CPU and network.

The virtual machine support of SimGrid has been presented in the following articles. I recommend you to read and cite the latest IEEE Transaction article, which includes the contents of the prior conference papers.

Adding Virtual Machine Abstractions into SimGrid,
Takahiro Hirofuchi, Adrien Lèbre,
Proceedings of the 3rd International Conference on Cloud and Green Computing, pp.175-180, Sep 2013
DOI: 10.1109/CGC.2013.33

Adding a Live Migration Model into SimGrid,
Takahiro Hirofuchi, Adrien Lèbre, Laurent Pouilloux,
Proceedings of the 5th IEEE International Conference on Cloud Computing Technology and Services 2013 (CloudCom2013), pp.96-103, Dec 2013
DOI: 10.1109/CloudCom.2013.20

SimGrid VM: Virtual Machine Support for a Simulation Framework of Distributed Systems,
Takahiro Hirofuchi, Adrien Lèbre, Laurent Pouilloux,
IEEE Transactions on Cloud Computing, 2015 (To appear)
DOI: 10.1109/TCC.2015.2481422
PDF (Full Text)

To accurately simulate the behavior of an IaaS cloud system, you will need to obtain the memory update intensity of your VMs. This information will be necessary and be one of the input parameters to your simulation program.

AIST released Qemu-DPT (Dirty Page Tracking). Qemu-DPT is a tool to measure the memory update speed of your VM. It is a small extension to Qemu/KVM. This tool itself was developed in the Yabusame project of AIST around 2012.

See instruction at the below github page for details.