A system and method for automatically identifying OCP network card bandwidth
By setting differentiated pin voltage configurations and intelligent identification of CPLD modules on the computing node side, dynamic allocation of OCP network card bandwidth is automatically achieved, solving the problem of traditional OCP network card bandwidth management being difficult to be flexible and efficient, and improving the system's automation level and resource utilization efficiency.
Patent Information
- Application Number
- CN202511038982.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-28
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-07-28
AI Technical Summary
Traditional OCP network card bandwidth allocation methods make it difficult to achieve flexible and efficient bandwidth management in a multi-computing node environment. This is especially true when the usage scenarios of OCP network cards vary greatly. Software iterations and BIOS code changes are difficult to manage, limiting the application scope of the customer group.
By setting differentiated pin voltage configurations on the computing node side and combining the CPLD module to collect identity detection signals and slot presence detection signals, the host-side control mode of the OCP network card can be automatically identified, and control signals can be generated according to the bandwidth allocation strategy to achieve intelligent identification and dynamic allocation of OCP network card bandwidth.
It realizes flexible bandwidth allocation of OCP network cards in a multi-computing node environment, reduces the need for frequent firmware replacement, improves the system's automation level and resource utilization efficiency, and reduces maintenance costs.
Smart Images

Figure CN120528800B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a system and method for automatically identifying the bandwidth of an OCP network card. Background Art
[0002] With the rapid development of data centers and cloud computing technologies, server systems are increasingly demanding network bandwidth. As a high-performance network interface card, the Open Compute Project (OCP) network interface card (NIC) is widely used in multi-node computing environments.
[0003] There are currently several types of PCIe bandwidth allocation for OCP NICs, primarily determined by two factors: first, the OCP card itself, with different OCP NICs corresponding to different bandwidths; and second, how the system uses the OCP NIC. Traditionally, when a new OCP NIC or a multi-host mode is introduced, bandwidth allocation is performed by adjusting the software configuration. However, if the OCP NIC usage scenario varies significantly, software iterations and differences in BIOS code across multiple compute nodes make version changes difficult to manage. Especially for servers after mass production, software updates must also consider the impact on online services, significantly limiting the range of OCP NICs that can be used by customers. Summary of the Invention
[0004] In view of this, the present application provides a system and method for automatically identifying OCP network card bandwidth, so as to realize intelligent identification and dynamic allocation of OCP network card bandwidth in a multi-computing node environment.
[0005] Specifically, this application is implemented through the following technical solutions:
[0006] A first aspect of the present application provides a system for automatically identifying bandwidth of an OCP network card, the system comprising a plurality of computing nodes, a CPLD and an OCP network card;
[0007] Each compute node is connected to a set of x8 MCIO connectors on the compute node side. Each MCIO connector in the set of x8 MCIO connectors on the compute node side has at least one detection pin reserved, and at least one detection pin is connected to a specified voltage. Different compute nodes are distinguished by configuring the voltage connected to the reserved pins differently.
[0008] The OCP network card is provided with an OCP network card side connector; the OCP network card side connector includes a 4C+ connector and / or a 4C connector;
[0009] Each OCP network card side connector is connected to a first x8MCIO connector and a second x8MCIO connector; the first x8MCIO connector and the second x8MCIO connector are both connected to the computing node side x8MCIO connector;
[0010] The CPLD is connected to the first x8MCIO connector and the second x8MCIO connector;
[0011] The CPLD is configured to collect identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determine a host-side control mode of the OCP network card according to the identity detection signals;
[0012] The CPLD is further configured to collect a slot presence detection signal group from a connector on the OCP network card side, determine a bandwidth allocation strategy based on the slot presence detection signal group and a host-side control mode of the current OCP network card, generate a bandwidth configuration control signal group based on the bandwidth allocation strategy, and feed the bandwidth configuration control signal group back to the OCP network card to instruct the OCP network card to perform bandwidth allocation based on the bandwidth configuration control signal group.
[0013] A second aspect of the present application provides a method for automatically identifying the bandwidth of an OCP network card, the method being applied to any one of the CPLDs provided in the first aspect of the present application, the method comprising: collecting identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determining a host-side control mode of the OCP network card based on the identity detection signals;
[0014] Collect the slot presence detection signal group from the OCP network card side connector, and determine the bandwidth allocation strategy based on the slot presence detection signal group and the current host-side control mode of the OCP network card;
[0015] A bandwidth configuration control signal group is generated according to the bandwidth allocation policy, and the bandwidth configuration control signal group is fed back to the OCP network card to instruct the OCP network card to perform bandwidth allocation according to the bandwidth configuration control signal group.
[0016] The system and method for automatically identifying the bandwidth of an OCP network card provided in the present application, by setting up multiple computing nodes, CPLDs and OCP network cards, and by differentially configuring the pin voltage of the x8MCIO connector on the side of each computing node, can distinguish the identities of different computing nodes. On this basis, the CPLD module can identify the host-side control mode of the OCP network card according to the node identity detection signal, and judge the bandwidth allocation strategy based on the host-side control mode and the slot presence detection signal group, thereby ensuring that the OCP network card provides appropriate bandwidth according to actual needs at different times. There is no need for each computing node to frequently replace firmware, and the OCP network card can be used flexibly. In addition, when introducing OCP network cards of different types and bandwidths, no software changes are required to the CPLD to import, test and use them, which greatly reduces the window period for component introduction. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 Schematic diagram of the first embodiment of the system for automatically identifying OCP network card bandwidth provided by this application;
[0018] Figure 2 Schematic diagram of the second embodiment of the system for automatically identifying OCP network card bandwidth provided by this application;
[0019] Figure 3 Schematic diagram of the third embodiment of the system for automatically identifying OCP network card bandwidth provided by this application;
[0020] Figure 4 This is a schematic diagram of a fourth embodiment of the system for automatically identifying OCP network card bandwidth provided by this application;
[0021] Figure 5 This is a flowchart of Example 1 of the method for automatically identifying OCP network card bandwidth provided by this application. DETAILED DESCRIPTION
[0022] Exemplary embodiments are described in detail herein, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different drawings represent identical or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with this application.
[0023] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms "a," "the," and "the" used in this application are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.
[0024] It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0025] Specific embodiments are given below to introduce the technical solutions of the present application in detail.
[0026] Figure 1 This is a schematic diagram of a first embodiment of a system for automatically identifying OCP network card bandwidth provided by this application. Figure 2 This is a schematic diagram of the second embodiment of the system for automatically identifying OCP network card bandwidth provided by this application. Figure 3 This is a schematic diagram of the third embodiment of the system for automatically identifying the bandwidth of the OCP network card provided by this application. Figures 1 to 3 The system for automatically identifying the bandwidth of an Open Compute Project (OCP) network card provided in this embodiment includes multiple computing nodes, a CPLD, and an OCP network card.
[0027] Each compute node is connected to a set of x8 MCIO connectors on the compute node side. Each MCIO connector in the set of x8 MCIO connectors on the compute node side has at least one detection pin reserved, and at least one detection pin is connected to a specified voltage. Different compute nodes are distinguished by configuring the voltage connected to the reserved pins differently.
[0028] The OCP network card is provided with an internal connector; the internal connector includes a 4C+ connector and / or a 4C connector;
[0029] Each internal connector is connected to a first x8MCIO connector and a second x8MCIO connector; the first x8MCIO connector and the second x8MCIO connector are both connected to the x8MCIO connector on the computing node side;
[0030] The CPLD is connected to the first x8MCIO connector and the second x8MCIO connector;
[0031] The CPLD is configured to collect identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determine a host-side control mode of the OCP network card according to the identity detection signals;
[0032] The CPLD is further configured to collect a slot presence detection signal group from a connector on the OCP network card side, determine a bandwidth allocation strategy based on the slot presence detection signal group and a host-side control mode, generate a bandwidth configuration control signal group based on the bandwidth allocation strategy, and feed the bandwidth configuration control signal group back to the OCP network card to instruct the OCP network card to perform bandwidth allocation based on the bandwidth configuration control signal group.
[0033] It should be noted that the computing node is an independent unit that performs computing tasks. For example, the computing node can be a CPU, etc.; in addition, the CPLD collects the identity detection signal received by the MCIO connector on the OCP card side, including the first node identity detection signal of the first x8 MCIO connector and the second node identity detection signal of the second x8 MCIO connector, thereby determining the host-side control mode of the OCP network card based on the first node identity detection signal and the second node identity detection signal.
[0034] Specifically, each computing node is connected to a group of computing node side x8 MCIO connectors. The number of the connected computing node side x8 MCIO connectors is set according to actual needs and is not limited in this embodiment.
[0035] The x8MCIO connector is a high-density, high-speed connector that enables high-speed communication between compute nodes and other devices. Furthermore, an x8MCIO connector indicates that it supports eight PCIe (PCI Express) lanes. For example, if a compute node is a CPU, the CPU may support multiple PCIe lanes. If the CPU supports 64 PCIe lanes, it can connect to eight x8MCIO connectors. In this case, the total number of x8MCIO connectors on a compute node is eight.
[0036] It should be noted that in this embodiment, the number of x8 MCIO connectors on a compute node is determined by the number of PCIe lanes supported by the CPU. For example, in one embodiment, if the CPU supports 128 PCIe lanes, the number of x8 MCIO connectors on a compute node can still be 8.
[0037] Furthermore, each MCIO connector in a group of x8 MCIO connectors on the compute node side has at least one detection pin reserved for it, which is connected to a specified voltage. In this way, when a system includes more than one compute node, different specific voltage values can be connected to the at least one detection pin reserved for the group of compute node-side MCIO connectors. Different configurations of the connected voltages can be used to identify different compute nodes.
[0038] For example, in Figures 1 to 3In the example shown, the system includes a first computing node and a second computing node. A group of computing node-side x8MCIO connectors connected to the first computing node each have a reserved first detection pin, and the specific voltage value connected to the detection pin is 0V. A group of computing node-side x8MCIO connectors connected to the second computing node each have a reserved second detection pin, and the specified voltage value connected to the detection pin is 3.3V.
[0039] Furthermore, the OCP network card is the core network component in the system provided by this application, which is responsible for high-speed network connection within the system and supports multi-node communication.
[0040] Specifically, the OCP network card side is provided with a 4C+ connector and / or a 4C connector. Figure 1 In the example shown, the OCP network card side is equipped with 4C+ connectors. Figure 2 and Figure 3 In the example shown, the OCP network card has both a 4C connector and a 4C+ connector. The 4C+ connector supports four PCIe lanes, each capable of transmitting data at a certain bandwidth. For example, the theoretical bandwidth of each lane of PCIe Gen5 (PCIe Gen5) is approximately 32Gbps. Using four PCIe Gen5 lanes, the 4C+ connector offers a total bandwidth of approximately 128Gbps. Furthermore, compared to the 4C+ connector, the 4C and 4C+ connectors are identical in PCIe performance, supporting the same PCIe bandwidth as the 4C+ connector, both supporting up to PCIe Gen5. The difference between the 4C and 4C+ connectors is that the 4C connector lacks the power and low-speed control signal pins found on the 4C+ connector.
[0041] It should be noted that the 4C+ connector has added power pins and low-speed control signal pins to support power supply functions and additional control signal transmission. The 4C connector does not include power pins and low-speed control signal pins and is more focused on data transmission or the connection of specific signals.
[0042] Furthermore, each OCP network card side connector is connected to a first x8MCIO connector and a second x8MCIO connector, wherein the first x8MCIO connector and the second x8MCIO connector are both connected to the computing node side x8MCIO connector.
[0043] For further information, please refer to Figures 1 to 3 , the CPLD is connected to the first x8MCIO connector and the second MCIO connector, thereby realizing information transmission.
[0044] Please continue to refer to Figure 1 ,exist Figure 1In the example shown, the OCP network card includes a 4C+ connector. This 4C+ connector is connected to the first x8MCIO connector (x8MCIO_01 serves as the first x8MCIO connector) and the second x8MCIO connector (x8MCIO_02 serves as the second x8MCIO connector). The first x8MCIO connector is connected to an x8MCIO connector corresponding to the first compute node, and the second x8MCIO connector is connected to an x8MCIO connector corresponding to the second compute node. The first detection pins of the x8MCIO connectors on the compute node side connected to the first compute node are grounded, while the second detection pins of the x8MCIO connectors on the compute node side connected to the second compute node are connected to 3.3V. In this case, the first node identity detection signal detected by the CPLD is 0, and the second node identity detection signal is 1. In this case, the first node identity detection signal and the second node identity detection signal are different, indicating dual-node access.
[0045] Further, in Figure 2 In the example shown, the OCP network card includes a 4C+ connector. This 4C+ connector is connected to the first x8MCIO connector (x8MCIO_01 serves as the first x8MCIO connector) and the second x8MCIO connector (x8MCIO_02 serves as the second x8MCIO connector). The first x8MCIO connector is connected to an x8MCIO connector corresponding to the first compute node, and the second x8MCIO connector is also connected to an x8MCIO connector corresponding to the first compute node. The first detection pins of the x8MCIO connectors on the compute node side connected to the first compute node are grounded, and the second detection pins of the x8MCIO connectors on the compute node side connected to the second compute node are connected to 3.3V. At this point, the CPLD detects that the first and second node identity detection signals are both 0. In this case, the first and second node identity detection signals are the same, indicating single-node access.
[0046] Further, refer to Figure 1 and Figure 3The OCP network card includes a large card form and a small card form. For different forms of the OCP network card, the number of its internal connectors and its connection method with the x8MCIO connector on the computing node side are also different. For example, in one embodiment, the OCP network card is in a small card form. At this time, the OCP network card only includes a 4C+ connector inside. The 4C+ connector connects two x8MCIO connectors. Through these two x8MCIO connectors, two x8MCIO connectors in a group of computing node-side x8MCIO connectors of the same computing node can be connected to form a single-node access method of connecting the OCP network card to a computing node. In addition, in another possible implementation method, the two x8MCIO connectors connected by the 4C+ connector can also be connected to two x8MCIO connectors corresponding to two different computing nodes, respectively, to form a dual-node access method of connecting the OCP network card to two different computing nodes. In addition, in another embodiment, when the OCP network card is in the form of a large card, the OCP network card may include both a 4C+ connector and a 4C connector. The 4C+ connector connects to two x8MCIO connectors, and the 4C connector connects to two x8MCIOs. In this way, the OCP network card can connect to at most four computing nodes, that is, each x8MCIO connector can be connected to four computing node-side x8MCIOs corresponding to four computing nodes, that is, each internal connector is a dual-node access mode. Alternatively, the four x8MCIO connectors corresponding to the OCP network card can be connected to one computing node-side x8MCIO connector corresponding to one computing node, that is, each internal connector is a single-node access mode.
[0047] It should be noted that the form factor of the OCP network card is determined based on actual needs and is not limited in this application. For example, in one possible implementation, when the OCP network card needs to support 1-2 computing nodes, a small-sized OCP network card can be selected to reduce system space usage and power consumption. When the OCP network card needs to support more than 2 computing nodes, a large-sized OCP network card can be selected to adapt to multi-node high-performance scenarios.
[0048] See the previous description, please refer to Figure 3 ,exist Figure 3In the example shown in , the OCP network card is in the form of a large card and includes a 4C+ connector and a 4C connector inside. The 4C+ connector is connected to x8MCIO_01 (x8MCIO_01 serves as the first x8MCIO connector) and x8MCIO_02 (x8MCIO_02 serves as the second x8MCIO connector). x8MCIO_01 and x8MCIO_02 are connected to two x8MCIO connectors in a group of compute node-side x8MCIO connectors corresponding to the first compute node. The first detection pin reserved for the group of compute node-side x8MCIO connectors connected to the first compute node is grounded. At this time, corresponding to the 4C connector, the first node identity detection signal detected by the CPLD (the first node identity detection signal at this time is the x8MCIO_01 identity detection signal) is 0, and the second node identity detection signal (the second node identity detection signal at this time is the x8MCIO_02 identity detection signal) is 0, its access mode is simultaneous access to the first compute node. Similarly, the 4C connector is connected to x8MCIO_03 (x8MCIO_03 serves as the first x8MCIO connector) and x8MCIO_04 (x8MCIO_04 serves as the second x8MCIO connector). x8MCIO_03 and x8MCIO_04 are connected to two x8MCIO connectors in the set of compute node-side x8MCIO connectors corresponding to the second compute node. The reserved second detection pin of the set of compute node-side x8MCIO connectors connected to the second compute node is connected to 3.3V. At this time, the CPLD detects that the first node identity detection signal (the x8MCIO_03 identity detection signal) and the second node identity detection signal (the x8MCIO_04 identity detection signal) detected by the 4C connector are 1, and the access mode is simultaneous access to the second compute node. In this case, the overall access mode of the OCP network card is dual-node access.
[0049] The following describes how to determine the connection mode between the OCP network card and the computing node:
[0050] Specifically, when there is only one detection pin, see Figures 1 to 3When the first x8MCIO connector and the second x8MCIO connector connected to each internal connector are connected to the compute node-side x8MCIO connector corresponding to the compute node, they respectively collect the voltages of the detection pins of the corresponding compute node-side x8MCIO connectors and transmit them to the CPLD as node identity detection signals. For ease of distinction, in this embodiment, the node identity detection signal collected by the first x8MCIO connector from the connected compute node-side x8MCIO connector is recorded as the first node identity detection signal, and the node identity detection signal collected by the second x8MCIO connector from the connected compute node-side x8MCIO connector is recorded as the second node identity detection signal.
[0051] Referring to the previous description, further, when the first node identity detection signal and the second node identity detection signal are the same, the current access mode of the internal connector is determined to be a single-node access mode, otherwise the current access mode of the internal connector is determined to be a dual-node access mode.
[0052] For example, in one possible implementation, a specified voltage of 0V is connected to a reserved detection pin in a group of compute node-side x8MCIO connectors connected to a first compute node, and a specified voltage of 3.3V is connected to a reserved detection pin in a group of compute node-side x8MCIO connectors connected to a second compute node. If the first node identity detection signal and the second node identity detection signal are both 0 or 1, it indicates that the first x8MCIO connector and the second x8MCIO connector are both connected to two x8MCIO connectors corresponding to the first compute node or to two x8MCIO connectors corresponding to the second compute node. In this case, the connection mode between the internal connector and the compute node is a single-node access mode. If the first node identity detection signal and the second node identity detection signal are different, and the first node identity detection signal is 0 and the second node identity detection signal is 1, it indicates that the first x8MCIO connector is connected to one x8MCIO connector corresponding to the first compute node, and the second x8MCIO connector is connected to one x8MCIO connector corresponding to the second compute node. In this case, the connection mode between the internal connector and the compute node is a dual-node access mode.
[0053] Further, Figure 4 This is a schematic diagram of the fourth embodiment of the system for automatically identifying the bandwidth of an OCP network card provided by this application. Figure 4 In another possible implementation, the plurality of computing nodes include a first computing node, a second computing node, a third computing node, and a fourth computing node;
[0054] wherein a group of compute node-side x8MCIO connectors connected to the first compute node each have a first detection pin and a second detection pin reserved; a group of compute node-side x8MCIO connectors connected to the second compute node each have a third detection pin and a fourth detection pin reserved; a group of compute node-side x8MCIO connectors connected to the third compute node each have a fifth detection pin and a sixth detection pin reserved; and a group of compute node-side x8MCIO connectors connected to the fourth compute node each have a seventh detection pin and an eighth detection pin reserved;
[0055] The first detection pin and the second detection pin are both grounded, the third detection pin is grounded, and the fourth detection pin is connected to a preset high level; the fifth detection pin is connected to a preset high level, and the sixth detection pin is grounded; the seventh detection pin is connected to a preset high level, and the eighth detection pin is connected to a preset high level.
[0056] Please continue to refer to Figure 4 ,exist Figure 4 In the example shown, the OCP network card is a large card and includes a 4C+ connector and a 4C connector. The 4C+ connector is connected to x8MCIO_01 and x8MCIO_02. x8MCIO_01 is connected to an x8MCIO connector corresponding to the first compute node, and x8MCIO_02 is connected to an x8MCIO connector corresponding to the second compute node. The 4C connector is connected to x8MCIO_03 and x8MCIO_04. x8MCIO_03 is connected to an x8MCIO connector corresponding to the third compute node, and x8MCIO_04 is connected to an x8MCIO connector corresponding to the fourth compute node. Furthermore, a first detection pin reserved for a group of compute node-side x8MCIO connectors connected to the first compute node is grounded. The second detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the first computing node is also grounded; the third detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the second computing node is grounded, and the fourth detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the second computing node is connected to 3.3V; the fifth detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the third computing node is connected to 3.3V, and the sixth detection pin reserved on the x8MCIO connector on the computing node side of the group connected to the third computing node is grounded; the seventh detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the fourth computing node is connected to 3.3V, and the eighth detection pin reserved on the x8MCIO connector on the computing node side of a group connected to the fourth computing node is connected to 3.3V.
[0057] It should be noted that Figure 4In the x8MCIO identity detection signal input to the CPLD by the x8MCIO connector connected to each OCP network card side connector, each computing node side x8MCIO connector connected to the x8MICO connector has two pins. Therefore, the x8MCIO connector connected to each OCP network card side connector has two identity detection signals, forming a group of identity detection signal groups.
[0058] At this time, for the 4C+ connector, the first node identity detection signal group (the first node identity detection signal group is the x8MCIO_01 identity detection signal group) formed by the two first node identity detection signals detected by the CPLD is 00, and the second node identity detection signal group (the second node identity detection signal group is the x8MCIO_02 identity detection signal group) is 01. For the 4C connector, the first node identity detection signal group (the first node identity detection signal group is the x8MCIO_03 identity detection signal group) is 10, and the second node identity detection signal group (the first node identity detection signal is the x8MCIO_04 identity detection signal group) is 11. At this time, the overall access mode of the OCP network card is four-node access mode.
[0059] Optionally, in a possible implementation, the CPLD is further configured to confirm the node identity information through multi-cycle sampling and majority decision when the node identity signal has an unstable level.
[0060] In a specific implementation, the first x8MCIO connector and the second x8MCIO connector connected through the internal connector respectively identify the corresponding detection pins multiple times to obtain multiple first identity detection signal groups and multiple second identity detection signal groups. A larger number of consistent signals are selected from the multiple first identity detection signal groups to determine the first identity detection signal group, and the second identity detection signal group is similar.
[0061] For example, the first connector and the second connector inside the OCP network card are identified 10 times. For the 10 identified first identity detection signal groups and 10 second identity detection signal groups, if the number of identical detection signals exceeds 8, it is determined that the detection signal is the first identity detection signal group or the second identity detection signal group.
[0062] Referring to the foregoing description, it can be understood that each MCIO connector in a set of compute node-side x8MCIOs of each compute node has n reserved detection pins for forming n-bit binary codes to support identity differentiation of more than four compute nodes.
[0063] For example, in one embodiment, each MCIO connector in a set of x8 MCIOs on the compute node side of a compute node has three reserved detection pins, all of which are grounded. Consequently, when a connector connected to the OCP network card-side connector is connected to an MCIO connector corresponding to the compute node, the detected node identity detection signal is (0, 0, 0), which can be abbreviated as a three-bit binary code "000." By reserving multiple detection pins for each MCIO connector in a set of x8 MCIOs on the compute node side of each compute node, it is possible to support identity differentiation of multiple compute nodes when there are many compute nodes. For example, when the number of detection pins n is 3, it is possible to support identity differentiation of up to eight compute nodes, and when the number of detection pins is 4, it is possible to support identity differentiation of up to 16 compute nodes.
[0064] For further information, please also refer to Figures 1 to 4 The CPLD is further used to collect a slot presence detection signal group from the OCP network card side connector, determine a bandwidth allocation strategy based on the slot presence detection signal group and the host-side control mode, generate a bandwidth configuration control signal group based on the bandwidth allocation strategy, and feed back the bandwidth configuration control signal group to the OCP network card to instruct the OCP network card to perform bandwidth allocation based on the bandwidth configuration control signal group.
[0065] It should be noted that the slot presence detection signal group (such as Slot_PRSNT#[0:3]) is a set of hardware signals used to identify the type of OCP network card. These signals, through a combination of voltage levels, reflect the type of inserted OCP network card. For example, a server motherboard supports four OCP slots, each with a PRSNT# pin. These pins collectively form the slot presence detection signal group Slot_PRSNT#[0:3], which covers different types of OCP network cards. A combination of low-level (0) or high-level (1) signals indicates the type of inserted OCP network card. For example, Slot_PRSNT#[0:3] = 0111 may indicate that a specific type of OCP network card is inserted in the first slot. Furthermore, the CPLD collects the slot presence detection signal group, determines a bandwidth allocation policy based on the collected signals and the current access mode, and generates a bandwidth configuration control signal group based on the bandwidth allocation policy. This bandwidth configuration control signal group is fed back to the OCP network card to instruct the OCP network card to allocate bandwidth according to the bandwidth configuration control signal group.
[0066] In a specific implementation, the bandwidth allocation policy corresponding to the slot presence detection signal group and the host-side control mode can be searched from a preset OCP network card specification table; wherein the OCP network card specification table is used to record the correspondence between the slot presence detection signal group, the host-side control mode, the bandwidth allocation policy, and the bandwidth configuration control signal group.
[0067] In this step, the corresponding initial bandwidth allocation strategy is determined from the preset OCP network card specification table by looking up the slot presence detection signal group collected in the previous step and the host-side control mode of the current OCP network card and the computing node.
[0068] Specifically, the collected slot presence detection signal group and host-side control mode can be used as query keys and input into the preset OCP network card specification table to find the corresponding initial bandwidth allocation strategy and control signal; if there is no matching entry, the default strategy is selected and the exception is recorded; finally, the initial bandwidth allocation result is obtained based on the query.
[0069] With reference to the foregoing description, it can be understood that the system for automatically identifying the bandwidth of an OCP network card provided in this embodiment has at least the following beneficial effects:
[0070] (1) Automatically identify OCP network card bandwidth
[0071] The system automatically identifies OCP network card bandwidth and implements intelligent bandwidth allocation by collecting and analyzing the connections and signals between multiple compute nodes, CPLDs, and OCP network cards. By collecting and analyzing the compute node identity signals and slot presence detection signal groups, it dynamically adjusts the network card bandwidth, eliminating manual configuration and improving system flexibility and automation.
[0072] (2) Differentiated configuration of computing node identities
[0073] By configuring the pin voltages of the x8MCIO connector on each compute node differently, the identities of different compute nodes can be distinguished. This configuration allows each node to receive differentiated bandwidth allocation based on its identity, allowing different compute nodes to enjoy different bandwidth resources and improve resource utilization. This approach also allows for flexible adjustment of the bandwidth requirements of each compute node based on specific needs, enabling the system to dynamically allocate bandwidth based on node identity.
[0074] (3) Flexible bandwidth allocation strategy
[0075] The CPLD module determines the bandwidth allocation strategy based on the node identity detection signal and the slot presence detection signal. This design ensures efficient bandwidth allocation and dynamically adjusts bandwidth based on the current system status. This flexibility allows bandwidth allocation to be adjusted based on different hardware conditions (such as the host control mode of the compute node and slot presence detection), improving system adaptability and stability.
[0076] (4) Automatic bandwidth configuration of OCP network cards
[0077] The CPLD adjusts the bandwidth of the OCP network card based on the bandwidth configuration control signal group. Bandwidth configuration is fully automated, eliminating manual intervention. The OCP network card automatically adjusts bandwidth allocation based on varying bandwidth requirements, optimizing data transmission efficiency. Automated bandwidth allocation not only improves performance but also reduces the possibility of human error, enhancing system reliability.
[0078] (5) Efficient hardware resource utilization
[0079] By intelligently determining and dynamically adjusting bandwidth allocation policies, the OCP network card provides appropriate bandwidth based on actual needs at every moment, helping to improve bandwidth utilization across the entire system and avoid wasted bandwidth resources. The CPLD control method ensures efficient and timely communication between compute nodes and the network card, preventing bandwidth overload or shortage.
[0080] (6) Scalability and compatibility
[0081] The system uses a standard x8MCIO connector and CPLD control module, making it compatible with other computing nodes and network devices, and has strong scalability. If new computing nodes need to be added or the system structure needs to be changed in the future, expansion or adjustment can be easily carried out.
[0082] (7) Reduce maintenance costs
[0083] The system can automatically allocate and optimize bandwidth, reducing reliance on manual configuration and maintenance, and lowering maintenance costs. The system's self-diagnosis and automatic configuration capabilities mean that fault diagnosis and repair can also be carried out more efficiently.
[0084] (8) Reduce software development cycle caused by the introduction of new components
[0085] Servers introduce different components multiple times during their product lifecycle, including OCP network cards. When different bandwidth and different types of OCP network cards are introduced, they can be tested and used without requiring software changes to the CPLD, significantly reducing the window for component introduction.
[0086] The system for automatically identifying OCP network card bandwidth provided in this embodiment is configured by setting up multiple computing nodes, CPLDs, and OCP network cards, and by differentially configuring the pin voltages of the x8MCIO connector on each computing node side. This allows the identities of different computing nodes to be distinguished. Furthermore, the CPLD module can identify the host-side control mode based on the node identity detection signal, and determine the bandwidth allocation strategy based on the host-side control mode and the slot presence detection signal group. This ensures that the OCP network card provides appropriate bandwidth based on actual needs at different times, eliminating the need for frequent firmware changes for each computing node and allowing flexible use of the OCP network card. Furthermore, when introducing OCP network cards of different bandwidths and types, no software changes to the CPLD are required for import, testing, and use, significantly reducing the window period for component introduction.
[0087] Furthermore, in a possible implementation, determining the bandwidth allocation strategy based on the slot presence detection signal group and the host-side control mode of the current OCP network card includes:
[0088] Step 1: Searching for an initial bandwidth allocation policy corresponding to the slot presence detection signal group and the host-side control mode of the current OCP network card from a preset OCP network card specification table; wherein the OCP network card specification table is used to record the correspondence between the slot presence detection signal group, the host-side control mode, the bandwidth allocation policy, and the bandwidth configuration control signal group.
[0089] Specifically, for the specific implementation process and implementation principle of this step, reference can be made to the description in the previous embodiment, which will not be repeated here.
[0090] Step 2: According to the priority order set for the plurality of computing nodes and the currently connected computing node, the initial bandwidth allocation strategy is modified to obtain a modified bandwidth allocation strategy.
[0091] In this step, after obtaining the initial bandwidth allocation strategy, the system will modify it based on the pre-set priority order for multiple computing nodes and the current number of connected computing nodes. For example, in one embodiment, if the first computing node is assigned a higher priority, the system will prioritize allocating more bandwidth resources to it. Furthermore, based on the number and type of nodes currently connected, the system will adjust the bandwidth allocation ratio to ensure that resource allocation meets actual needs and priority rules, thereby generating a modified bandwidth allocation strategy.
[0092] Step 3: Based on the real-time link load status of each downstream network port fed back by the OCP network card, the modified bandwidth allocation strategy is adjusted to obtain a final bandwidth allocation strategy.
[0093] In this step, the system dynamically optimizes the revised bandwidth allocation strategy based on the real-time link load status of each downstream network port, as reported by the OCP network card. For example, if a downstream network port is highly loaded, the system may prioritize it by adjusting data flow priority or scheduling mechanisms to allocate more processing resources. Conversely, if a network port is lightly loaded, the system may reduce its resource usage to improve overall resource utilization. Through this real-time feedback mechanism, the system refines the revised bandwidth allocation strategy, ultimately generating a final bandwidth allocation strategy that adapts to the current network load, without changing the fixed physical bandwidth configuration of the cable connection.
[0094] It should be noted that the downlink network port is an interface used by the OCP network card to transmit network data. Through the downlink network port, the OCP network card can transmit network data to the computing node.
[0095] The system for automatically identifying OCP network card bandwidth provided in this embodiment uses a CPLD to generate a bandwidth allocation policy based on a preset OCP network card specification table. The system then generates a bandwidth configuration control signal group based on the bandwidth allocation policy and feeds it back to the OCP network card. This system supports various OCP network card forms and flexible connection methods. Furthermore, the robustness of node identification is enhanced through multi-cycle sampling and a majority decision mechanism. Using this system can significantly improve the bandwidth resource utilization efficiency of OCP network cards, optimize network performance in multi-node scenarios, reduce the risk of network congestion, provide stable and reliable network support for high-performance computing and data-intensive applications, and adapt to complex and changing high-speed communication requirements.
[0096] Based on the above embodiments, the present application further provides a method for automatically identifying the bandwidth of an OCP network card. The method is applied to the CPLD in any of the above-mentioned systems for automatically identifying the bandwidth of an OCP network card. The method provided by the present application is introduced below.
[0097] Figure 5 For the flowchart of the first embodiment of the method for automatically identifying the bandwidth of an OCP network card provided by this application, please refer to Figure 5 , the method comprising:
[0098] S501: Collect identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determine the host-side control mode of the OCP network card according to the identity detection signals.
[0099] Specifically, this step determines the host-side control mode of the OCP network card by collecting the first node identity detection signal from the first x8 MCIO connector and the second node identity detection signal from the second x8 MCIO connector. The system analyzes these signals to determine the connection mode between the OCP network card and the compute node, such as single-node access, dual-node access, or other multi-compute node access. This provides basic access mode information for subsequent OCP bandwidth allocation.
[0100] S502 : Collect a slot presence detection signal group from the OCP network card side connector, and determine a bandwidth allocation strategy according to the slot presence detection signal group and the host-side control mode of the current OCP network card.
[0101] Specifically, after determining the access method, the system will collect the slot presence detection signal group from the OCP network card side connector, that is, detect the PRSNTB#[0:3] signal of each internal connector; then, combined with the slot presence detection signal group and the currently identified host-side control method of the OCP network card, the system can determine the bandwidth allocation strategy by referring to the preset OCP network card specification table.
[0102] The specific implementation method and implementation principle for determining the bandwidth allocation strategy can be found in the description of the previous embodiment and will not be repeated here.
[0103] S503: Generate a bandwidth configuration control signal group according to the bandwidth allocation policy, and feed back the bandwidth configuration control signal group to the OCP network card to instruct the OCP network card to perform bandwidth allocation according to the bandwidth configuration control signal group.
[0104] Specifically, based on the final bandwidth allocation policy generated in step S302, the system generates a corresponding bandwidth configuration control signal group, namely, generates BIF[0:2] signals, and feeds these signals back to the OCP network card. In this way, the OCP network card can adjust the bandwidth allocation of its downstream network port according to these control signals to ensure that bandwidth resources are allocated to each connected computing node according to the policy, thereby optimizing data transmission efficiency.
[0105] This embodiment provides a method for automatically identifying OCP network card bandwidth. First, the host-side control mode of the OCP network card is determined by collecting node identity detection signals from the first x8 MCIO connector and the second x8 MCIO connector (OCP network card access to compute nodes includes single-node access and multi-node access). Then, combining the slot presence detection signal group and the host-side control mode, an initial bandwidth allocation policy is generated by consulting the OCP network card specification table. This policy is then modified and optimized based on the priority order of the compute nodes and the real-time link load status of the downstream network ports to generate a final bandwidth allocation policy. Finally, a bandwidth configuration control signal group is generated and fed back to the OCP network card, instructing it to adjust the bandwidth allocation of the downstream network ports. This method can dynamically adapt to hardware connections, node priorities, and real-time loads, significantly improving bandwidth resource utilization efficiency and network performance, and providing flexible and reliable network support for high-performance computing in complex multi-node scenarios.
[0106] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A system for automatically identifying OCP network card bandwidth, characterized in that: The system includes multiple computing nodes, CPLD and OCP network card; Each compute node is connected to a set of x8 MCIO connectors on the compute node side. Each MCIO connector in the set of x8 MCIO connectors on the compute node side has at least one detection pin reserved, and at least one detection pin is connected to a specified voltage. Different compute nodes are distinguished by configuring the voltage connected to the reserved pins differently. The OCP network card is provided with an OCP network card side connector; the OCP network card side connector includes a 4C+ connector and / or a 4C connector; Each OCP network card side connector is connected to a first x8MCIO connector and a second x8MCIO connector; The first x8MCIO connector and the second x8MCIO connector are both connected to the x8MCIO connector on the computing node side; The CPLD is connected to the first x8MCIO connector and the second x8MCIO connector; The CPLD is configured to collect identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determine a host-side control mode of the OCP network card according to the identity detection signals; The CPLD is further configured to collect a slot presence detection signal group from a connector on the OCP network card side, determine a bandwidth allocation strategy based on the slot presence detection signal group and a host-side control mode, generate a bandwidth configuration control signal group based on the bandwidth allocation strategy, and feed the bandwidth configuration control signal group back to the OCP network card to instruct the OCP network card to perform bandwidth allocation based on the bandwidth configuration control signal group.
2. The system according to claim 1, wherein: The plurality of computing nodes include a first computing node and a second computing node; A group of computing node side x8MCIO connectors connected to the first computing node each have a first detection pin reserved therefor; a group of computing node side x8MCIO connectors connected to the second computing node each have a second detection pin reserved therefor; The first detection pin is grounded, and the second detection pin is connected to a preset high level.
3. The system according to claim 1, wherein: The plurality of computing nodes include a first computing node, a second computing node, a third computing node, and a fourth computing node; wherein a group of compute node-side x8MCIO connectors connected to the first compute node each have a first detection pin and a second detection pin reserved; a group of compute node-side x8MCIO connectors connected to the second compute node each have a third detection pin and a fourth detection pin reserved; a group of compute node-side x8MCIO connectors connected to the third compute node each have a fifth detection pin and a sixth detection pin reserved; and a group of compute node-side x8MCIO connectors connected to the fourth compute node each have a seventh detection pin and an eighth detection pin reserved; The first detection pin and the second detection pin are both grounded, the third detection pin is grounded, and the fourth detection pin is connected to a preset high level; the fifth detection pin is connected to a preset high level, and the sixth detection pin is grounded; the seventh detection pin is connected to a preset high level, and the eighth detection pin is connected to a preset high level.
4. The system according to claim 1, wherein: Determining a host-side control mode of the OCP network card according to the identity detection signal includes: When all the identity detection signals are the same, the current access mode is determined to be a single-node access mode; when at least two identity detection signals are different, the current access mode is determined to be a multi-node access mode.
5. The system according to claim 1, wherein: Determining the bandwidth allocation strategy according to the slot presence detection signal group and the host-side control mode includes: The bandwidth allocation policy corresponding to the slot presence detection signal group and the host-side control mode is searched from a preset OCP network card specification table; wherein the OCP network card specification table is used to record the correspondence between the slot presence detection signal group, the host-side control mode, the bandwidth allocation policy, and the bandwidth configuration control signal group.
6. The system according to claim 1, wherein: Determining the bandwidth allocation strategy according to the slot presence detection signal group and the host-side control mode includes: Searching for an initial bandwidth allocation policy corresponding to the slot presence detection signal group and the host-side control mode from a preset OCP network card specification table; wherein the OCP network card specification table is used to record the correspondence between the slot presence detection signal group, the host-side control mode, the bandwidth allocation policy, and the bandwidth configuration control signal group; Modifying the initial bandwidth allocation strategy according to the priority order set for the plurality of computing nodes and the currently connected computing node to obtain a modified bandwidth allocation strategy; Based on the real-time link load status of each downstream network port fed back by the OCP network card, the modified bandwidth allocation strategy is adjusted to obtain a final bandwidth allocation strategy.
7. The system according to claim 1, wherein: The CPLD is also used to confirm the node identity information through multi-cycle sampling and majority decision when the node identity signal has an unstable level.
8. The system according to claim 1, wherein: The CPLD is also used to automatically reconstruct the current topology and update the bandwidth allocation strategy after some computing nodes are powered off or resources are released, so as to achieve dynamic bandwidth reuse and resource optimization among nodes.
9. The system according to claim 5, characterized in that The number of detection pins reserved in each MCIO connector in a group of x8 MCIOs on the computing node side is n, which are used to form an n-bit binary code to support identity differentiation of more than four computing nodes.
10. A method for automatically identifying OCP network card bandwidth, characterized in that: The method is applied to the CPLD in the system for automatically identifying the bandwidth of an OCP network card according to any one of claims 1 to 9, and the method comprises: collecting identity detection signals received by the first x8MCIO connector and the second x8MCIO connector, and determining a host-side control mode of the OCP network card according to the identity detection signals; Collect the slot presence detection signal group from the OCP network card side connector, and determine the bandwidth allocation strategy based on the slot presence detection signal group and the current host-side control mode of the OCP network card; A bandwidth configuration control signal group is generated according to the bandwidth allocation policy, and the bandwidth configuration control signal group is fed back to the OCP network card to instruct the OCP network card to perform bandwidth allocation according to the bandwidth configuration control signal group.
Citation Information
Patent Citations
Method and system for adapting OCP3.0 network card in multi-host application environment
CN112615739A
Connection configuration method and system for multi-node server and OCP card
CN113703535A