A host startup method with intelligent network card

By designing fast installation support registers and status registers on the intelligent network card data surface, and automatically preparing the installation environment, the problem of extended host installation time caused by the long start time of the intelligent network card system is solved, and rapid installation and cost savings are achieved.

CN117971326BActive Publication Date: 2024-12-10CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311655858.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-05
Publication Date
2024-12-10
Estimated Expiration
2043-12-05

AI Technical Summary

Technical Problem

In the prior art, the intelligent network card system starts for a long time, resulting in a longer host installation time and increasing deployment and labor costs.

Method used

Design fast installation support registers and fast installation status registers, automatically prepare the installation environment after the network card data plane is ready, decoupling the host installation and intelligent network card control plane system start, allowing installation when the network card data plane is ready.

Benefits of technology

It shortens the system ready time, saves deployment and R&D labor costs, and realizes the rapid installation function.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117971326B_ABST
    Figure CN117971326B_ABST
Patent Text Reader

Abstract

The present invention discloses a host startup method with an intelligent network card, which relates to the field of computer technology. The method actively prepares the data plane environment required for installation after the network card data plane is ready by designing a fast installation support register and a fast installation status register; wherein the fast installation support register is used by the host side to determine whether the network card supports the fast installation function, and the fast installation status register is used to record the data plane status of the intelligent network card and the host installation status, so as to prevent the intelligent network card control plane from interrupting the ongoing host installation. The present invention additionally designs a fast installation support register and a fast installation status register on the data plane of the intelligent network card, and automatically prepares the installation environment as soon as the network card data plane is ready, so that the installation can be carried out. Compared with the traditional method in which the host needs to wait for the entire network card control plane to start before installation, the time for the entire system to be ready is shortened.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computers, and in particular to a host startup method with an intelligent network card. Background Art

[0002] Data center technology is developing rapidly. As more and more businesses need to be processed by data centers, the processing performance requirements of servers are getting higher and higher. One way to improve server processing performance is to introduce smart network cards. Relying on the hardware offload function of smart network cards, some fixed processing logic is offloaded from the server CPU to the network card, thereby improving the processing performance of the server.

[0003] The smart NIC comes with its own operating system OS. Only when the smart NIC OS is started, the first service request message sent by the HOST through virtio-net can be sent to the data plane through the smart NIC control plane to communicate normally. When the service is deployed online, the hosts need to be installed in batches. In the existing technology, there are usually two ways to ensure that the hosts with smart NICs can be successfully installed: 1. When the host starts, poll the smart NIC status and wait until the smart NIC system is started before continuing the installation process; 2. The host is not powered on by default in the hardware design. After the smart NIC is started, the host is powered on through the pre-designed hardware channel, and the host can be installed naturally when it starts.

[0004] However, all of the above methods have a defect: the host needs to wait for the smart network card system to be ready, otherwise the PXE installation message cannot be forwarded to the installation server through the data plane of the smart network card. Compared with traditional network cards, this will inevitably lead to the problem of long host installation time. As the business complexity of the smart network card operating system increases, the time to complete the startup of the smart network card system will become longer and longer. In an environment where there are requirements for the host installation time, a lot of manpower must be invested to optimize the startup time of the smart network card, and the deployment and manpower costs increase. Summary of the invention

[0005] The purpose of this section is to summarize some aspects of embodiments of the present invention and briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section and the specification abstract and the invention title of this application to avoid blurring the purpose of this section, the specification abstract and the invention title, and such simplifications or omissions cannot be used to limit the scope of the present invention.

[0006] In view of the problems existing in the above-mentioned existing method for starting a host with an intelligent network card, the present invention is proposed.

[0007] Therefore, the purpose of the present invention is to provide a host startup method with a smart network card, which is to additionally design a fast installation support register and a fast installation status register on the smart network card data plane, so that the minimum environment required for installation can be automatically prepared as soon as the network card data plane is ready, and the host installation and the smart network card control plane system startup are decoupled, thereby solving the problem of the prior art that the entire data plane and control plane of the smart network card need to be started before installation, resulting in a long deployment time.

