[发明专利]一种可靠连接的通信方法及装置在审
| 申请号: | 201710224674.3 | 申请日: | 2017-04-07 |
| 公开(公告)号: | CN106921751A | 公开(公告)日: | 2017-07-04 |
| 发明(设计)人: | 窦本君 | 申请(专利权)人: | 广东浪潮大数据研究有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
| 地址: | 510620 广东省广州市天河区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 可靠 连接 通信 方法 装置 | ||
技术领域
本发明涉及存储系统技术领域,更具体地说,涉及一种可靠连接的通信方法及装置。
背景技术
InfiniBand是一种支持多并发连接的“转换线缆”技术,它具有高带宽、低延迟等特点,自问世以来一直被应用于高性能计算领域。InfiniBand支持多种通信服务和通信语义,通信服务包括:可靠连接(Reliable Connection,RC)、不可靠连接(Unreliable Connection,UC)以及不可靠数据报(Unreliable Datagram,UD)等,通信语义包括通道语义和内存语义,通道语义就是发送/接收模型,通信双方都必须参加,内存语义是基于单边操作的通信模型。无论是哪种通信模型,通信双方都必须先在本地创建队列对(Queue Pair,QP),QP包括发送队列和接收队列。同时,通信双方都必须在本地注册一块内存区域来作为消息缓冲区。
RC是存储系统中使用最多的通信服务,它是一种面向连接的通信模式,一个QP只能与一个远端的QP建立连接并通信。在这种情况下,如果一个进程需要和N个远端进程通信,就需要创建N个QP,对于发送/接收操作来说,接收方的每个QP都需要预先投递多个接收请求,即需要申请多块接收缓冲区。假设每个QP预先投递n个接收请求,每个请求接收缓冲区大小为s1,每个QP发送队列深度为sd(队列深度即为队列可包含的最大消息个数),接收队列深度为rd(此处rd必须大于n),工作请求大小为s2,当所有进程之间全部建立连接时,每个进程需要创建(N-1)个QP,则所需的空间为(n*s1)*(N-1)+(sd+rd)*s2*(N-1)。假设上述n=5,s1为8kB,s2为64字节,sd和rd都为16,当规模是10k时,每个进程全连接需要420MB的空间,如果是多节点,还需要乘以节点数量,因此,随着通信规模的变大,内存的开销会急剧增大,严重影响规模的可扩展性。
综上所述,如何提供一种在可靠连接中降低内存开销的技术方案,是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种可靠连接的通信方法及装置,以在可靠连接中降低内存开销,避免对规模可扩展性产生的影响。
为了实现上述目的,本发明提供如下技术方案:
一种可靠连接的通信方法,包括:
设置共享接收队列,所述共享接收队列与本地多个进程相对应;
为所述共享接收队列申请共享缓冲区;
如果需要接收远端节点发送的消息,则利用所述共享接收队列接收消息并将该消息放置到所述共享缓冲区中供对应进程获取。
优选的,利用所述共享接收队列接收消息之前,还包括:
将本地多个进程与各进程创建的队列对号的对应关系存储至所述共享接收队列中;
利用所述共享接收队列接收消息并将该消息放置到共享缓冲区中供对应进程获取,包括:
利用所述共享接收队列接收消息并获取该消息中携带的队列对号,将所述消息及对应队列对号放置到共享缓冲区中供与该队列对号对应的进程获取。
优选的,所述消息被对应进程获取之后,还包括:
删除所述共享缓冲区中缓存的所述消息。
优选的,为所述共享接收队列申请共享缓冲区,包括:
为所述共享接收队列申请共享缓冲区,所述共享缓冲区包括多个子缓冲区,每个子缓冲区包含的缓冲块的大小不同;
利用所述共享接收队列将消息放置到所述共享缓冲区中,包括:
利用所述共享接收队列将消息放置到与该消息大小对应的子缓冲区中。
一种可靠连接的通信装置,包括:
设置模块,用于:设置共享接收队列,所述共享接收队列与本地多个进程相对应;
申请模块,用于:为所述共享接收队列申请共享缓冲区;
接收模块,用于:如果需要接收远端节点发送的消息,则利用所述共享接收队列接收消息并将该消息放置到所述共享缓冲区中供对应进程获取。
优选的,还包括:
存储模块,用于:利用所述共享接收队列接收消息之前,将本地多个进程与各进程创建的队列对号的对应关系存储至所述共享接收队列中;
接收模块包括:
第一接收单元,用于:利用所述共享接收队列接收消息并获取该消息中携带的队列对号,将所述消息及对应队列对号放置到共享缓冲区中供与该队列对号对应的进程获取。
优选的,还包括:
删除模块,用于:所述消息被对应进程获取之后,删除所述共享缓冲区中缓存的所述消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东浪潮大数据研究有限公司,未经广东浪潮大数据研究有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710224674.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多拼相机
- 下一篇:半导体安装设备及其头部以及用于制造叠层芯片的方法





