基于大容量内存的高并发协议栈卸载方法、设备、介质技术

技术编号:29465010 阅读:41 留言:0更新日期:2021-07-27 17:52
本发明专利技术提供了一种基于大容量内存的高并发协议栈卸载方法、设备、介质,所述方法包括:获取待发送数据,并确定所述待发送数据的第一数据量信息;将所述待发送数据缓冲至共享内存的发送缓冲区;向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。根据本发明专利技术实施例提供的方案,能够利用共享内存作为待发送数据的缓冲空间,相比起DDR存储器在存储容量上有较大的提升,提高了高并发场景下协议栈的卸载能力,从而提高网络性能。

【技术实现步骤摘要】
基于大容量内存的高并发协议栈卸载方法、设备、介质
本专利技术涉及但不限于网络传输
,尤其涉及一种基于大容量内存的高并发协议栈卸载方法、设备、介质。
技术介绍
随着网络技术的快速发展,百万兆以太网越来越普及,中央处理器(CentralProcessingUnit,CPU)实现的传输控制协议(TransmissionControlProtocol,TCP)协议栈的开销越来越大,软件运行的开销和缓存时延已经成为高性能网络服务的技术瓶颈,为了释放CPU资源,出现了能够将协议栈卸载到现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)硬件设备进行处理的TCP卸载引擎(TCPOffloadEngin,TOE)技术。当并发的网络链接较多,缓冲队列内存的开销较大,在常见的TOE实现方案中,运行空间通常是由挂载的双倍数据速率(DoubleDataRate,DDR)存储器提供,而DDR存储器的硬件特性决定了运行空间的扩展有限,很难满足高并发网络链接场景下的容量需求,影响缓存时延和网络性能。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本专利技术实施例提供了一种基于大容量内存的高并发协议栈卸载方法、设备、介质,能够实现高并发场景下的协议栈卸载,提高网络性能。第一方面,本专利技术实施例提供了一种基于大容量内存的高并发协议栈卸载方法,应用于CPU,所述CPU与TOE硬件通信连接,所述基于大容量内存的高并发协议栈卸载方法包括:获取待发送数据,并确定所述待发送数据的第一数据量信息;将所述待发送数据缓冲至共享内存的发送缓冲区;向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。第二方面,本专利技术实施例提供了一种基于大容量内存的高并发协议栈卸载方法,应用于TOE硬件,所述TOE硬件与CPU通信连接,所述协议栈卸载方法包括:获取所述CPU发送的第一数据量信息;根据所述第一数据量信息从共享内存的发送缓冲区获取待发送数据,其中,所述待发送数据由所述CPU获取并缓冲至所述发送缓冲区;针对所述待发送数据执行TOE卸载。第三方面,本专利技术实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的基于大容量内存的高并发协议栈卸载方法,或者,执行所述计算机程序时实现如第二方面所述的基于大容量内存的高并发协议栈卸载方法。本专利技术实施例包括:获取待发送数据,并确定所述待发送数据的第一数据量信息;将所述待发送数据缓冲至共享内存的发送缓冲区;向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。根据本专利技术实施例提供的方案,能够利用共享内存作为待发送数据的缓冲空间,相比起DDR存储器在存储容量上有较大的提升,提高了高并发场景下协议栈的卸载能力,从而提高网络性能。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1是本专利技术一个实施例提供的基于大容量内存的高并发协议栈卸载方法的流程图;图2是本专利技术另一个实施例提供的服务器结构示意图;图3是本专利技术另一个实施例提供的获取待发送数据的流程图;图4是本专利技术另一个实施例提供的同步第一地址信息的流程图;图5是本专利技术另一个实施例提供的执行数据接收的流程图;图6是本专利技术另一个实施例提供的获取待接收数据的流程图;图7是本专利技术另一个实施例提供的同步第二地址信息的流程图;图8是本专利技术另一个实施例提供的基于大容量内存的高并发协议栈卸载方法的流程图;图9是本专利技术另一个实施例提供的获取待发送数据的流程图;图10是本专利技术另一个实施例提供的同步第一地址信息的流程图;图11是本专利技术另一个实施例提供的执行数据接收的流程图;图12是本专利技术另一个实施例提供的同步第二地址信息的流程图;图13是本专利技术另一个实施例提供的示例一的流程图;图14是本专利技术另一个实施例提供的发送缓冲区的示意图;图15是本专利技术另一个实施例提供的示例二的流程图;图16是本专利技术另一个实施例提供的接收缓冲区的示意图;图17是本专利技术另一个实施例提供的电子设备的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本专利技术提供了一种基于大容量内存的高并发协议栈卸载方法、设备、存储介质,所述协议栈卸载方法包括:获取待发送数据,并确定所述待发送数据的第一数据量信息;将所述待发送数据缓冲至共享内存的发送缓冲区;向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。根据本专利技术实施例提供的方案,能够利用共享内存作为待发送数据的缓冲空间,相比起DDR存储器在存储容量上有较大的提升,提高了高并发场景下协议栈的卸载能力,从而提高网络性能。下面结合附图,对本专利技术实施例作进一步阐述。如图1所示,图1是本专利技术一个实施例提供的一种基于大容量内存的高并发协议栈卸载方法,应用于CPU,CPU与TOE硬件通信连接,基于大容量内存的高并发协议栈卸载方法包括但不限于有步骤S110、步骤S120和步骤S130。步骤S110,获取待发送数据,并确定待发送数据的第一数据量信息。需要说明的是,待发送数据可以通过主机服务器的应用层中的任意应用生成网络链接或者网络报文得到,本实施例对网络链接或者网络报文的具体来源和类型不多作限定,能够通过TOE卸载实现发送即可。需要说明的是,第一数据量信息可以是每个网络链接的数据的字节数,在接收到网络链接之后,根据每条网络链接确定第一数据量信息,利用主机内存作为共享内存,从而在主机内存为每条网络链接分配相对应的缓冲空间,在高并发的情况下能够实现数据的有序缓冲,提高T本文档来自技高网...

