Resource configuration method for smart network interface card, and computer device and medium

By receiving user configuration adjustment commands, the resource configuration of the smart network card is dynamically adjusted, solving the problem that the configuration of the smart network card needs to be known in advance in the existing technology, and realizing high compatibility and convenience of computing devices.

WO2025241762A1PCT designated stage Publication Date: 2025-11-27XFUSION DIGITAL TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/088284
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-21
Filing Date
2025-04-10
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

In existing technologies, the configuration information of smart network cards on the server needs to be known in advance, which means that the BIOS needs to be redeveloped when adding or changing smart network cards, resulting in long server development cycles and poor compatibility.

Method used

By receiving user configuration adjustment commands, the resource configuration of the smart network card, including bus resources and memory resources, is dynamically adjusted. The configuration is based on the BIOS, avoiding the need to rewrite the resource configuration information database and improving the compatibility and convenience of computing devices.

Benefits of technology

It achieves flexibility in configuring smart network card resources and high compatibility with computing devices, simplifies the configuration process, and reduces the cost of redeveloping a new BIOS version.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025088284_27112025_PF_FP_ABST
    Figure CN2025088284_27112025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of servers. Provided are a resource configuration method for a smart network interface card, and a computer device and a medium. The method comprises: receiving a configuration adjustment instruction, wherein the configuration adjustment instruction is used for indicating whether to adjust a resource configuration of a smart network interface card in a computing device; when the configuration adjustment instruction indicates the adjustment of the resource configuration of the smart network interface card in the computing device, in response to a resource configuration operation performed by a user on a target smart network interface card, determining resource configuration information corresponding to the resource configuration operation, wherein the resource configuration information is used for indicating a target resource to be configured for the target smart network interface card in the computing device; and on the basis of the resource configuration information, configuring the target resource for the target smart network interface card by means of a basic input output system (BIOS) of the computing device. By means of the method, a resource is allocated to a target smart network interface card on the basis of a resource configuration operation, and a resource configuration is dynamically adjusted on the basis of requirements of a user, such that the flexibility and compatibility of a computing device in configuring the resource for the smart network interface card are enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

A resource configuration method of an intelligent network card, a computer device and a medium

[0001] The present application claims priority from the Chinese patent application No. 202410644721.X filed on May 21, 2024, and entitled "A resource configuration method of an intelligent network card, a computer device and a medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the technical field of servers, and in particular to a resource configuration method of an intelligent network card, a computer device and a medium. BACKGROUND

[0003] At present, intelligent network cards are increasingly widely used on servers. Compared with traditional network cards, intelligent network cards have higher performance, more flexible configuration options and stronger programmability, which makes them have significant advantages in network communication, data processing and security, etc. However, with the enhancement and improvement of the functions of intelligent network cards, the types of intelligent network cards also become diversified. Different types of intelligent network cards require different configuration information on servers.

[0004] In the related art, the configuration information of the intelligent network card in the server needs to be known in advance, so that the corresponding configuration is preset in the basic input output system (BIOS) of the server to support the normal use of the intelligent network card. However, when the customer adds or changes the configuration information of the intelligent network card, the configuration information in the BIOS can only be redeveloped to adapt to the intelligent network card, thereby causing problems such as long development cycle and poor compatibility of the server. SUMMARY

[0005] The embodiments of the present application provide a resource configuration method of an intelligent network card, a computer device and a medium, which can enhance the flexibility of the resource configuration of the intelligent network card in the BIOS and improve the compatibility of the BIOS to the intelligent network card.

[0006] To achieve the above-mentioned purpose, the embodiments of the present application adopt the following technical solutions:

[0007] In a first aspect, a resource configuration method of an intelligent network card is provided. The method comprises: receiving a configuration adjustment instruction, the configuration adjustment instruction being used to indicate whether to adjust resource configuration of the intelligent network card in a computing device; in a case where the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, determining resource configuration information corresponding to a resource configuration operation of a user on a target intelligent network card in response to the resource configuration operation of the user on the target intelligent network card, the resource configuration information being used to represent a target resource to be configured to the target intelligent network card in the computing device, the target resource comprising bus resources and / or memory resources; and configuring the target resource to the target intelligent network card based on a basic input / output system (BIOS) of the computing device according to the resource configuration information.

[0008] In the solution, compared with the related art, in a case where the user changes the resource configuration information of the intelligent network card, the resource configuration information library stored in the BIOS needs to be modified to meet the demand of the user. In the embodiment of the present application, the resource configuration of the intelligent network card is flexibly adjusted according to the actual demand by receiving the configuration adjustment instruction of the user, without reprogramming the resource configuration information library stored in the BIOS, so that dynamic allocation of the resource of the intelligent network card is realized, and the convenience and compatibility of the computing device for the configuration of the intelligent network card are improved.

[0009] In a possible implementation, the method further comprises: obtaining a slot number list of the computing device, the slot number list being used to show slot numbers of slots in which at least one intelligent network card is located in the computing device; and receiving a selection operation of a user on a target slot number in the slot number list, and determining an intelligent network card corresponding to the target slot number as the target intelligent network card.

[0010] In the implementation, in a case where the user needs to replace or add a slot of the target intelligent network card, the slot configuration of the target intelligent network card can be completed through the selection operation of the user, so that the situation that the resource configuration information library stored in the BIOS needs to be reprogrammed due to replacement or addition of the slot is avoided, the flexibility of the computing device for the slot setting of the target intelligent network card is further improved, and the cost of redeveloping the BIOS version is reduced.

[0011] In a possible implementation, in a case where the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, the resource configuration information corresponding to the resource configuration operation of the user on the target intelligent network card is determined in response to the resource configuration operation of the user on the target intelligent network card, and the method comprises: obtaining processor information, the processor information being used to show at least one processor in the computing device, one processor corresponding to part or all of the bus resources in the computing device; and receiving a selection operation of the user on a target processor in the at least one processor, and determining the resource configuration information based on bus resources corresponding to the target processor.

[0012] In the implementation, different processors correspond to different performance of bus resources in the computing device, and different intelligent network cards have different requirements (such as performance requirements, data transmission rates, etc.) for bus resources. The user can select a suitable processor according to the requirement of the target intelligent network card for the bus resource, so as to ensure that the bus resource corresponding to the processor can support the target intelligent network card.

[0013] In a possible implementation, the resource configuration information is determined based on the bus resource corresponding to the target processor, including: obtaining port information of the target processor; the port information is used to show at least one port of the target processor and the number of bus resources corresponding to the port; in a case where the user selects a target port from the at least one port, obtaining a target number of bus resources selected by the user in the target port; and determining the resource configuration information based on the target number of bus resources.

[0014] In the implementation, the user can clearly understand the number of bus resources corresponding to each port by being shown the port information of the target processor. The user can select the target port and the target number of bus resources according to the actual requirement of the target intelligent network card and the user's preference, so as to accurately configure the bus resource of the target intelligent network card and meet the diversified requirements of various intelligent network cards. This helps to improve the performance of the target intelligent network card and enhances the user's personalized experience.

[0015] In a possible implementation, in a case where the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, the resource configuration information corresponding to the resource configuration operation of the user for the target intelligent network card is determined, and the method further includes: obtaining memory information, the memory information being used to show at least one memory bank in the computing device and the number of memory resources corresponding to the memory bank; in a case where the user selects a target memory bank from the at least one memory bank, obtaining a target number of memory resources selected by the user in the target memory bank; and determining the resource configuration information based on the target number of memory resources.

[0016] In the implementation, the user can intuitively see each memory bank and the number of memory resources that can be provided by the memory bank, thereby providing the user with more flexible configuration options. The user can accurately select a memory bank and a number of memory resources that meet the requirement of the target intelligent network card, so as to guarantee the performance of the target intelligent network card.

[0017] In a possible implementation, in the case that the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, in response to a user's resource configuration operation on a target intelligent network card, the resource configuration information corresponding to the resource configuration operation is determined, including: receiving resource quantity information of the target intelligent network card, the resource quantity information being used to indicate the quantity of target resources; obtaining resource combination information based on the resource quantity information, the resource combination information being used to show at least one resource combination in the computing device; receiving a selection operation of the user on a target resource combination, and determining the resource configuration information according to the target resource combination; and the target resource combination is any one of the at least one resource combination.

[0018] In this implementation, when the user needs to adjust the resource configuration of the intelligent network card in the computing device, a plurality of resource combinations in the computing device can be provided for the user according to the quantity of target resources required by the user, the resource configuration process is simplified, the user can select one of the resource combinations according to actual conditions, and since the plurality of resource combinations are the resource configurations pre-stored by the computing device, the rationality of the resource configuration is considered, and the occurrence of computing device abnormities and the like caused by random configuration of the user can be reduced.

