[论文笔记] Live Migration of Virtual Machines (NSDI, 2005)
Timespan: 1.15 – 1.17
Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, and Andrew Warfield. 2005. Live migration of virtual machines. In Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2(NSDI'05), Vol. 2. USENIX Association, Berkeley, CA, USA, 273-286. (gs: 1194)
在google scholar里搜“live migration”,这篇论文排在第一,引用数将近1200,是这个方向的经典之作了,本文中提到的"pre-copy"、"writable working set(WWS)"被其后的论文引用较多。作者Christopher Clark的单位是剑桥大学,网上搜这个名字,最有名的一人也是在剑桥大学工作,然而却是历史学家,并非同一人;却没有找到作者本人的主页。另外顺便找到介绍Xen历史的一张网页。
本文介绍了在局域网环境中,使用pre-copy方式对虚拟机进行动态迁移的方法,使用了"page-level protection hardware"来确保被传输快照的一致性,使用"rate-adaptive algorithm"来控制迁移对虚拟机上服务正常运作的影响。使用本文方法,可以达到完成迁移只会造成毫秒级宕机的效果。
以下是论文笔记和摘录:
1. .虚拟机迁移时要考虑以下方面的要求和目标(S1)
- minimize the downtime
- minimize the total migration time
- 尽量降低对被迁移虚拟机的干扰(如迁移工作会占用本来由虚拟机使用的带宽资源)
(S3.1)中将memeroy transfertransfer分成了"push phase, stop-and-copy phase, pull phase"三个阶段,并对比了几种迁移方式对downtime和migration time的关系:
包含的阶段 | downtime | migration time | performance | |
pure stop-and-copy | stop-and-copy | proportional to the amount of physical memeory allocated to the VM | proportional to the amount of physical memeory allocated to the VM | |
pure demand-migration | short stop-and-copy phase, pull phase | much shorter | much longer | performance after migration is likely to be unaccetably degraded |
pre-copy | push phase, short stop-and-copy phase | very short |
2. 另外design decisions还要考虑network resources和local storage(S3.2)。
networks resources: 本文考虑的是source/destination machine使用同一个switched LAN的情况,可以使用广播等方式。
storage: 如果使用了NAS device,就很容易解决。本文不考虑使用了local-disk storage的情形。
3. S3中介绍了迁移的概念流程:
4. (S4)中提出了pre-copy方法的一个关键问题:何时应该结束pre-copy阶段而进行stop-and-copy?
作者认为可以分成两种pages:第一种不怎么变动的,因此适合pre-copy;第二种频繁变动,更适合stop-and-copy。文中把第二种称为"writable working set(WWS)"。
作者实现是基于Xen,Xen中的shadow page tables可以用来追踪特定OS产生的dirtying statistics。(S4.1)
5. 其他摘录
(1) 为什么要进行OS instance migration?
- a clean separation between hardware and software
- facilitates fault management
- facilitates load balancing
- facilitates low-level system maintenance
(2) 虚拟机迁移的优势(相比于process-level migration)(S1)
- 避免"residual dependencies(残余依赖)"问题
- in-memory state can be transferred in a consistent and efficient fashion
- seperation of concerns between the users(使用虚拟机的人) and operator (迁移移虚拟机的人)