[0008] In order to solve the above technical problems, the present invention provides the following technical solutions:

[0009] A host startup method with an intelligent network card, characterized in that the method actively prepares the data plane environment required for installation after the network card data plane is ready by designing a fast installation support register and a fast installation status register;

[0010] The fast installation support register is used by the host side to determine whether the network card supports the fast installation function, and the fast installation status register is used to record the smart network card data plane status and the host installation status to prevent the smart network card control plane from interrupting the ongoing host installation.

[0011] As a preferred solution of the host startup method with a smart network card described in the present invention, the method includes: a processing flow supporting rapid installation on the network card side, having the following steps:

[0012] Step 1: Power on the NIC, and set the SmartNIC FPGA fast installation status register status value to FPGA-initing

[0013] FPGA-initing means the SmartNIC starts to be powered on, but the FPGA is not initialized yet.

[0014] Step 2: Prepare the data plane fast installation environment, including: generating the virtio-net device used for installation on the host side, setting the fast installation status register value to FastPXE-ready, and monitoring the flow table count;

[0015] Among them, FastPXE-ready means that the FPGA initialization is completed, the fast installation flow table is sent, and the PXE message can be forwarded through the FPGA;

[0016] Step 3: Determine whether the corresponding flow table count has increased. If it has increased, it means that there is an installation action on the host side. Set the fast installation state register value to FastPXE-running. The FPGA in the FastPXE-running state does not receive any settings from the network card control plane.

[0017] Among them, FastPXE-running: indicates that fast installation is in progress;

[0018] Step 4: After the network card control plane software is started, read the fast installation status register. If the value is FastPXE-running, do not send the configuration, start the timer, and continuously poll the fast installation status register until the status is not FastPXE-running. After sending the software configuration, set the fast installation status register to SOC-ready.

[0019] Among them, SOC-ready means that the smart network card control plane is started.

[0020] As a preferred solution of the host startup method with a smart network card described in the present invention, in step 4 of the process flow supporting rapid installation on the network card side:

[0021] If the value is not FastPXE-running, it is determined that the host side has not yet started to the installation stage. The control plane directly sends the configuration to the FPGA and sets the fast installation status register to SOC-ready.

[0022] As a preferred solution of the host startup method with a smart network card described in the present invention, in step 4 of the process flow supporting rapid installation on the network card side:

[0023] If the value is not FastPXE-running, or it is determined that the host side does not need to be installed, the control plane directly sends the configuration to the FPGA and sets the fast installation status register to SOC-ready.

[0024] As a preferred solution of the host startup method with a smart network card described in the present invention, wherein: in the processing flow supporting fast installation on the network card side, after the host installation succeeds or fails, the fast installation status register is actively set to FastPXE-done, and after receiving this request, the network card deletes the virtio-net device and fast installation flow table used for installation on the host side, and subsequently accepts the setting of the smart network card control plane, and sets the fast installation status register value to SOC-ready;

[0025] Among them, FastPXE-done indicates that the host installation is completed or failed.

[0026] As a preferred solution of the host startup method with an intelligent network card described in the present invention, in step three of the processing flow supporting fast installation on the network card side, if all flow table counts do not increase for more than a specified time, the fast installation status register is set to FastPXE-ready.

[0027] As a preferred solution of the host startup method with a smart network card described in the present invention, the specified time is set to be no less than 30s to prevent system abnormalities caused by the host abnormally failing to update this state.

[0028] As a preferred solution of the host startup method with a smart network card described in the present invention, the method further includes: a processing flow supporting rapid installation on the host side, comprising the following steps:

[0029] Step 1: Power on the host. If installation is not required, you can load it directly.

[0030] If installation is required, first read the fast installation support register through the PCIE SMBus to determine whether fast installation is supported. If not, check whether the smart network card has been started in a traditional way; if supported, read the smart network card fast installation status register;

[0031] Step 2: If the status value of the fast installation status register is FastPXE-ready, start PXE installation. Whether the installation succeeds or fails, you need to set the smart network card FPGA fast installation status register to FastPXE-done through PCIE SMBus;

[0032] Step 3: After successful installation, the host device continues to boot until the system is ready.