[0019] In a possible implementation, based on the resource configuration information, the target resources are configured to the target intelligent network card based on a basic input output system (BIOS) of the computing device, including: verifying the resource configuration information based on a preset resource verification rule; wherein the preset resource verification rule is used for at least one of quantity verification of bus resources, bandwidth verification of the bus resources, and size verification of memory resources; and if the resource configuration information passes the verification, the target resources are configured to the target intelligent network card based on the resource configuration information and the BIOS.

[0020] In this implementation, by using the preset resource verification rule, the quantity of bus resources, the bandwidth of bus resources, and the size of memory resources and the like in the resource configuration information can be verified, it is ensured that the configured resources match the actual demand of the target intelligent network card, the performance decline of the intelligent network card or the instability of the computing device caused by resource allocation errors is avoided, and the reliability and stability of the resource configuration of the computing device are improved.

[0021] In a possible implementation, the method further includes: if the configuration adjustment instruction indicates that the resource configuration of the intelligent network card in the computing device is not to be adjusted, determining a target intelligent network card in place according to a pre-built slot library, the slot library including slot numbers of slots in which at least one target intelligent network card is located; determining a device type of the target intelligent network card in place; based on the device type, determining resource configuration information of the target intelligent network card in the pre-built resource configuration information library, the device type and the resource configuration information corresponding to each other in the resource configuration information library; and based on the resource configuration information, allocating resources for the target intelligent network card in place based on a basic input / output system (BIOS) of the computing device.

[0022] In this implementation, when the instruction that the resource configuration of the intelligent network card in the computing device is not to be adjusted is received, the intelligent network cards in place are detected one by one in the pre-built slot library, the resource configuration information corresponding to the device type of the intelligent network card in place is determined in the pre-built resource configuration information library, and the resources are automatically allocated for the target intelligent network card in place without manual configuration, thereby improving the configuration efficiency.

[0023] In a second aspect, an intelligent network card resource configuration apparatus is provided, which includes functional units for implementing any of the methods provided in the first aspect, and each functional unit performs an action through hardware or corresponding software executed by hardware. For example, the intelligent network card resource configuration apparatus can include a receiving unit, a first determining unit, and a first configuration unit. The receiving unit is configured to receive a configuration adjustment instruction, the configuration adjustment instruction being used to indicate whether the resource configuration of the intelligent network card in the computing device is to be adjusted. The first determining unit is configured to, if the configuration adjustment instruction indicates that the resource configuration of the intelligent network card in the computing device is to be adjusted, determine resource configuration information corresponding to a resource configuration operation of a target intelligent network card in response to the resource configuration operation of the target intelligent network card. The resource configuration information is used to indicate a target resource to be configured to the target intelligent network card in the computing device, and the target resource includes a bus resource and / or a memory resource. The first configuration unit is configured to configure the target resource to the target intelligent network card based on a basic input / output system (BIOS) of the computing device according to the resource configuration information.

[0024] In a third aspect, a computer device is provided, which includes a processor and a memory, the processor being connected to the memory. The memory is configured to store computer execution instructions, and the processor is configured to execute the computer execution instructions stored in the memory, thereby implementing any of the methods provided in the first aspect.

[0025] In a fourth aspect, a chip is provided, which includes a processor and an interface circuit. The interface circuit is configured to receive code instructions and transmit the code instructions to the processor. The processor is configured to run the code instructions to execute any of the methods provided in the first aspect.

[0026] In a fifth aspect, a computer-readable storage medium is provided, which stores computer-executable instructions that, when executed on a computer, cause the computer to perform any of the methods provided in the first aspect.

[0027] In a sixth aspect, a computer program product is provided, which includes computer-executable instructions that, when executed on a computer, cause the computer to perform any of the methods provided in the first aspect.

[0028] The technical effects brought by the implementation manners of the second aspect to the sixth aspect can be referred to the technical effects brought by the implementation manners of the first aspect, and will not be described herein. BRIEF DESCRIPTION OF DRAWINGS

[0029] FIG. 1 is an application scenario diagram of a resource configuration method of an intelligent network card according to an embodiment of the present application;

[0030] FIG. 2 is a system architecture diagram of a computing device according to an embodiment of the present application;

[0031] FIG. 3 is a flowchart of another resource configuration method of an intelligent network card according to an embodiment of the present application;

[0032] FIG. 4 is a schematic diagram of configuring an adjustment enabling switch in a BIOS input / output configuration interface according to an embodiment of the present application;

[0033] FIG. 5 is a flowchart of determining resource configuration information corresponding to a resource configuration operation according to an example embodiment;

[0034] FIG. 6 is a schematic diagram of a configuration interface according to an example embodiment;

[0035] FIG. 7 is a flowchart of determining resource configuration information corresponding to a resource configuration operation according to an example embodiment;

[0036] FIG. 8 is a flowchart of determining resource configuration information corresponding to a resource configuration operation according to an example embodiment;

[0037] FIG. 9 is a schematic diagram of another interface according to an example embodiment;

[0038] FIG. 10 is a schematic diagram of another interface according to an example embodiment;

[0039] FIG. 11 is a flowchart of obtaining a slot number of a target intelligent network card according to an example embodiment;

[0040] FIG. 12 is a schematic diagram of another interface according to an example embodiment;

[0041] FIG. 13 is a flowchart illustrating configuring a target resource to a target intelligent network card based on a BIOS according to an example embodiment;

[0042] FIG. 14 is a schematic diagram of a resource configuration apparatus of an intelligent network card according to an example embodiment. DETAILED DESCRIPTION

[0043] The technical solutions in the example embodiments of the present application will be described below with reference to the accompanying drawings.

[0044] In the description of the present application, unless otherwise specified, " / " represents an "or" relationship between the objects associated before and after, for example, A / B can represent A or B; "and / or" in the present application is only a description of the association between the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural.

[0045] In the description of the present application, unless otherwise specified, "multiple" means two or more than two. "At least one of the following" or the like means any combination of the items, including any combination of single item or multiple items. For example, at least one of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, and c can be single or multiple.

[0046] In addition, in order to clearly describe the technical solutions of the example embodiments of the present application, in the example embodiments of the present application, "first", "second", and the like are used to distinguish the same items or similar items with basically the same function and effect. Those skilled in the art can understand that "first", "second", and the like do not limit the quantity and execution order, and "first", "second", and the like do not necessarily mean different. At the same time, in the example embodiments of the present application, "exemplary" or "for example" means to serve as an example, illustration or description. Any example or design scheme described as "exemplary" or "for example" in the example embodiments of the present application should not be interpreted as more preferred or more advantageous than other example embodiments or design schemes. Rather, "exemplary" or "for example" is used to present the relevant concept in a specific manner, and to facilitate understanding.

[0047] First, the application scenario of the example embodiments of the present application is exemplarily introduced.

[0048] With the rapid development of information technology, computing devices have been widely used in various fields and become an indispensable infrastructure in modern society. In the running process of computing devices (such as various servers), intelligent network cards, as key input and output devices, are mainly used to provide high-speed and stable network connections to ensure that computing devices can efficiently transmit data with other devices or networks. The performance of intelligent network cards directly affects the running efficiency of the entire computing device. In the working process of intelligent network cards, resources in the computing device, such as bus resources, memory resources, etc., are needed, so it is very important to reasonably allocate resources to intelligent network cards in the computing device to ensure that they obtain sufficient resource support and improve the overall performance of the computing device.

[0049] The basic input output system (BIOS) is a set of programs fixed to a read-only memory (ROM) on the motherboard of a computing device, which stores the most important basic input output programs, self-checking programs after booting, and system self-starting programs. Its main function is to provide the most basic and direct hardware settings and controls for computing devices. When the computing device is powered on, BIOS will allocate the resources indicated by the resource configuration information to the intelligent network card in the slot indicated by the slot information according to the pre-set resource configuration information and slot information, to meet the performance requirements of the intelligent network card.

[0050] With the increasing application of intelligent network cards in computing devices, different types of intelligent network cards require different resources and slots in computing devices. For example, some intelligent network cards focus on network acceleration, which requires high-bandwidth bus resources and sufficient memory resources to ensure fast transmission of network data. For example, intelligent network cards integrated with high-performance network acceleration and security control functions require more hardware resources to support these functions, so they need wider slots to provide the required interfaces. For intelligent network cards that focus on storage optimization functions, the requirement for network bandwidth is relatively low, and only a peripheral component interconnect express (PCIe) interface slot is needed to meet the needs of storage optimization functions. As can be seen, to meet the needs of different types of intelligent network cards for resources and slots, computing devices should provide corresponding resource and slot support to ensure normal communication and data transmission of intelligent network cards and to bring out the best performance of intelligent network cards, and to achieve compatibility for different types of intelligent network cards.

