Xen动态迁移的内存热拷贝技术

原创 2011年01月25日 14:26:00

Xen的Live Migration可以使得一个虚拟机在不停止服务的情况下从一台服务器迁移到另一台服务器上,该功能的好处不言而喻。

当然Live Migration的执行过程很复杂,这里,我们研究一下内存是如何迁移到另一台服务器上的,实际上这相当于在不同的物理机器之间进行进程上下文的切换,这是该“Migration”被誉为“Live”的核心。

说起来也相当简单,那就是内存热拷贝,见下图:

 

(1)源主机中内存的使用情况
(2)将源主机的内存拷贝到目标主机,在此过程中源主机的内存发生了改变,但不会所有内存都发生改变。
(3)将发生改变的内存拷贝到目标主机,在此过程中源主机继续改变。
(4)这样重复的对发生改变的内存进行拷贝,直到两边内存一致,完成迁移。

 

这里有一个假设,那就是拷贝内容会越来越少,因为拷贝时间越来越短,从而达到最终两边内容的一致。所以拷贝次数和迁移时间是随机的,但它确实收敛的。

Xen动态迁移源码分析

xen动态迁移源码解析
  • Bearox
  • Bearox
  • 2017年04月06日 18:01
  • 653

Xen虚拟机迁移技术

一、迁移的准备工作 在进行迁移之前,有一些准备工作要做,主要是目的主机和源主机及其网络方面。下面分别加以介绍。 首先,在源主机和目的主机方面,两者必须都运行有Xen和xend守护进程。必须确保目的...

为需要动态分配内存的类声明一个拷贝构造函数与一个赋值运算运算符

构造函数,析构函数和赋值操作符 几乎所有的类都有一个或多个构造函数,一个析构函数和一个赋值操作符。这没什么奇怪的,因为它们提供的都是一些最基本的功能。构造函数控制对象生成时的基本操作,并保证对象被初...

为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符

条款11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符 ...
  • meiyuli
  • meiyuli
  • 2013年09月29日 14:26
  • 760

条款 11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符

//  一个很简单的 String 类 class String { public: String(const char *value); ~String();  //  没有拷贝构造函数和...

c++学习笔记之类和对象、构造析构拷贝构造函数、动态内存友元函数

2017-3-21 ============ 主题:     1.类和对象     2.封裝     3.构造函数与析构函数     4.标准库类型string     5.static...
  • gmq_syy
  • gmq_syy
  • 2017年03月27日 16:53
  • 96

注意浅拷贝的动态内存的释放

深拷贝与浅拷贝在C++类开发中是一类棘手的问题,稍不留神就会出现诸如内存泄漏,野指针等问题。尤其是在类中成员变量存在动态分配内存的时候(指针,引用)。浅拷贝就是对象的数据成员之间的简单赋值,如类的默认...

Linux内存管理之进程创建的写时拷贝技术

Unix的进程创建很特别。许多其他的操作系统都提供了产生进程的机制,首先在新的地址空间创建进程,读入可执行的文件,最后开始执行。Unix采用了与众不同的实现方式,它把上述步骤分解到两个单独的函数中去执...

页式内存管理和写时拷贝技术

基本的内存管理方法:固定加载地址的内存管理、固定分区的内存管理、非固定分 区的内存管理、交换内存管理 这几种内存管理方式: 1、固态分区的形式浪费内部的空间,造成内部碎片。有大的空间,小的进...

CString结构 CopyBeforeWrite技术 内存拷贝越界

最近在网上看了一篇文章,是有关CString 结构的,我把它转载过来希望大家看了对你有帮助理解CString CString? 如果你接触过vc/mfc,呵呵,这个名字你一定见过。那么你就大胆的看下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Xen动态迁移的内存热拷贝技术
举报原因:
原因补充:

(最多只允许输入30个字)