[发明专利]一种基于释放一致性内存同步的巨型虚拟机有效
| 申请号: | 202110683056.1 | 申请日: | 2021-06-18 |
| 公开(公告)号: | CN113342465B | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 戚正伟;项羽心;余博识;李嘉森;贾兴国;管海兵 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 上海恒慧知识产权代理事务所(特殊普通合伙) 31317 | 代理人: | 张宁展 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 释放 一致性 内存 同步 巨型 虚拟机 | ||
1.一种基于释放一致性内存同步的巨型虚拟机,包括若干虚拟机节点,所述若干虚拟机节点通过网络相互连接通信;所述虚拟机节点包括物理内存,所述若干虚拟机节点的物理内存构成所述巨型虚拟机的分布式共享内存;其特征在于:所述虚拟机节点还包括映射管理器;所述物理内存包括若干页以及本地页缓存,所述虚拟机节点通过映射管理器接口物理内存并进行管理;所述页由所述物理内存接口的映射管理器管理,所述映射管理器管理的页地址范围是连续的;所述本地页缓存用于存储其他虚拟机节点管理的页;所述虚拟机节点对页进行读或写请求时,所述虚拟机节点映射管理器受控于程序执行以下读操作或者写操作:所述虚拟机节点映射管理器在若干页以及本地页缓存中查找读写地址所对应页,若在若干页以及本地页缓存不命中,则向远端管理读写地址所对应页的虚拟机节点发送请求,获取读写地址所对应页信息并存储在本地页缓存中;所述虚拟机节点映射管理器对查找获取的页进行读操作或者写操作;
所述虚拟机节点映射管理器受控于程序对本地页缓存中的页在同步点前执行以下自无效操作和自写回操作:自无效操作,所述虚拟机节点在同步点前若要读取一个页,则将所述本地页缓存中该读取页副本无效化,保证读取最新的该读取页副本;自写回操作,所述虚拟机节点在同步点前将写操作修改的本地页缓存中的页内容写回到管理该写操作修改的页的虚拟机节点,保证写操作修改的本地页缓存中的页内容对其他虚拟机节点可见;
所述虚拟机节点映射管理器管理的页分为S、P、(S,NW)、(S,SW)和(S,MW)五种状态,所述虚拟机节点映射管理器受控于程序根据所述五种状态页分别进行页管理:所有的页默认是S状态页,本地页缓存中的S状态页因写操作发生修改、在同步点前都执行自写回操作,本地页缓存中的所有S状态页在同步点前都执行自无效操作;只有一个虚拟机节点曾经读操作或写操作的页是P状态页,本地页缓存中的P状态页不执行自无效操作,执行自写回操作;曾经写操作的虚拟机节点数量为零的页是(S,NW)状态页,本地页缓存中的(S,NW)状态页不执行自无效操作;曾经写操作的虚拟机节点数量为一的页是(S,SW)状态页,本地页缓存中的(S,SW)状态页,写操作的虚拟机节点无需执行自无效操作,但其他的虚拟机节点需要执行自无效操作;曾经写操作的虚拟机节点数量为大于一的页是(S,MW)状态页,本地页缓存中的(S,MW)状态页,写操作的虚拟机节点都需要执行自无效操作。
2.根据权利要求1所述的一种基于释放一致性内存同步的巨型虚拟机,其特征在于:自无效操作和自写回操作由所述虚拟机节点上的操作系统或者应用程序在上下文切换或者同步点时通过超级调用hypercall调用。
3.根据权利要求1所述的一种基于释放一致性内存同步的巨型虚拟机,其特征在于所述虚拟机节点映射管理器受控于程序对本地页缓存中需要执行自写回操作的页按照以下步骤处理:所述映射管理器对本地页缓存中的页写操作前,保留一个写操作所对应本地页缓存中的页的副本,称为Twin;所述映射管理器自写回操作时,计算完成写操作本地页缓存中的页和Twin的页内容差异,称为Diff;所述映射管理器给远端管理写操作所对应页的虚拟机节点发送Diff内容;所述管理写操作所对应页的虚拟机节点根据接收到的Diff内容更新写操作所对应页。
4.根据权利要求1所述的一种基于释放一致性内存同步的巨型虚拟机,其特征在于所述若干虚拟机节点受控于程序在访问分布式共享内存时执行以下步骤:
S1、请求页的虚拟机节点检查该访问内存地址所属页是否在若干页或者本地页缓存中,若是请求页的虚拟机节点直接访问该页面,若否,进入S2步骤;
S2、请求页的虚拟机节点根据读或写的访问类型给管理页的虚拟机节点发送读或写请求;
S3、管理页的虚拟机节点收到请求后更新该页的历史读者/写者虚拟机节点目录,并通知该页的读者虚拟机节点或写者虚拟机节点该页状态的变化;
S4、管理页的虚拟机节点发送给请求页的虚拟机节点该页内容和状态;
S5、请求页的虚拟机节点将该页内容和状态缓存到本地页缓存;
所述若干虚拟机节点自无效操作时执行以下步骤:
R1、虚拟机节点遍历本地页缓存中的页,检查页状态;若页状态为P/S、或(S,NW)、或(S,SW),该页的唯一写者虚拟机节点无需自无效操作该页;
所述若干虚拟机节点自写回操作时执行以下步骤:
W1、虚拟机节点遍历本地页缓存中的页,若虚拟机节点对该页曾经进行过写操作则进入步骤W2,否则跳过;
W2、虚拟机节点计算该页与该页的Twin的Diff,若Diff为0则跳过,否则将Diff发送给管理该页的虚拟机节点;
W3、管理该页的虚拟机节点收到Diff后更新页的对应内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110683056.1/1.html,转载请声明来源钻瓜专利网。