[0051] Taking a server as an example, in the related art, before the server is provided for use by a user, the user needs resource information and slot information of an intelligent network card, and the resource information and the slot information are saved in the server. As shown in FIG. 1, in a server starting process, BIOS detects whether an intelligent network card exists on a slot according to slot information by sending an intelligent platform management interface (IPMI) command to the slot indicated by the slot information. After detecting the intelligent network card on the slot, target resources that need to be configured for the intelligent network card of a device type (such as a high-speed data transmission type intelligent network card, used to implement high-speed transmission of network data; a security type intelligent network card, used to provide network security functions such as data encryption, decryption, firewall, and intrusion detection; a storage acceleration type intelligent network card, used to improve the performance of data storage and access, and the like) are determined in a resource configuration information library, so as to configure resources for the intelligent network card. The resource configuration information library contains mapping relationships between various types of devices and required server resources, and is saved in a memory corresponding to BIOS.

[0052] However, when the user needs to add an intelligent network card in the server, modify configuration information of the intelligent network card, and change a slot of the intelligent network card, the resource configuration information library in BIOS needs to be modified to meet the needs of the intelligent network card for resources and slots, thereby causing poor compatibility of the server to the intelligent network card.

[0053] Therefore, embodiments of the present application provide a resource configuration method of an intelligent network card, which supports a user to independently configure resources of an intelligent network card in a computing device based on actual needs. Specifically, the method determines target resources in the computing device by receiving resource configuration needs of a target intelligent network card input by the user, and allocates the target resources to the target intelligent network card based on BIOS, thereby supporting running of the target intelligent network card. The method can dynamically adjust resource configuration of the intelligent network card in the computing device according to changes in needs of the user at any time, enhance flexibility of resource configuration of the intelligent network card in the computing device, and improve compatibility of the computing device to the intelligent network card.

[0054] In some embodiments, the resource configuration method provided by the embodiments of the present application first receives a configuration adjustment instruction of a user, the configuration adjustment instruction being used to indicate whether to adjust the resource configuration of the intelligent network card in the computing device. Then, in the case that the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, the resource configuration information corresponding to the resource configuration operation is determined in response to the resource configuration operation of the user on the target intelligent network card, the resource configuration information being used to represent the target resource to be configured to the target intelligent network card in the computing device, and the target resource including the bus resource and / or the memory resource. Finally, the target resource is configured to the target intelligent network card based on the BIOS of the computing device according to the resource configuration information.

[0055] Compared with the related art, in the case that the user changes the resource configuration information of the intelligent network card, the resource configuration information library stored in the BIOS needs to be modified to meet the needs of the user. The embodiments of the present application flexibly adjust the resource configuration of the intelligent network card according to the actual needs by receiving the configuration adjustment instruction of the user, without reprogramming the resource configuration information library stored in the BIOS, so as to realize the dynamic allocation of the resource of the intelligent network card and improve the convenience and compatibility of the computing device for the configuration of the intelligent network card.

[0056] Next, the system architecture of the embodiments of the present application is exemplarily introduced.

[0057] The computing device provided by the embodiments of the present application can be a network device or a terminal device. The network device can include a server and the like. The server can be one physical server, or two or more physical servers sharing different responsibilities and cooperating with each other to realize the functions of the server.

[0058] Exemplarily, the server can be a blade server, a high-density server, a rack server or a tower server, etc. The terminal device can include a personal digital assistant (PDA), an ultra-mobile personal computer (UMPC), a notebook computer, a netbook, a desktop computer, an all-in-one computer, etc.

[0059] It should be noted that the embodiments of the present application do not limit the device form of the computing device, and the system architecture of the computing device provided by the embodiments of the present application is described below by taking the server as an example.

[0060] As shown in FIG. 2, a system architecture diagram of a computing device provided by an embodiment of the present application is shown. The computing device can be a blade server, a dense server, a rack server, a high-performance server, etc. The hardware part of the computing device includes a processor, a BIOS chip, an intelligent network card, an out-of-band controller, and a memory. The software part mainly includes a BIOS, an out-of-band management module, and an operating system (OS) management unit.

[0061] The processor can include one or more central processing units (CPUs). The CPU includes one or more CPU ports. The CPU performs signaling interaction and data transmission with other hardware in the computing device through the CPU ports. For different CPU ports of the same CPU or CPU ports of different CPUs, there can be differences in data transmission speed, data transmission type, etc. For example, the CPU port can be a PCIe port or a traditional serial port (such as RS-232). The PCIe port is a high-speed serial computer expansion bus standard used to connect high-speed devices, while the data transmission speed of the traditional serial port is relatively slow, but the stability and reliability are relatively high, and it is used to connect low-speed devices or long-distance communication. For another example, the CPU port can be a USB-C port or a special I / O port. The USB-C port supports multiple data transmission types, including video, audio, and data, while the special I / O port is optimized for specific data transmission types (such as floating-point operation data), etc.

[0062] The BIOS chip is a chip set on the motherboard for initializing and detecting various hardware devices during the boot process of the computing device. The BIOS chip includes a flash memory area that can be used to store user-configured parameters. In an embodiment of the present application, the flash memory area stores a resource configuration information library of the intelligent network card.

[0063] The intelligent network card is a high-performance network card specially used for network data processing. By using customized chips, high-speed network interfaces, and powerful software support, the intelligent network card provides faster, safer, and more reliable network connection and data transmission services for the computing device.

[0064] Generally, the smart NIC is arranged on the mainboard of the computing device and connected with the mainboard through a slot. The slot belongs to the hardware interface part on the mainboard of the computing device. For example, the smart NIC can be inserted into the mainboard of the computing device as an expansion card through a PCIe port. The slot on the mainboard is connected with other hardware on the mainboard through a bus, so as to realize data transmission between the smart NIC and other hardware. For example, the smart NIC is connected with the CPU, and network data packets are processed through the network processing function in the smart NIC, so as to reduce the burden of the CPU and improve the throughput and efficiency of network communication. For another example, the CPU scans the slot on the mainboard to detect the smart NIC on the slot by running the BIOS, and configures resources for the smart NIC.

[0065] For example, the smart NIC includes a basic type smart NIC, a high-performance type smart NIC, a wireless type smart NIC, a virtualization type smart NIC, a security type smart NIC and the like according to different functions and characteristics.

[0066] The memory, also called internal memory or main memory, is installed in the memory slot on the mainboard of the computing device and is a temporary storage device for temporarily storing running programs and data. The memory can be a memory stick, which is composed of a memory chip, a circuit board and the like.

[0067] The BIOS is a set of programs fixed to the BIOS chip on the mainboard in the computing device. The main function of the BIOS is to provide the computing device with the most basic and direct hardware settings and controls. In the embodiments of the present application, the BIOS can be used to determine the resources required for the target smart NIC in the computing device according to the resource configuration operation for the target smart NIC, and to configure the resources to the target smart NIC.

[0068] The resources in the computing device can include bus resources, memory resources, network resources and the like. In the embodiments of the present application, the computing device provides the smart NIC with bus resources and memory resources to realize the performance of the smart NIC.

[0069] The bus refers to a common communication trunk for transmitting information between various components of the computing device, and is a public channel for transmitting information among the CPU, the memory, the external device (such as the smart NIC) and the like. The various hardware inside the computing device are connected through the bus, and the external device (such as the smart NIC) is connected with the bus through the corresponding slot.

[0070] In a possible implementation, the intelligent network card is connected with the CPU through a CPU port, and shares network tasks on the CPU that are not suitable for processing, such as packet parsing, encryption and decryption, route lookup, and the like. By transferring these tasks to the intelligent network card for processing, the CPU can perform other tasks in the computing device, thereby improving the overall performance and efficiency of the computing device. In order to realize this function, the intelligent network card needs to perform data transmission with the CPU, so as to receive instructions and data from the CPU, and return the processing result to the CPU. In this process, the intelligent network card performs data transmission with the CPU through a plurality of buses, so as to realize the high-performance data transmission and processing requirements of the intelligent network card. Or, the intelligent network card performs data transmission with the CPU based on the allocated bus resources.

[0071] In the embodiment of the present application, the bus resources allocated to the intelligent network card for connecting the CPU port and the intelligent network card, the information for indicating the bus resources can specifically include the CPU name corresponding to the intelligent network card, the CPU port name, and the number of buses corresponding to the port. Since different CPUs and different CPU ports may have differences in data transmission speed, data transmission type, and the like, the corresponding CPU port and the number of buses can be selected for the intelligent network card according to the performance requirements of the intelligent network card. For example, the intelligent network card requires high-speed data transmission capability and supports multiple data transmission types, in which case the intelligent network card can communicate with the CPU through the PCIe port of the CPU. For example, in order to realize efficient parallel processing, the intelligent network card needs multiple buses to support multiple independent data channels, at which time the number of buses allocated to the intelligent network card needs to meet the parallel processing requirements of the intelligent network card. As can be seen, the bus resources determine the data transmission speed and efficiency of the target intelligent network card. If the bandwidth of the bus resources allocated to the intelligent network card is high and the delay is low, the intelligent network card can read and write data faster, thereby improving the data processing speed. Conversely, if the bus resources allocated to the intelligent network card are insufficient, it may cause a data transmission bottleneck and reduce the performance of the target intelligent network card.

