发明名称 分布式内存虚拟化技术的实现方法
摘要 本发明提供一种分布式内存虚拟化技术的实现方法,它主要采用最新的硬件和软件相结合的虚拟化技术,结合分布式共享存储算法将分布于多主机的内存资源进行虚拟化和整合,为上层客户操作系统提供一个共享的单一物理地址空间,实现客户操作系统对分布式内存的管理和使用。本发明在现有的成熟技术基础上进行创新,实施简便,具有良好的使用和发展前景。
申请公布号 CN101477495B 申请公布日期 2011.03.16
申请号 CN200810225086.2 申请日期 2008.10.28
申请人 北京航空航天大学 发明人 王箫;肖利民;张萧;祝明发;刘忠麟;李响山;彭近兵
分类号 G06F12/08(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F12/08(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 一种分布式内存虚拟化技术的实现方法,其特征在于:该实现方法步骤如下:设虚拟机主存容量为M,步骤一、准备阶段:1.各结点VMM分配P2M表与SPT表所需空间,并将SPT对应所有内容清零;2.各节点VMM分别分配M大小的内存供虚拟机使用,并按照1∶1映射的方式初始化P2M表中客户物理页面到机器页面的映射关系;3.启动节点的VMM标记其所有P2M映射无效;4.非启动节点VMM标记其所有P2M映射有效;5.各个节点将对应虚拟处理器的页表基址寄存器指向P2M表基址;6.当客户操作系统开启分页时,VMM将对应虚拟处理使用的页表机制更换为对应的SPT基址;步骤二、正常工作阶段:当VMM捕获客户操作系统开启分页时:1.将与对应虚拟处理器的SPT基址装入页表基址寄存器;当VMM捕获客户操作系统更改页表基址寄存器时:1.遍历SPT,将所有SPT最后一级的页面映射标记为无效;当VMM捕获客户操作系统刷新TLB操作时:1.获取要刷新TLB对应的线性地址;2.获得该线性地址对应各级页表查询的偏移量;3.根据页表偏移良遍历各级SPT,直至最低一级SPT映射项;4.并标记该映射项无效;当VMM捕获客户操作系统缺页异常时:1.获得引发缺页的线性地址与引发缺页的原因;2.获得该线性地址对应各级页表查询的偏移量;3.取得客户页表基址;4..查询P2M表获得但前级别客户页表对应的机器地址:a)若对应P2M映射无效,则启动DSM算法从远程获对应页面的只读复本;b)由页表查询偏移量查询与下一级页表对应的客户物理地址;c)若在查询客户页表的过程中,对应的客户页表映射为无效,则向客户操作系统注入缺页异常,由客户操作系统处理缺页;d)若在查询客户页表的过程中,若客户操作系统页表映射为只读,而引发缺页的原因是写操作,则向客户操作系统注入缺页异常,由客户操作系统处理缺页;5.重复上述客户页表查询过程,直至确定与该线性地址对应的客户物理页面;6.查询P2M表,确定与引发缺页的线性地址对应的机器页面:a)若对应的映射无效,则启动DSM算法,按照引发缺页的原因,从远程获取与该客户物理页面对应的复本;b)若P2M映射权限为只读,而引发缺页的原因是写,则启动DSM算法从远程获取与客户物理页面对应的可写复本;c)若对应的映射有效而且P2M映射权限满足客户访问要求时,启动对应该线性地址对应的SPT与GPT同步过程;7.完成此次处理并返回客户指令流;步骤三、SPT与GPT同步过程:1.获得要同步的线性地址;2.查询客户页表,获取与线性地址对应的客户物理页面与客户访问权限;3.查询P2M表,获取与客户物理页面对应的机器页面,与P2M权限;4.将客户访问权限与P2M权限中最严格的权限做为SPT权限;5.获取与线性地址对应的各级页表查询偏移;6.利用各级哈寻偏移,遍历SPT直至最后一级SPT映射项;7.将机器页面与SPT访问权限填入对应映射项;8.完成SPT与GPT同步过程;步骤四、DSM处理本地请求过程:1.获得请求客户物理页面与所需权限;2.启动DSM算法从远程按权限获取该客户物理页面对应复本;3.将P2M表中对应客户物理页面的权限更改为对应权限;4.完成本地处理过程;步骤五、DSM处理远程请求的过程:1.获取远程请求页面号以及权限;2.启动DSM算法将请求页面内容发送给请求节点;3.根据DSM算法要求修改P2M表映射权限;4.查找映射至该客户物理页面的所有SPT映射项,并将这些映射项标记为无效;5.完成远程处理过程。
地址 100191 北京市海淀区学院路37号北京航空航天大学计算机科学与工程学院