[发明专利]共享系统地址空间的非紧耦合系统间的RDMA通信方法有效
申请号: | 201410432369.X | 申请日: | 2014-08-28 |
公开(公告)号: | CN104202391B | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 王恩东;胡雷钧;唐士斌;陈继承 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 系统 地址 空间 耦合 rdma 通信 方法 | ||
1.一种基于共享系统地址空间的非紧耦合系统间的RDMA通信方法,其特征在于,包括如下步骤:
S1.源节点通过直接内存存取指令远程访问目的节点,在源节点和目的节点之间建立远程直接内存存取RDMA连接;
S2.在建立所述RDMA连接后,在源节点与目的节点之间执行数据传递;
S3.数据传递完毕后释放所述RDMA连接;
其中,节点内部通过节点内控制器INC相连,每个INC连接至少一个CPU,节点之间通过节点间控制器ENC相连;远程目的节点的共享内存资源与I/O资源被映射在源节点本地的内存映射I/O MMIO地址空间当中,通过处理器的Load/Store指令直接访问远程目的节点的共享内存资源和I/O资源。
2.如权利要求1所述的方法,其特征在于:
所述步骤S1具体为:
S11.源节点初始化本地RDMA传输的发送上下文数据结构,包括目的节点的内存映射I/O MMIO地址、状态、发送字节总数以及当前已发送字节数;
S12.源节点构造向远程目的节点申请RDMA连接的请求消息,消息内容包括目的节点的MMIO地址、源节点的MMIO地址,然后基于全局共享系统地址空间的映射关系通过非紧耦合系统中的节点间控制器发送到远程节点;
S13.所述目的节点接收到源节点发送的所述申请RDMA连接的请求消息后,构造接收上下文数据结构,包括源节点的MMIO地址、状态、接收字节总数以及当前已接收字节数;
S14.目的节点回复确认消息,源节点收所述确认消息,完成RDMA连接的建立过程。
3.如权利要求2所述的方法,其特征在于:
所述步骤S12中,非紧耦合系统中的节点间控制器的处理过程为:根据所述请求消息中的目的节点的MMIO地址与全局共享系统地址空间映射关系,将目的节点的MMIO地址翻译成目的节点号与逻辑地址,并基于所述目的节点号和逻辑地址将所述请求消息发送到目的节点。
4.如权利要求1或2所述的方法,其特征在于,所述步骤S2具体为:
S21.源节点以DMA方式从源节点内主机内存中读取数据,并封装成RDMA消息,所述RDMA消息中包括目的节点的MMIO地址;
S22.非紧耦合系统中的节点间控制器,根据所述RDMA消息中的目标地址与全局共享系统地址空间映射关系,将目标节点的MMIO地址翻译成目标节点号和逻辑地址,并基于所述目标节点号和逻辑地址将所述RDMA消息发送到目的节点;
S23.目的节点收到RDMA消息以后,根据节点内地址映射关系,将逻辑地址翻译成节点内的内存物理地址,拷贝数据到相应的内存地址当中;
S24.目的节点构造传输完成消息,通知源节点。
5.如权利要求4所述的方法,其特征在于:
所述RDMA消息中还包括一个序列号,用来标识当前缓冲区传送的消息号,以便检测消息丢失的情况。
6.如权利要去4所述的方法,其特征在于:
所述步骤S23中,在目的节点收到RDMA消息之后,将逻辑地址翻译成节点内的内存物理地址之前,还包括基于硬件执行CRC校验。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410432369.X/1.html,转载请声明来源钻瓜专利网。