具有一致事务排序的多插槽网络接口控制器制造技术

技术编号:35729330 阅读:17 留言:0更新日期:2022-11-26 18:28
本发明专利技术涉及具有一致事务排序的多插槽网络接口控制器。计算装置包括主机,该主机包括至少第一和第二主机总线接口。网络总线控制器(NIC)包括:网络端口,用于连接到分组通信网络;以及第一和第二NIC总线接口,其分别通过第一和第二外围组件总线与第一和第二主机总线接口通信。分组处理逻辑响应于通过网络端口接收的分组,在直接存储器访问(DMA)事务的序列中通过第一和第二NIC总线接口同时将数据写入主机存储器,并且在写入任何给定DMA事务中的数据后,针对给定DMA事务将完成报告写入主机存储器,同时验证只有在给定DMA事务中的所有数据已经被写入主机存储器后完成报告才可用于CPU。于CPU。于CPU。

【技术实现步骤摘要】
具有一致事务排序的多插槽网络接口控制器
[0001]相关申请的交叉引用
[0002]本申请要求于2021年5月9日提交的美国临时专利申请63/186,124的权益,该申请通过引用并入本文。


[0003]本专利技术总体上涉及分组网络通信,并且尤其涉及用于链接多个处理器以通过分组通信网络进行通信的设备和方法。

技术介绍

