[发明专利]一种低延迟旁路的消息优化方法有效
申请号: | 201810928707.7 | 申请日: | 2018-08-15 |
公开(公告)号: | CN109117288B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 魏迪;尹万旺;王丹云;袁欣辉;林蓉芬;杨金才 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F3/06;H04L69/22 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 214000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 延迟 旁路 消息 优化 方法 | ||
本发明公开一种低延迟旁路的消息优化方法,该方法采用旁路方式,对于满足一定长度要求的用户消息请求,采用快速旁路方式处理,减少用户函数到底层消息操作的调用层次;同时,不在通信支撑环境中对用户消息数据以及包头进行组包操作,而是将这些信息直接写入网络接口芯片的短消息通路条目中,减少硬件读取描述符并访问用户数据的传输启动开销。本发明能够充分利用底层硬件的短消息通路,在降低硬件处理开销的同时,从软件层面尽量减少消息数据的启动和处理开销,有效降低短消息通信延迟。
技术领域
本发明涉及点对点通信领域,尤其涉及一种低延迟旁路的消息优化方法。
背景技术
软件方面,通信支撑环境由于需要兼容多种底层网络环境,通常需要采用分层方式进行实现,从而实现与底层网络无关的点对点消息协议;硬件方面,底层网络通常支持队列消息操作,通信支撑环境向底层网络发送队列投递消息描述符,由网络接口通过访存读取消息描述符并将描述符指定的地址空间的内容发送至对方接收队列。上层通信支撑环境将用户消息数据和相关握手信息组成的包头进行打包,通过调用底层队列消息发送至接收方,接收方匹配相应握手信息后将携带的用户数据拷贝至用户指定目的地址。软件多层次的实现方式下,在发送端进行消息组包以及接收解包并处理的过程中,将产生过多的调用开销,从而导致消息延迟的增加;此外,由硬件通过访存方式读取用户描述符并通过访存将数据发送上网的方式,也会增加发送端硬件处理开销。
发明内容
本发明的目的在于通过一种低延迟旁路的消息优化方法,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种低延迟旁路的消息优化方法,该方法包括:
基于尾部标识的发送端处理流程,包括:一、接收用户发送请求,解析用户发送请求,若用户数据长度加包头长度小于短消息的最大长度长度限制且当前有可用短消息条目,则直接进入短消息处理流程;二、根据用户请求生成消息包头,将消息包头、用户数据和尾部标识直接通过写IO方式写入短消息条目中;三、启动短消息传输,将先前写入的消息数据同时写入接收端预留内存中;
无内存拷贝的接收端处理流程,包括:一、轮转判断预留内存的尾部标识位,如果有效则说明有新的数据内容写入;二、取出消息包头,解析匹配信息,根据匹配信息将消息数据内容拷贝至用户目的空间。
特别地,采用静态划分方式对短消息通路条目进行管理:共享网络接口的所有进程对短消息通路条目进行私有均分,同时,辅以计数方式,对短消息通路进行管理。
特别地,在每个进程中为所有潜在通信对象预留一定量的内存条目,用于接收远程进程通过短消息写入的数据内容。
特别地,所内存条目采用位图方式进行管理,当可用条目数到达预设上限时,通过异步消息方式通知远程进程,远程进程收到该通知后采用或方式更新当前位图。
本发明提出的低延迟旁路的消息优化方法采用旁路方式,对于满足一定长度要求的用户消息请求,采用快速旁路方式处理,减少用户函数到底层消息操作的调用层次;同时,不在通信支撑环境中对用户消息数据以及包头进行组包操作,而是将这些信息直接写入网络接口芯片的短消息通路条目中,减少硬件读取描述符并访问用户数据的传输启动开销。本发明能够充分利用底层硬件的短消息通路,在降低硬件处理开销的同时,从软件层面尽量减少消息数据的启动和处理开销,有效降低短消息通信延迟。
附图说明
图1为本发明实施例提供的低延迟旁路的消息优化方法原理示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810928707.7/2.html,转载请声明来源钻瓜专利网。