一种低延迟旁路的消息优化方法与流程

文档序号:16467502发布日期:2019-01-02 22:52阅读:281来源:国知局
一种低延迟旁路的消息优化方法与流程

本发明涉及点对点通信领域,尤其涉及一种低延迟旁路的消息优化方法。



背景技术:

软件方面,通信支撑环境由于需要兼容多种底层网络环境,通常需要采用分层方式进行实现,从而实现与底层网络无关的点对点消息协议;硬件方面,底层网络通常支持队列消息操作,通信支撑环境向底层网络发送队列投递消息描述符,由网络接口通过访存读取消息描述符并将描述符指定的地址空间的内容发送至对方接收队列。上层通信支撑环境将用户消息数据和相关握手信息组成的包头进行打包,通过调用底层队列消息发送至接收方,接收方匹配相应握手信息后将携带的用户数据拷贝至用户指定目的地址。软件多层次的实现方式下,在发送端进行消息组包以及接收解包并处理的过程中,将产生过多的调用开销,从而导致消息延迟的增加;此外,由硬件通过访存方式读取用户描述符并通过访存将数据发送上网的方式,也会增加发送端硬件处理开销。



技术实现要素:

本发明的目的在于通过一种低延迟旁路的消息优化方法,来解决以上背景技术部分提到的问题。

为达此目的,本发明采用以下技术方案:

一种低延迟旁路的消息优化方法,该方法包括:

基于尾部标识的发送端处理流程,包括:一、接收用户发送请求,解析用户发送请求,若用户数据长度加包头长度小于短快消息的最大长度长度限制且当前有可用短快消息条目,则直接进入短快消息处理流程;二、根据用户请求生成消息包头,将消息包头、用户数据和尾部标识直接通过写io方式写入短快消息条目中;三、启动短快消息传输,将先前写入的消息数据同时写入接收端预留内存中;

无内存拷贝的接收端处理流程,包括:一、轮转判断预留内存的尾部标识位,如果有效则说明有新的数据内容写入;二、取出消息包头,解析匹配信息,根据匹配信息将消息数据内容拷贝至用户目的空间。

特别地,采用静态划分方式对短快消息通路条目进行管理:共享网络接口的所有进程对短快消息通路条目进行私有均分,同时,辅以计数方式,对短快消息通路进行管理。

特别地,在每个进程中为所有潜在通信对象预留一定量的内存条目,用于接收远程进程通过短快消息写入的数据内容。

特别地,所内存条目采用位图方式进行管理,当可用条目数到达预设上限时,通过异步消息方式通知远程进程,远程进程收到该通知后采用或方式更新当前位图。

本发明提出的低延迟旁路的消息优化方法采用旁路方式,对于满足一定长度要求的用户消息请求,采用快速旁路方式处理,减少用户函数到底层消息操作的调用层次;同时,不在通信支撑环境中对用户消息数据以及包头进行组包操作,而是将这些信息直接写入网络接口芯片的短快消息通路条目中,减少硬件读取描述符并访问用户数据的传输启动开销。本发明能够充分利用底层硬件的短快消息通路,在降低硬件处理开销的同时,从软件层面尽量减少消息数据的启动和处理开销,有效降低短消息通信延迟。

附图说明

图1为本发明实施例提供的低延迟旁路的消息优化方法原理示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例,不是旨在于限制本发明。

请参照图1所示,图1为本发明实施例提供的低延迟旁路的消息优化方法原理示意图,图中eager消息协议是一种常用的点对点消息协议,通常基于底层网络的异步消息功能,实现用户长度较短的点对点通信;发送端将用户控制信息(即eager包头)和用户数据体封装在发送端连续物理内存空间,通过底层网络异步消息功能发送至接收端后,再由接收端对eager包头进行解析后将数据体内容拷贝至用户指定接收空间。

本实施例中低延迟旁路的消息优化方法具体包括:基于尾部标识的发送端处理流程,包括:一、接收用户发送请求,解析用户发送请求,若用户数据长度加包头长度小于短快消息的最大长度长度限制且当前有可用短快消息条目,则直接进入短快消息处理流程;二、根据用户请求生成消息包头,将消息包头、用户数据和尾部标识直接通过写io方式写入短快消息条目中;三、启动短快消息传输,将先前写入的消息数据同时写入接收端预留内存中。

无内存拷贝的接收端处理流程,包括:一、轮转判断预留内存的尾部标识位,如果有效则说明有新的数据内容写入;二、取出消息包头,解析匹配信息,根据匹配信息将消息数据内容拷贝至用户目的空间。在本实施例中,点对点消息是指:参与通信的进程个数限制为2个,一方为发送方,一方为接收方。消息包头是指:由通信支撑环境根据用户指定的控制信息进行组织,用于点对点通信双方的消息匹配操作。

在本实施例中针对通信资源管理:由于底层硬件短快消息通路条目数量有限,因此,采用静态划分方式对短快消息通路条目进行管理,即共享网络接口的所有进程对短快消息通路条目进行私有均分,同时,辅以计数方式,对短快消息通路进行管理。由于短快消息通路支持单边直发操作,需要在每个进程中为所有潜在通信对象预留一定量的内存条目,用于接收远程进程通过短快消息写入的数据内容。

本发明的技术方案采用旁路方式,对于满足一定长度要求的用户消息请求,采用快速旁路方式处理,减少用户函数到底层消息操作的调用层次;同时,不在通信支撑环境中对用户消息数据以及包头进行组包操作,而是将这些信息直接写入网络接口芯片的短快消息通路条目中,减少硬件读取描述符并访问用户数据的传输启动开销。本发明针对低延迟短消息通信需求,在精简上层通信协议复杂度的同时,采用基于硬件快速通路的方式,有效降低短消息通信延迟,满足上层应用课题的通信性能需求。

本领域普通技术人员可以理解实现上述实施例中的全部部分是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。



技术特征:

技术总结
本发明公开一种低延迟旁路的消息优化方法,该方法采用旁路方式,对于满足一定长度要求的用户消息请求,采用快速旁路方式处理,减少用户函数到底层消息操作的调用层次;同时,不在通信支撑环境中对用户消息数据以及包头进行组包操作,而是将这些信息直接写入网络接口芯片的短快消息通路条目中,减少硬件读取描述符并访问用户数据的传输启动开销。本发明能够充分利用底层硬件的短快消息通路,在降低硬件处理开销的同时,从软件层面尽量减少消息数据的启动和处理开销,有效降低短消息通信延迟。

技术研发人员:魏迪;尹万旺;王丹云;袁欣辉;林蓉芬;杨金才
受保护的技术使用者:无锡江南计算技术研究所
技术研发日:2018.08.15
技术公布日:2019.01.01
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1