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是其中可以根据各种实施例实 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。