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

用于管理网络接口控制器的灵活主机接口的技术制造技术

技术编号:20517814 阅读:32 留言:0更新日期:2019-03-06 02:38
一种用于通过计算装置的网络接口控制器(NIC)的主机接口来处理网络分组的技术。主机接口被配置为由主机接口的对称多用途(SMP)阵列来检索来自主机接口的消息队列的消息,并由SMP阵列的多个处理器核中的处理器核来处理该消息以识别要对与该消息相关联的网络分组的至少一部分所执行的长时延操作。主机接口还被配置为生成另一消息,该消息包括所识别的长时延操作和在完成时要执行的下一步骤的指示。另外,主机接口被配置为根据要执行的后续长时延操作而将另一消息传送到对应的硬件单元调度器。本文描述了其它实施例。

Flexible Host Interface Technology for Network Interface Controller Management

A technique for processing network packets through the host interface of the Network Interface Controller (NIC) of a computing device. The host interface is configured to retrieve messages from the message queue of the host interface by a symmetric multipurpose (SMP) array of the host interface, and to process the message by the processor cores in the multiple processor cores of the SMP array to identify long-delay operations to be performed on at least part of the network packet associated with the message. The host interface is also configured to generate another message, which includes the identified long-delay operation and instructions for the next step to be performed at completion. In addition, the host interface is configured to transmit another message to the corresponding hardware unit scheduler in accordance with subsequent long-delay operations to be performed. Other embodiments are described herein.

