当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于经硬件加速的分组处理的装置和方法制造方法及图纸

技术编号:17518876 阅读:44 留言:0更新日期:2018-03-21 03:16
本文描述用于经硬件加速的分组处理的设备和技术。设备可以与一个或多个硬件交换机通信。设备可以检测多个分组串流的特性。设备可以基于所述多个分组串流的所检测到的特性而在所述一个或多个硬件交换机与软件数据平面组件之间分发所述多个分组串流,使得至少一个分组串流被指派由所述一个或多个硬件交换机处理。还描述了其它实施例。

Device and method for packet processing by hardware acceleration

This article describes the equipment and technology for packet processing by hardware acceleration. The device can communicate with one or more hardware switches. The device can detect the characteristics of multiple packet streams. The device can be a plurality of packet stream detected based on the characteristics of and between the one or more hardware switches and software component distribution data plane of the plurality of packet streams, so that at least one packet stream is assigned by the one or more hardware switch at. Other examples are also described.

【技术实现步骤摘要】
【国外来华专利技术】用于经硬件加速的分组处理的装置和方法
本文一般描述的实施例涉及通过网络发送或接收的数据分组的处理。一些实施例涉及数据分组处理的硬件加速。
技术介绍
架顶式交换机和特殊功能硬件提供包括分组交换、安全性、深入分组检查和其它功能的网络功能。近来已经存在提供在高体积计算机架构上施行的虚拟交换机和网络功能的趋势。进行中的努力针对改进交换机之间的协调以利用硬件交换机中的速度益处和虚拟交换机的灵活性和能力。附图说明在图中,所述图未被按照比例绘制,相同的标号可以描述不同视图中的类似组件。具有不同字母后缀的相似标号可以表示类似组件的不同实例。附图通过示例的方式而不是通过限制的方式一般地图示在本文档中讨论的各种实施例。图1图示依照一些实施例的包括用于实现方法的控制设备的交换平台的组件。图2图示依照一些实施例的控制设备。图3图示依照一些实施例的交换平台的服务功能转发器使用模型。图4图示依照一些实施例的交换平台的开放虚拟交换机使用模型。图5图示依照一些实施例的交换平台的连接追踪器使用模型。图6是依照一些实施例的示例硬件实现的方法的流程图。图7是依照一些实施例的硬件交换机的框图。具体实施方式一些数据中心使用架顶式(ToR)交换机和特殊功能硬件来提供包括分组交换、安全性、深入分组检查和其它功能的网络功能。然而,消费者可能经历由诸如有限的存储器、有限的三元内容可寻址存储器(TCAM)、受支持的数据流的减少的总数目等之类的硬件限制导致的降低的功能性。另外,硬件交换机关于分组解析可能过于严格,并且硬件交换机可以展现平台灵活性和可配置性的普遍缺乏。近来在数据中心内已经存在一种趋势,用以提供用于将网络功能从底层硬件解耦的软件定义的联网(SDN),这可以帮助增加敏捷性和降低成本。类似地,网络功能虚拟化(NFV)可以利用完全在软件中的实现方式来取代固定功能硬件,所述软件在通用、基于标准的服务器上更加成本有效地运行。然而,这样的软件定义的系统可能不利用硬件交换机的一些合期望的特性。实施例提供以精细粒度的方式协调和管理多个数据平面组件以利用硬件交换和SDN/NFV使用二者的合期望的特征。控制平面组件包括确定应当向哪里引导业务(例如数据分组或流)的机构,而数据平面组件包括向那些目的地转发业务的机构。实施例提供控制平面方法和装置以协调多个数据平面组件。除其它组件之外,数据平面组件可以特别包括,作为非限制性示例,数据平面开发套件(DPDK)组件、现场可编程门阵列(FPGA)组件,以及从加利福尼亚州圣克拉拉的英特尔可得到的红石峡谷(RRC)交换机组件。依照各种实施例的方法可以基于用户定义的策略来以动态且灵活的方式协调这些和其它组件的利用,以减少或最小化能量消耗或增强速度和性能。在实施例中,控制平面可以将简单的快速分组处理管线从基于软件的交换机或虚拟交换机卸载到交换机硬件,而同时提供基于CPU的软件数据平面上的更加复杂的处理。此外,以下关于各种实施例描述的方法和装置可以提供响应于被监视的网络负载中的改变的缩放动作以得到附加的功率和性能增强。依照本文稍后描述的各种实施例的装置包括控制设备,控制设备包含与硬件交换机或一组硬件交换机通信的交换机接口。在一些实施例或实现方式中,控制设备可以称为平面间控制设备。在一些实施例或实现方式中,控制设备可以称为控制平面处理器。控制设备还包括与一个或多个数据平面处理器通信的数据平面接口。控制设备还包括基于分组串流的所检测到的特性而在硬件交换机与软件数据平面组件之间分发分组串流的处理电路,如本文稍后将更加详细描述的。相比之下,一些其它经硬件加速的分组处理架构不利用软件和硬件数据平面组件二者。图1图示依照各种实施例的包括用于实现方法的控制设备102的交换平台100的组件。网络操作系统(在内核或用户空间中)在交换平台100上运行,并且除其它功能性之外,特别管理硬件交换机104、数据平面处理器106和在FPGA108中编程的相关联的加速器。硬件交换机104可以包括固定逻辑交换机硅(交换机Si)电路或其它硬件电路,并且硬件交换机104可以包括从加利福尼业州圣克拉拉的英特尔公司可得到的Intel®以太网交换机家族中的交换机。数据平面处理器106中的每一个使用非常高带宽、低延时互连110连接到硬件交换机104,所述互连110可以支持例如10-40吉比特以太网(GbE)的速度。此外,除其它用途之外,数据平面处理器106还特别在彼此之间互连以产生连贯结构以访问交换平台100的随机存取存储器(RAM)112中所提供的扩展流表,或从一个数据平面处理器106向下一个传递分组。控制设备102初始化硬件交换机104并且使用灵活的接口对面向数据平面处理器106的硬件交换机104的交换端口进行编程,以提供除其它数据中心使用模型之外还可以适配用于本文稍后参考图3-5描述的各种使用模型的可缩放的流处理。硬件交换机104还接收分组串流并且使用以太网端口111连接到其它设备或系统。在一些实施例中,控制设备102可以在专门化的核上施行(例如“运行”)。可替换地,在其它实施例中,控制设备102(或控制设备102的处理电路)作为非限制性示例可以分布在一个或多个IntelArchitecture(Intel架构)®核114之间。图2图示依照一些实施例的控制设备102。控制设备102包括与一个或多个硬件交换机(例如硬件交换机104(图1))通信的交换机接口200。控制设备102还包括与一个或多个数据平面处理器106(图1)通信的数据平面接口202。控制设备102包括执行如本文稍后描述的功能性的处理电路204。将理解到,由处理电路204执行的功能中的任何一个或全部可以利用硬件、软件、固件或其任何组合在一个或多个处理核(例如IA核114或控制设备102的核)上施行。在实施例中,处理电路204可以检测已经在交换机接口200处接收到的多个分组串流的特性。处理电路204可以基于所述多个分组串流的所检测到的特性而在所述一个或多个硬件交换机(例如硬件交换机104(图1))和软件数据平面组件之间分发所述多个分组串流。特性可以包括相应分组串流的复杂度(以机器周期来测量)、分组串流是否简单地为不使用处理能力的I/O流等。软件数据平面组件可以包括用于SDN或NFV功能的元件,如本文较早前描述的,并且软件数据平面组件可以在IA核114上施行。处理电路204可以监视分组串流并且卸载简单的分组串流。处理电路204可以基于预计要由相应分组串流使用的处理能力而确定分组串流是否是简单的分组串流(例如如果没有或很少的中央处理单元(CPU)机器周期将用于处理相应的分组串流,分组串流是简单的分组串流)。处理电路204可以使用任何其它准则来确定哪些分组串流是简单的分组串流,并且处理电路204可以向硬件交换机分发除简单的分组串流之外的其它类型的分组串流以供进一步处理。在实施例中,处理电路204可以分发所述多个分组串流,使得至少一个分组串流被指派由所述一个或多个硬件交换机处理。在实施例中,处理电路204可以检测针对所述一个或多个硬件交换机的能力信息,并且处理电路204可以至少部分地基于针对所述一个或多个硬件交换机的能力信息而分发所述多个分组串流。能力信息的示例可以包括服务质量能力、交换机是否支持硬件加速本文档来自技高网...
用于经硬件加速的分组处理的装置和方法

