[发明专利]分布式虚拟机自适应内存一致性协议及其设计方法、终端有效
| 申请号: | 201910746605.8 | 申请日: | 2019-08-14 |
| 公开(公告)号: | CN110569105B | 公开(公告)日: | 2023-05-26 |
| 发明(设计)人: | 戚正伟;陈伟业;管海兵;丁卓成;张晋 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/0815 |
| 代理公司: | 上海恒慧知识产权代理事务所(特殊普通合伙) 31317 | 代理人: | 张宁展 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分布式 虚拟机 自适应 内存 一致性 协议 及其 设计 方法 终端 | ||
本发明提供了一种分布式虚拟机自适应内存一致性协议的设计方法,包括:同步操作的拦截:针对不同的应用,客户机vCPU在顺序一致性模式和TSO模式中灵活切换;同步协议的状态说明:在原有的内存一致性协议基础上,添加Dirty及对应的原子操作状态,并实现状态转移。同时提供了一种基于上述设计方法得到的分布式虚拟机自适应内存一致性协议以及用于执行上述设计方法的终端。本发明在分布式虚拟机的基础上,使得分布式共享内存获得更好的性能。本发明使分布式虚拟机的内存同步协议在顺序一致性和x86‑TSO中灵活切换;针对不同的应用场景和限制,自适应一致性协议将原顺序一致性放松到x86‑TSO,使分布式共享内存性能提高。
技术领域
本发明涉及计算机虚拟化和分布式系统架构技术领域,具体地,为一种分布式虚拟机自适应内存一致性协议及其设计方法、终端。
背景技术
分布式虚拟机是通过抽象多台机器上的硬件资源,为单台乃至多台虚拟机提供海量的计算和I/O资源,从而满足有极高资源和性能需求的应用场景。分布式虚拟机在QEMU-KVM的基础上,添加了若干功能模块,包括IPI转发、中断转发、I/O转发、时钟同步和分布式共享内存模块,同时机器之间通过RDMA网络连接。
当前的分布式虚拟机中,分布式共享内存的协议为顺序一致性(SequentialConsistency)协议。这种协议要求任何读入操作都能看到某个数据最后一次写入的值,属于较强的一致性协议。但是,这种内存协议在保证了较强一致性的同时,却牺牲了不少的性能。Intel和AMD的x86架构没有使用这种顺序一致性,而是使用了x86-TSO作为内存的一致性协议。x86-TSO允许写操作缓存在store buffer中被延迟执行,从而提高了后续读操作的性能。但是,这种内存一致性协议,无法保证分布式虚拟机的内存同步协议在顺序一致性和x86-TSO中灵活切换,使分布式共享内存的性能大大降低。
发明内容
针对现有技术中存在的上述不足,本发明提供了一种分布式虚拟机自适应内存一致性协议及其设计方法、终端。在分布式虚拟机的基础上,设计了一种新的内存一致性协议,即自适应一致性协议,使得分布式共享内存获得更好的性能。
本发明是通过以下技术方案实现的。
根据本发明的第一个方面,提供了一种分布式虚拟机自适应内存一致性协议的设计方法,包括:
-同步操作的拦截:针对不同的应用,客户机vCPU在顺序一致性模式和TSO模式中灵活切换;
-同步协议的状态说明:在原有的内存一致性协议基础上,添加Dirty及对应的原子操作状态,并实现状态转移。
优选地,所述同步操作的拦截,包括:
将vCPU划分为两种工作模式,即顺序一致性模式和TSO模式,使得客户机能够通过hypercall在两种模式间切换:
-若客户机支持半虚拟化,则使vCPU在用户态时工作在顺序一致性模式下,在内核态时工作在TSO模式下;
-若客户机不支持半虚拟化,则vCPU只运行在顺序一致性模式下;
改写内核中的同步操作,即内存屏障和原子指令为hypercall,主动通知KVM来进行分布式共享内存的处理;
对于不能半虚拟化的用户态程序,在其对内存页进行写入时KVM将会Invalidate其他节点上的副本,让程序独占该内存页。
优选地,所述同步协议的状态说明,包括:
设自适应协议的状态包括:
Invalid(无效页),
Shared(共享页),
Dirty(脏页),
Modified(已修改页),
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910746605.8/2.html,转载请声明来源钻瓜专利网。