[0072] In the embodiment of the present application, the memory resources allocated to the intelligent network card are the spaces required by the target intelligent network card to store data when performing tasks.

[0073] In a possible implementation, when the intelligent network card processes network data, it needs to perform complex computing tasks such as packet parsing, flow control, compression, and the like, and in this process, memory space is needed to store intermediate results and temporary data. Sufficient memory space can ensure that the target intelligent network card will not be affected by insufficient memory when processing a large amount of data. In the embodiment of the present application, the information for indicating the memory resources can specifically include the memory bank name and the number of memory resources (also known as the storage capacity size) corresponding to the memory bank.

[0074] Optionally, in the case of the computing device being a terminal device, a display terminal, also referred to as a display, can also be included, which is used to display interface content output by the BIOS. In the interface, a configuration adjustment enabling switch can be displayed, and the user inputs a configuration adjustment instruction by turning on or off the configuration adjustment enabling switch to indicate whether the BIOS adjusts resource configuration of the intelligent network in the computing device. In the case of the user indicating to adjust resource configuration of the intelligent network card, the user inputs a resource configuration operation through the interface, so that the BIOS determines target resources of the target intelligent network card in the computing device, and configures the target resources for the target intelligent network card.

[0075] Optionally, in the case of the computing device being a server, the function of the display terminal in the terminal device described above can be implemented by an external display device, which is not described herein.

[0076] The out-of-band management module is located in the out-of-band controller, and the OS management unit is located in the processor.

[0077] The out-of-band management module can be a management unit of a non-service module. For example, the out-of-band management module can perform remote maintenance and management on the computing device through a dedicated data channel. The out-of-band management module is completely independent of the operating system of the computing device, and can communicate with the BIOS and the OS (or the OS management unit) through the out-of-band management interface of the computing device.

[0078] The OS is a computer program that manages and controls hardware and software resources of the computing device, and any other software must run under the support of the operating system. After the computing device is powered on, the BIOS first performs a series of operations such as self-checking and initialization, and then boots the OS for startup, so that the user can normally use the computing device.

[0079] For example, the out-of-band management module can include a management unit of a computer running state, a management system in a management chip, a baseboard management controller (BMC) of the computing device, a system management module (SMM), and the like. It should be noted that the specific form of the out-of-band management module is not limited in the embodiments of the present application, and the above is only an example. In the following embodiments, only the out-of-band management module as the BMC is taken as an example for description.

[0080] It should be noted that in the following embodiments, the execution subject of the resource configuration method is the CPU, and specifically, the BIOS in the CPU is taken as an example for description. Of course, the execution subject of the resource configuration method can also be the BMC.

[0081] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of system architecture and the appearance of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0082] For ease of understanding, the resource configuration method of the intelligent network card provided by the present application is exemplarily introduced below in combination with the accompanying drawings. The method is applicable to the computing device shown in FIG. 2.

[0083] The embodiments of the present application will be divided into three parts to exemplarily introduce the scheme of the resource configuration method of the intelligent network card.

[0084] The first part, in combination with FIG. 3 and FIG. 4, introduces the resource configuration method provided by the embodiments of the present application, which aims to introduce the overall process of resource configuration of the intelligent network card in the case that the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device.

[0085] The second part, in combination with FIG. 5 to FIG. 12, introduces the resource configuration method provided by the embodiments of the present application, which aims to introduce the process of determining the resource configuration information corresponding to the resource configuration operation in response to the user's resource configuration operation on the target intelligent network card.

[0086] The third part, in combination with FIG. 13, introduces the resource configuration method provided by the embodiments of the present application, which aims to introduce the process of configuring the target resource to the target intelligent network card based on the basic input / output system (BIOS) of the computing device.

[0087] FIG. 3 is a flowchart of a resource configuration method of an intelligent network card according to an exemplary embodiment. Exemplarily, the method includes the following S301-S303.

[0088] S301: The BIOS receives a configuration adjustment instruction, and the configuration adjustment instruction is used to indicate whether to adjust the resource configuration of the intelligent network card in the computing device.

[0089] In a possible implementation manner, when the user needs to add an intelligent network card in the computing device or modify the resource configuration of the intelligent network card, a configuration adjustment instruction can be sent to the BIOS, so as to modify the resource configuration of the intelligent network card in the computing device based on the BIOS.

[0090] In a possible implementation, as shown in FIG. 4, an operation control for inputting a configuration adjustment instruction can be added under a BIOS input / output configuration interface (iiO configuration), which can be referred to as a configuration adjustment enabling switch. The configuration adjustment instruction is obtained through the opening or closing operation of the configuration adjustment enabling switch by the user. The BIOS input / output configuration interface is displayed through a display end in the computing device or a display device outside the computing device. For example, when the user opens the configuration enabling switch, the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device. When the user closes the configuration enabling switch, the configuration adjustment instruction indicates not to adjust the resource configuration of the intelligent network card in the computing device. In this way, while ensuring that the original configuration process remains unchanged, the configuration enabling switch is introduced to add a configuration process. The user can flexibly open or close the resource configuration adjustment function of the intelligent network card according to the application scenario and performance requirement, and perform personalized configuration on the intelligent network card to ensure that the intelligent network card can achieve the best performance in various application scenarios. In addition, through the operation of the configuration enabling switch, the user can more conveniently manage and adjust the resource configuration of the intelligent network card, and improve the user experience.

[0091] It should be noted that the configuration enabling switch can also not be set, and the configuration process provided in the present application can be directly entered. In this way, the user does not need to perform switch operation, the entire configuration process is simplified, the user operation steps are reduced, the configuration time is shortened, and the configuration efficiency is improved.

[0092] Of course, the configuration enabling switch can also be arranged at other positions in the computing device. It is only required to detect the state of the configuration enabling switch after the BIOS is started to determine whether the user needs to adjust the resource configuration of the intelligent network card in the computing device. When the state of the switch is in the opened state, the configuration process provided in the present application is entered. When the state of the switch is in the closed state, the original configuration process is entered. The position of the configuration enabling switch is not specifically limited here, and the configuration enabling switch can be arranged according to the operation habit of the user, the design of the computing device, and the like. For example, a physical key is arranged on the body of the computing device, and the user can quickly open or close the configuration enabling switch by pressing a specific key, without entering a complex interface, to further simplify the operation and improve the overall use experience.

[0093] S302: In a case where the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, the BIOS determines resource configuration information corresponding to the resource configuration operation in response to the resource configuration operation of the user on the target intelligent network card.

[0094] The resource configuration information is used to indicate a target resource to be configured to the target intelligent network card in the computing device, and the target resource includes a bus resource and / or a memory resource.

[0095] In a possible implementation, the user can perform a resource configuration operation for the target intelligent network card through a BIOS input / output configuration interface.

[0096] For example, when the target resource is a bus resource, the resource configuration information includes a target CPU name in the computing device selected by the user, a target port name in the target CPU, and a bus quantity corresponding to the target port, for indicating that the user selects the bus resource corresponding to the target CPU port name in the target CPU. At this time, the BIOS input / output configuration interface displays, for the user, the bus resource corresponding to at least one CPU port of at least one CPU that can be allocated to the target intelligent network card, and the user determines the bus resource corresponding to the target port in the target CPU as the target resource by selecting the target CPU in the at least one CPU, selecting at least one CPU port in the target CPU, and selecting the bus quantity corresponding to the port. In this way, the user can select the target port and the target bus resource quantity according to the actual demand of the target intelligent network card and the user's own preference, accurately configure the bus resource of the target intelligent network card, meet the diversified demand of various intelligent network cards, help improve the performance of the target intelligent network card, and enhance the user's personalized experience.

[0097] It should be noted that the BIOS input / output configuration interface can also display only at least one CPU in the computing device that can be allocated to the target intelligent network card, and the user determines the bus resource corresponding to the target CPU as the target resource by selecting the target CPU in the at least one CPU. At this time, the resource configuration information includes a target CPU name in the computing device selected by the user and a bus quantity corresponding to the target CPU. In this way, only the CPU that can be allocated to the target intelligent network card is displayed, so that the user does not need to screen in a large number of port options, thereby simplifying the configuration process, the user can complete the configuration more quickly, and the configuration efficiency is improved.