[0033] As a preferred solution of the host startup method with a smart network card described in the present invention, in step three of the processing flow supporting rapid installation on the host side, if the installation fails, the host device restarts and follows the traditional installation process.

[0034] As a preferred solution of the host startup method with a smart network card described in the present invention, in which: in step 2 of the processing flow supporting fast installation on the host side, if the status value of the fast installation status register is FPGA-initing, the fast installation status register is continuously detected until the status value is FastPXE-ready, and then the subsequent steps of the processing flow supporting fast installation on the host side are continued.

[0035] Beneficial effects of the present invention:

[0036] 1. The present invention designs additional fast installation support registers and fast installation status registers on the smart network card data plane, so that the installation environment can be automatically prepared as soon as the network card data plane is ready for installation. Compared with the traditional host, which needs to wait for the entire network card control plane to start before installation, the time for the entire system to be ready is shortened;

[0037] 2. The present invention can complete the rapid installation function through the cooperation of the host and the smart network card data plane, shorten the host installation time without optimizing the smart network card control plane system, and save deployment and R&D labor costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them:

[0039] Figure 1 A schematic diagram of a processing flow of supporting rapid installation on the network card side of a host startup method with an intelligent network card proposed by the present invention;

[0040] Figure 2 The present invention provides a schematic diagram of a process flow of supporting rapid installation on the host side of a host startup method with a smart network card. DETAILED DESCRIPTION

[0041] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the accompanying drawings.

[0042] In the following description, many specific details are set forth to facilitate a full understanding of the present invention, but the present invention may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.

[0043] Secondly, the term "one embodiment" or "embodiment" as used herein refers to a specific feature, structure, or characteristic that may be included in at least one implementation of the present invention. The term "in one embodiment" that appears in different places in this specification does not necessarily refer to the same embodiment, nor does it refer to a separate or selective embodiment that is mutually exclusive with other embodiments.

[0044] Secondly, the present invention is described in detail with reference to the schematic diagram. When describing the embodiments of the present invention in detail, for the sake of convenience, the cross-sectional diagrams showing the device structure will not be partially enlarged according to the general scale, and the schematic diagrams are only examples, which should not limit the scope of protection of the present invention. In addition, in actual production, the three-dimensional dimensions of length, width and depth should be included.

[0045] Reference Figure 1-Figure 2, which is an embodiment of the present invention, provides a host startup method with an intelligent network card. This method actively prepares the data plane environment required for installation after the network card data plane is ready by designing a fast installation support register and a fast installation status register.

[0046] Among them, the fast installation support register is used by the host side to determine whether the network card supports the fast installation function (before the smart network card software system is ready, the host can perform the installation function after setting the special flow table and virtio-net through the network card). The host determines whether the fast installation function is supported by writing and reading the register. In order to be compatible with the online version, the test whether the fast installation function is supported can be done by writing an integer value to the register. If the chip supports the fast PXE (pre-boot execution environment) function, the chip will update the value of the register after a special calculation. For example, it is agreed that the host writes 3 to the register. If the read value is 6 (twice as much as 3, the network card chip automatically calculates), it means that the fast installation function is supported. Other values ​​indicate that it is not supported. The calculation method can be customized according to the difficulty of chip implementation.

[0047] The fast installation status register is used to record the smart network card data plane status and the host installation status to prevent the smart network card control plane from interrupting the ongoing host installation. The fast installation status register has the following values:

[0048] FPGA-initing: The SmartNIC starts to power on, but the FPGA is not initialized yet;

[0049] FastPXE-ready: FPGA initialization is completed, the fast installation flow table is sent, and PXE messages can be forwarded through FPGA;

[0050] FastPXE-running: Fast installation in progress;

[0051] FastPXE-done: Host installation completed or failed;

[0052] SOC-ready: The smart network card control plane is started.

[0053] The host installation process requires the cooperation of the smart network card and the host. The following is a detailed description of the network card and host power-on installation, including: the processing flow of supporting fast installation on the network card side and the processing flow of supporting fast installation on the host side.

[0054] Reference Figure 1 , wherein the processing flow for supporting fast installation on the network card side includes the following steps:

