[发明专利]虚拟化的RDMA方法、系统、存储介质及电子设备有效
申请号: | 202111467993.X | 申请日: | 2021-12-03 |
公开(公告)号: | CN113867993B | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 姜哓庆;陈飞;邹懋;王鲲 | 申请(专利权)人: | 维塔科技(北京)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/455;G06F12/10 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 温易娜 |
地址: | 100080 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 rdma 方法 系统 存储 介质 电子设备 | ||
1.一种虚拟化的RDMA方法,其特征在于,所述方法应用于数据处理系统,所述数据处理系统包括宿主机、物理网卡以及依附于所述宿主机上的虚拟机,所述方法包括:
所述虚拟机响应于运行在所述虚拟机上的应用程序发起Verbs API请求,通过虚拟RDMA库劫持所述API请求;
所述虚拟机通过所述虚拟RDMA库将所述API请求发送至所述虚拟机与所述宿主机共享的共享内存区;
所述宿主机通过RDMA服务从所述共享内存区获取所述API请求,并将所述API请求发送至所述物理网卡;
所述物理网卡响应于接收到所述API请求,根据所述API请求的参数信息执行所述API请求,得到目标数据并将所述目标数据发送至所述宿主机;
所述宿主机通过所述RDMA服务接收所述目标数据,将所述目标数据发送至所述共享内存区;
所述虚拟机通过所述虚拟RDMA库从所述共享内存区获取所述目标数据,并将所述目标数据返回至所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述虚拟机创建与所述宿主机共享的共享内存区,得到所述共享内存区的GVA地址,并根据所述GVA地址得到GPA地址;
所述虚拟机通过虚拟RDMA库发起与所述宿主机的RDMA服务的vsock连接,在所述vsock连接形成后,通过所述vsock连接建立的vsock数据通道,将所述GPA地址发送至所述宿主机;
所述宿主机通过虚拟机监视器接收所述GPA地址;
所述宿主机响应于接收到所述GPA地址,基于vhost协议根据所述GPA地址得到HPA地址,并通过所述RDMA服务根据所述HPA地址重映射得到HVA地址。
3.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述虚拟机基于所述共享内存区,构建第一环形队列以及第二环形队列;
所述虚拟机通过所述虚拟RDMA库将所述API请求发送至所述虚拟机与所述宿主机共享的共享内存区;所述宿主机通过RDMA服务从所述共享内存区获取所述API请求;所述宿主机通过RDMA服务接收所述目标数据,将所述目标数据发送至所述共享内存区;所述虚拟机通过所述虚拟RDMA库从所述共享内存区获取所述目标数据,包括:
所述虚拟机通过所述虚拟RDMA库将所述API请求序列化得到序列化请求,并将所述序列化请求发送至所述第一环形队列;
所述宿主机通过RDMA服务消费所述第一环形队列中的序列化请求,将所述序列化请求反序列化为所述API请求;
所述宿主机通过RDMA服务接收所述目标数据,将所述目标数据序列化得到序列化数据,并将所述序列化数据发送至所述第二环形队列;
所述虚拟机通过所述虚拟RDMA库消费所述第二环形队列中的序列化数据,将所述序列化数据反序列化为所述目标数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于维塔科技(北京)有限公司,未经维塔科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111467993.X/1.html,转载请声明来源钻瓜专利网。