具备低延迟处理器的数据处理装置、数据处理方法及设备与流程

文档序号:31763168发布日期:2022-10-12 03:35阅读:53来源:国知局
具备低延迟处理器的数据处理装置、数据处理方法及设备与流程

1.本技术涉及处理器技术领域,本技术涉及一种具备低延迟处理器的数据处理装置、数据处理方法及设备。


背景技术:

2.随着大数据和云计算的爆炸式增长、以及个人终端网络数据的日益增多,对网络服务节点和数据中心的数据交换能力和网络带宽提出了更高的要求。网络服务节点和数据中心为应对这种需求,对整个芯片系统以及处理器的低延迟要求越来越高,以让处理器能更快处理网络接口的数据。


技术实现要素:

3.本技术提供了一种具备低延迟处理器的数据处理装置、数据处理方法及设备。所述技术方案如下:
4.一方面,提供了一种具备低延迟处理器的数据处理装置,所述数据处理装置包括低延迟处理器和网卡;
5.所述低延迟处理器,用于将内存中的待发送网络报文以及控制平面关键信息预先读取至所述低延迟处理器的高速缓存中;当接收到所述网卡的读请求时,将所述待发送网络报文和所述控制平面关键信息发送至网卡;
6.所述网卡,用于基于所述控制平面关键信息将所述待发送网络报文发送至网络。
7.在一种可能实现方式中,所述网卡,还用于将待接收网络报文存储至网卡控制器的缓存器中;
8.所述低延迟处理器,还用于当接收到网卡的写请求时,通过缓存隐藏cache stash操作,将所述待接收网络报文存储至共享缓存;当所述低延迟处理器发起读数据操作时,将所述共享缓存中的待接收网络报文发送至所述低延迟处理器的二级缓存中进行存储。
9.在一种可能实现方式中,所述低延迟处理器,还用于当接收到网卡的读/写请求时,通过总线接口,将所述读/写请求隐藏存储至所述低延迟处理器的高速缓存中。
10.在一种可能实现方式中,所述总线接口包括第一总线接口;
11.所述低延迟处理器,还用于若第一总线接口的第一逻辑处理器有效字段为第一参数值,将所述读/写请求隐藏存储至所述低延迟处理器的共享缓存中;
12.所述低延迟处理器,还用于若所述第一逻辑处理器有效字段为第二参数值,基于所述第一总线接口的第一逻辑处理器标识字段,将所述读/写请求隐藏存储至所述低延迟处理器的第一目标处理器核的二级缓存中,所述第一目标处理器核为与所述第一逻辑处理器标识字段匹配的处理器核。
13.在一种可能实现方式中,所述总线接口包括第二总线接口;
14.所述低延迟处理器,还用于若第二总线接口对应不存在第二逻辑处理器有效信号,将所述读/写请求隐藏存储至所述低延迟处理器的共享缓存中;
15.所述低延迟处理器,还用于若第二总线接口对应存在第二逻辑处理器有效信号,基于所述第二总线接口的第二逻辑处理器标识字段,将所述读/写请求隐藏存储至所述低延迟处理器的第二目标处理器核的二级缓存中,所述第二目标处理器核为与所述第二逻辑处理器标识字段匹配的处理器核。
16.另一方面,提供一种数据处理方法,所述方法包括:
17.将内存中的待发送网络报文以及控制平面关键信息预先读取至低延迟处理器的高速缓存中;
18.当接收到网卡的读请求时,将所述待发送网络报文和所述控制平面关键信息发送至网卡;
19.通过所述网卡,基于所述控制平面关键信息将所述待发送网络报文发送至网络。
20.在一种可能实现方式中,所述方法还包括:
21.通过所述网卡,将待接收网络报文存储至网卡控制器的缓存器中;
22.当接收到所述网卡的写请求时,通过缓存隐藏cache stash操作,将所述待接收网络报文存储至共享缓存;
23.当所述低延迟处理器发起读数据操作时,将所述共享缓存中的待接收网络报文发送至所述低延迟处理器的一级缓存中进行存储。
24.在一种可能实现方式中,所述方法还包括:
25.当接收到网卡的读/写请求时,通过总线接口,将所述读/写请求隐藏存储至所述低延迟处理器的高速缓存中。
26.在一种可能实现方式中,所述总线接口包括第一总线接口;
27.所述通过总线接口,将所述读/写请求隐藏存储至所述低延迟处理器的高速缓存中,包括:
28.若第一总线接口的第一逻辑处理器有效字段为第一参数值,将所述读/写请求隐藏存储至所述低延迟处理器的共享缓存中;
29.若所述第一逻辑处理器有效字段为第二参数值,基于所述第一总线接口的第一逻辑处理器标识字段,将所述读/写请求隐藏存储至所述低延迟处理器的第一目标处理器核的二级缓存中,所述第一目标处理器核为与所述第一逻辑处理器标识字段匹配的处理器核。
30.在一种可能实现方式中,所述总线接口包括第二总线接口;
31.所述通过总线接口,将所述读/写请求隐藏存储至所述低延迟处理器的高速缓存中,包括:
32.若第二总线接口对应不存在第二逻辑处理器有效信号,将所述读/写请求隐藏存储至所述低延迟处理器的共享缓存中;
33.若第二总线接口对应存在第二逻辑处理器有效信号,基于所述第二总线接口的第二逻辑处理器标识字段,将所述读/写请求隐藏存储至所述低延迟处理器的第二目标处理器核的二级缓存中,所述第二目标处理器核为与所述第二逻辑处理器标识字段匹配的处理器核。
34.另一方面,提供了一种计算机设备,包括存储器、处理器、网卡及存储在存储器上的计算机程序,所述处理器或网卡执行所述计算机程序以实现上述的数据处理方法。
35.另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器或网卡执行时实现上述的数据处理方法。
36.另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器或网卡执行时实现上述的数据处理方法。
37.本技术实施例提供的技术方案带来的有益效果是:
38.本技术实施例提供的具备低延迟处理器的数据处理装置,该数据处理装置包括低延迟处理器和网卡;该低延迟处理器,用于将内存中的待发送网络报文以及控制平面关键信息预先读取至该低延迟处理器的高速缓存中;当接收到该网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;该网卡,用于基于该控制平面关键信息将该待发送网络报文发送至网络。由于直接将待发送网络报文和控制平面关键信息存储至高速缓存,省略了将待发送网络报文从高速缓存写回内存等若干次访存,减少读取内存开销,也减少因高速缓存写回内存所导致的时间开销;提高了数据处理效率。
附图说明
39.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
40.图1为本技术实施例提供的一种低延迟数据处理器装置的结构示意图;
41.图2为一种相关技术中普通芯片系统发送网络报文的示意图;
42.图3为本技术实施例提供的一种处理器发送网络报文低延迟加速的示意图;
43.图4为一种相关技术中普通芯片系统接收网络报文的示意图;
44.图5为本技术实施例提供的一种处理器接收网络报文低延迟加速的示意图;
45.图6为本技术实施例提供的一种低延迟数据处理的处理器架构示意图;
46.图7为本技术实施例提供的一种数据处理方法的流程示意图;
47.图8为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
48.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
49.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作等。
50.相关技术中,当服务器的网卡接收到网络报文时,网卡通过外部总线先将该网络报文对应待存储的数据存储至内存;然后通过处理器从内存读取数据,将数据依次读取至处理器的缓存、寄存器中,经处理器处理后再写回到处理器的缓存,并最终送到内存中。最后,网卡从内存再读取数据,并通过网络接口发送至网络。
51.然而,上述数据处理过程中,对于一个数据报文,处理器和网卡需要多次访问内存。而内存相对处理器而言是一个非常慢速的部件,处理器需要等待数百个周期才能得到
数据,导致处理器对数据的处理效率较低。
52.图1为本技术实施例提供的一种具备低延迟处理器的数据处理装置的结构示意图。如图1所示,该具备低延迟处理器的数据处理装置包括低延迟处理器11和网卡12;
53.该低延迟处理器11,用于将内存中的待发送网络报文以及控制平面关键信息预先读取至该低延迟处理器的高速缓存中;当接收到该网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;
54.该网卡12,用于基于该控制平面关键信息将该待发送网络报文发送至网络。
55.需要说明的是,该低延迟处理器11可达到低延迟处理网络报文的效果,由于当接收到读请求时直接将待发送网络报文存储至高速缓存,省略了将待发送网络报文从高速缓存写回内存等若干次访存,减少读内存的开销,明显提升了处理器处理网络报文的速度,显著减小网络报文在处理器的处理延迟,提高了数据处理效率。
56.示例性的,该低延迟处理器11和网卡12可以位于服务器端或终端等计算机设备中。该低延迟处理器11可以为具备低延迟数据处理能力的中央处理器(central processing unit,cpu),该高速缓存可以为低延迟处理器11的cache高速缓存,该高速缓存可以包括一级缓存、二级缓存、共享缓存等。该计算机设备中可以预先配置有中央处理器分散处理单(data processing unit,dpu)芯片系统,该dpu芯片系统可包括低延迟处理器11、网卡12。如该网卡12可以为dpu网卡。例如,当网卡12需要从服务器端传送待发送网络报文到网络中时,网卡12可以发起读请求,该读请求用于请求将更新的待发送网络报文发送到网卡12。例如,该读请求可以为用于执行读数据操作的输入/输出(input/output,i/o)读请求,dpu网卡发起一个i/o读请求,以请求把网络报文数据块发送到dpu网卡。
57.网卡12待发送的网络报文通常存储于内存的缓冲区,由于低延迟处理器11可预先将内存缓冲区中的待发送网络报文和控制平面关键信息读取至高速缓存,例如,该低延迟处理器11可通过处理器核core[0]将待发送网络报文、控制平面关键信息预先读取到core[0]本地的二级缓存(l2cache)中。使得当接收到网卡的读请求时,该低延迟处理器11可直接将内存中缓冲区的待发送网络报文、控制平面关键信息发送至网卡。
[0058]
一可能实施方式中,该低延迟处理器11还可以在该高速缓存中对待发送网络报文进行更新处理,并将更新后的网络报文发送至网卡。例如,该低延迟处理器11可以获取该待发送网络报文的报文描述符,该低延迟处理器11可根据该待发送网络报文的报文描述符,对该待发送网络报文进行更新处理,得到更新网络报文;并通过网卡控制器,将更新网络报文和控制平面关键信息发送至网卡。该网卡基于控制平面关键信息将更新网络报文发送至网络。例如,该控制平面关键信息可以包括但不限于:目标地址、目标端口等,该网卡基于目标地址、目标端口发送该更新网络报文。
[0059]
示例性的,该dpu芯片系统还可以包括总线,例如,该总线可以为外围组件接口扩展(peripheral component interface extend,pcie)总线,低延迟处理器11可通过pcie总线将该更新网络报文从该高速缓存发送至网卡12中,以通过网卡12将该更新网络报文发送至网络。该dpu芯片系统还可以包括片上网络(network on chip,noc),低延迟处理器11可通过noc将更新网络报文写到pcie总线的外设,也即是基于pcie总线的输入/输出设备(pcie-based i/o device),再通过pcie-based i/o device将该更新网络报文发送至网卡12。
[0060]
图2为一种相关技术中普通芯片系统中发送网络报文的示意图。如图2所示,在相关技术中的普通芯片系统中,由于更新网络报文所分配的缓冲区往往在内存中,因此会触发高速缓存缺失(cache miss)。之后core[0]把内存读取到本地高速缓存(cache)中,更新报文信息后,再通知dpu网卡读取,具体如图2中step1所示。dpu网卡收到发送网络包的通知后,需要通过控制平面获取网络报文的具体位置;由于core[0]刚把该缓冲区从内存读到本地cache并且更新其内容,core[0]的本地缓存(cache)内容很大概率尚未更新至内存中,因此当dpu网卡发起读内存请求时,该请求很大概率会发送到mpcore(multi-processor core,多核处理器,低延迟处理器11的一个例子)的缓存(cache)系统中,譬如共享缓存(shared l3 cache)。如图2中step2所示,shared l3 cache将把core[0]的本地缓存(cache)内容写回到内存中;最后,内存控制器通过片上网络noc,把网络报文写到pcie外设上去,如图2中step3所示。整个过程由于涉及高速缓存缺失(cache miss)及若干次访存,有较大的延迟开销。
[0061]
图3为本技术实施例提供的一种数据低延迟处理器11低延迟加速发送网络报文的过程示意图。如图3所示,低延迟处理器11(图中mpcore)一开始就把内存缓冲区中的待发送网络报文、控制平面关键信息预先读取到core[0]本地cache,如图3中的step1所示,因此可以减少读内存开销。一旦收到发送网络报文的通知,直接将mpcore本地缓存(cache)的内容,经pcie总线发送到dpu网卡上,如图3中的step2所示,可以减少因缓存(cache)写回所导致的等待时间。本技术所提出的方法可以减少访问内存的次数,减少报文转发所导致的延迟,并提高访问效率,甚至可以无需访存,极大提升dpu芯片系统的性能。
[0062]
在一种可能实施方式中,当网卡12从网络中接收到一个网络报文时,网卡12可发起一个写请求,以将网络报文写入存储空间中。本技术中,对于接收报文的过程:
[0063]
该网卡12,还用于将待接收网络报文存储至网卡控制器的缓存器中;
[0064]
该低延迟处理器11,还用于当接收到网卡的写请求时,通过缓存隐藏cache stash操作,将该待接收网络报文存储至共享缓存;当该低延迟处理器发起读数据操作时,将该共享缓存中的待接收网络报文发送至该低延迟处理器的二级缓存中进行存储。
[0065]
示例性的,该写请求用于请求将待接收网络报文写入低延迟处理器11的高速缓存中。该网卡12可将该待接收网络报文先存储至网卡控制器的缓存器;例如,dpu芯片将网络数据包,例如rx packet(接收数据包,一种待接收的网络数据包)先存至dpu网卡中的先进先出(first input first output,fifo)存储器中。当接收到网卡12的写请求时,该网卡12发起缓存隐藏(cache stash)操作,低延迟处理器11通过该缓存隐藏操作,将该待接收网络报文隐藏存储至低延迟处理器11的共享缓存(shared l3cache),例如,该共享缓存为低延迟处理器11的三级缓存l3,该共享缓存也可以称为低延迟处理器11的llc(last level cache,最后一级缓存)。
[0066]
示例性的,由低延迟处理器11发起读数据操作,将该共享缓存中的待接收网络报文发送至低延迟处理器11的处理器核的二级缓存(l2cache)中。例如,可由低延迟处理器11的处理器核core[0]发起读数据的操作,直接将llc中的待接收网络报文的报文数据发送至core[0]的l2cache中。当然,也可以是将待接收网络报文发送至低延迟处理器11的一级缓存中,如core[0]的l1 d-cache中。
[0067]
图4为一种相关技术中普通芯片系统中接收网络报文的示意图。如图4所示,在相
关技术中的普通芯片系统中,dpu网络数据包rx packet先存进dpu网卡中的fifo里面,网卡的驱动通过dma控制器、经片上网络noc再把数据写入内存的缓冲(buffer)里面;core[0]需要去读取内存buffer里面的内容,但此时cache miss,因此,core[0]需要去内存里面读取数据,并摆放至llc;最后,core[0]再去llc读取数据并摆放至其内部,相关技术中的上述数据处理过程,由于涉及cachemiss及若干次访问内存,有较大的延迟开销。
[0068]
图5为本技术实施例提供的一种数据低延迟处理器11接收网络报文低延迟加速的示意图。如图5所示。dpu网络数据包rx packet先存进dpu网卡中的fifo里面,dpu发起cache stash操作,直接把数据存到llc;之后core[0]发起读数据的操作,直接把llc中的数据发送至core[0]的l2d-cache里面,整个过程无需内存(memory)参与,极大提升dpu芯片系统的性能。
[0069]
在一种可能实施方式中,本技术还可将读/写请求隐藏存储至低延迟处理器11的高速缓存中。该低延迟处理器11,还用于当接收到网卡12的读/写请求时,通过总线接口,将该读/写请求隐藏存储至该低延迟处理器11的高速缓存中。
[0070]
在一个可能示例中,该总线接口包括第一总线接口;
[0071]
该低延迟处理器11,还用于若第一总线接口的第一逻辑处理器有效字段为第一参数值,将该读/写请求隐藏存储至该低延迟处理器11的共享缓存中;
[0072]
该低延迟处理器11,还用于若该第一逻辑处理器有效字段为第二参数值,基于该第一总线接口的第一逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器11的第一目标处理器核的二级缓存中,该第一目标处理器核为与该第一逻辑处理器标识字段匹配的处理器核。
[0073]
示例性的,该第一总线接口可以为低延迟处理器11的系统一致性接口(coherent hub interface,chi)主接口,如多核低延迟处理器11系统的chi主接口,chi主接口支持将请求(窥探)存储到二级缓存l2、共享缓存l3等高速缓存中。该第一逻辑处理器有效字段可以为chi主接口的lp1_id_valid字段,该第一逻辑处理器标识字段lp1_id字段。
[0074]
在具体实施时,lp1_id_valid字段表示存储的目标,如果该字段的参数值为0,则该读/写请求被定向存储至共享缓存中,如l3缓存。如果该字段的参数值为1,则该读/写请求被定向存储到二级缓存l2中,并通过lp1_id字段指示第一目标处理器核id。该第一目标处理器核为该低延迟处理器11的多个处理器核中与该lp1_id匹配的处理器核;例如第一目标处理器核id与该lp1_id之间存在对应关系,第一目标处理器核id与该lp1_id相同等。
[0075]
在又一个可能示例中,该总线接口包括第二总线接口;
[0076]
该低延迟处理器11,还用于若第二总线接口对应不存在第二逻辑处理器有效信号,将该读/写请求隐藏存储至该低延迟处理器11的共享缓存中;
[0077]
该低延迟处理器11,还用于若第二总线接口对应存在第二逻辑处理器有效信号,基于该第二总线接口的第二逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器11的第二目标处理器核的二级缓存中,该第二目标处理器核为与该第二逻辑处理器标识字段匹配的处理器核。
[0078]
示例性的,该第二总线接口可以为低延迟处理器11的加速器一致性(accelerator coherency port,acp)接口,acp接口支持将请求存储到二级缓存l2、共享缓存l3等高速缓存中。该第二逻辑处理器有效信号可以为lp2_id_valid信号;该第二逻辑处理器标识字段
可以为信号lp2_id。
[0079]
在具体实施时,在acp接口上,默认情况下,访问是对l3缓存的隐式存储请求,也即是默认将读/写请求隐藏存储至共享缓存中。若该acp接口存在信号lp2_id_valid表示存储在二级缓存l2中,在这种情况下,信号lp2_id指示要针对哪个处理器核。该第二目标处理器核为该低延迟处理器11的多个处理器核中与该lp2_id匹配的处理器核;例如第二目标处理器核id与该lp2_id之间存在对应关系,第二目标处理器核id与该lp2_id相同等。
[0080]
图6为本技术提供的一种低延迟数据处理的处理器架构示意图。如图6所示,多核处理器包括多个处理器核,如处理器核[0]包括一级缓存、二级缓存,其中,一级缓存可以包括一级指令缓存、一级数据缓存。该多核处理器还配置有共享缓存,该共享缓存包括多个共享缓存片。多核处理器通过主接口或acp接口与片上网络之间进行通信,还可通过集成的i/o控制器、pcie总线外设与网卡之间进行通信。缓存隐藏允许io设备的读写请求隐藏到高速缓存中,该低延迟数据低延迟处理器11的高速缓存存储可以通过acp接口或chi主接口执行。缓存隐藏可以针对l3缓存,或簇内任何处理器核的l2缓存。
[0081]
需要说明的是,上述仅以该总线接口为acp接口或chi主接口为例进行说明,当然,该总线接口还可以采用其它接口,例如,sdp接口、hdp接口等,本技术对此不做限定。
[0082]
本技术实施例提供的具备低延迟处理器的数据处理装置,该数据处理装置包括低延迟处理器和网卡;该低延迟处理器,用于将内存中的待发送网络报文以及控制平面关键信息预先读取至该低延迟处理器的高速缓存中;当接收到该网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;该网卡,用于基于该控制平面关键信息将该待发送网络报文发送至网络。由于直接将待发送网络报文和控制平面关键信息存储至高速缓存,省略了将待发送网络报文从高速缓存写回内存等若干次访存,减少读取内存开销,也减少因高速缓存写回内存所导致的时间开销;提高了数据处理效率。
[0083]
图7为本技术实施例提供的一种数据处理方法的流程示意图。如图7所示,该方法包括:
[0084]
步骤701、将内存中的待发送网络报文以及控制平面关键信息预先读取至低延迟处理器的高速缓存中;
[0085]
步骤702、当接收到网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;
[0086]
步骤703、通过该网卡,基于该控制平面关键信息将该待发送网络报文发送至网络。
[0087]
在一种可能实施方式中,该方法还包括:
[0088]
通过该网卡,将待接收网络报文存储至网卡控制器的缓存器中;
[0089]
当接收到该网卡的写请求时,通过缓存隐藏cache stash操作,将该待接收网络报文存储至共享缓存;
[0090]
当该低延迟处理器发起读数据操作时,将该共享缓存中的待接收网络报文发送至该低延迟处理器的一级缓存中进行存储。
[0091]
在一种可能实施方式中,该方法还包括:
[0092]
当接收到网卡的读/写请求时,通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中。
[0093]
在一种可能实施方式中,该总线接口包括第一总线接口;
[0094]
该通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中,包括:
[0095]
若第一总线接口的第一逻辑处理器有效字段为第一参数值,将该读/写请求隐藏存储至该低延迟处理器的共享缓存中;
[0096]
若该第一逻辑处理器有效字段为第二参数值,基于该第一总线接口的第一逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器的第一目标处理器核的二级缓存中,该第一目标处理器核为与该第一逻辑处理器标识字段匹配的处理器核。
[0097]
在一种可能实施方式中,该总线接口包括第二总线接口;
[0098]
该通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中,包括:
[0099]
若第二总线接口对应不存在第二逻辑处理器有效信号,将该读/写请求隐藏存储至该低延迟处理器的共享缓存中;
[0100]
若第二总线接口对应存在第二逻辑处理器有效信号,基于该第二总线接口的第二逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器的第二目标处理器核的二级缓存中,该第二目标处理器核为与该第二逻辑处理器标识字段匹配的处理器核。
[0101]
本技术实施例提供的数据处理方法,通过低延迟处理器,将内存中的待发送网络报文以及控制平面关键信息预先读取至该低延迟处理器的高速缓存中;当接收到该网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;通过网卡基于该控制平面关键信息将该待发送网络报文发送至网络。由于直接将待发送网络报文和控制平面关键信息存储至高速缓存,省略了将待发送网络报文从高速缓存写回内存等若干次访存,减少读取内存开销,也减少因高速缓存写回内存所导致的时间开销;提高了数据处理效率。
[0102]
需要说明的是,上述实施例提供的具备低延迟处理器的数据处理装置在数据处理时,仅以上述各功能模块的划分进行举例说明;实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的具备低延迟处理器的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0103]
图8是本技术实施例中提供了一种计算机设备的结构示意图。如图8所示,该计算机设备包括:存储器、处理器、网卡及存储在存储器上的计算机程序,该处理器或网卡执行上述计算机程序以实现数据处理方法的步骤,与相关技术相比可实现一种程序处理方法,该方法包括:
[0104]
将内存中的待发送网络报文以及控制平面关键信息预先读取至低延迟处理器的高速缓存中;
[0105]
当接收到网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;
[0106]
通过该网卡,基于该控制平面关键信息将该待发送网络报文发送至网络。
[0107]
在一种可能实施方式中,该方法还包括:
[0108]
通过该网卡,将待接收网络报文存储至网卡控制器的缓存器中;
[0109]
当接收到该网卡的写请求时,通过缓存隐藏cache stash操作,将该待接收网络报
文存储至共享缓存;
[0110]
当该低延迟处理器发起读数据操作时,将该共享缓存中的待接收网络报文发送至该低延迟处理器的一级缓存中进行存储。
[0111]
在一种可能实施方式中,该方法还包括:
[0112]
当接收到网卡的读/写请求时,通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中。
[0113]
在一种可能实施方式中,该总线接口包括第一总线接口;
[0114]
该通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中,包括:
[0115]
若第一总线接口的第一逻辑处理器有效字段为第一参数值,将该读/写请求隐藏存储至该低延迟处理器的共享缓存中;
[0116]
若该第一逻辑处理器有效字段为第二参数值,基于该第一总线接口的第一逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器的第一目标处理器核的二级缓存中,该第一目标处理器核为与该第一逻辑处理器标识字段匹配的处理器核。
[0117]
在一种可能实施方式中,该总线接口包括第二总线接口;
[0118]
该通过总线接口,将该读/写请求隐藏存储至该低延迟处理器的高速缓存中,包括:
[0119]
若第二总线接口对应不存在第二逻辑处理器有效信号,将该读/写请求隐藏存储至该低延迟处理器的共享缓存中;
[0120]
若第二总线接口对应存在第二逻辑处理器有效信号,基于该第二总线接口的第二逻辑处理器标识字段,将该读/写请求隐藏存储至该低延迟处理器的第二目标处理器核的二级缓存中,该第二目标处理器核为与该第二逻辑处理器标识字段匹配的处理器核。
[0121]
本技术实施例提供的数据处理方法,通过低延迟处理器,将内存中的待发送网络报文以及控制平面关键信息预先读取至该低延迟处理器的高速缓存中;当接收到该网卡的读请求时,将该待发送网络报文和该控制平面关键信息发送至网卡;通过网卡基于该控制平面关键信息将该待发送网络报文发送至网络。由于直接将待发送网络报文和控制平面关键信息存储至高速缓存,省略了将待发送网络报文从高速缓存写回内存等若干次访存,减少读取内存开销,也减少因高速缓存写回内存所导致的时间开销;提高了数据处理效率。
[0122]
在一个可选实施例中提供了一种计算机设备,如图8所示,图8所示的计算机设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。可选地,计算机设备800还可以包括收发器804,收发器804可以用于该计算机设备与其他计算机设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器804不限于一个,该计算机设备800的结构并不构成对本技术实施例的限定。
[0123]
处理器801可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合
等。
[0124]
总线802可包括一通路,在上述组件之间传送信息。总线802可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0125]
存储器803可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质\其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
[0126]
存储器803用于存储执行本技术实施例的计算机程序,并由处理器801来控制执行。处理器801用于执行存储器803中存储的计算机程序,以实现前述方法实施例所示的步骤。
[0127]
本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器或网卡执行时可实现前述方法实施例的步骤及相应内容。
[0128]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器或网卡执行时可实现前述方法实施例的步骤及相应内容。
[0129]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
[0130]
应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
[0131]
以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1