[0055] Step 1: Power on the NIC, and set the status value of the SmartNIC FPGA fast installation status register to FPGA-initing;

[0056] Step 2: Prepare the data plane fast installation environment, including: generating the virtio-net device used for installation on the host side, setting the fast installation status register value to FastPXE-ready, and monitoring the flow table count;

[0057] Step 3: Determine whether the corresponding flow table count has increased. Take the following fast installation flow table a (flow table rules that allow the PXE installation request and installation response messages to pass through before the smart network card software system is ready and after the FPGA hardware is started) as an example to monitor the flow table counts host-sfp-dhcp, host-sfp-tftp, sfp-host-dhcp, and sfp-host-tftp.

[0058] Serial number match action 1 Host-side virtio-net device ID, ARP Output to the network card panel port 2 Host-side virtio-net device ID, DHCP message Output to the network card panel port, count (host-sfp-dhcp) 3 Host-side virtio-net device ID, TFTP message Output to the network card panel port, count (host-sfp-tftp) 4 NIC side panel port ID, ARP Output to the host-side virtio-net device 5 NIC side panel port ID, DHCP message Output to the host-side virtio-net device, count (sfp-host-dhcp) 6 NIC side panel port ID, TFTP message Output to the host-side virtio-net device, count (sfp-host-tftp)

[0059] Quick installation flow table a

[0060] If the flow table counts host-sfp-dhcp, host-sfp-tftp, sfp-host-dhcp, and sfp-host-tftp are all greater than 0, it means that there is installation action on the host side. The fast installation status register value is set to FastPXE-running. The FPGA in the FastPXE-running state does not receive any settings from the network card control plane. If all flow table counts do not increase for more than a specified time (usually 30 seconds), the fast installation status register is set to FastPXE-ready to prevent system abnormalities caused by the host abnormality not updating this state.

[0061] Step 4: After the network card control plane software is started, read the fast installation status register. If the value is FastPXE-running, do not send the configuration, start the timer, and continuously poll the fast installation status register until the status is not FastPXE-running. After sending the software configuration, set the fast installation status register to SOC-ready.

[0062] If the value is not FastPXE-running, it means that the host side has not yet started to the installation stage or does not need to be installed. The control plane directly sends the configuration to the FPGA and sets the fast installation status register to SOC-ready.

[0063] Step 5: After the host installation succeeds or fails, the fast installation status register is actively set to FastPXE-done. After receiving this request, the network card deletes the virtio-net device and fast installation flow table used for installation on the host side, and subsequently accepts the smart network card control plane settings and sets the fast installation status register value to SOC-ready.

[0064] Reference Figure 2 Specifically, the host-side process of supporting rapid installation includes the following steps:

[0065] Step 1: Power on the host. If installation is not required, you can load it directly.

[0066] If installation is required, first read the fast installation support register through the PCIE SMBus to determine whether fast installation is supported. If not, check whether the smart network card has been started in a traditional way; if supported, read the smart network card fast installation status register;

[0067] Step 2: If the status value of the fast installation status register is FastPXE-ready, start PXE installation. Whether the installation succeeds or fails, you need to set the smart network card FPGA fast installation status register to FastPXE-done through PCIE SMBus;

[0068] If the status value of the fast installation status register is FPGA-initing, continue to check the fast installation status register until the status value is FastPXE-ready, and then continue the subsequent steps of the processing flow supporting fast installation on the host side.

[0069] Step 3: After the installation is successful, the host device continues to boot until the system is ready. If the installation fails, the host device restarts and follows the traditional installation process (at this time in the actual environment, the smart network card is usually ready).

[0070] In summary, the present invention designs a fast installation support register on the smart network card data plane, and actively sets a fast installation environment as soon as the network card data plane is ready to ensure that the host PXE installation does not rely on the readiness of the smart network card operating system; and designs a fast installation status register on the smart network card data plane to record the installation status, thereby ensuring that the host installation process is not interrupted by the smart network card control plane, and after the installation is completed, the network card can clear the installation environment and the subsequent control plane can correctly send control messages.

[0071] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.

