部分延迟的报文访问制造技术

技术编号:20500468 阅读:52 留言:0更新日期:2019-03-03 04:12
一种方法包括:互连执行报文的部分直接内存访问以获得报文头的报文头数据,使用所述报文头数据来生成标识报文目的地址的报文转发决策,以及向所述报文目的地址发起报文有效载荷的直接内存访问。

Partially Delayed Message Access

One method includes: interconnecting part of the direct memory access of the message to obtain the header data of the message, using the header data to generate a message forwarding decision identifying the destination address of the message, and initiating direct memory access of the message payload to the destination address of the message.

【技术实现步骤摘要】
【国外来华专利技术】部分延迟的报文访问交叉申请本申请要求于2016年6月30日提交的、申请序列号为15/199,373、申请名称为“部分延迟的报文访问(PartiallyDeferredPacketAccess)”的美国非临时专利申请的优先权,其全部内容通过引用结合在本申请中。
本公开涉及直接内存访问,尤其涉及部分延迟的报文访问。
技术介绍
软件交换机可以在诸如服务器之类的主机上实现,并且可以用于将数据从一个连接的设备转发到另一个连接的设备,非常类似于硬件路由器。执行报文的直接内存访问(directmemoryaccess,DMA)可将数据传送到软件交换机,确定数据的目的地,然后向目的地发起数据的进一步传送。操作软件交换机的主机可能需要相当大的缓冲器空间,以便接收数据并确定目的地。在实现软件交换机的一些服务器中,可以使用网络加速器来加速网络功能,包括例如虚拟交换。在网络加速器上,将数据作为报文接收,并且基于由主机上的系统软件提供的元数据和所解析的报文头做出报文交换决策。该报文通常是来自主机系统的访问的直接内存(directmemoryaccessed,DMA'ed),例如通过快捷外围部件互连标准(peripheralcomponentinterconnectexpress,PCI-E)总线。网络加速器能够将整个报文DMA到加速器,然后解析该报文并做出转发决策。当报文的目的地是虚拟端口/接口时,可以发起第二DMA。这使得加速器具有大到足以缓冲报文的存储器,每个报文大小可以为64B-64K。第二DMA还增加了报文处理的等待时间。
技术实现思路
一种方法包括:互连执行报文的部分直接内存访问以获得报文头的报文头数据,所述互连使用所述报文头数据来生成报文转发决策,所述报文转发决策用于标识一个报文目的地址,并且所述互连向所述报文目的地址发起报文有效载荷的直接内存访问。非暂时性计算机可读存储设备上存储有用于由主机执行以执行操作的指令。所述操作包括:执行报文的部分直接内存访问以获得报文头的报文头数据;使用所述报文头数据来生成标识报文目的地址的报文转发决策;以及向所述报文目的地址发起报文有效载荷的直接内存访问。一种系统包括处理电路和具有耦合到所述处理电路的报文缓冲器的存储设备。所述处理电路用于执行以下操作,包括:执行报文的部分直接内存访问以获得报文头的报文头数据;使用所述报文头数据来生成标识报文目的地址的报文转发决策;以及向所述报文目的地址发起报文有效载荷的直接内存访问。附图说明图1是示例实施例提供的用于通过在主机上执行的虚拟交换操作来执行高效数据传输的系统的框图;图2是示例实施例提供的待传送的报文的框图;图3是示例实施例提供的图1所述系统的操作流程框图;图4是示例实施例提供的包括耦合到多个虚拟机的交换机的系统的框图,其中该多个虚拟机包括用于提供联网通信服务的虚拟网络功能(virtualnetworkfunction,VNF);图5是示例实施例提供的报文转发方法的流程图;且图6是示例实施例提供的用于实现算法和执行方法的电路的框图。具体实施方式以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本专利技术的具体实施例。足够详细地描述这些实施例以使所属领域的技术人员能够实践本专利技术,并且应理解可利用其它实施例,并且可在不脱离本专利技术的范围的情况下作出结构、逻辑和电性变化。因此,以下描述的示例性实施例并不当作限定,本专利技术的范围由所附权利要求书界定。在一个实施例中,本文所述的功能或算法可在软件中实施。软件可由存储在本地或联网的计算机可读介质或计算机可读存储设备,如一种或多种基于非瞬时性存储器或其它类型的硬件的存储设备,上的计算机可执行指令组成。另外,此类功能对应于模块,该模块可以是软件、硬件、固件或其任何组合。可视需要在一个或多个模块中执行多个功能,且描述的实施例仅仅是示例。软件可在数字信号处理器、ASIC、微处理器或运行于计算机系统(如个人计算机、服务器或其它计算机系统)的其它类型的处理器上执行,将此类计算机系统转变成经过专门编程的机器。在主机上操作的软件交换机用于以有效的方式在多个不同设备之间传输数据。为了加速数据传输,该互连接收待传输的报文,并发起报文的报文头的部分DMA。使用部分DMA以便获得足够的报文头来做出转发决策。部分DMA可以获得一部分或全部的报文头。使用所获得的报文头部分,执行部分DMA以识别报文的目的地。然后发起有效载荷的DMA(即,报文头的剩余部分,可能包括报文头的最后部分),以便将报文转发到目的地。在一些示例中,转发包括整个报文,既有报文头又有有效载荷。与为了传送数据而执行两个完整的DMA的现有方法相比,使用根据本文任一实施例的部分DMA节约了时间。在此根据本文中任一实施例的部分DMA的使用比传统DMA操作使用更少的存储器。在此根据本文中任一实施例的部分DMA的使用比传统DMA操作使用更少的系统资源来传送数据,且允许推迟DMA,该DMA至少包括报文的有效载荷的剩余部分,直到通过使用部分DMA来识别目的地为止。图1是示例实施例提供的用于执行有效数据传输的系统100的框图。诸如机器1110到机器N115之类的多个设备可以通过诸如有线或无线网络之类的通信链路120或诸如外设元件互连(peripheralcomponentinterconnect,PCI)标准总线之类的内部总线来耦合。在一些实施例中,设备可以在单独的系统上,并且还可以包括通过内部总线耦合的单个系统中的设备。在另外的实施例中,设备可以是虚拟机或容器。可以认为容器是轻量级形式的虚拟机,其位于诸如Linux之类的操作系统之上,并且共享操作系统内核功能。互连(interconnect)125可以通过通信链路120耦合。该互连125通过通信链路120在组件或系统之间传送报文。在一些示例中,互连125包括或类似于网桥、虚拟交换机、路由器、网关或其它类似设备。这些示例仅仅是示例,而不是穷尽性或限制性示例。互连125可以包括交换机和操作交换机并提供路由功能的处理系统。在一些示例中,交换机包括以软件实现的虚拟交换机。在一些实施例中,互连125执行报文处理功能,该报文处理功能包括部分DMA和延迟DMA数据传送,例如在设备/系统之间传送报文。在一些示例中,互连125执行数据传送,包括路由正在传送的报文。在一些示例中,互连125可用于配置硬件以执行数据传送。在另外的实施例中,在互连125中可以包括硬件加速器以加速数据传送操作。图2是示例实施例提供的待传送的报文200的框图。报文200包括报文头210和有效载荷220。在各种实施例中,有效载荷220通常显著大于报文头210。报文头210包括诸如目的地标识符225之类的信息,互连130可以使用该信息来将报文200传送到一个或多个目的地设备。在一个实施例中,目的地标识符225可以位于报文头的不同位置。所示的位置位于或靠近报文头的末端,但是在另外的实施例中或在不同系统的实施方式中也可以靠近报文头的中间或开始。在一个实施例中,报文头的从开始到包括目的地标识符225的部分称为必要的报文头长度。在一些实施例中,必要的报文头长度可以包括整个报文头,或者可以刚好足够长以确保目的地标识符225包括在将报文头传送到互连130的传本文档来自技高网...

【技术保护点】
1.一种方法,其特征在于,包括:一互连执行对一个报文的部分直接内存访问,以获得一报文头的报文头数据;所述互连使用所述报文头数据来生成报文转发决策,所述报文转发决策用于标识一个报文目的地址;以及所述互连对所述报文目的地址发起一报文有效载荷的直接内存访问。

【技术特征摘要】
【国外来华专利技术】2016.06.30 US 15/199,3731.一种方法,其特征在于,包括:一互连执行对一个报文的部分直接内存访问,以获得一报文头的报文头数据;所述互连使用所述报文头数据来生成报文转发决策,所述报文转发决策用于标识一个报文目的地址;以及所述互连对所述报文目的地址发起一报文有效载荷的直接内存访问。2.根据权利要求1所述的方法,其特征在于,所述方法还包括预备操作:获得报文转发决策长度,所述报文转发决策长度与将在所述部分直接内存访问中获得的所述报文头的量相对应。获得报文转发决策长度,所述报文转发决策长度与将在所述部分直接内存访问中获得的所述报文头的量相对应。3.根据权利要求2所述的方法,其特征在于,所述报文转发决策长度是从元数据推导的。4.根据权利要求2所述的方法,其特征在于,所述报文的部分直接内存访问被填充在所述报文的字对齐长度中。5.根据权利要求1所述的方法,其特征在于,所述报文转发决策是通过报文交换机生成的,所述报文交换机中包括报文交换机硬件加速器。6.根据权利要求1所述的方法,其特征在于,所述报文转发决策是通过报文交换机生成的,所述报文交换机包括虚拟交换机和虚拟网络接口卡。7.根据权利要求1所述的方法,其特征在于,所述方法还包括接收用于转发所述报文的请求。8.根据权利要求7所述的方法,其特征在于,所述方法还包括基于所述请求获得所述报文的所述目的地址。9.一种非暂时性计算机可读存储设备,其特征在于,所述非暂时性计算机可读存储设备上存储有用于由主机执行以执行以下操作的指令,所述操作包括:向一互连执行对一个报文的部分直接内存访问,以获得报文头的报文头数据;使用所述报文头数据生成报文转发决策,所述报文转发决策用于标识报文目的地址;以及向所述报文目的地址发起报文有效载荷的直接内存访问。10.根据权利要求9所述的计算机可读存储...

【专利技术属性】
技术研发人员:逯云松
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1