【技术实现步骤摘要】
用于管理网络接口控制器的灵活主机接口的技术相关申请的交叉引用本申请要求2017年8月30日提交的印度临时专利申请No.201741030632和2017年11月10日提交的美国临时专利申请No.62/584,401的权益。
技术介绍
在当前的分组交换网络架构中,数据以快速速度在计算装置和/或装置组件之间以网络分组的形式来传送。在高级别,数据被分组成网络分组,该网络分组由一个网络计算装置的网络接口控制器(NIC)来传送并由另一个网络计算装置的NIC来接收。一旦接收,通常对网络分组进行处理、分类等,并且通常将有效载荷写入到存储器(例如,高速缓存、主存储器等)。在已将网络分组数据写入到存储器时,接收NIC然后可以向主机中央处理单元(CPU)通知该数据可用于进一步处理。通常,NIC包括被配置为管理主机CPU和NIC之间的通信(例如,经由外围组件互连快速(PCI-e))的接口。因此,NIC可以支持各种特征(诸如中断、到主机处理器的直接存储器访问(DMA)接口),支持多个接收和传送队列、分区到多个逻辑接口中、网络业务处理、卸载等。为了这么做,接口依赖于用于主机软件和NIC硬件集成的一个或多个协议(例如,用于管理主机虚拟机(VM)和物理NIC功能之间的消息/通信)。但是,在某些状况下,诸如可能基于NIC的供应商、型号等,特定NIC可能不支持某些软件接口语言。附图说明本文描述的概念通过示例方式而不是通过限制方式而在附图中示出。为了说明的简单性和清楚性,附图中示出的元件不一定按比例绘制。在认为适当的情况下,在附图间重复参考标记以指示对应或类似的元件。图1是其中可以根据各种实施例实现本文描述的一种或多种技术的数据中心的概念性概述的图;图2是图1的数据中心的机架(rack)的逻辑配置的示例实施例的图;图3是根据各种实施例的其中可以实现本文描述的一种或多种技术的另一数据中心的示例实施例的图;图4是根据各种实施例的其中可以实现本文描述的一种或多种技术的数据中心的另一示例实施例的图;图5是表示可以在图1、3和4的数据中心的各种滑板(sled)之间建立的链路层连接性的连接性方案的图;图6是根据一些实施例的可以表示图1-4中描绘机架的任何具体一个的架构的机架架构的图;图7是可以与图6的机架架构一起使用的滑板的示例实施例的图;图8是为以扩展能力为特征的滑板提供支持的机架架构的示例实施例的图;图9是根据图8的机架架构实现的机架的示例实施例的图。;图10是设计用于与图9的机架结合使用的滑板的示例实施例的图;图11是根据各种实施例的其中可以实现本文描述的一种或多种技术的数据中心的示例实施例的图;图12是用于管理计算装置的网络接口控制器(NIC)的灵活主机接口的计算装置的至少一个实施例的简化框图;图13是可以由图12的NIC所建立的环境的至少一个实施例的简化框图;图14是可以由图13的NIC的灵活主机接口所建立的环境的至少一个实施例的简化框图;图15是用于生成网络分组的(一个或多个)描述符的方法的至少一个实施例的简化流程图,该方法可以由图12的计算装置的主机CPU来执行;图16是用于向图13的NIC的业务管理器通知(一个或多个)描述符的接收的方法的至少一个实施例的简化流程图,该方法可以由图13和图14的灵活主机接口来执行;图17是用于处理消息的方法的至少一个实施例的简化流程图,该方法可以由图14的灵活主机接口的对称多处理阵列来执行;图18A和图18B是用于处理网络分组的至少一个实施例的简化通信流程图,所述至少一个实施例可以由图14的灵活主机接口来执行;以及图19是用于节流出站网络分组的处理的至少一个实施例的简化通信流程图,所述至少一个实施例可以由图14的作业管理器来执行。具体实施方式虽然本公开的概念容许各种修改和备选形式,其特定实施例已通过示例方式在附图中示出并且将在本文中详细描述。然而,应该理解的是,不存在将本公开的概念限制于所公开的具体形式的意图,而是相反,意图是要覆盖与本公开和所附权利要求一致的所有修改、等效和备选方案。在说明书中引用“一个实施例”、“实施例”、“说明性实施例”等指示所描述的实施例可包括具体特征、结构或特性,但每一个实施例可以或者可以不必要地包括该具体特征、结构或特性。此外,此类短语不一定是指相同实施例。此外,当具体特征、结构或特性联系实施例进行描述时,认为它在本领域技术人员的知识范围内,以便联系其它实施例实施此类特征、结构或特性(不管是否明确描述)。此外,应该意识到,包含在以“至少一个A、B和C”的形式的列表中的项可表示:(A);(B);(C);(A和B);(A和C);(B和C)或(A、B和C)。类似地,以“A、B或C中的至少一个”形式列出的项可表示:(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。所公开的实施例在一些情况下可用硬件、固件、软件或其任何组合来实现。所公开的实施例也可作为由暂时性或非暂时性机器可读(例如计算机可读)介质携带或存储在其上的指令而被实现,其可由一个或多个处理器读取和执行。机器可读存储介质可被实施为用于存储或传送以由机器(例如易失性或非易失性存储器、媒体盘或其它媒体装置)可读形式的信息的任何存储装置、机制或其它物理结构。在附图中,一些结构特征或方法特征可按特定布置和/或排序示出。然而,应该意识到,可能不要求此类特定布置和/或排序。而是,在一些实施例中,此类特征可按与在说明性附图中示出的不同的方式和/或顺序布置。此外,在具体附图中包括结构或方法特征不打算意指在所有实施例中要求此类特征,并且在一些实施例中,此类特征可以不被包括或者可以与其它特征组合。图1示出了根据各种实施例的数据中心100的概念性概述,所述数据中心100通常可以表示数据中心或其它类型的计算网络,在其中/针对其可以实现本文描述的一种或多种技术。如图1中所示的,数据中心100通常可以包含多个机架,每个机架可以容纳包括相应的物理资源集合的计算装备。在图1中描绘的具体非限制性示例中,数据中心100包含四个机架102A至102D,其容纳包括物理资源(PCR)105A至105D的相应集合的计算装备。根据此示例,数据中心100的物理资源106的共同集合包括分布在机架102A至102D之间的物理资源105A至105D的各种集合。物理资源106可以包括多种类型的资源,诸如-例如-处理器、协处理器、加速器、现场可编程门阵列(FPGA)、存储器和存储装置。实施例不限于这些示例。说明性数据中心100在许多方面不同于典型的数据中心。例如,在说明性实施例中,其上放置诸如CPU、存储器和其它组件的组件的电路板(“滑板”)针对增加的热性能而设计。尤其,在说明性实施例中,滑板比典型的板更浅薄。换句话说,滑板从前到后较短(其中冷却风扇位于其处)。这降低了空气必须行进跨过板上组件的路径的长度。此外,滑板上的组件比起在典型的电路板中要间隔得更远,并且所述组件被布置成减少或消除遮蔽(即,另一组件的空气流动路径中的一个组件)。在说明性实施例中,诸如处理器的处理组件位于滑板的顶侧上,而诸如DIMM的附近存储器位于滑板的底侧上。作为通过此设计提供的增强的气流的结果,组件可以以比在典型系统更高的频率和功率级操作,由此增加性能。此外,滑板配置本文档来自技高网...

【技术保护点】
1. 一种用于处理网络分组的计算装置,所述计算装置包括:具有一个或多个处理器和存储器的计算引擎;以及具有主机接口的网络接口控制器(NIC),其中,所述NIC将:由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。

【技术特征摘要】
2017.08.30 IN 201741030632;2017.11.10 US 62/5844011.一种用于处理网络分组的计算装置,所述计算装置包括:具有一个或多个处理器和存储器的计算引擎;以及具有主机接口的网络接口控制器(NIC),其中,所述NIC将:由所述主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息;由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作;由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器。2.如权利要求1所述的计算装置,其中所述NIC还将:由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息,所述释放消息指示所述网络分组可以被释放到所述一个或多个处理器之一或所述NIC的网络接口;以及由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口。3.如权利要求1所述的计算装置,其中所述NIC还将:由所述主机接口的作业管理器来检索由所述一个或多个处理器中的处理器存储在所述存储器中的位置处的描述符表中的描述符的索引,其中所述描述符包括与网络分组对应的信息;由所述作业管理器将第一消息转发给所述主机接口的所述对称多用途(SMP)阵列,其中所述第一消息包括所述描述符的所述索引;由所述SMP阵列的所述多个处理器核中的第一处理器核来处理所述第一消息以识别所述描述符的所述索引;由所述第一处理器核来生成第二消息,所述第二消息指示执行获取操作以基于所述描述符的所述索引来检索所述描述符、并包括所检索的描述符在被检索到时要被处理的指示;以及由所述第一处理器核将所述第二消息转发给所述主机接口的直接存储器访问(DMA)引擎。4.如权利要求3所述的计算装置,其中所述NIC还将:由所述DMA引擎来处理所述第二消息以识别要执行的DMA获取操作,其中要执行的所述DMA获取操作包括经由DMA来获取所述描述符;由所述DMA引擎来执行所识别的DMA获取操作;由所述DMA引擎来生成第三消息,所述第三消息包括由于所述DMA获取操作而检索的所述描述符,其中所述第三消息包括所述描述符在所述主机接口的缓冲器存储器中的位置以及所检索的描述符将被处理的指示;以及由所述DMA引擎将所述第三消息转发给所述SMP阵列。5.如权利要求3所述的计算装置,其中检索所述描述符的所述索引包括从存储在所述计算引擎的高速缓存存储器中的描述符环中检索所述描述符的所述索引。6.如权利要求5所述的计算装置,其中所述NIC进一步将:由所述作业管理器从所述NIC的业务管理器接收授权的业务限制,其中所述授权的业务限制指示在接收到时所述作业管理器被允许处理的网络业务量;由所述作业管理器从所述描述符表中检索下一描述符;由所述作业管理器来解译所述下一描述符,以确定与所述下一描述符相关联的所述网络业务量;如果与所述下一描述符相关联的所述网络业务将根据与所述下一描述符和所述授权的业务限制相关联的所述网络业务量来处理,则由所述作业管理器来确定是否将超出所述授权的业务限制;以及由所述作业管理器并在已确定将超出所述授权的业务限制之后将所述描述符返回到所述描述符表。7.如权利要求6所述的计算装置,其中所述NIC进一步将:由所述作业管理器并在已确定不会超出所述授权的业务限制之后将所述授权的业务限制减少与所述下一描述符关联的所述网络业务量;由所述作业管理器来生成第四消息,所述第四消息包括可用于定位所述描述符的信息;以及由所述作业管理器将所述消息插入到可由所述SMP阵列访问的描述符队列中。8.如权利要求1所述的计算装置,其中识别所述长时延操作包括识别直接存储器访问(DMA)获取操作。9.如权利要求1所述的计算装置,其中所述NIC还将:由所述主机接口的事件逻辑单元来接收事件通知;以及由所述事件逻辑单元根据与所述事件通知相关联的网络协议来构建数据结构,其中所述数据结构包括关于所述事件通知的信息,所述信息可由所述SMP阵列的所述多个处理器核中的至少一个用于处理所述事件通知。10.如权利要求9所述的计算装置,其中接收所述事件通知包括接收指示以下事件之一的所述事件通知:信号接发事件、存储器映射输入/输出事件、或主机组构接口事件。11.一种用于处理网络分组的计算装置,所述计算装置包括:用于由计算装置的网络接口控制器(NIC)的主机接口的对称多用途(SMP)阵列从所述主机接口的消息队列中检索消息的部件;用于由所述SMP阵列的多个处理器核中的处理器核来处理所述消息,以识别要对与所述消息相关联的网络分组的至少一部分所执行的长时延操作的部件;用于由所述处理器核并响应于已经识别出要执行的所述长时延操作来生成另一个消息的部件,所述另一个消息包括要执行的所述长时延操作的指示和在完成所述长时延操作时要执行的下一步骤;以及用于由所述处理器核根据要执行的所述长时延操作将另一消息传送到所述主机接口的对应硬件单元调度器的部件。12.如权利要求11所述的计算装置,还包括:用于由所述处理器核并响应于已经基于所述消息的所述处理识别出没有长时延操作要被执行来生成释放消息的部件,所述释放消息指示所述网络分组可以被释放到所述计算装置的计算引擎的一个或多个处理器之一或所述NIC的网络接口;以及用于由所述处理器核将所述释放消息传送给所述NIC的存储器组构的存储器组构接口的部件。13.如权利要求11所述的计算装置,还包括:用于由所述主机接口的作业管理器来检索由所述计算装置的计算引擎的一个或多个处理器中的处理器存储在所述计...

【专利技术属性】
技术研发人员:TE威利斯B伯雷斯A库马尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1