【技术保护点】
一种控制设备,包括:与一个或多个硬件交换机通信的交换机接口;与一个或多个数据平面处理器通信的数据平面接口;以及处理电路,其配置成:检测在交换机接口处接收到的多个分组串流的特性,并且基于所述多个分组串流的所检测到的特性而在所述一个或多个硬件交换机与所述一个或多个数据平面数据平面处理器的软件数据平面组件之间分发所述多个分组串流,使得所述多个分组串流中的至少一个分组串流被指派由所述一个或多个硬件交换机处理。

【技术特征摘要】
【国外来华专利技术】2015.06.25 US 14/7500851.一种控制设备,包括:与一个或多个硬件交换机通信的交换机接口;与一个或多个数据平面处理器通信的数据平面接口;以及处理电路,其配置成:检测在交换机接口处接收到的多个分组串流的特性,并且基于所述多个分组串流的所检测到的特性而在所述一个或多个硬件交换机与所述一个或多个数据平面数据平面处理器的软件数据平面组件之间分发所述多个分组串流,使得所述多个分组串流中的至少一个分组串流被指派由所述一个或多个硬件交换机处理。2.权利要求1所述的控制设备,其中处理电路还配置成:检测针对所述一个或多个硬件交换机的能力信息,并且其中处理电路至少部分地基于针对所述一个或多个硬件交换机的能力信息而分发所述多个分组串流。3.权利要求2所述的控制设备,其中处理电路配置成向所述一个或多个硬件交换机引导简单的分组串流,并且其中处理电路基于预计要由相应分组串流使用的中央处理单元(CPU)机器周期的数目而确定所述多个分组串流中的相应分组串流是否是简单的分组串流。4.权利要求3所述的控制设备,其中处理电路配置成检测对应于所述多个分组串流的业务负载数据,并且基于业务负载数据而向所述一个或多个硬件交换机引导一个或多个分组串流。5.权利要求4所述的控制设备,其中处理电路还配置成:检测分组处理工作负载已经落至阈值以下;并且响应于所述检测而向至少一个处理核提供命令以使得所述至少一个处理核进入睡眠模式。6.权利要求2所述的控制设备,其中处理电路配置成对至少一个硬件交换机进行编程以施行路由规则。7.权利要求6所述的控制设备,其中路由规则包括向在现场可编程门阵列(FPGA)上施行的服务功能(SF)引导分组串流的分组的规则。8.权利要求1所述的控制设备,其中处理电路还配置成对硬件提示进行编程以命令至少一个硬件交换机向目标处理核引导分组以用于处理对应的分组串流。9.权利要求8所述的控制设备,其中处理电路在特定于控制设备的处理核上施行。10.权利要求8所述的控制设备,其中处理电路在两个或更多处理核之间分布。11.一种包括指令的机器可读介质,所述指令当在机器上施行时使得机器执行包括以下的操作:检测在交换机接口处接收到的多个分组串流的特性,其中特性包括基于预计要由相应分组串流使用的中央处理单元(CPU)周期的数目的所述多个分组串流中的相应分组串流是否是简单的分组串流;以及基于所述多个分组串流的所检测到的特性而在硬件交换机与软件数据平面组件之间分发所述多个分组串流,使得所述多个分组串流中...

【专利技术属性】
技术研发人员:N贾尼D库马尔C马乔科王任N帕里克J法斯塔本德I加斯帕拉基斯DJ哈里曼PL康诺尔S贾因
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1