[0004]网络接口控制器(NIC)通常包括用于连接到分组网络的一个或更多个端口和用于连接到一个或更多个主机处理器的外围组件总线的至少一个总线接口。在现代的高速NIC中,端口可以包括高速以太网或无线带宽端口,例如,当一个或更多个总线接口包含外围组件快速互连(PCIe)端点时。(在无线带宽网络的环境中,此类NIC也可称为主机通道适配器,或HCA。)
[0005]一些NIC有多个总线接口,其可以连接到不同的各自的主机或在一些情况下,连接到同一个主机。后者的配置例如在与具有NUMA(非统一存储器访问)架构的主机进行接口时是有用的。这样的计算机包括多个互连的处理节点(也称为“插槽”),其中每个节点包括中央处理单元(C本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种计算装置,包括:主机,包括至少一个中央处理单元CPU、主机存储器以及至少第一主机总线接口和第二主机总线接口,所述第一主机总线接口和第二主机总线接口分别用于连接到至少第一外围组件总线和第二外围组件总线;以及网络接口控制器NIC,包括:网络端口,用于连接到分组通信网络;第一NIC总线接口和第二NIC总线接口,被配置为分别通过所述第一外围组件总线和第二外围组件总线与所述第一主机总线接口和第二主机总线接口通信;以及分组处理逻辑,其耦合在所述网络端口与所述第一NIC总线接口和第二NIC总线接口之间并且被配置为:响应于通过所述网络端口接收的分组,在直接存储器访问DMA事务的序列中通过所述第一NIC总线接口和第二NIC总线接口同时将数据写入所述主机存储器;以及在写入所述序列中的任何给定DMA事务中的数据后,针对所述给定DMA事务将完成报告写入所述主机存储器,同时验证仅在所述给定DMA事务中的所有数据已经被写入所述主机存储器后所述完成报告才可用于所述CPU。2.根据权利要求1所述的装置,其中所述分组处理逻辑被配置为:在多个不同的工作队列中接收包含分组的消息;将每个所述工作队列与相应的完成队列相关联;以及将所述完成报告写入相应的完成队列。3.根据权利要求2所述的装置,其中所述分组处理逻辑被配置为将每个工作队列与所述NIC总线接口中的相应的、预选的一个NIC总线接口相关联,使得由每个工作队列中接收到的所述消息调用的DMA事务通过所述NIC总线接口中的相关联的一个而被执行,并且其中对于每个工作队列,所述分组处理逻辑被配置为在写入所述给定DMA事务中的数据后,通过所述NIC总线接口中的相同预选的一个将所述完成报告写入相应的完成队列。4.根据权利要求2所述的装置,其中所述分组处理逻辑被配置为:通过经由所述第一NIC总线接口和第二NIC总线接口写入数据来执行由在至少一个所述工作队列中接收的所述消息调用的所述DMA事务;以及在写入所述数据之后,将关于所述DMA事务的完成报告通过所述第一NIC总线接口和第二NIC总线接口写入到所述主机存储器中的相应的第一完成缓冲区和第二完成缓冲区,并且其中在所述主机上运行的驱动程序被配置为从所述第一完成缓冲区和第二完成缓冲区读取所述完成报告,并且将所述完成报告安排到单个完成队列中。5.根据权利要求2所述的装置,其中所述分组处理逻辑被配置为:通过经由所述第一NIC总线接口写入第一数据和经由所述第二NIC总线接口写入第二数据来执行由在给定工作队列中接收的所述消息调用的所述DMA事务;以及在写入所述第一数据和第二数据后,将关于所述DMA事务的完成报告通过所述第一NIC总线接口和第二NIC总线接口写入,同时使所述主机存储器中的相应的第一完成计数器值和第二完成计数器值增加,并且其中在所述主机上运行的驱动程序被配置为在确认在与所述给定工作队列相关联的相应完成队列中的所述完成报告时应用所述计数器值。6.根据权利要求1所述的装置,其中所述主机包括多个非统一存储器访问NUMA节点,包括第一NUMA节点和第二NUMA节点,其分别包括所述第一主机总线接口和第二主机总线接口,其中所述主机存储器包括分别设置在所述第一NUMA节点和第二NUMA节点中的第一本地
存储器和第二本地存储器。7.根据权利要求6所述的装置,其中所述分组处理逻辑被配置为:接收在所述第一本地存储器和第二本地存储器的相应第一部分和第二部分上延伸的存储器区域的定义,并且接收关于适用于所述第一本地存储器和第二本地存储器两者的存储器区域的存储器映射;以及在通过所述第一NIC总线接口和第二NIC总线接口二者写入所述DMA事务中的数据时,将所述存储器映射应用于所述第一本地存储器和第二本地存储器的相应第一部分和第二部分。8.根据权利要求1所述的装置,其中所述DMA事务包括分别通过所述第一NIC总线接口和第二NIC总线接口执行的至少第一原子读

修改

写操作和第二原子读

修改

写操作,并且其中所述分组处理逻辑被配置为:在执行所述第一原子读

修改

写操作后,通过所述第一NIC总线接口执行隔离读取操作;以及仅在完成所述隔离读取操作后才启动所述第二原子读

修改

写操作的执行。9.根据权利要求1所述的装置,其中所述DMA事务包括通过所述第一NIC总线接口执行的存储器区域无效操作,并且其中所述分组处理逻辑被配置为:在执行所述存储器区域无效操作后,通过所述第一NIC总线接口执行隔离读取操作;以及仅在完成所述隔离读取操作后才通过所述第二NIC总线接口启动进一步的DMA事务。10.一种计算装置,包括:主机,包括多个非统一存储器访问NUMA节点,包括至少第一NUMA节点和第二NUMA节点,其分别包括第一中央处理单元CPU和第二中央处理单元、第一本地存储器和第二本地存储器以及第一主机总线接口和第二主机总线接口,所述第一主机总线接口和第二主机总线接口用于分别连接到第一外围组件总线和第二外围组件总线;以及网络接口控制器NIC,包括:网络端口,用于连接到分组通信网络;第一NIC总线接口和第二NIC总线接口,其被配置为分别通过所述第一外围组件总线和第二外围组件总线与所述第一主机总线接口和第二主机总线接口通信;以及分组处理逻辑,其耦合在所述网络端口与所述第一NIC总线接口和第二NIC总线接口之间并且被配置为:接收在所述第一本地存储器和第二本地存储器的相应第一部分和第二部分上延伸的存储器区域的定义,并且接收关于适用于所述第一本地存储器和第二本地存储器两者的存储器区域的存储器映射;以及响应于通过所述网络端口接收的分组,在直接存储器访问DMA事务的序列中通过所述第一NIC总线接口和第二NIC总线接口二者将数据写入所述存储器区域时,将所述存储器映射应用于所述第一本地存储器和第二本地存储器的相应第一部分和第二部分。11.根据权利要求10所述的装置,其中所述存储器区域包括多个页面,包括映射到所述第一本地存储器的相应第一部分的一个或更多个第一页面和映射到所述第二本地存储器的相应第二部分的一个或更多个第二页面。12.根据权利要求10所述的装置,其中所述主机处理器包括在所述第一NUMA节点和第二NUMA节点之间的处理器间总线,并且其中所述分组处理逻辑被配置为通过所述第一NIC
总线接口和所述处理器间总线将所述DMA事务的序列中的数据的至少一部分写入所述第二本地存储器。13.根据权利要求10所述的装置,其中所述分组处理逻辑被配置为选择所述第一NIC总线接口和第二NIC总线接口中的一个以在所述序列中的每个所述DMA事务中使用,以便平衡所述第一外围组件总线和第二外围组件总线之间的通信负载。14.根据权利要求10所述的装置,其中所述DMA事务包括通过所述第一NIC总线接口执行的存储器区域...

【专利技术属性】
技术研发人员:T
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

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

1