Claims

1. A method for starting a host with an intelligent network card, characterized in that: The method proactively prepares the data plane environment required for installation after the network card data plane is ready by designing a fast installation support register and a fast installation status register. The fast installation support register is used by the host side to determine whether the network card supports the fast installation function, and the fast installation status register is used to record the data plane status of the smart network card and the host installation status to prevent the smart network card control plane from interrupting the ongoing host installation; The method includes a processing flow for supporting rapid installation on the network card side, and has the following steps: Step 1: Power on the NIC, and set the SmartNIC FPGA fast installation status register status value to FPGA-initing FPGA-initing means the SmartNIC starts to be powered on, but the FPGA is not initialized yet. Step 2: Prepare the data plane fast installation environment, including: generating the virtio-net device used for installation on the host side, setting the fast installation status register value to FastPXE-ready, and monitoring the flow table count; Among them, FastPXE-ready means that the FPGA initialization is completed, the fast installation flow table is sent, and the PXE message can be forwarded through the FPGA; Step 3: Determine whether the corresponding flow table count has increased. If it has increased, it means that there is an installation action on the host side. Set the fast installation state register value to FastPXE-running. The FPGA in the FastPXE-running state does not receive any settings from the network card control plane. Among them, FastPXE-running: indicates that fast installation is in progress; Step 4: After the network card control plane software is started, read the fast installation status register. If the value is FastPXE-running, do not send the configuration, start the timer, and continuously poll the fast installation status register until the status is not FastPXE-running. After sending the software configuration, set the fast installation status register to SOC-ready. Among them, SOC-ready means that the smart network card control plane has been started; If the value is not FastPXE-running, it is determined that the host side has not yet started to the installation stage. The control plane directly sends the configuration to the FPGA and sets the fast installation status register to SOC-ready. If the value is not FastPXE-running, or it is determined that the host side does not need to be installed, the control plane directly sends the configuration to the FPGA and sets the fast installation status register to SOC-ready; After the host installation succeeds or fails, the fast installation status register is actively set to FastPXE-done. After receiving this request, the NIC deletes the virtio-net device and fast installation flow table used for installation on the host side, and subsequently accepts the settings of the smart NIC control plane and sets the fast installation status register value to SOC-ready. Among them, FastPXE-done indicates that the host installation is completed or failed.

2. A method for starting a host with a smart network card according to claim 1, characterized in that: In step 3 of the process flow supporting fast installation on the network card side, if all flow table counts do not increase for more than a specified time, the fast installation state register is set to FastPXE-ready.

3. A method for starting a host with a smart network card according to claim 2, characterized in that: The specified time is set to be no less than 30 seconds to prevent system abnormalities caused by the host abnormally failing to update this status.

4. A method for starting a host with a smart network card according to any one of claims 1 to 3, characterized in that: The method also includes: a processing flow on the host side supporting rapid installation, comprising the following steps: Step 1: Power on the host. If installation is not required, you can load it directly. If installation is required, first read the fast installation support register through the PCIE SMBus to determine whether fast installation is supported. If not, check whether the smart network card has been started in a traditional way; if supported, read the smart network card fast installation status register; Step 2: If the status value of the fast installation status register is FastPXE-ready, start PXE installation. Whether the installation succeeds or fails, you need to set the smart network card FPGA fast installation status register to FastPXE-done through PCIE SMBus; Step 3: After successful installation, the host device continues to boot until the system is ready.

5. A method for starting a host with a smart network card according to claim 4, characterized in that: In step 3 of the process flow supporting rapid installation on the host side, if the installation fails, the host device restarts and follows the traditional installation process.

6. A method for starting a host with a smart network card according to claim 5, characterized in that: In step 2 of the process flow for supporting fast installation on the host side, if the state value of the fast installation status register is FPGA-initing, the fast installation status register is continuously checked until the state value is FastPXE-ready, and then the subsequent steps of the process flow for supporting fast installation on the host side are continued.

Citation Information

Patent Citations

  • PXE-based operating system installation method, computing device and communication system

    CN115576613A

  • Transmission optimization method based on Virtio-net

    CN116346737A