[发明专利]基于指针链表的消息发送方法及装置有效
申请号: | 202110445792.3 | 申请日: | 2021-04-25 |
公开(公告)号: | CN113157465B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 任秀江;曹志强;卢宏生;斯添浩;牟华先;周舟;李扬;冯冬明;周建毅 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 裴金华 |
地址: | 214100 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 指针 消息 发送 方法 装置 | ||
本发明实施例提供一种基于指针链表的消息发送方法及装置,所述方法包括:检测到相同异步信息发送队列时,向相同异步信息发送队列中添加指针链表;获取相同异步信息发送队列中的当前发送包,根据预设的发送顺序为当前发送包分配序号,获取当前发送包对应的描述符,根据描述符分配对应的悬挂缓冲编号;根据悬挂缓冲编号中的头部和尾部确定指针链表的头指针和尾指针;检测到新描述符进行悬挂缓冲时,修改当前尾指针对应的描述符的next为新描述符,并将尾指针的位置修改为新描述符;接收所有描述符对应的应答包,完成相同异步信息发送。采用本方法能够保证节点间采用多端口发送的消息顺序正确,又能够充分发挥消息的并发性,提高消息引擎的处理效率。
技术领域
本发明涉及芯片信息发送技术领域,尤其涉及一种基于指针链表的消息发送方法及装置。
背景技术
NIC芯片主要用于高性能计算系统和高速数据中心,是CPU连接高速网络的接口,实现节点间消息的发送和接收。
当前集成电路的飞速发展导致CPU处理器芯片的计算能力大幅提升,而互连网络的通信带宽提升一直依赖于高速信号传输速率的提高,远远落后于CPU处理器的通信需求。为提高CPU处理器的通信带宽,现代NIC芯片多采用多端口机制,即一个NIC芯片上配置多个网络端口,通过多网络端口并发,提高单个NIC芯片的通信带宽。多网络端口结构设计的优点是通过同时使用多个网络传输通道来提高消息传输带宽,但是多个网络端口在传输消息时是相互独立的,这样就会带来消息顺序无法保证的问题。
例如,节点A按照顺序向B发送消息1和消息2两个消息,A使用了通道1发送消息1,通道2发送消息2,由于通道1中发生阻塞,导致两个消息到达B的顺序变为消息2先于消息1到达。这样节点B接收到消息的顺序于节点A发出的消息不一致,节点A收到消息完成的顺序与消息发送顺序也不一致,这可能会导致通信语义发生变化,进而导致程序运行结果错误。如果采用简单的阻塞方式,即节点A先发送消息1,等消息完全结束后再发送消息2,虽然可以保证消息1和消息2之间的顺序,但是由于消息1和消息2之间完全串行执行,会降低消息传输的效率。尤其是当节点A的消息1后边还有需要发送给其他节点的消息时,发送给节点B的消息不应该阻塞发送给其他节点的消息处理,这样也会大大降低消息传输的效率。
因此,解决多端口互连网络系统消息序的问题对提高通信性能保证正确的通信语义是目前亟待解决的问题。
发明内容
针对现有技术中存在的问题,本发明实施例提供一种基于指针链表的消息发送方法及装置。
本发明实施例提供一种基于指针链表的消息发送方法,包括:
检测到相同异步信息发送队列时,向所述相同异步信息发送队列中添加指针链表;
获取所述相同异步信息发送队列中的当前发送包,根据预设的发送顺序为所述当前发送包分配序号,并获取所述当前发送包对应的描述符,根据所述描述符分配对应的悬挂缓冲编号;
根据所述悬挂缓冲编号中的头部和尾部确定所述指针链表的头指针和尾指针;
检测到新描述符进行悬挂缓冲时,修改当前尾指针对应的描述符的next为所述新描述符,并将所述尾指针的位置修改为所述新描述符;
接收到所有描述符对应的应答包时,完成相同异步信息发送。
在其中一个实施例中,所述方法还包括:
检测所述当前尾指针对应的描述符的状态;
当所述当前尾指针对应的描述符处于发包状态时,将所述新描述符置为暂停状态;
当所述当前尾指针对应的描述符处于等待应答状态时,将所述新描述符置为发包状态。
在其中一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110445792.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种热处理工艺的废气监测装置和使用方法
- 下一篇:一种可调铝液定量浇铸机构