An intelligent network card control method and system, and an intelligent network card
Patent Information
- Application Number
- CN202510439950.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2026-10-16
AI Technical Summary
上述过程中DPU网卡完整运行,除用于带外管理的模块,进行业务数据处理的模块的运行会产生不必要的资源消耗,存在运营成本较高的问题
[0021]第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由智能网卡执行时,以使智能网卡实现第一方面所述的智能网卡控制方法。
Smart Images

Figure CN122933290A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server management, and in particular to a smart network interface card (NIC) control method, system, and smart NIC. Background Technology
[0002] Currently, the baseboard management controller (BMC) in servers implements out-of-band management via dedicated Ethernet. Specifically, it uses a separate Ethernet network interface and management channel to remotely monitor and manage the server, isolating it from the server's business operations. With the increasing scale of artificial intelligence and cloud network data centers, the number of servers is growing exponentially, and the aforementioned dedicated Ethernet method cannot meet the needs of these scenarios in terms of scalability and cost. To address this issue, a network controller sideband interface (NCSI) technology is proposed for out-of-band management. Specifically, out-of-band management traffic and business traffic are integrated into the same network interface; that is, the BMC management plane and the processor business plane share a single smart NIC to connect to the external network. Therefore, the NCSI-based out-of-band management method suffers from the inability of the BMC to perform out-of-band management of the server in scenarios involving server capacity reduction, power failure, or smart NIC power failure.
[0003] To ensure that the BMC can still perform out-of-band management even when the server is scaled down, the server needs to have high-speed Serial Computer Expansion Bus (PCIE) power supply capabilities so that the DPU network card does not power down when the server's services are powered off. During this process, the DPU network card continues to operate fully. Aside from the out-of-band management module, the modules processing business data consume unnecessary resources, resulting in high operating costs. Summary of the Invention
[0004] This application provides a smart network interface card (NIC) control method, system, and smart NIC. The method involves an independently powered smart NIC deployed in a server receiving control commands from the Baseband Controller (BMC) based on the server's power-on / off status. Different smart NIC states are set, which can be either partially or fully operational. Compared to the current situation where the server is powered off, requiring the smart NIC to remain fully operational to ensure the BMC can perform out-of-band management, this method adds a partial operational state for the smart NIC. This allows the smart NIC to maintain its NCSI link with the BMC under low power consumption, ensuring the BMC retains out-of-band management functionality even when the server is powered off. The service modules being in a dormant state does not incur additional resource consumption, thus reducing the operating cost of the smart NIC.
[0005] In a first aspect, this application provides a smart network interface card (NIC) control method, applied to a smart NIC deployed in a server. The smart NIC is connected to a baseboard management controller (BMC) in the server via a network connectivity status indicator (NCSI) connector. The smart NIC includes at least a management module and a service module. The management module is used to run the NCSI protocol stack and communicate with the BMC, while the service module is used to process server service data. The method includes: receiving a first NIC control identifier sent by the BMC according to the server's reduced power-off state, and determining the smart NIC state as a partially operating state based on the first NIC control identifier. The server's reduced power-off state is the state where the server's main power supply is off, and the partially operating state is the state where the management module is running and the service module is not running.
[0006] The first network interface card (NIC) control identifier in the above process is the hibernation identifier, which is used to indicate that the service module in the smart NIC should be set to hibernation mode.
[0007] In summary, the smart NIC introduces a new partial operating state. Through refined control, only the management module operates within the smart NIC, while the service modules remain in a dormant state. When the server is powered off, the smart NIC initializes only the management module based on the control commands received from the BMC. Since the management module can continuously run the NCSI protocol stack, it ensures that the smart NIC maintains its NCSI connection with the BMC even when the server is powered off, guaranteeing that the BMC can perform out-of-band management operations normally. The dormant state of the service modules does not cause additional resource consumption. Compared to current smart NICs that remain fully operational even when the server is powered off, the power consumption is lower, and the operating costs are also lower.
[0008] For example, after setting the smart network card to a partial operating state according to the first network card control identifier, the method further includes: receiving the second network card control identifier and the first configuration information sent by the BMC according to the server expansion power-on state, configuring the service module according to the second network card control identifier and the first configuration information, and setting the smart network card to a complete operating state, wherein the server expansion power-on state is the state in which the server's main power supply is started, and the complete operating state is the state in which both the management module and the service module are running.
[0009] When the control command sent by BMC based on the first server expansion power-on state includes a network card control identifier as a wake-up identifier and the control command also includes first configuration information, the specific process of setting the smart network card state according to the control command is as follows: Based on the wake-up identifier and the second configuration information, initialize the management module and the service module, configure the service module to the wake-up state, configure the management module to run the NCSI protocol stack, and set the smart network card state to the fully running state. The second configuration information includes the configuration information of the service module, which is applicable to the first server expansion power-on state.
[0010] In the above process, the BMC's management plane and service plane share the smart network card. When the server is reduced in capacity and powered down, the service module is in a dormant state and stops running, but the management module still runs normally. Therefore, when the server is expanded and powered on, the smart network card can still initialize the service module through the BMC's control commands and realize the wake-up operation of the service module. The above method is flexible and convenient and does not require manual intervention.
[0011] For example, after configuring the service module and setting the smart network card to a complete operating state according to the second network card control identifier and the first configuration information, the method further includes: receiving the third network card control identifier and the second configuration information sent by the BMC according to the server expansion power-on state; and clearing the first configuration information according to the third network card control identifier and the second configuration information, and reconfiguring the service module and setting the smart network card to a complete operating state, wherein the second configuration information is the same as or different from the first configuration information.
[0012] When server expansion and power-on configurations change, such as adding, replacing, or rearranging hardware within the cluster, the original configuration may no longer be suitable for the new hardware scale and business requirements. By automatically discarding old configurations, services can be more easily configured anew, avoiding compatibility issues and configuration conflicts that may arise from residual old configurations, thus improving the availability of the server expansion mechanism. Furthermore, timely reconfiguration of service modules by smart network interface cards (NICs) ensures that the NICs are suitable for current server business needs.
[0013] For example, a smart network interface card (NIC) is a NIC that supports independent power supply for the high-speed serial computer expansion bus standard PCIe, including a data processor (DPU) card.
[0014] The smart network interface card (NIC) has a power supply independent of the main server power supply, so it is not affected when the server is powered on or off. This ensures that the management module in the smart NIC can operate normally, so that the BMC management plane can maintain connectivity and enable normal out-of-band management operations.
[0015] Secondly, embodiments of this application provide a smart network interface card (NIC) control system. This system includes a Baseboard Management Controller (BMC) and a smart NIC. The BMC and the smart NIC are connected via their respective Network Connectivity Status Indicators (NCSI) connectors. The smart NIC includes a management module and a service module. The management module runs the NCSI protocol stack, and the service module processes server service data. Specifically, the BMC sends a first NIC control identifier to the smart NIC based on the server's reduced power-off state, where the server's main power is off. The smart NIC, based on the first NIC control identifier, sets its state to a partially running state, where the management module is running and the service module is stopped.
[0016] For example, after setting the smart network card to a partial operating state according to the first network card control identifier, the BMC is further configured to send a second network card control identifier and first configuration information according to the server expansion power-on state, wherein the server expansion power-on state is the state in which the server's main power supply is started; the smart network card is further configured to configure the service module according to the second network card control identifier and the first configuration information, and set the smart network card to a full operating state, wherein the full operating state is the state in which both the management module and the service module are running.
[0017] For example, after configuring the service module according to the second network interface card control identifier and the first configuration information, and setting the smart network interface card to a complete operating state, the BMC is further configured to send the third network interface card control identifier and the second configuration information according to the server expansion power-on status; the smart network interface card is further configured to reconfigure the service module according to the third network interface card control identifier and the second configuration information after clearing the first configuration information, and set the smart network interface card to a complete operating state, wherein the second configuration information is the same as or different from the first configuration information.
[0018] For example, a smart network interface card (NIC) is a NIC that supports independent power supply for the high-speed serial computer expansion bus standard PCIe, including a data processor (DPU) card.
[0019] Thirdly, embodiments of this application provide a smart network interface card (NIC) for executing the smart NIC control method described in the first aspect.
[0020] Fourthly, embodiments of this application provide a computer program product containing instructions that, when executed by a smart network card, cause the smart network card to implement the smart network card control method described in the first aspect.
[0021] Fifthly, embodiments of this application provide a computer-readable storage medium including computer program instructions, which, when executed by a smart network interface card (NIC), enable the NIC to implement the smart NIC control method described in the first aspect.
[0022] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Attached Figure Description
[0023] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0024] Figure 1 This is a schematic diagram of a server cluster structure provided in an embodiment of this application;
[0025] Figure 2 This is a flowchart of a smart network card control method provided in an embodiment of this application;
[0026] Figure 3 This is a flowchart of another smart network card control method provided in the embodiments of this application;
[0027] Figure 4 This is a schematic diagram of DPU operation under server power-down conditions with reduced capacity, provided in an embodiment of this application;
[0028] Figure 5 This is a schematic diagram of DPU operation under server expansion power-on conditions provided in an embodiment of this application;
[0029] Figure 6 This is a schematic diagram of DPU operation under another server expansion power-on condition provided in this application embodiment. Detailed Implementation
[0030] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0031] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0032] In scenarios such as server failure, resource adjustment, and large-scale operation and maintenance, out-of-band management operations need to be performed through the baseboard management controller (BMC). Out-of-band management is an operation to monitor, configure, and control the server through a dedicated management channel, which does not depend on the server's main operating system.
[0033] Currently, the BMC (Block Controller) in the server is managed out-of-band via a dedicated Ethernet network. Specifically, the BMC is connected to one end of an Ethernet cable via a dedicated Ethernet port, and the other end of the Ethernet cable is connected to a dedicated Ethernet switch, which is also the management network switch. This achieves physical isolation between out-of-band management traffic and the server's service traffic. Furthermore, the dedicated Ethernet network has its own dedicated Internet Protocol (IP) address range to ensure that out-of-band management traffic is isolated from the server's service traffic. Administrators access the IP address assigned to the BMC through a browser to view hardware status (e.g., processor (central processing unit) temperature, power consumption), perform remote reboots, update firmware, and other out-of-band management operations. This application does not specifically limit the scope of these operations.
[0034] The aforementioned methods, through physical and logical isolation of the management network and business network, enable effective monitoring and management of servers even in the event of operating system failures or interruptions in server business traffic, thereby improving data center reliability and operational efficiency. However, with the increasing scale of AI and cloud network data centers, the number of servers is rapidly increasing. Since each server's BMC needs to be connected to a dedicated Ethernet switch via Ethernet cable, the number of ports required on these dedicated Ethernet switches is also rapidly increasing. To meet port demands, new switches or switches with higher port density need to be added. This severely limits network scalability, and the large-scale deployment of Ethernet switches and cables significantly increases costs and management complexity. Therefore, the method of out-of-band management of BMCs via Ethernet cannot meet the needs of large-scale data centers.
[0035] To address the aforementioned issues with out-of-band management via dedicated Ethernet, a method is proposed for BMC to implement out-of-band management using Network Controller Sideband Interface (NCSI) technology.
[0036] In this method, the server motherboard supports the NCSI protocol, and the network interface card (NIC) has NCSI functionality. The server's BMC and NIC are connected via an NCSI connector, which is used to transmit out-of-band management traffic. This out-of-band management traffic includes Intelligent Platform Management Interface (IPMI) commands, sensor status (temperature, fan speed, etc.), log information, firmware update information, etc. The server's processor and NIC are connected via a high-speed Serial Computer Extended Bus (PCIE) standard, which is used to transmit service traffic. In this method, the NCSI-enabled NIC multiplexes out-of-band management traffic and service traffic onto the same physical link, without physically isolating them. The network device connected to the other end of this physical link achieves logical isolation between out-of-band management traffic and service traffic through a Virtual Local Area Network (VLAN), priority tagging, or an NCSI protocol channel.
[0037] In the above method, out-of-band management traffic and service traffic share a single network interface card and reuse the same physical link. There is no need to provide separate Ethernet cables for out-of-band management traffic, which can reduce hardware costs in multi-server scenarios, simplify deployment schemes, and achieve efficient utilization of hardware resources and improve network resource utilization.
[0038] Because large-scale data centers deploy a large number of servers to meet business needs, in scenarios such as reduced server resource utilization, business adjustments and migrations, and hardware upgrades, the current large number of servers are no longer needed. Administrators identify servers that need to be powered down, back up the data stored on these servers, and then send a shutdown command to the servers via remote management tools (such as IPMI-based management software) to instruct them to shut down the operating system and services and disconnect the power. In this scenario, the BMC (Band Control Center) can still operate, but the network interface card (NIC) shared by the business plane and management plane loses power, and out-of-band management traffic cannot be transmitted, causing the BMC to become unmanaged and unable to perform out-of-band management.
[0039] To address the issue of BMC disconnection and inability to manage out-of-band traffic caused by power failure of the network interface card (NIC) that shares out-of-band management and service traffic in scenarios involving server capacity reduction and power outages using NCSI technology, the following two methods are proposed:
[0040] The first approach is to integrate an additional dedicated network interface card (NIC) into the server for out-of-band management in conjunction with the BMC.
[0041] Specifically, the BMC communicates with the external management network through an additional integrated dedicated network interface card (NIC), which is isolated from the network interface corresponding to the server services. After the server is de-capacitated and powered down, the dedicated NIC is unaffected by the power outage, and the BMC can still maintain its management functions through this dedicated NIC, thus ensuring that the BMC does not become unmanaged.
[0042] The dedicated network interface card used in the above method has low power consumption, but the cost of deploying additional dedicated network interface cards is high.
[0043] The second method is to keep the network interface card (NIC) that shares out-of-band management traffic and service traffic running intact.
[0044] When the network card is powered by a PCIe slot or a separate auxiliary power supply, the main power supply of the host is cut off when the server is powered off. This does not affect the network card, which remains fully operational. The BMC can still maintain its management functions through the network card, thus ensuring that the BMC does not experience any management issues.
[0045] In the above method, the network card remains fully operational even when the server is powered off. This means that the business processing module and management module included in the network card are both running. However, since the host CPU is powered off, the continued operation of the business processing module is meaningless. Instead, it increases power consumption, accelerates hardware wear and tear, and occupies certain computing resources, leading to increased maintenance costs.
[0046] To address the problems inherent in the two methods described above, this application provides a smart network interface card (NIC) control method. The smart NIC, deployed on a server and powered independently, receives control commands from the Baseband Controller (BMC) based on the server's power-on / off status. The smart NIC's state can be either partially operational or fully operational. Upon receiving a control command from the BMC including a sleep flag based on the server's reduced capacity and power-off status, the smart NIC initializes the management module but not the service module, remaining in a partially operational state. Since the management module supports the NCSI protocol, it can connect to the BMC via an NCSI connector. This ensures BMC NCSI management plane connectivity even in the partially operational state, allowing the BMC to perform out-of-band management operations normally. Furthermore, in this case, the smart NIC does not need to be fully operational, avoiding additional resource consumption and reducing operating costs. The above method is applied to... Figure 1 In the server cluster shown.
[0047] like Figure 1 As shown, Figure 1 This is a schematic diagram of a server cluster provided in an embodiment of this application. The server cluster includes a management device 110, multiple servers 120, and a network 130. The management device 110 and the multiple servers 120 are connected through the network 130.
[0048] Optionally, the management device 110 can be deployed on computing devices or terminal devices. Computing devices include bare metal servers (BMS), virtual machines, containers, or edge computing devices. BMS refers to a general-purpose physical server, such as an ARM server or an x86 server; a virtual machine refers to a complete computer system implemented using Network Functions Virtualization (NFV) technology, simulated in software, with full hardware system functionality, and running in a completely isolated environment; a container refers to a group of resource-constrained, isolated processes; and edge computing devices refer to devices closer to the data source and end users, characterized by low latency and high bandwidth, such as intelligent routers and edge servers. Terminal devices include personal computers, smartphones, handheld devices, tablets, mobile laptops, etc., without specific limitations.
[0049] The management device can be a cluster management platform used to manage multiple servers, monitor the load of the server cluster (e.g., CPU and memory utilization, and network traffic), and trigger resource adjustment operations based on the monitoring results. Specifically, in one possible implementation, when the management device detects that a server is in a low-load state (e.g., CPU utilization is below a first utilization threshold, and the server remains in a low-load state for an extended period), it triggers a server reduction operation to identify servers that need to be powered down. In another possible implementation, when the management device detects that the server cluster is in a high-load state (e.g., CPU utilization is above a second utilization threshold, and the server remains in a low-load state for an extended period), it triggers a server expansion operation to identify standby servers that need to be powered on, where the second utilization threshold is significantly higher than the first utilization threshold. The management device can also display the server's hardware status to the administrator via a display device.
[0050] Optionally, server 120 can be a BMS, virtual machine, container, or edge computing device. For details, please refer to the foregoing content, which will not be repeated here.
[0051] Specifically, each server 120 includes a motherboard 121, a smart network card 122, and a PCIe bus 123. The motherboard 121 and the smart network card 122 are connected through the PCIe bus 123 and transmit information through the PCIe bus.
[0052] The motherboard 121 includes at least a BMC 11, a processor 12, and an NCSI connector 13. The motherboard 121 may also include more devices, which are not specifically limited in this application.
[0053] Specifically, the BMC is a standalone embedded controller used to perform out-of-band management operations, which means remotely monitoring and managing the server. Specifically, it can remotely power on / off the server, restart or reset the hardware via the Intelligent Platform Management Interface (IPMI) or the Redfish protocol; collect sensor data such as CPU temperature, fan speed, power supply voltage, and hard drive health status; perform operating system installation, basic input / output system (BIOS) configuration or troubleshooting; and remotely update BIOS, BMC firmware, or firmware of other hardware components. The BMC can remain operational even when the processor and operating system are powered off or faulty, communicating with the smart network card via the NCSI connector and still performing out-of-band management operations.
[0054] Specifically, the processor is the core computing unit of the server. It can be any one or more of the following: a central processing unit (CPU), a microprocessor (MP), or a digital signal processor (DSP). It is used to execute operating system instructions, process data, and coordinate hardware resources.
[0055] Specifically, the NCSI connector is used to realize the connection and communication between the BMC and the smart network card. It can share the physical interface with PCIe, but the BMC out-of-band management operation information transmitted by it is isolated from the server service data transmitted by PCIe. In one possible implementation, this application does not specify the number of NCSI connectors deployed on the motherboard.
[0056] In one possible implementation, the motherboard may also include more types and numbers of components, such as memory 14. The memory may include volatile memory, such as random access memory (RAM). The memory may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), and combinations thereof. Typically, the BMC's executable code and firmware are stored in non-volatile memory to ensure the BMC continues to function normally even when the server is powered off. This application does not specifically limit the types and numbers of components in the motherboard.
[0057] The smart network interface card 122 includes a management module 21, a service module 22, and an NCSI connector 23.
[0058] In one possible implementation, the smart network interface card (NIC) can be a data processing unit (DPU) card, or other NICs with heterogeneous architectures of management modules and service modules, such as infrastructure processing units (IPUs), AI smart NICs, storage-specific smart NICs, and general-purpose smart NICs. This application does not specifically limit the specific implementation of these devices. The smart NIC may also include more types and quantities of devices, such as a microcontroller unit (MCU) responsible for hardware resource management and real-time scheduling, network protocol offloading and acceleration, etc. in the smart NIC. This application does not specifically limit the specific implementation of these devices.
[0059] The management module 21 can be a microprocessor unit (MPU) that communicates with the BMC via the NCSI connector and with the management device via the smart network interface card (NIC) to enable out-of-band management operations. The management module 21 supports the NCSI protocol stack and maintains the management link. Service module 22 can be a specialized processing unit (SPU) that communicates with the processor via a PCIe channel to process server service data. Based on the above, it can be determined that the management plane and the service plane share the smart network card. However, the smart network card achieves mutual isolation between the management plane and the service plane by dividing the physical port into virtual local area networks (VLANs). Specifically, VLAN is a technology that logically divides the same physical network into multiple independent broadcast domains. Each VLAN has its own corresponding VLAN identifier, and the traffic between different VLANs is isolated from each other. Given that it is determined that a physical port of the smart network card can transmit traffic from multiple VLANs, the VLAN identifier corresponding to the management traffic (VLAN 100) and the VLAN identifier corresponding to the service traffic (VLAN 200) are specified, and it is determined that the management traffic corresponding to VLAN 100 and the service traffic corresponding to VLAN 200 are both transmitted through this physical port of the smart network card.
[0060] The PCIe slot in motherboard 121 provides the smart network card with PCIe VDD power independent of the server's main power supply. Turning off the server's main power supply does not affect the power supply of the smart network card. The power supplies for the management module and service module in smart network card 122 can be managed separately. Since the service module consumes more resources, the management module supports the NCSI protocol. When the management module is running, the power supply for the service module is turned off, which allows the BMC to perform out-of-band management operations through the management module when the smart network card is in a low-power state.
[0061] The aforementioned server clusters can be deployed in scenarios such as cloud computing, AI training, and data storage, and this application does not impose specific limitations on them.
[0062] It should be understood that the above Figure 1 The server cluster shown is only one possible example provided by the embodiments of this application. The cluster may also include more types and numbers of devices, which are not specifically limited in this application.
[0063] In one possible implementation, the administrator enters relevant server information (such as the IP address configured for the BMC, the username and password used to log in to the BMC, etc.) on the management device, adds the server to the BMC's management list, and uses the entered IP address, username, and password to handshake with the corresponding BMC via the IPMI protocol. After a successful connection, the management device can manage the server's BMC. After the management device manages the server's BMC, it can send out-of-band management commands to the BMC via the IPMI protocol, etc. These out-of-band management commands can be used to obtain server hardware status information, remotely control the server's power-on and power-off, etc. Upon receiving the out-of-band management commands, the BMC executes the out-of-band management operations, realizing remote monitoring and management of the server. It can monitor the server's hardware status in real time, such as parameters like temperature, voltage, and fan speed, promptly detect potential hardware failures, and control server power-on, power-off, and restart. This process can improve the efficiency of server management.
[0064] The management device adjusts resources within the monitored server cluster based on its load. It sends operation commands to the servers to control power-on and power-off, causing corresponding changes in server state. In one possible implementation, when the operation command instructs the server to power down, the server gradually shuts down running applications and writes cached data to storage devices. After the applications are closed, the server operating system initiates the shutdown process, closing system services and releasing system resources. Subsequently, the server's power management module cuts off the power supply, the hardware stops working, and the power-down process is complete.
[0065] The BMC in the server sends control commands to the smart NIC based on changes in the server's state. The smart NIC sets its state based on one or more of the NIC control identifier and configuration information included in the control commands. The NIC control identifier can be one of a sleep identifier, a wake-up identifier, or a reset identifier, used to indicate the smart NIC state. The smart NIC state includes a partially running state and a fully running state. In one possible implementation, when the smart NIC is in a partially running state, only the management module runs, while the service module is in a sleep state. At this time, the smart NIC requires lower power consumption, and by running the NCSI protocol stack through the management module, the connectivity of the BMC's management plane can be maintained, ensuring that the BMC can perform out-of-band management operations normally.
[0066] like Figure 2 As shown, Figure 2 This is a flowchart of a smart network interface card (NIC) control method provided in an embodiment of this application, applied to... Figure 1 In the smart network interface card of the system shown, the method includes the following steps.
[0067] S210: Receives control commands sent by the BMC based on the server status.
[0068] Server status includes server reduction and power-off status, and expansion and power-on status. Specifically, the management device adjusts multiple servers based on the monitored server load. For example, if the server load is below a first threshold for an extended period, the management interface is accessed via the Internet Protocol (IP) address of the BMC included in the server, and the power-off option is selected to instruct the server to power down and shut down its main power supply. Alternatively, if the server load exceeds a second threshold, the management interface is accessed via the IP address of the BMC included in the standby server, and the power-on option is selected to instruct the standby server to power on and start its main power supply, thereby expanding the server cluster. This application does not impose specific limitations on this aspect.
[0069] In one possible implementation, the management device can also adjust the number of servers in the server cluster according to business needs (e.g., user traffic, number of data processing tasks) to increase or decrease the number of servers in the server cluster, thereby meeting the increased business demand or improving the performance of each server and optimizing resource utilization.
[0070] The control command includes at least one or more of the following: network interface card (NIC) control identifier and configuration information. Specifically, the NIC control identifier includes one of the following: a sleep identifier, a wake-up identifier, and a reset identifier. In one possible implementation, the sleep identifier can be 00, the wake-up identifier can be 01, and the reset identifier can be 10. The above identifiers can also be represented in other forms, which are not specifically limited in this application. The NIC control identifier is used to indicate the target state of the smart NIC settings. The configuration information can include one or more of the following: management module configuration information and service module configuration information. It is used to instruct the management module to initialize itself and to initialize the service module. The management module configuration information can include network address parameters, communication protocol parameters, and related parameters for communication with the BMC, etc. The service module configuration information can include network protocol configuration information, connection configuration information, performance and quality of service (QoS) policy configuration information, etc., and is used to start the server service data processing function of the service module. In one possible implementation, the configuration information can also include more types or numbers of parameters, which are not specifically limited in this application.
[0071] Because the BMC can maintain operation even when the server is powered off, through a connected redundant power supply or its own deployed capacitors, the BMC can generate control commands corresponding to different server states and send these commands to the management module in the smart network interface card (NIC). Specifically, the BMC determines the server state based on the collected server parameters, generates corresponding control commands, and sends these commands to the smart NIC via the NCSI connector on the motherboard, enabling the smart NIC to receive the control commands. The server parameters collected by the BMC include hardware-level signals (e.g., power signals from the power management chip, processor voltage signals, etc.) or software-level signals (e.g., operating system state, Advanced Configuration and Power Management Interface (ACPI) event signals indicating power state changes, etc.). This application does not specifically limit the type of signals the BMC uses to generate control commands, nor does it specifically limit the type or number of server parameters.
[0072] In one possible implementation, when the BMC detects a power-off signal indicating that the server is powered off, it generates a control command that includes only a hibernation flag and sends the control command to the smart network interface card via the NCSI connector.
[0073] In the above process, compared with the current basic power-on and power-off operations of BMC, a new triggering situation for smart network card hibernation has been added. When the server is powered off, the BMC sends only a control command including the hibernation flag, instructing only the management module that supports the NCSI protocol to run in the smart network card. It can still connect to the smart network card through NCSI technology, avoiding interruption of business processing and affecting management operations. The BMC can still perform out-of-band management operations normally without manual operation, thus improving operation and maintenance efficiency.
[0074] In another possible implementation, when the BMC detects a power-on signal indicating that the server is powered on, it generates a control command that includes a wake-up command and first configuration information, and sends the control command to the smart network card through the NCSI connector.
[0075] In the above process, compared with the current basic power-on and power-off operations of BMC, a new triggering situation for smart network card wake-up has been added. When the server is expanded and powered on, BMC sends control commands including wake-up instructions to instruct the service modules in the smart network card to resume normal operation and process server service data. This can realize the remote wake-up task of smart network card, which is highly efficient and does not require manual operation, making it more flexible and convenient.
[0076] In another possible implementation, when the BMC detects that the server has been powered on and a hardware configuration conflict exists, requiring reconfiguration of the server hardware, it generates a control command including a reset flag and second configuration information, and sends the control command to the smart network interface card (NIC) via the NCSI connector. The second configuration information may be the same as or different from the first configuration information. Specifically, in the case of server expansion, where only computing resources are increased and policies such as encryption algorithms and QoS rules remain unchanged, the second configuration information is the same as the first configuration information. However, in the case of server expansion involving hardware upgrades and policy adjustments, the second configuration information is different from the first configuration information.
[0077] When servers are expanded and powered on, the newly added servers in the server cluster may involve hardware upgrades (e.g., replacing non-volatile memory express (NVME) solid-state disks (SSDs)) or policy changes (e.g., encryption algorithm upgrades, QoS rule updates). The smart network interface cards (NICs) may have compatibility conflicts, performance bottlenecks, and other issues when using the previous configuration. The BMC generates and sends control commands including reset flags and configuration information to make the smart NICs clear the current configuration information and reload the configuration information, thereby improving the availability of the server cluster and increasing the scalability of the cluster.
[0078] In the above process, the BMC sends control commands to the smart network card through the NCSI connector, which can reduce manual intervention and lower maintenance costs.
[0079] S220: Set the status of the smart network card according to the control command.
[0080] The smart network interface card (NIC) has two states: partial operation and full operation. Specifically, in the partial operation state, only the management module is running, while the service modules are stopped. The running management module maintains the communication link with the BMC (Band Control Center) to ensure that the BMC can perform out-of-band management operations normally. The stopping of the service modules reduces unnecessary power consumption and resource occupation. The full operation state is the normal working mode of the smart NIC, where both the management module and the service module are running. In this state, the smart NIC can efficiently process the server's business data, meet the network communication needs of various server services, and maintain good communication with the BMC through the management module to achieve comprehensive management and monitoring of the server.
[0081] In one specific implementation, when the server is in a reduced-capacity, power-off state, the specific process of smart network interface card (NIC) control is as follows: Figure 3 As shown, Figure 3This is a flowchart of another smart network card control method provided in an embodiment of this application, which includes the following steps.
[0082] S310: Receives the first network interface control identifier sent by the BMC based on the server's reduced capacity and power-off status.
[0083] Among them, the server power-down state is the state in which the main power supply of the server is turned off, and the first network card control identifier is also the hibernation identifier.
[0084] S320: Based on the first network card control identifier, set the smart network card status to partial operation status.
[0085] Some of the running states are where the management module is running, but the business modules are not running.
[0086] The smart NIC initializes the management module based on the first NIC identifier received, but does not initialize the service module. Only the management module runs the NCSI protocol stack to ensure the connectivity of the BMC management plane.
[0087] In one possible implementation, when the smart network interface card (NIC) is a DPU card and the control command only includes a sleep flag, the DPU card operates as follows after receiving the control command: Figure 4 As shown, Figure 4 This is a schematic diagram illustrating the operation of the DPU in a server power-down state, as provided in an embodiment of this application. The DPU card includes a DPU card chipset, which includes at least one Management Module (MPU) and one Service Module (SPU). The MPU is used to run the NCSI protocol stack, and the SPU is used to process server service data. Upon receiving the first network interface control flag (i.e., a sleep flag) sent by the BMC according to the server power-down state, the MPU performs an initialization operation on the DPU, which involves configuring the various hardware components included in the DPU. Specifically, the MPU sets the DPU's register parameters and initializes the DPU card's communication bus, but does not initialize the SPU, setting the DPU to a partially running state. Since the SPU is not required to process service data during server power-down, not initializing the SPU further reduces the DPU's power consumption.
[0088] When the DPU is at a low power consumption level, since the NCSI protocol stack defines the rules and methods for communication between the BMC and the DPU, the MPU running the NCSI protocol stack can establish a communication link with the BMC, parse and process the out-of-band management commands sent by the BMC, and send the DPU's status information to the BMC, thus realizing the connectivity of the BMC NCSI management plane and ensuring that the BMC can perform out-of-band management operations normally.
[0089] Since the BMC management plane and service plane share the same DPU card in this embodiment, the smart NIC control method provided in this embodiment adds a sleep state to the smart NIC when the server is powered off. This sleep state is a partial operating state where only the management module is running, in order to maintain the connectivity of the BMC NCSI management plane. Compared with the prior art, which maintains the complete operation of the smart NIC when the server is powered off, this can further reduce the power consumption of the smart NIC and eliminate the need to deploy a dedicated management chip for the BMC, thus reducing server deployment costs. In addition, ensuring that the BMC continues to perform out-of-band management operations normally when the server is powered off can guarantee the high availability of the system.
[0090] During the above process, the DPU card receives control commands sent by the BMC, sets the operating status, and can manage in batches without manual intervention, which can reduce operation and maintenance costs and is suitable for a variety of high dynamic load scenarios.
[0091] In another possible implementation, where the smart network interface card (NIC) is a DPU card and the control command includes a wake-up flag and first configuration information, the DPU card operates as follows after receiving the control command. Figure 5 As shown, Figure 5 This is a schematic diagram illustrating the operation of the DPU during server expansion and power-on, as provided in an embodiment of this application. After receiving a control command including a wake-up flag and first configuration information, the MPU initializes the DPU, configuring various hardware components included in the DPU. Specifically, the MPU sets the DPU's register parameters, initializes the DPU card's communication bus, initializes the service module SPU, activates the encryption engine and compression module according to the first configuration information, and establishes a network connection with the server's service plane.
[0092] During the above process, the MPU runs the NCSI protocol stack, ensuring that the BMC management plane and the service plane share the DPU. The BMC can remotely control the DPU's wake-up via the NCSI channel, without relying on the operating system. The DPU card can respond promptly, eliminating the need for manual physical wake-up of the server, thus making management more flexible. The normal operation of the MPU and SPU within the DPU provides support for expanded service processing.
[0093] In another possible implementation, where the smart network interface card (NIC) is a DPU card and the control command includes a reset flag and second configuration information, the DPU card operates as follows after receiving the control command. Figure 6 As shown, Figure 6This is a schematic diagram illustrating the operation of the DPU under another server expansion power-on scenario provided in this application embodiment. Specifically, the BMC sends a control command, namely a "power-down and power-on" command, to the DPU based on the server expansion power-on status, to instruct the DPU to perform a power-down and power-on operation once.
[0094] During power-down, the initial configuration information of the MPU and SPU in the DPU is automatically lost, releasing related resources. Upon receiving control commands, the MPU reconfigures the relevant parameters for the DPU and SPU, enabling the management and service modules to start operating based on the second configuration information, adapting to the expanded hardware resources and system requirements. The MPU runs the NCSI protocol stack, maintaining connectivity between the BMC and NCSI management plane, allowing the BMC to perform out-of-band management operations, promptly obtain status information of various server hardware components, and perform control and management operations. This allows for timely monitoring of the status of newly added hardware in the cluster during server expansion.
[0095] When expanding server capacity, if the first and second configuration information are the same, the SPU can be directly added to the existing configuration information, which can reduce operation latency and improve resource utilization.
[0096] When server expansion occurs, and the initial and subsequent configurations differ, or when hardware additions, replacements, or reconfigurations occur within the cluster, the original configuration may no longer be suitable for the new hardware scale and business requirements. By automatically discarding old configurations, services can be more easily configured anew, avoiding compatibility issues and configuration conflicts that may arise from residual old configurations, thus improving the availability of the server expansion mechanism. Subsequently, the MPU initializes the DPU and SPU, quickly reconfiguring relevant parameters so that the DPU can operate normally in the new state after expansion, thereby improving the overall availability and reliability of the server expansion mechanism.
[0097] In one possible implementation, if the smart network card fails to execute the control command sent by the BMC, it sends a corresponding error response information to the BMC so that the BMC resends the control command, or sends the error response information to the management device. This application does not specifically limit the implementation of this method.
[0098] In summary, the smart NIC control method provided in this application, when the BMC management plane and the server service plane share the same smart NIC, adds a sleep and wake-up trigger mechanism to the BMC. Based on the different states of server expansion and reduction, corresponding control commands are sent to the smart NIC to set its state. Compared to the existing smart NIC mechanisms of power-down, power-on, and power-down-and-re-power-on, the newly added sleep and wake-up mechanism, i.e., the sleep and wake-up function of the service module, allows the smart NIC to have additional operating states. Even when the service module is in sleep mode and stopped running, the management module can still operate normally, maintaining the connectivity of the BMC NCSI management plane. Compared to the current method of deploying dedicated NICs for BMC to perform out-of-band management operations, the method provided in this application reduces server deployment costs. Compared to the current method of keeping the smart NIC in a fully operational state, this application reduces the maintenance costs and power consumption of the smart NIC by adding additional operating states. Furthermore, the above mechanism increases the flexibility of smart NIC control, eliminating the need for manual intervention and making it more convenient.
[0099] In one specific implementation, the process of maintaining BMC's management of the server and enabling out-of-band management operations even when the server is powered off is as follows: The administrator pre-configures the server information to be monitored, such as the IP address of the BMC on the server, the username and password used to log in to the BMC, using management software installed on the management device that supports BMC out-of-band management. After configuration, the management software can establish a connection with the BMC included in the server via a smart network interface card (NIC). When the server is powered off, if the management device still needs to monitor the server's hardware status, the management device sends a management request to acquire sensor data to the smart NIC. The smart NIC then forwards the management request to the BMC. The BMC collects real-time data from sensors on various hardware components of the server, such as CPU temperature data from the CPU temperature sensor and power supply voltage data from the power supply voltage sensor. The BMC then processes this data and feeds it back to the management device via the smart NIC, displaying it to the administrator.
[0100] In one possible implementation, the smart network card control method provided in the above-described embodiments of this application can be applied to other scenarios where the management plane and the service plane are decoupled. By adding a sleep and wake-up mechanism, the management module and the service module can be controlled in a refined manner, making the management of the smart network card more flexible and reducing unnecessary resource consumption.
[0101] This application embodiment also provides a smart network interface card (NIC), which is used to perform... Figure 2 , Figure 3 The intelligent network card control method shown.
[0102] This application also provides a computer-readable storage medium storing instructions that, when executed on a smart network interface card, [are provided]. Figure 2 , Figure 3 The flow of the intelligent network card control method shown is thus realized.
[0103] This application also provides a computer program product that, when running on a smart network card, Figure 2 , Figure 3 The flow of the intelligent network card control method shown is thus realized.
[0104] When computer program instructions are loaded or executed on a computer, all or part of the processes or functions according to the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
[0105] Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. A computer-readable storage medium can be any available medium that a computer can access, or a data storage node such as a server or data center that contains at least one set of available media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs), or semiconductor media).
[0106] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
1. A method for controlling an intelligent network interface card (NIC), characterized in that, The method is applied to a smart network interface card (NIC), which is deployed in a server and connected to a Baseboard Management Controller (BMC) in the server via a Network Connectivity Status Indicator (NCSI) connector. The smart NIC includes at least a management module and a service module. The management module runs the NCSI protocol stack, and the service module processes server service data. Receive the first network interface control identifier sent by the BMC according to the server's reduced power-down state, wherein the server's reduced power-down state is the state in which the server's main power supply is turned off; Based on the first network interface card (NIC) control identifier, the smart NIC is set to a partially running state, wherein the partially running state is a state in which the management module is running and the service module is not running.
2. The method according to claim 1, characterized in that, After setting the smart network card to a partial operating state according to the first network card control identifier, the method further includes: Receive the second network interface control identifier and the first configuration information sent by the BMC according to the server expansion power-on status, wherein the server expansion power-on status is the state in which the server's main power supply is turned on; Based on the second network interface card (NIC) control identifier and the first configuration information, the service module is configured, and the smart NIC is set to a fully operational state, wherein the fully operational state is a state in which both the management module and the service module are running.
3. The method according to claim 2, characterized in that, After configuring the service module and setting the smart network card to a fully operational state based on the second network interface card control identifier and the first configuration information, the method further includes: Receive the third network interface control identifier and the second configuration information sent by the BMC according to the server expansion power-on status; After clearing the first configuration information, the service module is reconfigured according to the third network card control identifier and the second configuration information, and the smart network card is set to a fully operational state. The second configuration information may be the same as or different from the first configuration information.
4. The method according to any one of claims 1-3, characterized in that, The smart network card is a network card that supports independent power supply for the high-speed serial computer expansion bus standard PCIe, including the data processor (DPU) card.
5. A smart network card control system, characterized in that, The system includes a Baseboard Management Controller (BMC) and a smart network interface card (NIC). The BMC and the smart NIC are connected via NCSI connectors, each including a network connectivity status indicator. The smart NIC includes a management module and a service module. The management module runs the NCSI protocol stack, and the service module processes server service data. The BMC is used to send a first network interface card control identifier to the smart network interface card according to the server's reduced power-off state, wherein the server's reduced power-off state is the state in which the server's main power supply is turned off; The smart network interface card (NIC) is configured to set its state to a partial operating state based on the first NIC control identifier, wherein the partial operating state is a state in which the management module is running and the service module is not running.
6. The system according to claim 5, characterized in that, After setting the smart network card to a partial operating state according to the first network card control identifier, The BMC is also used to send a second network card control identifier and first configuration information according to the server expansion power-on status, wherein the server expansion power-on status is the state in which the server's main power supply is turned on; The smart network interface card (NIC) is further configured to configure the service module according to the second NIC control identifier and the first configuration information, and to set the smart NIC to a complete operating state, wherein the complete operating state is a state in which both the management module and the service module are running.
7. The system according to claim 6, characterized in that, After configuring the service module according to the second network interface card (NIC) control identifier and the first configuration information, and setting the smart NIC to a fully operational state, The BMC is also used to send a third network interface card control identifier and second configuration information according to the server's expansion power-on status; The smart network interface card (NIC) is further configured to, after clearing the first configuration information, reconfigure the service module according to the third NIC control identifier and the second configuration information, and set the smart NIC to a fully operational state, wherein the second configuration information is the same as or different from the first configuration information.
8. The system according to any one of claims 5-7, characterized in that, The smart network card is a network card that supports independent power supply for the high-speed serial computer expansion bus standard PCIe, including the data processor (DPU) card.
9. A smart network interface card, characterized in that, The smart network interface card is used to perform the method described in any one of claims 1-4.
10. A computer program product containing instructions, characterized in that, When the instruction is executed by the smart network card, the smart network card performs the method as described in any one of claims 1-4.
11. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by the smart network card, cause the smart network card to perform the method as described in any one of claims 1-4.