[0098] Exemplarily, when the target resource is a memory resource, the resource configuration information includes a target memory bank name in the computing device selected by the user and a memory resource quantity corresponding to the target memory bank, for indicating that the user selects the memory resource corresponding to the target memory bank. The memory resource quantity corresponding to the memory bank refers to a storage capacity size provided by the memory bank for the target smart NIC. The memory resource quantity is expressed in bytes (Byte), and common measurement units include kilobyte (KB), megabyte (MB), gigabyte (GB), and terabyte (TB). At this time, the BIOS input / output configuration interface displays at least one memory bank in the computing device that can be allocated to the target smart NIC and the memory resource quantity in the memory bank that can be allocated to the target smart NIC for the user. The user selects the target memory bank in the at least one memory bank and selects the memory resource quantity in the target memory bank, and takes the memory resource corresponding to the target memory bank as the target resource. In this way, the user can intuitively see each memory bank and the memory resource quantity that it can provide, thereby providing the user with more flexible configuration options, and the user can accurately select a memory bank and a memory resource quantity that meet the demand of the target smart NIC, thereby guaranteeing the performance of the target smart NIC.

[0099] Exemplarily, the resource configuration information further includes a slot number of the target smart NIC. By associating the slot number in the computing device with the target smart NIC, the one-to-one correspondence between the resource configuration information and the target smart NIC is achieved. In this way, after the target smart NIC is inserted into the corresponding slot, the BIOS allocates resources for the target smart NIC according to the slot number of the slot where the target smart NIC is located, thereby allocating resources for the target smart NIC. At this time, the BIOS input / output configuration interface displays the slot number in the computing device that can be allocated to the target smart NIC for the user, and the user selects the target slot number as the slot number of the target smart NIC through the interface. In this way, the user can optimize the slot layout of the smart NIC in the computing device according to the heat dissipation requirement of the computing device, thereby improving the overall heat dissipation effect and performance.

[0100] Optionally, the user can also directly input the required resource configuration information in the BIOS input / output interface. At this time, the BIOS input / output configuration interface only needs to display an input box, and the user can input the required resource configuration information in the input box. In this way, the user can directly input the resource configuration information according to the application demand, workload, or performance target of the target smart NIC, thereby skipping the browsing and selection process, accurately specifying the required target resource, simplifying the configuration process, and improving the configuration efficiency.

[0101] Exemplarily, the resource configuration information can be the quantity of the target resource, where the quantity of the target resource can be the quantity of the bus resource and / or the quantity of the memory resource. The BIOS allocates the target resource for the target smart NIC according to the quantity of the target resource required by the user.

[0102] Of course, the resource configuration information can also be the target CPU name, the target port name in the target CPU, and the number of buses corresponding to the target port, the target memory bank name, and the number of memory resources corresponding to the target memory bank, and the target slot number, which will not be repeated here.

[0103] Optionally, the BIOS input / output configuration interface shows the user the resources in the computing device that can be allocated to the target smart network card, and the user selects the target resources through the interface. The application does not make specific limitations on the display method and selection method. For example, the display method can be in the form of a drop-down menu, and the user selects the target resources by clicking the drop-down menu. For another example, the display method can be in the form of an icon, and the user determines the target resources by clicking the icon.

[0104] In the present application, the resource configuration operation in S302 includes the above-mentioned operations of selecting the target CPU, selecting the target port and the corresponding number of buses, selecting the target memory bank and the corresponding number of memory resources, and selecting the slot number.

[0105] S303: BIOS configures the target resources to the target smart network card according to the resource configuration information.

[0106] In one possible implementation, after obtaining the resource configuration information required by the user, the BIOS allocates the bus resources and memory resources required by the target smart network card to the target smart network card. After the BIOS allocates the target resources required by the target smart network card, the BIOS settings need to be saved and the BIOS is exited, and the computing device is restarted to complete the configuration of the target smart network card.

[0107] Taking the bus resources as an example, after obtaining the resource configuration information required by the user, the BIOS detects the slot where the target smart device is located. When the target smart network card is in place, the BIOS allocates the target resources to the target smart network card and writes the information of the target resources, i.e., the resource configuration information, into the configuration register corresponding to the target smart network card, so as to facilitate the subsequent loading of the target smart network card driver by the operating system.

[0108] In one possible implementation, after obtaining the resource configuration information required by the user, the resource configuration information needs to be verified based on a preset resource verification rule. Only after the resource configuration information passes the verification, the BIOS will configure the target resources to the target smart network card, so as to ensure that the configured resources match the actual requirements of the target smart network card, avoid the performance degradation of the smart network card or the instability of the computing device caused by incorrect resource allocation, and improve the reliability and stability of the resource configuration of the computing device.

[0109] Based on the above, compared with the related art, in the case that the user changes the resource configuration information of the intelligent network card, the resource configuration information library stored in the BIOS needs to be modified to meet the user's needs. The embodiment of the application flexibly adjusts the resource configuration of the intelligent network card according to the actual needs by receiving the user's configuration adjustment instruction, without reprogramming the resource configuration information library stored in the BIOS, realizes the dynamic allocation of the intelligent network card resources, and improves the convenience and compatibility of the computing device for the intelligent network card configuration.

[0110] The above is the first part of the embodiment of the application. In the following, in combination with FIGS. 5 to 12, the process of determining the resource configuration information corresponding to the resource configuration operation of the target intelligent network card in response to the user's resource configuration operation on the target intelligent network card is introduced.

[0111] In the application, in response to the user's resource configuration operation on the target intelligent network card, the resource configuration information corresponding to the resource configuration operation is determined, including various implementation manners, which are exemplarily described below by way of mode 1 to mode 5.

[0112] Mode 1: In the case that the target resource is a bus resource, the resource configuration information includes the target CPU name in the user-selected computing device, the target port name in the target CPU, and the bus quantity corresponding to the target port.

[0113] FIG. 5 is a flowchart of determining the resource configuration information corresponding to the resource configuration operation according to an exemplary embodiment. Exemplarily, the method includes the following S501-S505.

[0114] S501: The BIOS acquires CPU information.

[0115] The CPU information is used to show at least one CPU in the computing device; one CPU corresponds to part or all of the bus resources in the computing device.

[0116] In one possible implementation manner, the CPU information includes the CPU name.

[0117] In one possible implementation manner, the BIOS can send an instruction requesting CPU information to each CPU in the computing device, and each CPU sends its own CPU information to the BIOS after receiving the instruction.

[0118] In one possible implementation manner, after the BIOS acquires the CPU information, the BIOS displays the CPU information on the BIOS input / output configuration interface, so that the user can select the CPU required by the target intelligent network card after seeing the CPU information.

[0119] Optionally, after obtaining the CPU information, the BIOS sends the CPU information to a display in the computing device or an external display device, and displays the CPU information in the BIOS input / output configuration interface to the user through the display or the external display device.

[0120] For example, the display form of the CPU information in the BIOS input / output configuration interface is not limited herein, which can be in the form of a list, or any form of information set composed of CPU information such as a table, and the information set can show at least one CPU in the computing device.

[0121] S502: The BIOS receives a selection operation of a target CPU in the at least one CPU by the user.

[0122] For example, when the CPU information is displayed in the BIOS input / output configuration interface in the form of a drop-down list, the user can determine the target CPU in the plurality of CPUs by clicking to select the CPU information in the drop-down list.

[0123] S503: The BIOS obtains port information of the target CPU.

[0124] The port information is used to show at least one port of the target CPU and the number of bus resources corresponding to the port. For example, the port information includes a port name in the target CPU and the number of bus resources under the port that can be allocated to the target smart network card.

[0125] In a possible implementation, the BIOS can send an instruction to request the port information to the target CPU, and the target CPU sends the port information in the target CPU to the BIOS after receiving the instruction.

[0126] In a possible implementation, after obtaining the port information, the BIOS displays the port information on the BIOS input / output configuration interface, so that the user can select the bus resources corresponding to the target port in the target CPU after seeing the port information.

[0127] For example, after obtaining the port information, the BIOS sends the port information to a display in the computing device or an external display device, and displays the port information in the BIOS input / output configuration interface to the user through the display or the external display device. Similar to the CPU information, details are not repeated herein.

[0128] S504: In a case where the user selects a target port from the at least one port, the number of target bus resources selected by the user in the target port is obtained.

[0129] FIG. 6 is a configuration interface, which is a BIOS input / output configuration interface. The interface is triggered to be displayed in the case that the user opens the configuration enabling switch, and is used for the user to select the bus resource of the target intelligent network card. In the embodiment of the present application, the resource configuration information includes the target CPU name in the user-selected computing device, the target port name in the target CPU, and the bus quantity corresponding to the target port. As shown in FIG. 6, the interface displays the target processor, the target port, and the drop-down menu of the target port, and the drop-down menu displays the bus resource quantity in the target port that can be configured to the target intelligent network card. The user determines the target bus resource quantity corresponding to the target port by selecting the bus resource quantity displayed in the drop-down menu. As shown in FIG. 6, the bus resource quantity of the target port that can be allocated to the target intelligent network card can be 1, 2, 3, …, the user selects CPU1 as the target processor, selects port 2 of CPU1 as the target port, and selects 3 as the target bus resource quantity, that is, three buses in port 2 of CPU1 are allocated to the target intelligent network card.

