Controlling a NIC with a DPU
Patent Information
- Application Number
- CN202610464925.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-11-18
- Filing Date
- 2026-04-09
- Publication Date
- 2026-10-16
AI Technical Summary
然而,这些配置在网络管理和安全方面会面临挑战,因为传统的基于虚拟化的方案可能并不适用
Smart Images

Figure CN122933666A_ABST
Abstract
Description
[0001] Relevant application information This application claims priority to U.S. Provisional Patent Application No. 63 / 785,654, filed April 9, 2025, by Javadi et al., the disclosure of which is incorporated herein by reference. Technical Field
[0002] This disclosure relates to computer networking systems, and more specifically, but not exclusively, to the use of a data processing unit to control a network interface controller. Background Technology
[0003] Computer systems typically utilize network interface controllers (NICs) to facilitate communication between devices and networks. These NICs are usually responsible for data transmission and network protocol processing, thereby offloading some networking tasks from the main processor. In many computing environments, multiple NICs can be used to manage different types of network traffic or to provide redundancy.
[0004] Data Processing Units (DPUs) have become specialized components capable of handling more complex network and data processing tasks. DPUs typically integrate their own processing cores and memory, enabling them to perform advanced functions beyond those of traditional NICs. This capability allows DPUs to assume greater responsibility for managing network traffic and enforcing security policies.
[0005] In some computing architectures, network traffic is divided into north-south traffic and east-west traffic. North-south traffic typically refers to data transmission between internal and external networks, while east-west traffic describes communication between devices within the same network or data center. Efficiently managing these different traffic patterns can be extremely challenging, especially in performance-critical environments.
[0006] Bare metal configurations (where applications run directly on the hardware without a hypervisor layer) are sometimes used to maximize performance and resource utilization. However, these configurations present challenges in network management and security because traditional virtualization-based solutions may not be suitable.
[0007] As computing systems become increasingly complex and distributed, there are ongoing efforts to improve network performance, security, and manageability. This includes exploring new ways to leverage dedicated hardware components and optimizing the interactions between different parts of the system architecture. Summary of the Invention
[0008] According to embodiments of the present disclosure, a network node is provided, the network node comprising: a host device including at least one processor; a plurality of network interface controllers (NICs) connected to the host device; and a data processing unit (DPU) connected to the plurality of NICs via at least one data communication bus, the DPU being configured to control network functions of the plurality of NICs using control data transmitted via the at least one data communication bus.
[0009] Furthermore, according to embodiments of this disclosure, the DPU processes north-south network traffic, and the plurality of NICs process east-west network traffic; the north-south network traffic includes data communication between the host device and an external network; and the east-west network traffic includes data communication between devices located in the same network or data center as the host device.
[0010] Furthermore, according to embodiments of this disclosure, the DPU is directly connected to at least a portion of the plurality of NICs via the at least one data communication bus.
[0011] Furthermore, according to embodiments of this disclosure, the control data is sent from the DPU to the plurality of NICs without passing through the host device.
[0012] Furthermore, according to embodiments of this disclosure, the DPU and the plurality of NICs are directly connected to the host device via the at least one data communication bus.
[0013] Furthermore, according to embodiments of this disclosure, the DPU is connected to at least some of the plurality of NICs via a data communication bus switch.
[0014] Furthermore, according to embodiments of this disclosure, the DPU is not directly connected to the host device.
[0015] Furthermore, according to embodiments of this disclosure, the DPU is directly connected to the plurality of NICs via the at least one data communication bus.
[0016] Furthermore, according to embodiments of this disclosure, the at least one data communication bus includes at least one Fast Peripheral Component Interconnect (PCIe) data bus.
[0017] Furthermore, according to embodiments of this disclosure, the DPU is directly connected to a subset of the plurality of NICs via the at least one data communication bus, and the subset of the plurality of NICs is directly connected to other NICs among the plurality of NICs via the at least one data communication bus.
[0018] Furthermore, according to embodiments of this disclosure, the control data sets encapsulation parameters for network packets processed by the plurality of NICs.
[0019] Furthermore, according to embodiments of this disclosure, the control data sets encryption parameters for network traffic processed by the plurality of NICs.
[0020] Furthermore, according to embodiments of this disclosure, the control data sets quality of service parameters for network traffic processed by the plurality of NICs.
[0021] Furthermore, according to embodiments of this disclosure, the host device is a bare metal device.
[0022] According to another embodiment of this disclosure, a system is provided, comprising: a plurality of network nodes, each network node including: a host device including at least one processor; a plurality of network interface controllers (NICs) connected to the host device; and a data processing unit (DPU) connected to the plurality of NICs via at least one data communication bus, the DPU being configured to control network functions of the plurality of NICs using control data transmitted via the at least one data communication bus; and a network interconnecting the plurality of network nodes, wherein the DPUs of the plurality of network nodes coordinate with each other to manage network traffic of the system.
[0023] Furthermore, according to embodiments of this disclosure, for each network node, the DPU processes north-south network traffic, and the plurality of NICs process east-west network traffic; the north-south network traffic includes data communication between the host device and an external network; and the east-west network traffic includes data communication between host devices located in the same network or data center.
[0024] Furthermore, according to embodiments of this disclosure, the control data sets encapsulation parameters for network packets processed by the plurality of NICs.
[0025] Furthermore, according to embodiments of this disclosure, the control data sets encryption parameters for network traffic processed by the plurality of NICs.
[0026] Furthermore, according to embodiments of this disclosure, the control data sets quality of service parameters for network traffic processed by the plurality of NICs.
[0027] According to another embodiment of the present invention, a method for managing network traffic in a network node is also provided, comprising: providing a host device, the host device including at least one processor; connecting a plurality of network interface controllers (NICs) to the host device; connecting a data processing unit (DPU) to the plurality of NICs via at least one data communication bus; controlling network functions of the plurality of NICs using control data transmitted from the DPU via the at least one data communication bus; using the DPU to process north-south network traffic, wherein the north-south network traffic includes data communication between the host device and an external network; and using the plurality of NICs to process east-west network traffic, wherein the east-west network traffic includes data communication between devices located in the same network or data center as the host device. Attached Figure Description
[0028] Reading the following detailed description in conjunction with the accompanying drawings will help to understand this disclosure, wherein: Figure 1 This is a simplified block diagram of a computer node constructed and operated according to embodiments of this disclosure; Figure 2 This is based on one aspect of the disclosure. Figure 1 A more detailed block diagram of the computer node is shown; Figure 3 It is based on the illustration of the embodiment. Figure 1 A block diagram showing an alternative configuration of computer nodes; Figure 4 Based on certain aspects described in this disclosure Figure 1 A block diagram showing another configuration of the computer node; Figure 5 This is illustrated according to an embodiment. Figure 4 A block diagram showing a variant of the computer node configuration; and Figure 6 It is based on the illustrations of certain aspects of this disclosure. Figure 1 The diagram shows the software and hardware components of a computer node. Detailed Implementation
[0029] Example Implementation Overview In modern computing environments, managing network traffic efficiently and securely has become increasingly complex. Traditional solutions often rely on host-based network management, which can introduce security vulnerabilities and performance bottlenecks, especially in bare-metal configurations lacking hypervisor-based isolation mechanisms. Furthermore, differentiating between north-south and east-west network traffic may require specialized handling to optimize performance and ensure security.
[0030] Current solutions may involve using a Data Processing Unit (DPU) to manage north-south traffic and a Network Interface Controller (NIC) to handle east-west traffic. However, this approach presents challenges in coordinating network policies and ensuring consistency of security measures across different traffic types. Furthermore, existing methods may involve running control software on host devices, which could undermine the isolation and security advantages of bare-metal configurations.
[0031] Embodiments of this disclosure address at least some of the aforementioned drawbacks by providing a system and method that enables a data processing unit (DPU) to directly control the functions of multiple network interface controllers (NICs) without host intervention.
[0032] In some embodiments, the DPU is connected to the NIC via a high-speed data communication bus (e.g., PCIe) to enable efficient transmission of control data. This architecture allows the DPU to consistently manage north-south and east-west traffic policies, thereby enhancing security and performance.
[0033] In some cases, the DPU can implement advanced network functions, such as encryption, encapsulation, and quality of service management, between connected NICs. This centralized control allows for the application of more complex and unified network policies throughout the system.
[0034] The solutions provided in this disclosure offer several advantages, including enhanced security by isolating network control functions from host devices, improved performance by offloading network management tasks from the host CPU and memory, and greater flexibility in implementing complex network policies across different types of network traffic.
[0035] System Description In the context of this disclosure, the following definitions apply: A "Data Processing Unit" (DPU) can refer to a dedicated processing device configured to offload and accelerate networking, storage, and security workloads. In some cases, a DPU may include multiple processing cores (such as ARM cores) to handle various computing tasks. A DPU may also include a Network Interface Controller (NIC) component. In some implementations, the DPU's processing cores and the NIC component may be integrated on the same chip, while in others they may reside on separate chips. In certain contexts, a DPU may also be referred to as a smart NIC, reflecting its enhanced capabilities compared to traditional NICs.
[0036] A "Network Interface Controller" (NIC) is a hardware component that connects computing devices to a computer network. In some cases, a NIC can be a low-power, high-bandwidth device designed to enable efficient data transmission.
[0037] A "host device" is a computing system that runs applications, processes data, and interacts with other devices (e.g., other host devices) or networks. In some cases, a host device may include one or more processors, memory, storage devices, and various input / output interfaces. Host devices can take different forms, such as servers, workstations, or dedicated computing nodes in data center or cloud environments. In some implementations, a host device may operate in a bare-metal configuration, running applications directly on the hardware; in others, it may leverage virtualization technology to support multiple operating systems or workloads.
[0038] North-south network traffic refers to data communication between host devices and external networks. This type of traffic typically involves interactions with clients, users, or services outside of the immediate network or data center.
[0039] "East-west network traffic" refers to data communication between host devices within the same network or data center. This type of traffic typically involves interactions between servers or applications within the internal network infrastructure. In some implementations, due to the different needs and characteristics of east-west and north-south networks, east-west networks are completely separated or isolated from north-south networks.
[0040] "Bare metal configuration" refers to a computing environment where the physical server is dedicated to a single tenant, without the use of a hypervisor or virtualization layer. In some cases, the operating system can be installed directly on the hardware. In this configuration, cloud providers typically have limited control over the software running on the host device.
[0041] A hypervisor can refer to a software layer that can create and manage virtual machines. In some cases, a hypervisor allows multiple operating systems to run concurrently on a single physical host by abstracting the underlying hardware resources. In a virtualization environment, a hypervisor can play a role in resource allocation, isolation between virtual machines, and facilitating communication between virtual and physical components.
[0042] A "data communication bus" can refer to a system within a computer or device used to transfer data between components. In some cases, a data communication bus may include a Fast Peripheral Component Interconnect (PCIe) data bus.
[0043] A "processor" can refer to a hardware component within a computing device that executes computer program instructions. In some cases, a processor can be a central processing unit (CPU) or a graphics processing unit (GPU).
[0044] A “data communication bus switch” can refer to a device that connects multiple data communication buses to allow data to be routed between different components or devices connected to these buses.
[0045] "Storage device" can refer to a hardware component used to store digital information. In some cases, storage devices may include solid-state drives (SSDs), hard disk drives (HDDs), or other forms of non-volatile memory.
[0046] For reference Figure 1 , Figure 1 This is a block diagram illustrating a computer node 10 according to some embodiments. The computer node 10 may include a host device 12, multiple network interface controllers 16, and a data processing unit 14. The computer node 10 may also include a storage device 22.
[0047] Host device 12 may include at least one processor, such as graphics processing unit 18 and / or central processing unit 20. In some cases, host device 12 may be configured as a bare metal device, meaning it does not run a hypervisor or virtualization layer. In other embodiments, the host device may run a hypervisor containing one or more virtual machines.
[0048] The network interface controller 16 can be connected to the host device 12 via the data communication bus 24. The network interface controller 16 can handle network traffic between devices within the same network or data center.
[0049] The data processing unit 14 can be connected to the network interface controller 16 via one or more data communication buses 24. The data processing unit 14 can be configured to control the network functions of the network interface controller 16 using control data sent via the data communication buses 24. This architecture enables the data processing unit 14 to manage the network interface controller 16 without running any software for this purpose on the host device 12.
[0050] In some cases, multiple computer nodes 10 can be interconnected via a network to form a larger system. The data processing units 14 of the different computer nodes 10 can coordinate with each other to manage the network traffic of the entire system.
[0051] This approach, using the data processing unit 14 to control the network interface controller 16 in a bare-metal configuration, can bring benefits to network management and security. For example, the data processing unit 14 can implement security policies, manage quality of service, and handle network virtualization tasks on the network interface controller 16 without impacting the performance of the host device 12. Furthermore, this architecture allows for more granular control over network traffic while maintaining the performance advantages of a bare-metal configuration.
[0052] The network interface controller 16 can handle east-west network traffic between devices within the network, while the data processing unit 14 can handle north-south network traffic between the host device 12 and the external network.
[0053] The data communication bus 24 can provide a direct connection between the data processing unit 14 and the network interface controller 16. This configuration allows control data to be sent from the data processing unit 14 to the network interface controller 16 without passing through the host device 12.
[0054] In some cases, the network interface controllers 16 can be interconnected via the data communication bus 24 to enable communication between them. The storage device 22 can be connected to the network interface controllers 16 via the data communication bus 24 or any suitable data connection method.
[0055] The data processing unit 14 and the network interface controller 16 can be directly connected to the host device 12 via the data communication bus 24. This direct connection enables efficient communication and control between these components.
[0056] In some embodiments, the data communication bus 24 may be implemented as a Fast Peripheral Component Interconnect (PCIe) data bus or a PCIe network to provide high-speed communication between the various components of the computer node 10. For simplicity, a PCIe switch is not explicitly shown in the figure, but a PCIe switch may be located on any data communication bus 24 to facilitate connection between the components.
[0057] like Figure 1 The described computer node 10 architecture allows the data processing unit 14 to perform efficient control of network functions while maintaining direct connectivity between the host device 12, the network interface controller 16, and the storage device 22. This configuration can improve performance and flexibility in network traffic management within the computer node 10.
[0058] For reference Figure 2 , Figure 2 This is a detailed block diagram of the configuration of computer node 10. Host device 12 may contain multiple graphics processing units (GPUs) 18 and central processing units (CPUs) 20. In some cases, GPUs 18 and CPUs 20 can be interconnected via a data communication bus 24. Arranging multiple GPUs 18 and CPUs 20 within host device 12 enables parallel processing and enhances computing power.
[0059] Computer node 10 may include multiple network interface controllers (NICs) 16, which are connected to host device 12 via data communication bus 24. In some cases, NICs 16 may be arranged in pairs. DPU 14 can be connected to each pair of NICs 16 via independent data communication buses 24. This arrangement allows DPU 14 to efficiently manage and control the network functions of multiple NICs 16 simultaneously.
[0060] In some cases, storage device 22 can be connected to DPU 14. DPU 14 can be configured to communicate with NIC 16 via data communication bus 24 to control the network functions of NIC 16.
[0061] The data communication bus 24 can provide connectivity between the components, thereby allowing data transfer between the GPU 18, CPU 20, NIC 16, and DPU 14. In some cases, the data communication bus 24 may be a Fast Peripheral Component Interconnect (PCIe) bus.
[0062] In some cases, DPU 14 can also connect to one of the CPUs 20. This connection allows for direct communication between DPU 14 and host device 12, enabling more efficient coordination of network-related tasks.
[0063] like Figure 2 The arrangement shown can offer several advantages. For example, the direct connection between the DPU 14 and the paired NICs 16 enables efficient control and management of network traffic without increasing the burden on the host device 12. Furthermore, the multiple GPUs 18 and CPUs 20 within the host device 12 provide high-performance computing capabilities, while the DPU 14 handles network-related tasks.
[0064] In some alternative embodiments, the number of GPUs 18, CPUs 20, and NICs 16 can vary depending on the specific needs of computer node 10. For example, the number of GPUs 18 or CPUs 20 can be more or less, or the ratio of GPUs 18 to CPUs 20 can be different. Similarly, the number and arrangement of NICs 16 can be adjusted according to the network requirements of computer node 10.
[0065] Now for reference Figure 3 , Figure 3 This is a detailed block diagram of another configuration of computer node 10. Figure 3 In the configuration shown, NIC 16 is connected to host device 12 via data communication bus 24. DPU 14 is connected to NIC 16 via data communication bus switch 26 and data communication bus 24.
[0066] The data communication bus switch 26 connects DPU 14 to NIC 16. This configuration is consistent with... Figure 1 and Figure 2 The configurations shown are different, in Figure 1 and Figure 2 In this configuration, DPU 14 connects directly to NIC 16 without the need for an intermediate switch. The introduction of data communication bus switch 26 allows for more flexible routing of control signals and data between DPU 14 and NIC 16.
[0067] In some cases, the data communication bus switch 26 can be connected to one or more storage devices 22. This connection can provide additional data storage and retrieval capabilities for the computer node 10.
[0068] DPU 14 can control the network functions of NIC 16 via control data sent through data communication bus 24 and transmitted through data communication bus switch 26. This configuration allows DPU 14 to efficiently manage multiple NICs 16 while reducing the number of direct connections between DPU 14 and each NIC 16.
[0069] In some cases, NIC 16 can handle east-west network traffic between devices within the same network, while DPU 14 can handle north-south network traffic between host device 12 and external networks. Data communication bus 24 can provide connectivity between components, thereby enabling high-bandwidth data transmission within computer node 10.
[0070] Compared to the direct connection shown in the previous diagram, Figure 3 The configuration shown offers advantages in scalability and flexibility. The data communication bus switch 26 allows for easier addition or removal of the NIC 16 without involving changes to the connection of the DPU 14.
[0071] Now for reference Figure 4 , Figure 4 This is a detailed block diagram of another configuration of computer node 10 according to some embodiments. NIC 16 may employ a daisy chain topology, wherein a subset of NIC 16 is directly connected to DPU 14 via data communication bus 24, and these NIC 16 are in turn connected to other NIC 16 via additional data communication bus 24. Each NIC 16 is connected to host device 12 via data communication bus 24.
[0072] DPU 14 can be configured to control the network functions of NIC 16 by sending control data via data communication bus 24. This daisy-chain configuration enables DPU 14 to indirectly control NICs 16 that are not directly connected to it. In some cases, control data can be passed through a chain of NICs 16, allowing DPU 14 to manage the network operation of each NIC 16 without needing to be directly connected to each NIC 16.
[0073] In some embodiments, DPU 14 may not be directly connected to host device 12. Instead, DPU 14 can communicate indirectly with host device 12 via a chain of NIC 16. This configuration can enhance the security and isolation between DPU 14 and host device 12. In other embodiments, DPU 14 is directly connected to host device 12 via one of CPUs 20.
[0074] Computer node 10 may also include one or more storage devices 22 connected to DPU 14. These storage devices 22 may be used to store data processed by computer node 10 or configuration information of DPU 14 and NIC 16.
[0075] In some cases, the data communication bus 24 connecting the components can be a Fast Peripheral Component Interconnect (PCIe) bus or other high-speed communication interfaces. This data communication bus 24 can provide sufficient bandwidth for efficient data transfer and control signaling between the DPU 14, NIC 16, and host device 12.
[0076] The daisy-chain topology of NIC 16 offers several advantages. For example, this topology reduces the number of direct connections between DPU 14 and NIC 16, simplifying board layout and reducing system complexity. Furthermore, this arrangement facilitates expansion, as additional NIC 16s can be added to the chain without requiring additional direct connections to DPU 14.
[0077] In some embodiments, DPU 14 can be configured to implement various network management functions on the chain of NIC 16. These functions may include setting encryption parameters, configuring packet encapsulation, managing quality of service settings, and coordinating traffic flow between NICs 16.
[0078] Now for reference Figure 5 , Figure 5 This is a detailed block diagram of another configuration of computer node 10. Figure 5In this configuration, network interface controller 16 is connected to host device 12 via data communication bus 24. Data processing unit 14 is connected to some of the network interface controllers 16 via data communication bus 24. These network interface controllers 16 are then connected to other network interface controllers 16 via additional data communication bus 24, thus forming a daisy-chain topology.
[0079] Figure 5 The difference from the previous figures lies in the connection method of storage device 22. In this configuration, storage device 22 is directly connected to network interface controller 16, rather than to data processing unit 14. Each network interface controller 16 can be connected to one or more storage devices 22 via data communication bus 24.
[0080] Connecting storage device 22 to network interface controller 16 offers several advantages. In some cases, this configuration enables more direct and efficient data transfer between storage device 22 and the network, thereby reducing latency and improving overall system performance. Network interface controller 16 can be configured to manage the data flow between storage device 22 and the network without intervention from data processing unit 14 or host device 12.
[0081] The data processing unit 14 continuously controls the network functions of the network interface controller 16, including how they interact with the connected storage device 22. The data processing unit 14 can send control data through the daisy chain of the network interface controller 16 to configure storage access policies, data routing, or other network-related functions involving the storage device 22.
[0082] This configuration provides flexibility in storage allocation and management on computer node 10. In some cases, different network interface controllers 16 can be associated with different storage devices 22, thereby allowing for customized storage configurations based on the specific requirements of different network interfaces or data flows.
[0083] The connection between storage device 22 and network interface controller 16 also facilitates more efficient data processing in scenarios where rapid data transfer between storage devices and the network is planned. For example, in applications involving high-speed data streaming or large-scale data analysis, this configuration enables a more direct path between data storage and network transmission.
[0084] For reference Figure 6 Figure 6 is a block diagram showing the components of computer node 10, which includes host device 12 and data processing unit 14. In some cases, host device 12 may be a bare metal device, meaning it does not use a hypervisor or virtualization layer.
[0085] Host device 12 includes network application 30 connected to network drive 32. Network drive 32 is connected to physical function 34. Physical function 34 is connected to network interface controller 16 for east-west network communication.
[0086] The data processing unit 14 includes a management application 36 connected to a network drive 38. The network drive 38 is connected to a control function 40. The control function 40 is connected to a network interface controller 16. The data processing unit 14 can be connected to the network interface controller 16 via at least one data communication bus.
[0087] Physical function 34 enables host device 12 to communicate through network interface controller 16, while control function 40 enables data processing unit 14 to manage and control network interface controller 16.
[0088] The network application 30 and network driver 32 in the host device 12 handle network communication, while the management application 36 and network driver 38 in the data processing unit 14 manage network control functions.
[0089] In some cases, physical function 34 can be provided to tenants in a bare metal configuration, giving the tenant the impression that they have full hardware access. However, certain functions related to network interface controller management (e.g., firmware, encryption) may be restricted to prevent overriding the configuration programmed by data processing unit 14 using control function 40.
[0090] The management application 36 can be configured to perform encryption, load balancing, congestion control, quality of service management, and encapsulation. In some cases, a single physical or virtual function can be used to abstract multiple ports of any network interface controller 16, exposing only one port to the host device 12. The control function 40 on the data processing unit 14 can control how traffic is load-balanced from physical functions to multiple ports of the network interface controller 16.
[0091] Figure 6 The architecture shown allows for flexible and efficient management of network functions. By offloading certain network management tasks to the data processing unit 14, the host device 12 can focus on other computing tasks. This separation of network management functions can also enhance security and performance in multi-tenant environments or bare-metal configurations.
[0092] The software architecture for managing the network interface controller 16 using the data processing unit 14 can be similar to software typically running on the host device 12 for managing network functions. However, some modifications can be made to enable the software to run on the data processing unit 14 (instead of the host device 12). The network driver 38 on the data processing unit 14 can be modified from a typical host-based network driver 32 to interact with the control function 40 (instead of the physical function 34). This modification allows the network driver 38 to send control data to configure and manage the network interface controller 16 without directly handling network traffic.
[0093] Traffic management can be a function of the data processing unit. The data processing unit can handle the routing of north-south and east-west network traffic, ensuring proper isolation between tenants in a multi-tenant environment.
[0094] To enforce security policies, the data processing unit can implement and enforce security policies at the hardware level. This can include managing the encryption and decryption of network traffic to prevent unauthorized access or data leakage. In some cases, control data sent from the data processing unit to the network interface controller can set encryption parameters for the network traffic processed by that network interface controller.
[0095] Quality of Service (QoS) management can be another function. The data processing unit can prioritize and allocate network resources based on tenant requirements and service level agreements (SLAs). In some implementations, control data from the data processing unit can set QoS parameters for network traffic processed by the network interface controller.
[0096] The data processing unit can also manage virtual network interface controllers (vNICs), thus providing the illusion of dedicated hardware for each tenant. For example, a network interface controller may have multiple physical ports, but the data processing unit can present only a single virtual port to the host system. The data processing unit can then manage how to load balance traffic across the different physical ports of the network interface controller.
[0097] The data processing unit can control packet encapsulation for various network protocols. In some cases, control data sent to the network interface controller can set encapsulation parameters for the network packets processed by the network interface controller.
[0098] Network virtualization can be implemented by the data processing unit. This may involve implementing network overlay technologies, such as Virtual Extensible LAN (VXLAN) or Network Virtualization using Generic Routing Encapsulation (NVGRE), on the DPU 14 and / or NIC 16. The data processing unit 14 can manage (and make decisions) the encryption, decryption, and encapsulation of network packets on the DPU 14 and / or NIC 16 for these virtualization technologies.
[0099] By offloading the aforementioned control functions from the host device to the data processing unit, the system can achieve higher security, more efficient resource allocation, and better network performance without relying on host-based or virtualization-based management programs.
[0100] In some cases, computer nodes can be used for artificial intelligence (AI) data processing in multi-tenant environments. For example, a cloud service provider can configure multiple computer nodes, each with a host device (including at least one processor), to form a distributed AI training cluster. These host devices can include high-performance GPUs for parallel processing of AI workloads.
[0101] Multiple network interface controllers (NICs) can be connected to various host devices to enable high-bandwidth east-west network traffic transmission between host devices within an AI cluster. This east-west traffic can include large datasets and model parameters exchanged between nodes during distributed training. The NIC can handle this east-west traffic, allowing direct communication between devices within the same data center network.
[0102] The data processing unit (DPU) can be connected to the NIC in each node via a high-speed data communication bus (such as PCIe). The DPU can control the NIC's network functions by sending control data through these buses. For example, the DPU can configure the quality of service parameters on the NIC to prioritize time-sensitive AI training traffic.
[0103] The DPU can also handle north-south network traffic between the host device and the external network. This can include processing API calls from clients, such as submitting tasks to the AI cluster or retrieving results. By offloading this network processing to the DPU, more host resources can be dedicated to AI computing.
[0104] In some cases, computer nodes can be configured as bare metal instances for customers who need direct access to the hardware. Even in bare metal environments without a hypervisor, a DPU allows cloud providers to maintain control over network functions. For example, a DPU can enforce network isolation between different bare metal tenants sharing the same physical network infrastructure.
[0105] The DPU can coordinate with DPUs on other nodes to manage network traffic across the entire AI cluster. This can involve configuring consistent routing policies, encryption standards, and access controls across the nodes. By centralizing this network management within the DPU, consistent policies can be applied without relying on software agents on the host devices.
[0106] In some cases, computer nodes can be used in multi-tenant cloud environments where different customers run isolated workloads on shared infrastructure. A DPU can create virtual network interfaces and manage traffic segmentation to maintain isolation between tenants. For example, a DPU can configure VLANs or overlay networks on a NIC to logically isolate traffic from different tenants.
[0107] In some cases, alternative embodiments of computer nodes can be implemented in variations, such as variations in component connections, different types of data processing units and network interface controllers, and alternative data communication bus configurations.
[0108] Data processing units can be implemented using different types of processors or dedicated hardware. For example, a data processing unit can be a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a system-on-a-chip (SoC) device.
[0109] The type and functionality of network interface controllers can also vary. In some cases, network interface controllers may include built-in encryption or compression features.
[0110] The data communication bus connecting the data processing unit and the network interface controller can use different protocols or standards. While Fast Peripheral Component Interconnect (PCIe) can be used in some embodiments, alternative bus technologies such as InfiniBand, RapidIO, or dedicated interconnects can be used in other embodiments.
[0111] Alternative embodiments may include different storage configurations. For example, the storage device may be directly connected to the data processing unit, the network interface controller, or a separate storage controller. In some cases, the data processing unit may manage a distributed storage system across multiple network nodes.
[0112] In some embodiments, a computer node may include multiple data processing units that operate in parallel or hierarchical architectures to manage different aspects of network functionality. This can improve the scalability and redundancy of network management.
[0113] The configuration of the host device can vary and may include different combinations of central processing units and graphics processing units. In some cases, the host device may be a dedicated computing node optimized for a specific workload, such as machine learning or high-performance computing.
[0114] Alternative embodiments can implement different virtualization strategies. For example, the data processing unit can create and manage virtual network interface controllers and present them to host devices as if they were physical devices. This allows for more flexible allocation of network resources and improves isolation between different workloads or tenants.
[0115] A NIC can include any of the following: an Ethernet port (RJ45 connector), which is the physical interface through which a network cable (usually an Ethernet cable) connects to the NIC for wired network connections; packet processing hardware or circuitry responsible for handling network communications, processing incoming and outgoing data packets, and managing network interface functions; memory (such as RAM or ROM) for storing temporary data, such as network packet buffers, configuration settings, and firmware, and for helping to speed up data transfer and processing; firmware, which is software programmed into the NIC's memory that controls hardware operation and can be updated to improve performance or add new features to the NIC; and LED indicators. Used for visualizing network status indicators, common indicators include power status, network activity, and link speed; bus interfaces (such as PCI or PCIe) for connecting the NIC to the host computer's motherboard; processors for handling network processing tasks and other processing tasks to offload the host device's main CPU workload and improve network performance; heat sinks or cooling mechanisms (e.g., for high-performance NICs), especially for NICs in servers, to prevent overheating; power management circuitry for ensuring the NIC receives the correct amount of power and manages power consumption efficiently; and / or connector pins and circuitry, including internal connections and pathways, for routing signals between the various components of the NIC.
[0116] The packet processing hardware or circuitry is the core component of the NIC and handles network communications. It can include several cooperating components for managing and processing network data, such as one or more of the following: a MAC (Media Access Control) layer, responsible for handling the data link layer of the OSI model and managing the format, addressing, and transmission of data packets over the network; a MAC address register, which stores the NIC's unique hardware address (MAC address); a frame buffer, which temporarily stores the data frame during processing; a PHY (Physical Layer) interface, which interfaces with the physical medium (e.g., Ethernet cable) and is responsible for the actual transmission and reception of data bits over the network; a transceiver, which performs data conversion between the digital signals used at the MAC layer and the analog signals used for transmission over the network medium; a DMA (Direct Memory Access) controller, which manages data transfer between the NIC and computer memory without CPU involvement, helping to offload CPU processing tasks and improve data transfer efficiency; and a packet processing engine, which handles the encapsulation and decapsulation of network packets and processes transmission... The NIC is equipped with: an input and output packet management unit (NIC) for tasks such as error checking and packet filtering; a buffer management unit, including memory areas for temporary packet storage, such as a transmit buffer for storing packets sent by the computer to the network, and a receive buffer for storing packets received from the network (before system processing); an interrupt controller that manages and generates interrupts to notify the CPU of events such as packet reception or transmission completion, facilitating efficient handling of network events; a clock generator that provides timing signals to synchronize the operation of the various components of the NIC; a power management unit that regulates power consumption and manages the energy-saving functions of the NIC chip to improve energy efficiency; error handling and correction logic that detects and corrects errors in data transmission and reception, and may include functions for error checking protocols such as CRC (Cyclic Redundancy Check); a configuration register that stores configuration settings and parameters that control the operation of the NIC, such as speed settings, interrupt configuration, and buffer size; and firmware / ROM, which contains embedded software that controls the operation of the NIC and manages network protocols.
[0117] In practice, some or all of these functions can be combined in a single physical component, or alternatively, multiple physical components can be used to implement them. These physical components can include hardwired devices, programmable devices, or a combination of both. In some embodiments, at least some functions of the processing circuitry can be executed by a programmable processor under suitable software control. For example, the software can be downloaded to the device electronically via a network. Alternatively, or additionally, the software can also be stored in a tangible, non-transitory computer-readable storage medium, such as optical memory, magnetic memory, or electronic memory.
[0118] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various examples of this disclosure. In this regard, each box in a flowchart or block diagram may represent a module, code segment, or portion of code, including one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the boxes may be performed in a different order than shown in the drawings. For example, two boxes shown consecutively may actually be performed substantially simultaneously, or these boxes may sometimes be performed in reverse order. The block diagrams and / or flowchart illustrations, and combinations of boxes in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware system performing the specified function or operation, or a combination of dedicated hardware and computer instructions. The description of the various examples in this disclosure is for illustrative purposes only and is not intended to be exhaustive or limited to the disclosed examples. Many modifications and variations can be readily made by those skilled in the art without departing from the scope and spirit of the examples described.
[0119] As used in this article, the singular forms “a”, “an”, and “the” all include plural references unless the context clearly indicates otherwise.
[0120] For clarity, various features of this disclosure have been described in individual embodiments, and these features may also be provided in combination in a single embodiment. Conversely, for brevity, various features of this disclosure have been described in the context of a single embodiment, and these features may also be provided individually or in any suitable sub-combination.
[0121] The above embodiments are cited as examples only, and this disclosure is not limited to the specific content shown and described above. Rather, the scope of this disclosure includes combinations and sub-combinations of the various features described above, as well as variations and modifications that would occur to those skilled in the art after reading the foregoing description, but which are not disclosed in the prior art.
Claims
1. A network node, comprising: A host device, which includes at least one processor; Multiple network interface controllers (NICs) are connected to the host device; as well as A data processing unit (DPU) is connected to the plurality of NICs via at least one data communication bus. The DPU is used to control the network functions of the plurality of NICs using control data transmitted via the at least one data communication bus.
2. The network node according to claim 1, wherein: The DPU processes north-south network traffic, and the multiple NICs process east-west network traffic. The north-south network traffic includes data communication between the host device and the external network; as well as The east-west network traffic includes data communication between devices that are in the same network or data center as the host device.
3. The network node according to claim 1, wherein, The DPU is directly connected to at least some of the plurality of NICs via the at least one data communication bus.
4. The network node according to claim 3, wherein, The control data is sent from the DPU to the plurality of NICs without passing through the host device.
5. The network node according to claim 1, wherein, The DPU and the plurality of NICs are directly connected to the host device via the at least one data communication bus.
6. The network node according to claim 1, wherein, The DPU is connected to at least some of the plurality of NICs via a data communication bus switch.
7. The network node according to claim 1, wherein, The DPU is not directly connected to the host device.
8. The network node according to claim 7, wherein, The DPU is directly connected to the plurality of NICs via the at least one data communication bus.
9. The network node according to claim 1, wherein, The at least one data communication bus includes at least one PCIe data bus for high-speed peripheral component interconnection.
10. The network node according to claim 1, wherein, The DPU is directly connected to a subset of the plurality of NICs via the at least one data communication bus, and the subset of the plurality of NICs is directly connected to other NICs among the plurality of NICs via the at least one data communication bus.
11. The network node according to claim 1, wherein, The control data sets encapsulation parameters for network packets processed by the plurality of NICs.
12. The network node according to claim 1, wherein, The control data sets encryption parameters for network traffic processed by the multiple NICs.
13. The network node according to claim 1, wherein, The control data sets quality of service parameters for network traffic processed by the plurality of NICs.
14. The network node according to claim 1, wherein, The host device is a bare metal device.
15. A system comprising: Multiple network nodes, each network node includes: A host device, the host device including at least one processor; Multiple network interface controllers (NICs) connected to the host device; and A data processing unit (DPU) is connected to the plurality of NICs via at least one data communication bus. The DPU is used to control the network functions of the plurality of NICs using control data transmitted via the at least one data communication bus. A network interconnecting the plurality of network nodes, wherein the DPUs of the plurality of network nodes coordinate with each other to manage the network traffic of the system.
16. The system according to claim 15, wherein: For each network node, the DPU handles north-south network traffic, and the multiple NICs handle east-west network traffic; The north-south network traffic includes data communication between the host device and the external network; as well as The east-west network traffic includes data communication between host devices located within the same network or data center.
17. The system according to claim 15, wherein, The control data sets encapsulation parameters for network packets processed by the plurality of NICs.
18. The system according to claim 15, wherein, The control data sets encryption parameters for network traffic processed by the multiple NICs.
19. The system according to claim 15, wherein, The control data sets quality of service parameters for network traffic processed by the plurality of NICs.
20. A method for managing network traffic in a network node, comprising: A host device is provided, the host device including at least one processor; Connect multiple network interface controllers (NICs) to the host device; The data processing unit (DPU) is connected to the plurality of NICs via at least one data communication bus; The network functions of the plurality of NICs are controlled using control data transmitted from the DPU via the at least one data communication bus; The DPU is used to process north-south network traffic, wherein the north-south network traffic includes data communication between the host device and an external network; and The multiple NICs are used to process east-west network traffic, which includes data communication between devices that are in the same network or data center as the host device.