[发明专利]分布式虚拟机自适应内存一致性协议及其设计方法、终端有效
| 申请号: | 201910746605.8 | 申请日: | 2019-08-14 |
| 公开(公告)号: | CN110569105B | 公开(公告)日: | 2023-05-26 |
| 发明(设计)人: | 戚正伟;陈伟业;管海兵;丁卓成;张晋 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/0815 |
| 代理公司: | 上海恒慧知识产权代理事务所(特殊普通合伙) 31317 | 代理人: | 张宁展 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分布式 虚拟机 自适应 内存 一致性 协议 及其 设计 方法 终端 | ||
1.一种分布式虚拟机自适应内存一致性协议的设计方法,其特征在于,包括:
同步操作的拦截:针对不同的应用,客户机vCPU在顺序一致性模式和TSO模式中灵活切换;
同步协议的状态说明:在原有的内存一致性协议基础上,添加Dirty及对应的原子操作状态,并实现状态转移;
其中:
所述同步操作的拦截,包括:
将vCPU划分为两种工作模式,即顺序一致性模式和TSO模式,使得客户机能够通过hypercall在两种模式间切换:
若客户机支持半虚拟化,则使vCPU在用户态时工作在顺序一致性模式下,在内核态时工作在TSO模式下;
若客户机不支持半虚拟化,则vCPU只运行在顺序一致性模式下;
改写内核中的同步操作,即内存屏障和原子指令为hypercall,主动通知KVM来进行分布式共享内存的处理;
对于不能半虚拟化的用户态程序,在其对内存页进行写入时KVM将会无效其他节点上的副本,让程序独占该内存页;
所述同步协议的状态说明,包括:
设自适应协议的状态包括:
Invalid,表示无效页;
Shared,表示共享页;
Dirty,表示脏页;
Modified,表示已修改页;
Invalid*,表示原子操作模式的无效页;
Shared*,表示原子操作模式的共享页;
Dirty*,表示原子操作模式的脏页;
对自适应一致性协议进行状态转移:
当节点上任意一个vCPU最先从顺序一致性模式切换到TSO模式时,将节点上尚未同步的修改广播给其他节点,同时使处在Dirty或Dirty*状态的页分别转移到Shared和shared*状态;
若当前节点存在顺序一致性模式的vCPU:写入Shared或shared*状态的页时,页状态转移到Modified状态;写入Invalid或Invalid*状态的页时,转移到Modified状态;
若当前节点不存在顺序一致性模式的vCPU:写入Shared或Shared*状态的页时,页状态分别转移到Dirty和Dirty*状态;写入Invalid或Invalid*状态的页时,分别转移到Dirty和Dirty*状态;
当读取Invalid或Invalid*页时,首先从页Owner处获得一份拷贝,随后分别转移到Shared和Shared*状态。
2.一种分布式虚拟机自适应内存一致性协议,其特征在于,通过权利要求1所述的分布式虚拟机自适应内存一致性协议的设计方法设计得到。
3.一种终端,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时能够用于执行权利要求1所述的分布式虚拟机自适应内存一致性协议的设计方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910746605.8/1.html,转载请声明来源钻瓜专利网。