【技术保护点】
1.一种基于大容量内存的高并发协议栈卸载方法,应用于中央处理器CPU,所述CPU与传输控制协议卸载引擎TOE硬件通信连接,所述基于大容量内存的高并发协议栈卸载方法包括:/n获取待发送数据,并确定所述待发送数据的第一数据量信息;/n将所述待发送数据缓冲至共享内存的发送缓冲区;/n向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。/n

【技术特征摘要】
1.一种基于大容量内存的高并发协议栈卸载方法,应用于中央处理器CPU,所述CPU与传输控制协议卸载引擎TOE硬件通信连接,所述基于大容量内存的高并发协议栈卸载方法包括:
获取待发送数据,并确定所述待发送数据的第一数据量信息;
将所述待发送数据缓冲至共享内存的发送缓冲区;
向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载。


2.根据权利要求1所述的方法,其特征在于,所述向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载,包括:
获取第一地址信息,所述第一地址信息用于描述所述发送缓冲区缓冲有数据的区域;
向所述TOE硬件发送所述第一数据量信息和所述第一地址信息,以使所述TOE硬件根据所述第一地址信息和所述第一数据量信息从所述发送缓冲区中获取所述待发送数据,并根据所述待发送数据执行TOE卸载。


3.根据权利要求2所述的方法,其特征在于,在所述向所述TOE硬件发送所述第一数据量信息和所述第一地址信息之后,所述方法还包括:
获取所述TOE硬件反馈的第二数据量信息,所述第二数据量信息表征所述TOE硬件通过执行TOE卸载而新增加的已发送数据的数据量;
根据所述第二数据量信息更新第一地址信息,并将更新后的第一地址信息同步至所述TOE硬件。


4.根据权利要求1所述的方法,其特征在于,在向所述TOE硬件发送所述第一数据量信息,以使所述TOE硬件根据所述第一数据量信息从所述共享内存获取所述待发送数据,并根据所述待发送数据执行TOE卸载之后,所述方法还包括:
获取所述TOE硬件发送的第三数据量信息,所述第三数据量信息表征所述TOE硬件通过TOE卸载所得到的待接收数据的数据量;
根据所述第三数据量信息从共享内存的接收缓冲区中获取所述待接收数据,其中,所述待接收数据由所述TOE硬件缓冲至所述接收缓冲区;
完成所述待接收数据的接收处理。


5.根据权利要求4所述的方法,其特征在于,所述根据所述第三数据量信息从共享内存的接收缓冲区中获取所述待接收数据,包括:
根据所述第三数据量信息确定第二地址信息,其中,所述第二地址信息用于描述所述接收缓冲区缓冲有数据的区域;
根据所述第三数据量信息和所述第二地址信息从所述接收缓冲区域获取所待发送数据。


6.根据权利要求5所述的方法,其特征在于,在所述完成所述待接收数据的接收处理之后,所述方法还包括:
确定第四数据量信息,所述第四数据量信息表征通过接收处理而新增加的已接收数据的数据量;
根据所述第四数据量信息更新所述第二地址信息;
将更新后的第二地址信息发送...

【专利技术属性】
技术研发人员:金浩杨洪章屠要峰蒋德钧韩银俊郭斌陈峰峰
申请(专利权)人:中兴通讯股份有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1