[0130] S505: determining the resource configuration information based on the target bus resource quantity.

[0131] At this time, the resource configuration information includes the target CPU name, the target port name, and the bus resource quantity corresponding to the target port.

[0132] In this way, the user can select the target port and the target bus resource quantity according to the actual demand of the target intelligent network card and his / her own preference, realize the accurate configuration of the bus resource of the target intelligent network card, meet the diversified demand of various intelligent network cards, help to improve the performance of the target intelligent network card, and enhance the individualized experience of the user.

[0133] Method 2: in the case that the target resource is a bus resource, the resource configuration information only includes the target CPU name in the user-selected computing device and the bus quantity corresponding to the target CPU. Exemplarily, the method includes a1-a2 as follows.

[0134] a1 is similar to S501 described above, and is not described herein again.

[0135] a2: receiving the selection operation of the target CPU in the at least one CPU by the user, and determining the resource configuration information based on the bus resource corresponding to the target CPU.

[0136] In a possible implementation manner, first, the user selects at least one target CPU in a plurality of CPUs, and determines the bus quantity corresponding to each target CPU; and then, the target CPU name and the bus quantity corresponding to the target CPU are taken as the resource configuration information.

[0137] In this way, only the CPU that can be allocated to the target smart NIC is displayed, so that the user does not need to screen in a large number of port options, thereby simplifying the configuration process, and the user can complete the configuration more quickly, and the configuration efficiency is improved.

[0138] Option 3: In the case where the target resource is a memory resource, the resource configuration information includes a target memory bank name in the user-selected computing device and a memory resource quantity corresponding to the target memory bank.

[0139] FIG. 7 is a flowchart illustrating another operation of determining resource configuration information corresponding to a resource configuration operation according to an example embodiment. The example method includes the following S701-S703.

[0140] S701: The BIOS acquires memory information.

[0141] The memory information is used to display at least one memory bank in the computing device and a memory resource quantity corresponding to the memory bank.

[0142] In a possible implementation, the BIOS sends an instruction for requesting memory information to each memory bank in the computing device, and each memory bank returns its own memory bank name and memory resource quantity corresponding to the memory bank to the BIOS after receiving the instruction.

[0143] In a possible implementation, after acquiring the memory information, the BIOS displays the memory information on a BIOS input / output configuration interface, so that the user selects the memory resource corresponding to the target memory bank in the target CPU after seeing the memory information.

[0144] The BIOS sends the memory information to a display in the computing device or an external display device after acquiring the memory information, and displays the memory information in the BIOS input / output configuration interface to the user through the display or the external display device. Similar to the CPU information, details are not repeated here.

[0145] It should be noted that the memory resource quantity is the memory resource quantity in the memory bank that can be allocated to the target smart NIC.

[0146] S702: In the case where the user selects a target memory bank from the at least one memory bank, the BIOS acquires a target memory resource quantity selected by the user in the target memory bank.

[0147] In the embodiments of the present application, the interface for the user to select the target memory resource quantity in the BIOS input / output configuration interface is similar to FIG. 6, and details are not repeated here.

[0148] S703: The BIOS determines the resource configuration information based on the target memory resource quantity.

[0149] At this time, the resource configuration information includes a target memory bank name and a memory resource quantity corresponding to the target memory bank.

[0150] In this way, the user can intuitively see each memory bank and the memory resource quantity that it can provide, thereby providing the user with more flexible configuration options, and the user can accurately select a memory bank and a memory resource quantity that meet the requirements of the target smart NIC, thereby guaranteeing the performance of the target smart NIC.

[0151] In a case where the user directly inputs the required target resource quantity in a BIOS input / output interface, a method for determining resource configuration information corresponding to a resource configuration operation is as shown in FIG. 8, and S801-S803.

[0152] S801: The BIOS receives resource quantity information of the target smart NIC.

[0153] The resource quantity information is used to indicate the quantity of the target resource.

[0154] FIG. 9 is a configuration interface, and the present application is a BIOS input / output configuration interface. The interface is triggered to be displayed in a case where the user turns on a configuration enabling switch, and is used for the user to input the quantity of the target resource required by the target smart NIC. As shown in FIG. 9, the interface includes an input box corresponding to the quantity of the target resource. The user determines the quantity of the target resource through an input operation of 3.

[0155] In a possible implementation, when the target resource of the target smart NIC is a bus resource, the quantity of the target resource is the quantity of the bus resource. When the target resource of the target smart NIC is a memory resource, the quantity of the target resource is the quantity of the memory bank.

[0156] S802: The BIOS obtains resource combination information based on the resource quantity information.

[0157] The resource combination information is used to show at least one resource combination in the computing device.

[0158] FIG. 10 is a configuration interface, and the present application is a BIOS input / output configuration interface. The interface is displayed in a case where the user turns on the configuration enabling switch and obtains the quantity of the bus resource selected by the user as 3, and the BIOS shows the recommended resource combination to the user through the interface. As shown in FIG. 10, the interface shows two resource combinations to the user. The first resource combination includes one bus resource in port 2 of CPU1 and two bus resources in port 3 of CPU2, and the second resource combination includes one bus resource in port 3 of CPU2 and two bus resources in port 3 of CPU3. The user determines the bus resource of the target smart NIC by clicking to select the first resource combination.

[0159] In a possible implementation, the resource combination is a resource configuration recommended by the BIOS according to the number of target resources input by the user. The resource combination takes into account the rationality of the resource configuration, and can reduce the occurrence of computing device abnormalities and the like caused by random configuration of the user. For example, the BIOS can allocate resources to the target intelligent network card according to the priority of the target intelligent network card, to ensure that the intelligent network card with high priority has a demand for target resources. For another example, taking a bus resource as an example, the BIOS can also provide a resource combination for the target intelligent network card according to the resource utilization of the bus resource in the computing device, to avoid overuse of some bus resources or idle resources and the like. Of course, the BIOS can also generate multiple resource combinations according to the performance of the target intelligent network card, such as a data transmission speed, a memory access speed and the like.

[0160] S803: The BIOS receives a selection operation of the target resource combination by the user, and determines the resource configuration information according to the target resource combination.

[0161] The target resource combination is any one of the at least one resource combination.

[0162] As shown in FIG. 10, the user selects the first set of resource combinations, and therefore one bus resource in port 2 of CPU1 and two bus resources in port 3 of CPU2 are taken as target resources of the target intelligent network card.

[0163] In a possible implementation, when the user does not select the target resource combination from the multiple resource combinations, the user can manually select the target resource in the above-mentioned manner 1 to manner 3, to determine the resource configuration information, which will not be repeated here.

[0164] Based on the above, when the user needs to adjust the resource configuration of the intelligent network card in the computing device, the user can be provided with multiple resource combinations in the computing device according to the number of target resources required by the user, to simplify the resource configuration process. The user can select one of the resource combinations according to the actual situation, and meanwhile, since the multiple resource combinations are resource configurations pre-stored in the computing device, the rationality of the resource configuration is taken into account, and the occurrence of computing device abnormalities and the like caused by random configuration of the user can be reduced.

[0165] Manner 5: When the resource configuration information includes the slot number of the target intelligent network card, a method for obtaining the slot number of the target intelligent network card is shown in FIG. 11, including S1101-S1102.

[0166] S1101: The BIOS obtains a slot number list of the computing device.

[0167] The slot number list is used to display the slot number of the slot where at least one intelligent network card in the computing device is located.

[0168] For example, the slot number list can be as shown in Table 1.

[0169] Table 1

[0170] In Table 1, the slot number of the slot where the smart NIC A is located in the computing device is PCIe 1, the slot number of the slot where the smart NIC B is located is PCIe 2, and the slot number of the slot where the smart NIC C is located in the computing device is Open Compute Project (OCP) 1. Among them, the slot type of the slot where the smart NIC A and the smart NIC B are located is a PCIe slot, and the slot type of the slot where the smart NIC C is located is an OCP slot.

[0171] It should be noted that the slots in the slot number list are all slots in the computing device that can be assigned to the target smart NIC.

[0172] It should be noted that the way to display the slot number is not limited to the form of a list, and can also be any form of information set composed of slot numbers, such as a table. The information set can display the slot number of the slot where at least one smart NIC in the computing device is located.

[0173] S1102: The BIOS receives a selection operation of a user for a target slot number in the slot number list, and determines the smart NIC corresponding to the target slot number as the target smart NIC.

