CN115473861B - 基于通信与计算分离的高性能处理***和方法、存储介质 - Google Patents
基于通信与计算分离的高性能处理***和方法、存储介质 Download PDFInfo
- Publication number
- CN115473861B CN115473861B CN202210991611.1A CN202210991611A CN115473861B CN 115473861 B CN115473861 B CN 115473861B CN 202210991611 A CN202210991611 A CN 202210991611A CN 115473861 B CN115473861 B CN 115473861B
- Authority
- CN
- China
- Prior art keywords
- communication
- node
- tcp
- application
- application layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 title claims abstract description 58
- 238000004364 calculation method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000000926 separation method Methods 0.000 title claims abstract description 23
- 239000000872 buffer Substances 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了基于通信与计算分离的高性能处理***和方法、存储介质,本申请的***包括TOE节点、PCIe交换节点、CPU节点;所述TOE节点用于***对外的TCP或IP通信,以及将TCP或IP数据终端化;所述PCIe交换节点用于通过DMA方式将应用层数据运送到软件的用户缓冲区;所述CPU节点用于运行基于应用的功能软件,完成***的应用计算功能。本申请能够提高整个***的处理性能,降低对CPU的处理能力占用,是一种工程中切实可行的高性能处理***构建方案。
Description
技术领域
本申请涉及数据处理领域,尤其是基于通信与计算分离的高性能处理***和方法、存储介质。
背景技术
当前常见的数据处理***以CPU+以太交换+接口芯片的方式进行构建。其中接口芯片负责***对外部的通信,构成***对外的统一出入口。CPU节点完成以太网接口,通过软件TCP/IP协议栈进行数据的收发,同时对相应的数据依据应用场景进行应用计算。以太网交换负责整个***各个节点间的互联。为了到达端到端可靠传输数据的目的,通信协议通常采用基于TCP/IP协议。
以上模型基于成熟的以太网交换技术和TCP/IP技术进行构建,可以满足一定的应用需要。然而,随着通信技术的发展,通信带宽急剧增长,数据负载海量增加,该模型的缺点越来越明显,无法适应当前的高性能处理需要。具体表现为:
(1)过内核软件TCP/IP协议栈处理包数据,尤其是TCP/IP协议各层校验和计算、TCP协议的反复交互、差错控制与超时传输等频繁重复的处理需求,带来CPU沉重的协议处理压力,尤其在高吞吐、高并发应用场景下,协议栈处理将极大占用CPU的处理能力。并且由于软件处理时延的不确定性,随着负载量增大,将进一步恶化处理时延。
(2)基于操作***内核的处理模型,会使整个***具有高中断率、内存间数据重复拷贝、应用程序上下文频繁切换等问题,进一步恶化CPU的处理性能。
(3)由于通信中各个节点之间一般采用TCP/IP协议进行通信,每个节点都需要进行TCP/IP的接收与发送处理,增加了整个***的处理冗余。
因此,相关技术存在的上述技术问题亟待解决。
发明内容
本申请旨在解决相关技术中的技术问题之一。为此,本申请实施例提供基于通信与计算分离的高性能处理***和方法、存储介质,能够提高***的处理性能,降低对CPU的处理能力占用。
根据本申请实施例一方面,提供基于通信与计算分离的高性能处理***,所述***包括:TOE节点、PCIe交换节点、CPU节点;
所述TOE节点用于***对外的TCP或IP通信,以及将TCP或IP数据终端化;
所述PCIe交换节点用于通过DMA方式将应用层数据运送到软件的用户缓冲区;
所述CPU节点用于运行基于应用的功能软件,完成***的应用计算功能。
在其中一个实施例中,所述TOE节点用于***对外的TCP或IP通信,包括:
所述TOE节点解析应用层数据并发送给PCIe总线进行内部通信;
所述TOE节点接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。
在其中一个实施例中,所述TOE节点将应用层数据通过PCIe总线运送到对应的内存空间中。
在其中一个实施例中,所述PCIe交换节点通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:
所述PCIe交换节点将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。
在其中一个实施例中,所述***的处理任务包括计算任务和通信任务,所述计算任务由所述CPU节点以及功能软件计算完成,所述通信任务由硬件完成。
根据本申请实施例一方面,提供基于通信与计算分离的高性能处理方法,所述方法包括:
对外进行TCP或IP通信,将TCP或IP数据终端化;
通过DMA方式将应用层数据运送到软件的用户缓冲区;
运行基于应用的功能软件,完成***的应用计算功能。
在其中一个实施例中,所述对外进行TCP或IP通信,包括:
解析应用层数据并发送给PCIe总线进行内部通信;
接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。
在其中一个实施例中,所述方法还包括:
将应用层数据通过PCIe总线运送到对应的内存空间中。
在其中一个实施例中,通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:
将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。
根据本申请实施例一方面,提供存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如权利要求6-9中任一项所述的基于通信与计算分离的高性能处理方法。
本申请实施例提供的基于通信与计算分离的高性能处理***和方法、存储介质的有益效果为:本申请的***包括TOE节点、PCIe交换节点、CPU节点;所述TOE节点用于***对外的TCP或IP通信,以及将TCP或IP数据终端化;所述PCIe交换节点用于通过DMA方式将应用层数据运送到软件的用户缓冲区;所述CPU节点用于运行基于应用的功能软件,完成***的应用计算功能。本申请能够提高整个***的处理性能,降低对CPU的处理能力占用,是一种工程中切实可行的高性能处理***构建方案。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的数据处理***架构示意图;
图2为本申请实施例提供的基于通信与计算分离的高性能处理***架构示意图;
图3为本申请实施例提供的基于通信与计算分离的高性能处理方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请出现的专业术语解释如下:
DMA:DMA(Direct Memory Access,直接存储器访问)允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。
TCP:TCP(TCP offload engine),是一种TCP加速技术,使用于网络接口控制器(NIC),将TCP/IP堆叠的工作卸载到网络接口控制器上,用硬件来完成。TCP功能常见于高速以太网接口上,如吉比特以太网(GbE)或10吉比特以太网(10GbE),在这些接口上,处理TCP/IP数据包表头的工作变得较为沉重,由硬件进行可以减轻处理器的负担。
PCIe:PCIe是一种高速串行计算机扩展总线标准。PCIe包括更高的最大***总线吞吐量,更低的I/O引脚数量和更小的物理尺寸,更好的总线设备性能缩放,更详细的错误检测和报告机制(高级错误报告,AER)和本机热插拔功能。PCIe为I/O虚拟化提供了硬件支持。
如图1所示,当前常见的数据处理***以CPU+以太交换+接口芯片的方式进行构建。其中接口芯片负责***对外部的通信,构成***对外的统一出入口。CPU节点完成以太网接口,通过软件TCP/IP协议栈进行数据的收发,同时对相应的数据依据应用场景进行应用计算。以太网交换负责整个***各个节点间的互联。为了到达端到端可靠传输数据的目的,通信协议通常采用基于TCP/IP协议。
以上模型基于成熟的以太网交换技术和TCP/IP技术进行构建,可以满足一定的应用需要。然而,随着通信技术的发展,通信带宽急剧增长,数据负载海量增加,该模型的缺点越来越明显,无法适应当前的高性能处理需要。具体表现为:
(1)过内核软件TCP/IP协议栈处理包数据,尤其是TCP/IP协议各层校验和计算、TCP协议的反复交互、差错控制与超时传输等频繁重复的处理需求,带来CPU沉重的协议处理压力,尤其在高吞吐、高并发应用场景下,协议栈处理将极大占用CPU的处理能力。并且由于软件处理时延的不确定性,随着负载量增大,将进一步恶化处理时延。
(2)基于操作***内核的处理模型,会使整个***具有高中断率、内存间数据重复拷贝、应用程序上下文频繁切换等问题,进一步恶化CPU的处理性能。
(3)由于通信中各个节点之间一般采用TCP/IP协议进行通信,每个节点都需要进行TCP/IP的接收与发送处理,增加了整个***的处理冗余。
基于以上事实与分析,常用的处理模型已经无法满足高性能高并发低时延的场景需要。为面对现实处理挑战,构建高性能处理平台,本申请提出了一种基于通信与计算分离的高性能处理***设计与实现方案,基于通信与计算分离的思想,并将通信区分为***外通信与***内通信。将计算问题、***内通信问题、***外通信问题解耦处理,分而治之,本申请的特点包括:计算问题由CPU及其运行的功能软件进行解决;通信问题将其从CPU中完全分离出来,由硬件统一解决;***外通信有硬件TCP/IP协议栈(即TOE硬件引擎)进行处理和应用端接;***内通信内容为应用层数据,并通过PCIe总线进行高性能承载和交换;采用DMA方式,直接将应用层“直通”到软件的用户缓冲区中。
具体地,如图2所示,本申请提出的基于通信与计算分离的高性能处理***包括:TOE节点、PCIe交换节点、CPU节点;所述TOE节点用于***对外的TCP或IP通信,以及将TCP或IP数据终端化;所述PCIe交换节点用于通过DMA方式将应用层数据运送到软件的用户缓冲区;所述CPU节点用于运行基于应用的功能软件,完成***的应用计算功能。
具体地,本实施例的所述TOE节点用于***对外的TCP或IP通信,包括:所述TOE节点解析应用层数据并发送给PCIe总线进行内部通信;所述TOE节点接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。本实施例的TOE节点是一个完全功能的TCP/IP硬件协议栈。对外,负责整个***对外的TCP/IP通信;对内,完整TCP/IP数据在该节点处的终端化,一方面解析出应用层数据送给PCIe总线进行内部通信;另一方面接收PCIe总线来的数据,进TCP/IP协议承载,发送到外部网络上。同时,TOE节点还具有DMA功能,所述TOE节点能够将应用层数据通过PCIe总线运送到对应的内存空间中。
具体地,本实施例的所述PCIe交换节点通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:所述PCIe交换节点将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。PCIe交换节点使用PCIe总线高效的承载***内数据的通信,同时支持对CPU节点的内存空间进行直接访问。
因此,本实施例提供的***的处理任务包括计算任务和通信任务,所述计算任务由所述CPU节点以及功能软件计算完成,所述通信任务由硬件完成。CPU节点负责运行各种基于应用的功能软件,完成***的应用计算功能。由于通信任务已经解耦到硬件中实现,并且功能软件面对的数据源模型基于内存而不是基于IO,某特定的功能软件只接收和发送关联数据,因此能够具有比较高的吞吐性能。另一方面,为了“直通”数据到功能软件,需要搭建高效的kernel-bypass模型的驱动。软件模型上,可以采用类似于DPDK的软件模型进行开发。
本申请提出了一种基于通信与计算分离的高性能处理***设计与实现方案,基于通信与计算分离的思想,并将通信区分为***外通信与***内通信。将计算问题、***内通信问题、***外通信问题解耦处理,分而治之。为工程上搭建高性能处理***提供了一种其实可行的技术方案。本申请搭建的***能满足高并发高吞吐低延时的现实需求。
图3为本申请实施例提供的基于通信与计算分离的高性能处理方法流程图,如图3所示,本申请提出了基于通信与计算分离的高性能处理方法,包括:
S301、对外进行TCP或IP通信,将TCP或IP数据终端化。
S302、通过DMA方式将应用层数据运送到软件的用户缓冲区。
S303、运行基于应用的功能软件,完成***的应用计算功能。
可选地,所述对外进行TCP或IP通信,包括:
解析应用层数据并发送给PCIe总线进行内部通信;接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。
可选地,本实施例的方法还包括:将应用层数据通过PCIe总线运送到对应的内存空间中。
需要说明的是,通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。
此外,本实施例还提供一种存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如前面实施例所述的基于通信与计算分离的高性能处理方法。
上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (5)
1.基于通信与计算分离的高性能处理***,其特征在于,所述***包括:TOE节点、PCIe交换节点、CPU节点;
所述TOE节点用于***对外的TCP或IP通信,将应用层数据通过PCIe总线运送到对应的内存空间中,以及将TCP或IP数据终端化;
所述PCIe交换节点用于通过DMA方式将应用层数据运送到软件的用户缓冲区;
所述CPU节点用于运行基于应用的功能软件,完成***的应用计算功能;
所述***的处理任务包括计算任务和通信任务,所述计算任务由所述CPU节点以及功能软件计算完成,所述通信任务由硬件完成;
所述TOE节点用于***对外的TCP或IP通信,包括:
所述TOE节点解析应用层数据并发送给PCIe总线进行内部通信;
所述TOE节点接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。
2.根据权利要求1所述的基于通信与计算分离的高性能处理***,其特征在于,所述PCIe交换节点通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:
所述PCIe交换节点将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。
3.基于通信与计算分离的高性能处理方法,应用于如权利要求1至2中任一项所述的高性能处理***,其特征在于,所述方法包括:
采用TOE节点对外进行TCP或IP通信,将应用层数据通过PCIe总线运送到对应的内存空间中,将TCP或IP数据终端化;
采用PCIe交换节点通过DMA方式将应用层数据运送到软件的用户缓冲区;
采用CPU节点运行基于应用的功能软件,完成***的应用计算功能;
所述高性能处理***的处理任务包括计算任务和通信任务,所述计算任务由功能软件计算完成,所述通信任务由硬件完成;
所述采用TOE节点对外进行TCP或IP通信,包括:
采用所述TOE节点解析应用层数据并发送给PCIe总线进行内部通信;
采用所述TOE节点接收PCIe总线发送的数据,承载TCP/IP协议,并将PCIe总线发送的数据发送到外部网络上。
4.根据权利要求3所述的基于通信与计算分离的高性能处理方法,其特征在于,通过DMA方式将应用层数据运送到软件的用户缓冲区,包括:
将应用层数据通过PCIe总线运送到对应的软件的用户缓冲区。
5.存储介质,其特征在于,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如权利要求3-4中任一项所述的基于通信与计算分离的高性能处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210991611.1A CN115473861B (zh) | 2022-08-18 | 2022-08-18 | 基于通信与计算分离的高性能处理***和方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210991611.1A CN115473861B (zh) | 2022-08-18 | 2022-08-18 | 基于通信与计算分离的高性能处理***和方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115473861A CN115473861A (zh) | 2022-12-13 |
CN115473861B true CN115473861B (zh) | 2023-11-03 |
Family
ID=84365900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210991611.1A Active CN115473861B (zh) | 2022-08-18 | 2022-08-18 | 基于通信与计算分离的高性能处理***和方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115473861B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667601A (zh) * | 2004-03-11 | 2005-09-14 | 国际商业机器公司 | 在逻辑分区之间共享网络i/o适配器的装置与方法 |
CN1819584A (zh) * | 2004-11-12 | 2006-08-16 | 微软公司 | 利用集成主机协议栈管理卸载ipsec的方法和设备 |
WO2017046582A1 (en) * | 2015-09-16 | 2017-03-23 | Nanospeed Technologies Limited | Tcp/ip offload system |
WO2018018611A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
CN109491934A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种集成计算功能的存储管理***控制方法 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和*** |
CN110109852A (zh) * | 2019-04-03 | 2019-08-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 硬件实现tcp_ip协议的***及方法 |
CN111031011A (zh) * | 2019-11-26 | 2020-04-17 | 中科驭数(北京)科技有限公司 | Tcp/ip加速器的交互方法和装置 |
CN111163121A (zh) * | 2019-11-19 | 2020-05-15 | 核芯互联科技(青岛)有限公司 | 一种超低延时高性能的网络协议栈处理方法及*** |
CN112953967A (zh) * | 2021-03-30 | 2021-06-11 | 扬州万方电子技术有限责任公司 | 网络协议卸载装置和数据传输*** |
CN113225307A (zh) * | 2021-03-18 | 2021-08-06 | 西安电子科技大学 | 卸载引擎网卡中描述符预读取的优化方法、***及终端 |
CN113312283A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种基于fpga加速的异构图学习*** |
CN113347017A (zh) * | 2021-04-09 | 2021-09-03 | 中科创达软件股份有限公司 | 一种网络通信的方法、装置、网络节点设备及混合网络 |
CN114238187A (zh) * | 2022-02-24 | 2022-03-25 | 苏州浪潮智能科技有限公司 | 一种基于fpga的全栈网卡任务处理*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11537541B2 (en) * | 2018-09-28 | 2022-12-27 | Xilinx, Inc. | Network interface device and host processing device |
-
2022
- 2022-08-18 CN CN202210991611.1A patent/CN115473861B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667601A (zh) * | 2004-03-11 | 2005-09-14 | 国际商业机器公司 | 在逻辑分区之间共享网络i/o适配器的装置与方法 |
CN1819584A (zh) * | 2004-11-12 | 2006-08-16 | 微软公司 | 利用集成主机协议栈管理卸载ipsec的方法和设备 |
WO2017046582A1 (en) * | 2015-09-16 | 2017-03-23 | Nanospeed Technologies Limited | Tcp/ip offload system |
WO2018018611A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和*** |
CN109491934A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种集成计算功能的存储管理***控制方法 |
CN110109852A (zh) * | 2019-04-03 | 2019-08-09 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 硬件实现tcp_ip协议的***及方法 |
CN111163121A (zh) * | 2019-11-19 | 2020-05-15 | 核芯互联科技(青岛)有限公司 | 一种超低延时高性能的网络协议栈处理方法及*** |
CN111031011A (zh) * | 2019-11-26 | 2020-04-17 | 中科驭数(北京)科技有限公司 | Tcp/ip加速器的交互方法和装置 |
CN113225307A (zh) * | 2021-03-18 | 2021-08-06 | 西安电子科技大学 | 卸载引擎网卡中描述符预读取的优化方法、***及终端 |
CN112953967A (zh) * | 2021-03-30 | 2021-06-11 | 扬州万方电子技术有限责任公司 | 网络协议卸载装置和数据传输*** |
CN113347017A (zh) * | 2021-04-09 | 2021-09-03 | 中科创达软件股份有限公司 | 一种网络通信的方法、装置、网络节点设备及混合网络 |
CN113312283A (zh) * | 2021-05-28 | 2021-08-27 | 北京航空航天大学 | 一种基于fpga加速的异构图学习*** |
CN114238187A (zh) * | 2022-02-24 | 2022-03-25 | 苏州浪潮智能科技有限公司 | 一种基于fpga的全栈网卡任务处理*** |
Non-Patent Citations (4)
Title |
---|
Decentralized Attribute-Based Encryption and Data Sharing Scheme in Cloud Storage;Xiehua Li;Yanlong Wang;Ming Xu;Yaping Cui;;中国通信(第02期);全文 * |
User-Level Device Drivers: Achieved Performance;Ben Leslie;Peter Chubb;Nicholas Fitzroy-Dale;Stefan G(o|¨)tz;Charles Gray;Luke Macpherson;Daniel Potts;Kevin Elphinstone;Gernot Heiser;;Journal of Computer Science and Technology(第05期);全文 * |
一种TCP/IP卸载的数据零拷贝传输方法;王小峰;时向泉;苏金树;;计算机工程与科学(第02期);全文 * |
基于多核NPU的TCP数据接收卸载;李杰;陈曙晖;;计算机工程与科学(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115473861A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8477806B2 (en) | Method and system for transmission control packet (TCP) segmentation offload | |
EP4401381A2 (en) | Receiver-based precision congestion control | |
US9110668B2 (en) | Enhanced buffer-batch management for energy efficient networking based on a power mode of a network interface | |
JP2019036298A (ja) | 知能型高帯域幅メモリシステム及びそのための論理ダイ | |
CN109960671B (zh) | 一种数据传输***、方法及计算机设备 | |
WO2023005748A1 (zh) | 数据处理方法以及装置 | |
US12034604B2 (en) | MQTT protocol simulation method and simulation device | |
WO2022139930A1 (en) | Resource consumption control | |
US20220166698A1 (en) | Network resource monitoring | |
US20230127722A1 (en) | Programmable transport protocol architecture | |
DE112016002909T5 (de) | Flexible Interconnect-Architektur | |
US20220311711A1 (en) | Congestion control based on network telemetry | |
DE102022126611A1 (de) | Service-mesh-auslagerung an netzwerkvorrichtungen | |
CN113746749A (zh) | 网络连接设备 | |
US20220321491A1 (en) | Microservice data path and control path processing | |
DE102022129250A1 (de) | Übertragungsrate basierend auf detektierter verfügbarer Bandbreite | |
US8161126B2 (en) | System and method for RDMA QP state split between RNIC and host software | |
CN115686836A (zh) | 一种安装有加速器的卸载卡 | |
CN116074131A (zh) | 一种数据处理方法、智能网卡和电子设备 | |
CN115202573A (zh) | 数据存储***以及方法 | |
CN115473861B (zh) | 基于通信与计算分离的高性能处理***和方法、存储介质 | |
CN113347017A (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
WO2023207295A1 (zh) | 数据处理方法、数据处理单元、***及相关设备 | |
Gilfeather et al. | Modeling protocol offload for message-oriented communication | |
WO2023075930A1 (en) | Network interface device-based computations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |