[发明专利]多计算机系统中节点的DMA设备及通信方法有效
申请号: | 200910083454.9 | 申请日: | 2009-05-05 |
公开(公告)号: | CN101539902A | 公开(公告)日: | 2009-09-23 |
发明(设计)人: | 王凯;胡涛;曹政;安学军;孙凝晖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F13/28;H04L29/08 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 祁建国;梁 挥 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机系统 节点 dma 设备 通信 方法 | ||
1.一种多计算机系统中节点的通信方法,其特征在于,所述方法包括:
步骤1,本地节点的通信库软件根据应用程序生成DMA命令,将所述DMA命令的描述符存储到内存中,将包含所述DMA命令的描述符内存位置信息的门铃传送给本地节点的DMA设备;
步骤2,本地节点的DMA设备根据所述门铃读取所述描述符;根据所述描述符中信息,将网络包发送到互连网络并在发送完成后生成发送完成事件,或不生成网络包仅生成发送完成事件;
步骤3,远端节点的DMA设备从互连网络上接收网络包,根据所述网络包的类型,仅在接收完成后生成接收完成事件,或保存所述网络包中数据并在接收完成后生成接收完成事件,或将所述远端节点的数据装入网络包发送给所述本地节点。
2.如权利要求1所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA设备支持通道,所述步骤1前还包括,
步骤21,在处理器I/O地址空间上映射用于接收所述门铃的命令窗口。
3.如权利要求2所述的多计算机系统中节点的通信方法,其特征在于,
所述命令窗口的大小与所述DMA设备支持的通道数成正比。
4.如权利要求2所述的多计算机系统中节点的通信方法,其特征在于,
所述步骤21还包括:
步骤41,为所述DMA设备支持的每个通道在内存中分配用于暂存DMA命令的发送完成事件的发送完成事件缓冲区、用于暂存DMA命令的接收完成事件的接收完成事件缓冲区和用于暂存DMA设备接收到的NAP网络包中数据的DMA数据接收缓冲区。
5.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA命令为NAP立即数命令或NAP间接数命令,
所述步骤2进一步为:
步骤51,根据所述描述符获得待传输的数据,DMA设备将所述描述符中与接收相关的信息和所述数据封装成一个NAP网络包,发送到互连网络;
步骤52,在所述NAP网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地 节点。
6.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA命令为RDMA put命令,
所述步骤2进一步为:
步骤61,根据所述描述符读取内存中待传输的数据,DMA设备将所述描述符中与接收相关的信息和所述数据封装成一个或多个RDMA put网络包,发送到互连网络;
步骤62,在全部所述RDMA put网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地节点。
7.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA命令为RDMA get命令,
所述步骤2进一步为:
步骤71,将所述RDMA get命令封装为一个RDMA get网络包,发送到互连网络;
步骤72,在所述RDMA get网络包发送到互连网络上后,根据所述描述符中与发送完成事件相关的信息,确定是否生成发送完成事件,并发送给所述本地节点。
8.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA命令为Fence命令,
所述步骤2进一步为:
步骤81,生成所述Fence命令对应的网络包,发送到互连网络,并且不生成发送完成事件。
9.如权利要求4所述的多计算机系统中节点的通信方法,其特征在于,
所述DMA命令为Flush命令,
所述步骤2进一步为:
步骤91,不生成网络包,直接生成发送完成事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910083454.9/1.html,转载请声明来源钻瓜专利网。