[0174] FIG. 12 is a configuration interface, which is a BIOS input / output configuration interface in the present application. Specifically, the resource configuration information includes the slot number of the target smart NIC, and the interface is triggered to be displayed in the case that the user opens the configuration enable switch, and is used for the user to select the slot number of the target smart NIC. As shown in FIG. 12, the interface includes a drop-down menu of the target slot, and the slot corresponding to the slot number displayed in the drop-down menu is a slot in the computing device that can be assigned to the target smart NIC. The user determines the slot of the target smart NIC by selecting the slot number in the drop-down menu. In FIG. 12, the slot numbers that can be assigned to the target smart NIC are slot 1, slot 2, slot 3, and the like, and the user selects slot 2 in the drop-down menu as the slot number of the target smart NIC.

[0175] The above is the second part of the embodiments of the present application. In the following, the process of configuring the target resource to the target smart NIC based on the basic input / output system BIOS of the computing device will be introduced in combination with FIG. 13.

[0176] FIG. 13 is a flowchart of configuring the target resource to the target smart NIC based on the basic input / output system BIOS of the computing device according to an example embodiment. The method includes the following S1301-S1302.

[0177] S1301: The BIOS checks the resource configuration information based on a preset resource checking rule.

[0178] The preset resource checking rule is used for at least one of the following: number checking of the bus resources, bandwidth checking of the bus resources, and size checking of the memory resources.

[0179] Optionally, when the bus resources are allocated to the target intelligent network card, the number checking of the bus resources checks whether the number of the bus resources allocated to the target intelligent network card is within a preset bus resource range. If the number of the bus resources in the resource configuration information is within the preset bus resource range, the number checking of the bus resources is passed. This is because if the number of the bus resources allocated to the target intelligent network card is insufficient, the target intelligent network card cannot fully exert its performance, resulting in slow network transmission speed or problems such as packet loss and delay in the data transmission process. In addition, too many bus resources will result in waste of bus resources in the computing device. Therefore, by checking the number of the bus resources, the sufficient communication capability of the target intelligent network card is ensured, and the waste of bus resources in the computing device is avoided, thereby improving the resource utilization of the computing device. The preset bus resource range can be set according to actual conditions, which is not limited here. For example, the bus resource range can be set to 2-10.

[0180] Optionally, when the bus resources are allocated to the target intelligent network card, the bandwidth checking of the bus resources checks whether the bus bandwidth allocated to the target intelligent network card meets its data transmission requirement. The bus bandwidth refers to the amount of data that the bus resources can transmit per unit time. If the bus bandwidth is insufficient, the target intelligent network card may encounter a bottleneck when processing a large amount of data, resulting in a decrease in data transmission speed and data transmission delay, thereby affecting the network communication efficiency of the target intelligent network card. For example, a bandwidth threshold can be set according to the workload and performance requirement of the target intelligent network card. If the bandwidth of the bus resources is greater than or equal to the bandwidth threshold, the bandwidth checking of the bus resources is passed.

[0181] Optionally, the size check of the memory resource is used to ensure that the target memory resource quantity allocated to the target smart NIC meets the demand of the target smart NIC for processing data. As the core component of network communication, the target smart NIC needs to process a large amount of data traffic. In processing these data, the target smart NIC will rely on the memory resource allocated to it to perform operations such as packet caching, forwarding and processing. If the allocated memory resource is insufficient, the target smart NIC may not be able to effectively process data, resulting in problems such as network performance degradation, data packet loss or delay. Exemplarily, the memory resource quantity range can be set according to the model, specifications and expected workload of the target smart NIC, so as to ensure that the smart NIC can work normally and exert the best performance, while avoiding waste of memory resources. If the target memory resource quantity of the memory resource is within the memory resource quantity range, the size check of the memory resource is passed.

[0182] S1302: If the resource configuration information passes the check, the BIOS configures the target resource to the target smart NIC based on the resource configuration information. In the case where the resource configuration information passes the check, the process of configuring the target resource to the target smart NIC by the BIOS is similar to S303 described above, and is not repeated here.

[0183] In some embodiments, if the configuration adjustment instruction indicates not to adjust the resource configuration of the smart NIC in the computing device, the target smart NIC is allocated resources by the following steps: first, determine the target smart NIC in place according to the pre-constructed slot library; the slot library includes at least the slot number of the slot where the target smart NIC is located. Second, determine the device type of the target smart NIC in place. Third, based on the device type, determine the resource configuration information of the target smart NIC in the pre-constructed resource configuration information library, where the device type and the resource configuration information correspond one-to-one. Finally, according to the resource configuration information, the BIOS of the computing device allocates resources to the target smart NIC in place. In this way, when the user closes the configuration enable switch, the target resource can be configured to the target smart NIC through the original configuration process, realizing decoupling with the original configuration process.

[0184] The above describes the solutions provided by the embodiments of the present application from the method perspective. To implement the above functions, the resource configuration apparatus of the intelligent network card comprises hardware structures and / or software modules for performing the respective functions. Those skilled in the art should easily realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solutions. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0185] The embodiments of the present application can divide the functional modules of the resource configuration apparatus of the intelligent network card according to the above method. For example, the resource configuration apparatus of the intelligent network card can comprise functional modules corresponding to the respective functions, or two or more functions can be integrated in one processing module. The integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division. Actual implementation can have another division manner.

[0186] For example, FIG. 14 shows a possible structure diagram of the resource configuration apparatus of the intelligent network card involved in the above embodiments, which comprises a receiving unit 1401, a first determining unit 1402 and a first configuration unit 1403. The receiving unit 1401 is configured to receive a configuration adjustment instruction, the configuration adjustment instruction being used to indicate whether to adjust the resource configuration of the intelligent network card in the computing device. The first determining unit 1402 is configured to, in the case that the configuration adjustment instruction indicates to adjust the resource configuration of the intelligent network card in the computing device, determine resource configuration information corresponding to a resource configuration operation of a user for a target intelligent network card in response to the resource configuration operation of the user for the target intelligent network card. The resource configuration information is used to indicate a target resource to be configured to the target intelligent network card in the computing device, and the target resource comprises a bus resource and / or a memory resource. The first configuration unit 1403 is configured to configure the target resource to the target intelligent network card based on the resource configuration information and the basic input / output system (BIOS) of the computing device.

[0187] Optionally, the apparatus further comprises an obtaining unit and a second determining unit. The obtaining unit is configured to obtain a slot number list of the computing device, the slot number list being used to show slot numbers of slots where at least one intelligent network card is located in the computing device. The second determining unit is configured to receive a selection operation of a user for a target slot number in the slot number list, and determine an intelligent network card corresponding to the target slot number as a target intelligent network card.

[0188] Optionally, the first determining unit 1402 is specifically configured to: receive resource quantity information of the target intelligent network card, the resource quantity information being used to indicate a quantity of target resources; obtain resource combination information based on the resource quantity information, the resource combination information being used to show at least one resource combination in the computing device; receive a selection operation of a user on a target resource combination, and determine resource configuration information according to the target resource combination; and the target resource combination is any one of the at least one resource combination.

[0189] Optionally, the first determining unit 1402 is specifically configured to: obtain processor information, the processor information being used to show at least one processor in the computing device; one processor corresponds to part or all bus resources in the computing device; receive a selection operation of a user on a target processor in the at least one processor, and determine the resource configuration information based on bus resources corresponding to the target processor.

[0190] Optionally, the first determining unit 1402 is specifically configured to: obtain port information of the target processor, the port information being used to show at least one port of the target processor and a quantity of bus resources corresponding to the port; in a case where the user selects a target port from the at least one port, obtain a target quantity of bus resources selected by the user in the target port; and determine the resource configuration information based on the target quantity of bus resources.

[0191] Optionally, the first determining unit 1402 is specifically configured to: obtain memory information, the memory information being used to show at least one memory bank in the computing device and a quantity of memory resources corresponding to the memory bank; in a case where the user selects a target memory from the at least one memory, obtain a target quantity of memory resources selected by the user in the target memory; and determine the resource configuration information based on the target quantity of memory resources.

[0192] Optionally, the first configuration unit 1403 is specifically configured to: perform verification on the resource configuration information based on a preset resource verification rule; and the preset resource verification rule is used for at least one of quantity verification of bus resources, bandwidth verification of bus resources, and size verification of memory resources; if the resource configuration information passes the verification, configure the target resources to the target intelligent network card based on the resource configuration information and based on BIOS.

[0193] Optionally, the apparatus further comprises a third determining unit, a fourth determining unit, a fifth determining unit and a second configuring unit. The third determining unit is configured to, if the configuration adjustment instruction indicates not to adjust the resource configuration of the intelligent network card in the computing device, determine the target intelligent network card in place according to a pre-constructed slot bank, wherein the slot bank comprises at least a slot number of a slot where the target intelligent network card is located. The fourth determining unit is configured to determine the device type of the target intelligent network card in place. The fifth determining unit is configured to, based on the device type, determine the resource configuration information of the target intelligent network card in a pre-constructed resource configuration information bank, wherein the device type and the resource configuration information in the resource configuration information bank correspond to each other in a one-to-one manner. The second configuring unit is configured to, according to the resource configuration information, allocate resources for the target intelligent network card in place based on a basic input / output system (BIOS) of the computing device.

[0194] The above embodiment is to realize the resource configuration of the target intelligent network card by taking the BIOS in the CPU as the execution subject. In addition, the uniCfg tool in the CPU can also be used to realize the resource configuration of the target intelligent device. For example, the CPU receives the configuration adjustment instruction and the resource configuration operation for the target intelligent network card by calling the uniCfg tool, determines the target resource based on the resource configuration operation, sends an instruction to the BIOS to configure the target resource for the target intelligent network card, and the BIOS configures the target resource for the target intelligent network card after receiving the instruction. When the execution subject of the present resource configuration method is the BMC, the Redfish tool in the BMC can be used to realize the resource configuration of the target intelligent device, and the configuration process is similar to the process of the CPU calling the uniCfg tool, which will not be described here.

[0195] For specific description of the above optional mode, refer to the foregoing method embodiments, which will not be described here. In addition, the explanation and beneficial effect of any of the resource configuration apparatuses of the intelligent network card provided above can refer to the corresponding method embodiments described above, which will not be described here.

[0196] The embodiments of the present application further provide a computer device, which comprises a processor and a memory. The processor is connected with the memory. The memory stores computer execution instructions. The processor implements the data processing method in the above embodiments when executing the computer execution instructions. The embodiments of the present application do not make any limitation on the specific form of the computer device. For example, the computer device can be a terminal device or a network device. The terminal device can be referred to as a terminal, a user equipment (UE), a terminal device, an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent or a user equipment, etc. The terminal device can be a mobile phone, an augmented reality (AR) device, a virtual reality (VR) device, a tablet computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The network device can be a server, etc. The server can be one physical or logical server, or two or more physical or logical servers sharing different responsibilities, or cooperating with each other to implement the functions of the server.

[0197] The embodiments of the present application further provide a computer readable storage medium, which stores a computer program. When the computer program runs on a computer, the computer is caused to execute the method implemented by any of the computer devices provided above.

[0198] The explanations and beneficial effects of the related content in any of the computer readable storage media provided above can be referred to the corresponding embodiments above, which will not be repeated here.

[0199] The embodiments of the present application further provide a chip. The chip integrates a control circuit and one or more ports for implementing the functions of the computer device. Optionally, the functions supported by the chip can refer to the above, and will not be described here. Those skilled in the art can understand that all or part of the steps of the above-mentioned embodiments can be instructed by programs to relevant hardware to complete. The programs can be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The processing unit or processor mentioned above can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component or any combination thereof.

[0200] The embodiments of the present application further provide a computer program product containing instructions, which, when executed on a computer, cause the computer to perform any of the methods in the above embodiments. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or data storage device including one or more servers, data centers, etc. integrated with the medium. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as an SSD), etc.

[0201] It should be noted that the above-mentioned devices for storing computer instructions or computer programs provided by the embodiments of the present application, such as but not limited to the above-mentioned memory, computer readable storage medium and communication chip, etc., all have non-volatility (non-transitory).

[0202] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer readable storage medium, or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or data storage device including one or more servers, data centers, etc. integrated with the medium. The available medium can be magnetic medium (such as floppy disk, hard disk, magnetic tape), optical medium (such as DVD), or semiconductor medium (such as solid state disk (SSD)) and the like.

[0203] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality. A single processor or other unit can fulfill the functions of several means recited in the claims. Means plus function claims are understood not to limit the claims with the means plus function to the preferred embodiments described herein but rather the means plus function are considered to be described by the claims themselves.

[0204] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality. A single processor or other unit can fulfill the functions of several means recited in the claims. Means plus function claims are understood not to limit the claims with the means plus function to the preferred embodiments described herein but rather the means plus function are considered to be described by the claims themselves.

[0204] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. The word "comprising" does not exclude other components or steps not listed in the claims, "a" or "an" does not exclude a plurality. A single processor or other unit can fulfill the functions of several means recited in the claims. Means plus function claims are understood not to limit the claims with the means plus function to the preferred embodiments described herein but rather the means plus function are considered to be described by the claims themselves.

Claims

1. A method for resource configuration of an intelligent network card, characterized in that, The method comprises: receiving a configuration adjustment instruction, the configuration adjustment instruction being used to indicate whether to adjust resource configuration of a smart network card in a computing device; in a case where the configuration adjustment instruction indicates to adjust the resource configuration of the smart network card in the computing device, determining resource configuration information corresponding to a resource configuration operation of a target smart network card by the user in response to the resource configuration operation of the target smart network card; the resource configuration information being used to represent a target resource to be configured to the target smart network card in the computing device, the target resource comprising a bus resource and / or a memory resource; configuring the target resource to the target smart network card based on a basic input / output system (BIOS) of the computing device according to the resource configuration information.

2. The resource configuration method of claim 1, wherein, The method further comprises: obtaining a slot number list of the computing device, the slot number list being used to show a slot number of a slot where at least one smart network card in the computing device is located; receiving a selection operation of a target slot number in the slot number list by the user, and determining a smart network card corresponding to the target slot number as the target smart network card.

3. The resource configuration method of claim 1 or 2, wherein, The method further comprises: obtaining processor information; the processor information being used to show at least one processor in the computing device; one processor corresponding to part or all bus resources in the computing device; receiving a selection operation of a target processor in the at least one processor by the user, and determining the resource configuration information based on a bus resource corresponding to the target processor.

4. The resource configuration method of claim 3, wherein, The method further comprises: obtaining port information of the target processor; the port information being used to show at least one port of the target processor and a bus resource quantity corresponding to the port; in a case where the user selects a target port from the at least one port, obtaining a target bus resource quantity selected by the user in the target port; determining the resource configuration information based on the target bus resource quantity.

5. The method of claim 1-3, wherein, The method further comprises: obtaining memory information; the memory information being used to show at least one memory bank in the computing device and a memory resource quantity corresponding to the memory bank; in a case where the user selects a target memory bank from the at least one memory bank, obtaining a target memory resource quantity selected by the user in the target memory bank; determining the resource configuration information based on the target memory resource quantity.

6. The resource configuration method of claim 1 or 2, wherein, The method further comprises: Receiving resource quantity information of the target intelligent network card, the resource quantity information being used to indicate a quantity of the target resource; Based on the resource quantity information, obtaining resource combination information, the resource combination information being used to show at least one resource combination in the computing device; Receiving a selection operation of a target resource combination by a user, and determining the resource configuration information according to the target resource combination; the target resource combination is any one of the at least one resource combination.

7. The method of claim 1-6, wherein, Based on the resource configuration information, the target resource is configured to the target intelligent network card based on a basic input / output system (BIOS) of the computing device, including: Based on a preset resource verification rule, the resource configuration information is verified; wherein the preset resource verification rule is used for at least one of the following: quantity verification of bus resources, bandwidth verification of bus resources, and size verification of memory resources; If the resource configuration information passes the verification, the target resource is configured to the target intelligent network card based on the resource configuration information and the BIOS.

8. The method of claim 1, wherein, The method further includes: If the configuration adjustment instruction indicates that the resource configuration of the intelligent network card in the computing device is not adjusted, a target intelligent network card in a slot is determined according to a pre-constructed slot library; the slot library includes at least one slot number of a slot where a target intelligent network card is located; A device type of the target intelligent network card in the slot is determined; Based on the device type, resource configuration information of the target intelligent network card is determined in a pre-constructed resource configuration information library, and the device type and the resource configuration information in the resource configuration information library correspond to each other; Based on the resource configuration information, the target intelligent network card in the slot is allocated resources based on a basic input / output system (BIOS) of the computing device.

9. A computer device, comprising: including: a processor and a memory; The processor is connected with the memory, the memory is used to store computer execution instructions, and the processor executes the computer execution instructions stored in the memory, so that the computer device implements the method in any one of claims 1-8.

10. A computer-readable storage medium, characterized in that, The computer instructions are stored, and when the computer instructions run on the computing device, the computing device executes the method in any one of claims 1 to 8.

Citation Information

Patent Citations

  • System startup method and apparatus, computing device and readable storage medium

    CN108255527A

  • PCIE (Peripheral Component Interface Express) resource allocation method and device and medium

    CN116360995A

  • Configuration processing method and device of target equipment, equipment and storage medium

    CN117369903A

  • Resource configuration method of intelligent network card, computer equipment and medium

    CN118605964A

  • Configuration method for basic input output system (BIOS) configuration items, and server

    WO2024098914A1