Resource processing method, switching device, server and storage medium

By obtaining the resource processing modes of multiple data processing devices and determining the resource adjustment strategy, the problem of DPU failure impact and link convergence ratio fixed in the bare metal server architecture is solved, and the server stability and resource allocation rate are improved.

CN115098250BActive Publication Date: 2025-04-29ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210675188.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-15
Publication Date
2025-04-29
Estimated Expiration
2042-06-15

AI Technical Summary

Technical Problem

DPU failure in the bare metal server architecture will reduce server stability, and the link convergence ratio between DPU and server cannot be adjusted according to the actual service situation, affecting the service resource allocation rate.

Method used

By obtaining the resource processing modes of multiple data processing devices, determining the resource adjustment strategy, and calling the resources of multiple data processing devices through the bus switch in the switching device, dynamic allocation of resources and multiple redundancy architectures are realized.

Benefits of technology

It improves the stability of the server and the allocation rate of service resources, avoids the impact of a single point of failure, and realizes high redundancy and high elasticity of the write-out resource link.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115098250B_ABST
    Figure CN115098250B_ABST
Patent Text Reader

Abstract

The present application discloses a resource processing method, a switching device, a server and a storage medium, and relates to the field of computer technology. The resource processing method includes obtaining a resource processing mode of each data processing device in a plurality of data processing devices when connected to a switching device, and determining a resource adjustment strategy for calling the data processing device according to the resource processing mode of each data processing device, so that resources from the data processing device to the server can be dynamically allocated. Then, based on the resource adjustment strategy, the resources of the plurality of data processing devices are called through a bus switch in the switching device, thereby pooling the plurality of data processing devices through the bus switch, avoiding the problem that the failure of a single-point data processing device affects the stability of the server connected thereto, and improving the upper limit of the server's write-in and write-out resource processing performance and the service resource configuration rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a resource processing method, a switching device, a server and a storage medium. Background Art

[0002] With the development of cloud computing, the performance of bare metal service architecture that provides computing services for cloud computing is also being gradually optimized to meet user needs. Among them, the dedicated data processing unit (DPU) with data as the center in the bare metal server architecture can be used to support cloud disks, hot-swap storage / network devices, and other device resource virtualization and instance management.

[0003] In the related art, a DPU can be connected to one or more servers. In this way, when the DPU fails, the stability of all servers connected to the DPU will be reduced. In addition, since the link convergence ratio between the DPU and each server is fixed and cannot be adjusted according to the actual service situation, it will also affect the service resource configuration rate. Summary of the invention

[0004] The embodiments of the present application provide a resource processing method, apparatus, switching device, server and storage medium, which can improve the stability of the server and the service resource configuration rate.

[0005] According to a first aspect of an embodiment of the present application, a resource processing method is provided, which is applied to a server and includes:

[0006] acquiring a resource processing mode of each of the plurality of data processing devices in connection with the switching device;

[0007] Determine a resource adjustment strategy for calling the data processing device according to the resource processing mode of each data processing device;

[0008] Based on the resource adjustment strategy, the resources of multiple data processing devices are called through the bus switch in the switching device.

[0009] According to a second aspect of an embodiment of the present application, a resource processing device is provided, which is applied to a server, including:

[0010] An acquisition module, used for acquiring a resource processing mode of each data processing device among a plurality of data processing devices when connected to the switching device;

[0011] A determination module, used for determining a resource adjustment strategy for calling a data processing device according to a resource processing mode of each data processing device;

[0012] The calling module is used to call the resources of multiple data processing devices through the bus switch in the switching device based on the resource adjustment strategy.

[0013] According to a third aspect of an embodiment of the present application, a switching device is provided, comprising: a bus switch and an out-of-band switch; wherein:

[0014] One side of the bus switch is connected to a plurality of data processing devices via a high-speed serial computer expansion bus standard link, and the other side is connected to at least one server via a high-speed serial computer expansion bus standard link; the bus switch is used to call resources of a plurality of data processing devices corresponding to the server;

[0015] One side of the out-of-band switch is connected to at least one server via a physical channel, and the other side is connected to multiple data processing devices; the out-of-band switch is used to configure the resource processing mode of each data processing device in the multiple data processing devices based on the management network when receiving the configuration input of the data processing device by the management user; and transmit the resource processing mode of each data processing device to at least one server.

[0016] According to a fourth aspect of an embodiment of the present application, there is provided a server, including: a memory and a processor;

[0017] A memory for storing a computer program;

[0018] The processor is used to execute the computer program stored in the memory, and when the computer program is running, the processor executes the steps of the resource processing method shown in the first aspect.

[0019] According to a fifth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a computer device, the computer device executes the steps of the resource processing method shown in the first aspect.

[0020] According to a sixth aspect of an embodiment of the present application, a computer program product is provided, including a computer program, which, when executed by a computer device, enables the computer device to perform the steps of the resource processing method shown in the first aspect.

[0021] According to the resource processing method, switching device, server and storage medium in the embodiment of the present application, when connected to the switching device, the resource processing mode of each data processing device in the multiple data processing devices is obtained, and then, according to the resource processing mode of each data processing device, the resource adjustment strategy for calling the data processing device is determined, so that the resource adjustment strategy can be dynamically adjusted through the resource processing mode of the data processing device, so that the resources from the data processing device to the server can be dynamically allocated. Then, based on the resource adjustment strategy, the resources of multiple data processing devices are called through the bus switch in the switching device, so that the multiple data processing devices are pooled through the bus switch to avoid the problem that the failure of a single point data processing device affects the stability of the server connected to it, and multiple data processing devices are connected to multiple servers through the bus switch, so that the total bandwidth upper limit of the write-write resource is the sum of the bandwidths of multiple data processing devices, so as to support a wider range of elastic scaling of write-write resources, and realize the high redundancy and high elasticity of the write-write resource link from the data processing device to the server, thereby improving the upper limit of the server's write-write resource processing performance and the service resource configuration rate. Therefore, the resource processing method in the embodiment of the present application enables the data processing device to present a multiple redundant architecture, supports dynamic switching of multiple data processing devices, maintains the server continuously online, and enables the server to provide stable services to the outside, thereby improving the stability of the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The present application may be better understood from the following description of specific embodiments of the present application in conjunction with the accompanying drawings, wherein the same or similar figure numbers represent the same or similar features.

[0023] Figure 1 is a schematic diagram showing a resource processing architecture;

[0024] Figure 2 is one of the schematic diagrams showing a resource processing architecture according to one embodiment;

[0025] Figure 3 is a second schematic diagram showing a resource processing architecture according to an embodiment;

[0026] Figure 4 is a flow chart illustrating a resource processing method according to one embodiment;

[0027] Figure 5 is one of the structural schematic diagrams showing a target data processing device according to an embodiment;

[0028] Figure 6 is a second structural schematic diagram showing a target data processing device according to an embodiment;

[0029] Figure 7is a third structural schematic diagram showing a target data processing device according to an embodiment;

[0030] Figure 8 is a schematic diagram showing the structure of a resource processing device according to an embodiment;

[0031] Fig. 9 is a schematic diagram showing the structure of a switching device according to an embodiment;

[0032] Fig.10 FIG. 4 is a schematic diagram showing the hardware structure of a computer device according to an embodiment. DETAILED DESCRIPTION

[0033] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and Examples. It should be understood that the specific embodiments described herein are only configured to explain the present application and are not configured to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0034] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0035] In the related art, the bare metal server architecture includes one or more servers, an out-of-band switch, and a DPU. Figure 1 As shown, the server can be Figure 1The host physical machines 1, 2, ..., Y (Y is a positive integer) shown are connected to the DPU via an out-of-band switch to configure the DPU; the DPU is connected to one or more host physical machines via a high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIE) link to provide resources for the host physical machines; the DPU is connected to the switch via a high-speed network for resource transmission.

[0036] Based on this, the bare metal server architecture will have at least the following problems: First, when the DPU fails, it will affect the availability of instances in all host physical machines connected to the DPU, without redundancy, and reduce the stability of the server's external work; Second, the PCIE link convergence ratio between the DPU and each host physical machine is fixed, which leads to fixed upper and lower limits of bandwidth for service resources such as write and write (IO), resulting in wasted bandwidth in some scenarios and insufficient bandwidth in some scenarios. As a result, service resources cannot be dynamically adjusted according to the actual situation of the service, affecting the service resource configuration rate; Third, when the DPU needs to be actively operated and maintained, all host physical machines connected to it need to be migrated and shut down, increasing operation and maintenance costs.

[0037] Therefore, in order to solve the problem that the single-point DPU failure in the bare metal server architecture affects the stability of the servers connected to it, the service resources cannot be dynamically adjusted according to the actual service situation, affecting the service resource configuration rate, and the high active operation and maintenance cost.

[0038] The embodiment of the present application provides a resource processing method, in the case of connection with a switching device, the resource processing mode of each data processing device in a plurality of data processing devices is obtained, and then, according to the resource processing mode of each data processing device, the resource adjustment strategy for calling the data processing device is determined, so that the resource adjustment strategy can be dynamically adjusted through the resource processing mode of the data processing device, so that the resources from the data processing device to the server can be dynamically allocated. Then, based on the resource adjustment strategy, the resources of the plurality of data processing devices are called through the bus switch in the switching device, so that the plurality of data processing devices are pooled through the bus switch to avoid the problem that the failure of a single point data processing device affects the stability of the server connected thereto, and the plurality of data processing devices are connected to the plurality of servers through the bus switch, so that the total bandwidth upper limit of the write-write resource is the sum of the bandwidths of the plurality of data processing devices, so as to support a wider range of elastic scaling of the write-write resource, and realize the high redundancy and high elasticity of the write-write resource link from the data processing device to the server, thereby improving the write-write resource processing performance upper limit of the server and the service resource configuration rate. Therefore, the resource processing method in the embodiment of the present application enables the data processing device to present a multiple redundant architecture, supports dynamic switching of multiple data processing devices, maintains the server continuously online, and the server provides stable services to the outside, thereby improving the stability of the server.

[0039] Based on this, the following Figure 2 The resource processing architecture in the embodiment of the present application is shown, and the resource processing method provided in the embodiment of the present application is described in detail.

[0040] In one or more possible embodiments, Figure 2 As shown, the resource processing architecture proposed in the embodiment of the present application includes a server 201, a switching device 202 and a data processing device 203. Figure 2 Describe the resource handling architecture in detail.

[0041] The number of servers 201 can be one or more. Figure 2 As shown, server 201 may include server 2021, server 2022, ... server 202M (M is a positive integer). The server involved in the embodiment of the present application may be a physical machine, a host machine, a cloud host, a cloud server, a virtual machine or a bare metal server, etc., which has the function of connecting to the switching device 202 (or switch).

[0042] In one possible example, the server 201 is connected to the switching device 202 via a PCIE link, a network cable write-out link, or a hard disk write-out link, and is used to call resources of multiple data processing devices connected to the switching device 202. In another possible example, the server 201 is connected to the switching device 202 via a PCIE link, a network cable write-out link, or a hard disk write-out link, and is used to obtain resource processing modes of multiple data processing devices connected to the switching device 202.

[0043] The switching device 202 includes an out-of-band switch 2021 and a bus switch 2022 .

[0044] Furthermore, the out-of-band switch (Oob switch) 2021 is used to connect the out-of-band network (such as the network where the server is located, the management network) with the switching device 202 to uniformly manage the server 201 and the data processing device 203, such as detecting the status of the data processing device 203 and configuring the resource processing mode of the data processing device 203. Here, the management process is not visible to external services.

[0045] In a possible example, one side of the out-of-band switch 2021 is connected to at least one server via a physical channel, and the other side can also be connected to multiple data processing devices 203 via a physical channel. Based on this, the out-of-band switch 2021 is used to configure the resource processing mode of each data processing device in the multiple data processing devices based on the management network when receiving the configuration input of the management user to the data processing device 203; and transmit the resource processing mode of each data processing device to at least one server.

[0046] It should be noted that since the server is not accessible in-band, the operating system (OS) cannot modify the IO strategy of the driver application in the server. Therefore, the out-of-band switch 2021 can support the configuration of the resource processing mode of the data processing device without contacting the server OS. Specifically, the following steps can be performed: First, the management user receives the resource processing mode of the register of each data processing device in the data processing device 203 through the out-of-band switch 2201 based on the management network, and sets it, such as adjusting the register of the data processing device 203 so that the data processing device 203 can be read by the driver application in the server 201. Among them, the resource processing mode of the register of each data processing device in the data processing device 203 can be set based on the service required by the user or based on the service provided by the management direction to the user. Then, the driver application in the server reads the resource processing mode of each data processing device through the firmware interface of the out-of-band switch, so as to generate a resource adjustment strategy for calling the data processing device, such as a redundant execution strategy, a polling execution strategy, and a flexible adaptive execution strategy. The bus switch (PCIE-switch) 2022 physically connects the server 201 with the multiple data processing devices 203 via a PCIE link, and is used for the server 201 to flexibly configure strategies for calling multiple data processing device resources according to the multiple data processing devices 203 .

[0047] In one possible example, one side of the bus switch 2022 is connected to multiple data processing devices via a high-speed serial computer expansion bus standard link, and the other side is connected to at least one server via a high-speed serial computer expansion bus standard link; the bus switch is used to call the resources of multiple data processing devices corresponding to the server.

[0048] It should be noted that the out-of-band switch and bus switch in the embodiment of the present application can not only be set in the switching device 202 in the form of a chip, but can also exist independently as independent devices, and their functions and connection methods remain unchanged, such as setting the out-of-band switch as an independent out-of-band switching device, and setting the bus switch as an independent bus switching device.

[0049] In another possible example, the switching device 202 is provided with a plurality of sockets, and a plurality of data processing devices may be plugged into the plurality of sockets, so that the switching device 202 is connected to the plurality of data processing devices.

[0050] The number of data processing devices 203 can be multiple, such as Figure 2As shown, the data processing device 203 may include a data processing device 2031, a data processing device 2032, ..., a data processing device 203J (J is a positive integer greater than 2). Exemplarily, a plurality of data processing devices may be plugged into the sockets of the switching device 202, that is, the plurality of data processing devices may be connected to the bus switch 2022 through the internal lines in the switching device 202. Here, the data processing device 203 may be plug-and-play, thereby realizing hot-swap replacement.

[0051] In the embodiment of the present application, the data processing device 203 may include a device including a data processor (i.e., DPU) or a device including a data processing card (such as MOC), wherein the physical form of the data processing card is a chip, or a parallel processing device of a processor (central processing unit, CPU) and a field programmable gate array (Field Programmable Gate Array, FPGA).

[0052] Furthermore, the data processing card may include a CPU and ROM / RAM, and can run an independent operating system. At the same time, it can be connected to another server 201 through PCIE to provide virtualization of input and output IO devices, processing and forwarding of IO requests, and other services to the server 201.

[0053] Based on the above Figure 2 The resource processing architecture shown in FIG. 1 takes three servers (i.e., server 2011, server 2012, and server 2013) and three DPUs (i.e., DPU 2031, DPU 2032, and DPU 2033) as an example. Figure 3 , the resource processing method provided in the embodiment of the present application is described in detail.

[0054] like Figure 3 As shown, server 2011, server 2012 and server 2013 are connected to bus switch 2022 through PCIE links, and are connected to out-of-band switch 2021 through physical channels. The bus switch is connected to the DPU inserted into each interface through three interfaces connected by optical cables. Out-of-band switch 2021 is connected to the DPU inserted into each interface through three interfaces connected by physical channels or optical cables. Switching device 202 is connected to the switch through a high-speed network.

[0055] Based on this, first, the management user can set the resource processing mode of the registers of the three DPU cards through the out-of-band switch 2201. In this way, when the management user receives the configuration input of the three DPU cards, the resource processing mode of each data processing device in the multiple data processing devices is configured through the out-of-band switch 2201 based on the management network. Among them, the resource processing mode includes the working form supported by the DPU, such as available / unavailable, can be used with / cannot be used with other DPUs, and also includes the working mode of the DPU, such as storage resource mode and input / output resource mode.

[0056] Next, when each device in the resource processing architecture, such as the server and the switching device 202 , is powered on, the driver program of the driver layer in each server obtains the resource processing mode of DPU 2031 , DPU 2032 , and DPU 2033 through the out-of-band switch 2201 .

[0057] Furthermore, when all DPUs are initialized, the driver in the server takes over the IO resources of DPU2031, DPU2032, and DPU2033, and determines the resource adjustment strategy for calling the data processing device according to the resource processing mode of each data processing device, such as redundant execution strategy, polling execution strategy, and elastic adaptive execution strategy. The resource adjustment strategy is transparent to the operating system in the server, that is, the steps of calling the resources of multiple data processing devices can be executed. Therefore, the resource adjustment strategy can be dynamically adjusted through the resource processing mode of the data processing device, so that the resources of the data processing device to the server can be dynamically allocated.

[0058] Then, based on the resource adjustment strategy, the server can call the resources of multiple data processing devices through the bus switch in the switching device. In this way, multiple data processing devices are pooled through the bus switch to avoid the problem that the failure of a single data processing device affects the stability of the server connected to it, and multiple data processing devices are connected to multiple servers through the bus switch, so that the total bandwidth limit of write-write resources is the sum of the bandwidths of multiple data processing devices, thereby supporting a wider range of elastic scaling of write-write resources, achieving high redundancy and high elasticity of the write-write resource link from the data processing device to the server, thereby improving the server's write-write resource processing performance limit and service resource configuration rate.

[0059] Therefore, the resource processing method in the embodiment of the present application enables the data processing device to present a multiple redundant architecture, supports dynamic switching of multiple data processing devices, maintains the server continuously online, and enables the server to provide stable services to the outside, thereby improving the stability of the server.

[0060] It should be noted that the resource processing method and resource processing architecture in the embodiments of the present application can be applied to at least one of the following scenarios: cloud computing architecture scenarios, server product architectures such as bare metal server architectures, host physical machine architectures, and any other scenarios that connect data processing devices to call the resources of data processing devices.

[0061] According to the above architecture and application scenarios, the following are combined Figure 4 The resource processing method provided in the embodiment of the present application is described in detail.

[0062] Figure 4 is a flow chart showing a resource processing method according to an embodiment.

[0063] like Figure 4 As shown, the resource processing method can be applied to Figure 2 The resource processing architecture shown can be used for Figure 2 For the server shown, the resource processing method may specifically include:

[0064] Step 410, when connected to a switching device, obtain the resource processing mode of each data processing device in a plurality of data processing devices; Step 420, determine the resource adjustment strategy for calling the data processing device according to the resource processing mode of each data processing device; Step 430, based on the resource adjustment strategy, call the resources of the plurality of data processing devices through the bus switch in the switching device.

[0065] The above steps are described in detail below, as shown below.

[0066] First, step 410 is involved. In a possible embodiment, the switching device further includes an out-of-band switch. Based on this, step 410 may specifically include:

[0067] Step 4101: When connected to a switching device, obtain the device type of each data processing device connected to the switching device through an out-of-band switch.

[0068] Step 4102: Based on the device type of each data processing device, obtain the resource processing mode of each data processing device.

[0069] Here, the resource processing mode in the embodiment of the present application may include the working forms supported by the data processing device, such as the data processing device is available / unavailable, the data processing device can be used in conjunction with / cannot be used in conjunction with other data processing devices, and may also include the working modes of the data processing device, such as storage resource mode and input and output resource mode.

[0070] Furthermore, since the server is not accessible in-band, the OS cannot modify the driver IO policy. In order to make the resource adjustment policy transparent to the server OS so that the server can obtain the resource processing mode, the method provided in the embodiment of the present application can support the acquisition of the resource processing mode without contacting the server OS, thereby ensuring the determination of the resource adjustment policy of the calling data processing device, that is, the following steps can be performed, and the step 4101 can specifically include:

[0071] Match the firmware interface of the out-of-band switch through the driver;

[0072] The register of the data processing device connected to the switching device is read through the firmware interface to obtain the device type of each data processing device.

[0073] It should be noted that if the device type of the data processing device in the embodiment of the present application is a hard disk, the resource processing mode of the data processing device is a storage resource mode;

[0074] If the device type of the data processing device is a network card, the resource processing mode of the data processing device is an input-output resource mode.

[0075] For example, since the hard disk is a storage device, the server can store data in multiple data processing devices through the bus switch. The network card belongs to the input and output device, and the server can write and write data through the bus switch.

[0076] In addition, the data processing device in the embodiment of the present application may include a device containing a data processor or a device containing a data processing card, the physical form of the data processing card is a chip, or a parallel processing device of a processor and a field programmable gate array; the data processing device is connected to the bus switch through a high-speed serial computer expansion bus standard link.

[0077] Next, step 420 is involved, in which the server generates a resource adjustment policy for calling the data processing device based on the resource processing mode of each data processing device, such as whether the data processing device is available / unavailable, whether the data processing device can be used in conjunction with / not in conjunction with other data processing devices, and also including the working mode of the data processing device, such as the storage resource mode and the input / output resource mode. That is, the resource adjustment policy can include a redundant execution policy, a polling execution policy, and a flexible adaptive execution policy.

[0078] It should be noted that the resource processing mode of the data processing device can be configured at any time by the management user, so the server can also obtain the resource processing mode of the data processing device in real time through the out-of-band switch to ensure dynamic generation and calling of the data processing device.

[0079] Then, involving step 430, the resource adjustment strategy in the embodiment of the present application may include a redundant execution strategy, a polling execution strategy and an elastic adaptive execution strategy. The following describes step 430 in detail based on each of the above strategies.

[0080] In a possible embodiment, when the resource adjustment strategy is a redundant execution strategy, step 430 may specifically include:

[0081] Selecting a first data processing device from among a plurality of data processing devices as a target data processing device;

[0082] Through the bus switch, the resources of the target data processing device are called.

[0083] For example, Figure 5 As shown, server 2011 can select DPU2031 from the three DPUs as the target data processing device, and the other DPUs, namely DPU2032 and DPU2033, are in sleep (or shut down). At this time, server 2011 calls the resources of DPU2031 through bus switch 2022.

[0084] Here, the embodiment of the present application also considers that if the target data processing device fails, the following steps may be performed:

[0085] When the first data processing device meets the first preset fault condition, a second data processing device is selected from the plurality of data processing devices to replace the first data processing device as the target data processing device.

[0086] For example, still referring to Figure 5 When DPU2031 fails, server 2011 selects a second data processing device such as DPU2033 as the target data processing device from multiple data processing devices. At this time, other DPU cards, namely DPU2031 and DPU2032, are in sleep (or shut down), and server 2011 calls the resources of DPU2033 through bus switch 2022.

[0087] Therefore, when the resource adjustment strategy is a redundant execution strategy, when one of the target data processing devices fails, the server traffic is automatically transferred to the healthy target data processing device to achieve fault-free switching. Since the target data processing device supports hot plugging, the failed target data processing device can be replaced to achieve hot plug replacement.

[0088] In another possible embodiment, when the resource adjustment strategy is a polling execution strategy, step 430 may specifically include:

[0089] Selecting M target data processing devices from a plurality of data processing devices, where M is a positive integer greater than or equal to 2;

[0090] Through the bus switch, the resources of each target data processing device in the M target data processing devices are respectively called, and the flow of each target data processing device is allocated to 1 / M.

[0091] For example, Figure 6 As shown, when M is 3, DPU2031, DPU2032 and DPU2033 can be used as target data processing devices. At this time, server 2011 divides the traffic into three parts so that each DPU processes one part of the traffic. In this way, the resources of DPU2031, DPU2032 and DPU2033 are used to process the traffic respectively through bus switch 2022 to improve the traffic processing rate.

[0092] In addition, since server 2011 is connected to three data processing devices through a bus switch, the total bandwidth limit of server 2011's write and write resources is the sum of the bandwidths of the three data processing devices, thereby supporting a wider range of elastic scaling of write and write resources, and achieving high redundancy and high elasticity of the write and write resource link from the data processing device to the server, thereby improving the server's write and write resource processing performance limit and service resource configuration rate.

[0093] Here, the embodiment of the present application also considers that when at least one of the M target data processing devices fails, the upper limit of the write-in and write-out resource processing performance of the server can be recalculated, that is, the following steps are performed:

[0094] Obtaining the number X of faulty resource cards satisfying a second preset fault condition in the M target data processing devices;

[0095] The resources of each target data processing device among the M to X target data processing devices are respectively called, and the flow allocated to each target data processing device among the M to X target data processing devices is adjusted from 1 / M to 1 / MX.

[0096] For example, still referring to Figure 6 When DPU2031 fails, server 2011 divides the traffic into two parts, so that DPU2032 and DPU2033 process one part of the traffic respectively, that is, the traffic allocated to DPU2032 and DPU2033 is adjusted from 1 / 3 to 1 / 2. In this way, the stability of the servers connected to it can be improved while avoiding the failure of a single-point data processing device.

[0097] In another possible embodiment, when the resource adjustment strategy is an elastic adaptive execution strategy, step 430 may specifically include:

[0098] According to the service category of the server, obtaining a target data processing device corresponding to the service category from a plurality of data processing devices;

[0099] Through the bus switch, the resources of the target data processing device are called.

[0100] For example, Figure 7 As shown, the service category of server 2011 is A, then DPU2031 and DPU2032 corresponding to service category A are selected from the three DPUs as target data processing devices, and the other DPUs, namely DPU2033, are in sleep (or shut down). At this time, server 2011 can call the resources of DPU2031 and DPU2032 through bus switch 2022.

[0101] Here, in the embodiment of the present application, when a data processing device corresponding to the service category fails, the bus switch can also be used to call the resources of data processing devices other than the target data processing device in multiple data processing devices. Similarly, when one of the target data processing devices fails, the traffic of the server is automatically transferred to the healthy target data processing device to achieve trouble-free switching. Since the target data processing device supports hot plugging, the failed target data processing device can be replaced to achieve hot plug replacement.

[0102] Alternatively, when the resource adjustment strategy is an elastic adaptive execution strategy, step 430 may specifically include:

[0103] Through the bus switch, the resources of all data processing devices connected to the bus switch are called upon.

[0104] In this way, the IO resources of all DPUs can be fully released, and the server can obtain a larger IO resource upper limit, that is, the total bandwidth upper limit of the server's write and write resources is the sum of the bandwidths of all data processing devices connected to the switching device 202, thereby supporting a wider range of elastic scaling of write and write resources.

[0105] Therefore, by pooling multiple data processing devices through the bus switch, the problem of single-point data processing device failure affecting the stability of the server connected to it can be avoided, and high redundancy and high elasticity of the IO link can be achieved.

[0106] It should be noted that, in the embodiments of the present application, the methods for determining a faulty data processing device may include the following two methods, which are described below respectively.

[0107] Method 1: The status of each data processing device connected to the switching device can be obtained through the out-of-band switch. If the management user finds that the operating parameters of any data processing device, such as data processing device A, are abnormal, the resource processing mode of data processing device A can be adjusted to disabled through the out-of-band switch. At this time, the server cannot call data processing device A through the bus switch, which indicates that data processing device A is abnormal and unavailable. In this way, the server can call data processing device B other than data processing device A through the bus switch, and distribute the server traffic to data processing device B, so that the data processing device presents a multiple redundant architecture.

[0108] Method 2: If the server cannot call data processing device A through the bus switch, it indicates that data processing device A is abnormal and unavailable. In this way, the server can call data processing device B other than data processing device A through the bus switch, and distribute the server traffic to data processing device B, so that the data processing device presents a multiple redundant architecture.

[0109] As a result, the server traffic is processed by multiple data processing devices, which means that more service traffic can be processed, improving data processing service performance, and increasing the total bandwidth limit of server write and write resources, thereby supporting a wider range of elastic scaling of write and write resources. In addition, when a data processing device fails, another data processing device can continue to maintain the server traffic processing to prevent service interruption. When a new data processing device is replaced, the server traffic can be divided into multiple data processing devices for processing, maintaining the server online continuously, so that the server can provide stable services to the outside, thereby improving the stability of the server.

[0110] Based on the same inventive concept, the present application provides a resource processing device corresponding to the resource processing method involved above. Figure 8 Provide detailed explanation.

[0111] Figure 8 It is a schematic diagram showing the structure of a resource processing device according to an embodiment.

[0112] like Figure 8 As shown, the resource processing device 80 is applied to Figure 2 The server shown, the resource processing device 80 may specifically include:

[0113] An acquisition module 801 is used to acquire a resource processing mode of each data processing device in a plurality of data processing devices when connected to a switching device;

[0114] A determination module 802, configured to determine a resource adjustment strategy for calling a data processing device according to a resource processing mode of each data processing device;

[0115] The calling module 803 is used to call the resources of multiple data processing devices through the bus switch in the switching device based on the resource adjustment policy.

[0116] Based on this, the resource processing device 80 provided in the embodiment of the present application is described in detail below.

[0117] In one or more possible embodiments, the acquisition module 801 may be specifically configured to, when the switching device further includes an out-of-band switch, acquire the device type of each data processing device connected to the switching device through the out-of-band switch;

[0118] Based on the device type of each data processing device, a resource processing mode of each data processing device is acquired.

[0119] In another or more possible embodiments, the acquisition module 801 may be specifically used to match the firmware interface of the out-of-band switch through a driver program;

[0120] The register of the data processing device connected to the switching device is read through the firmware interface to obtain the device type of each data processing device.

[0121] It should be noted that the device type of the data processing device in the embodiment of the present application is a hard disk, and the resource processing mode of the data processing device is a storage resource mode;

[0122] The device type of the data processing device is a network card, and the resource processing mode of the data processing device is an input-output resource mode.

[0123] In one or more possible embodiments, the calling module 803 may be specifically configured to select a first data processing device as a target data processing device from among multiple data processing devices when the resource adjustment strategy is a redundant execution strategy;

[0124] Through the bus switch, the resources of the target data processing device are called.

[0125] Furthermore, the resource processing device 80 in the embodiment of the present application may also include a replacement module, which is used to select a second data processing device from multiple data processing devices to replace the first data processing device as the target data processing device when the first data processing device meets the first preset fault condition.

[0126] In one or more possible embodiments, the calling module 803 may be specifically configured to select M target data processing devices from a plurality of data processing devices when the resource adjustment strategy is a polling execution strategy, where M is a positive integer greater than or equal to 2;

[0127] Through the bus switch, the resources of each target data processing device in the M target data processing devices are respectively called, and the flow of each target data processing device is allocated to 1 / M.

[0128] Furthermore, the resource processing device 80 in the embodiment of the present application may further include an allocation module; wherein the acquisition module 801 may further be used to acquire the number X of faulty resource cards that meet the second preset fault condition in the M target data processing devices;

[0129] The allocation module is used to call the resources of each target data processing device in M ​​to X target data processing devices through the bus switch, and adjust the flow of each target data processing device in M ​​to X target data processing devices from 1 / M to 1 / MX.

[0130] In one or more possible embodiments, the calling module 803 may be specifically used to obtain a target data processing device corresponding to a service category from a plurality of data processing devices according to a service category of the server when the resource adjustment strategy is an elastic adaptive execution strategy;

[0131] Through the bus switch, the resources of the target data processing device are called.

[0132] It should be noted that the data processing device in the embodiment of the present application includes a device including a data processor or a device including a data processing card, and the physical form of the data processing card is a chip, or a parallel processing device of a processor and a field programmable gate array;

[0133] The data processing equipment is connected to the bus switch via a high-speed serial computer expansion bus standard link.

[0134] Thus, when connected to a switching device, the resource processing mode of each data processing device in a plurality of data processing devices is obtained, and then, according to the resource processing mode of each data processing device, a resource adjustment strategy for calling the data processing device is determined, so that the resource adjustment strategy can be dynamically adjusted through the resource processing mode of the data processing device, so that the resources from the data processing device to the server can be dynamically allocated, and the high redundancy and high elasticity of the IO resource link from the data processing device to the server are realized, and a larger range of resource elasticity is supported, thereby improving the upper limit of the IO resource processing performance of the server and the service resource configuration rate. Then, based on the resource adjustment strategy, the resources of the plurality of data processing devices are called through the bus switch in the switching device, thereby, the plurality of data processing devices are pooled through the bus switch, so as to avoid the problem that the failure of a single point data processing device affects the stability of the server connected thereto, so that the data processing device presents a multi-redundant architecture form, supports the dynamic switching of a plurality of data processing devices, maintains the server continuously online, and enables the server to provide stable services to the outside, thereby improving the stability of the server.

[0135] Based on the same inventive concept, the present application embodiment also provides a switching device. Fig. 9 The switching device provided in the embodiment of the present application is described in detail.

[0136] Fig. 9 The figure is a schematic diagram showing the structure of a switching device according to an embodiment.

[0137] like Fig. 9 As shown, the switching device 90 may specifically include: a bus switch 901 and an out-of-band switch 902; wherein,

[0138] One side of the bus switch 901 is connected to multiple data processing devices via a high-speed serial computer expansion bus standard link, and the other side is connected to at least one server via a high-speed serial computer expansion bus standard link; the bus switch 901 is used to call the resources of multiple data processing devices corresponding to the server;

[0139] One side of the out-of-band switch 902 is connected to at least one server via a physical channel, and the other side is connected to multiple data processing devices; the out-of-band switch 902 is used to configure the resource processing mode of each data processing device in the multiple data processing devices based on the management network when receiving the management user's input on the data processing device configuration; and transmit the resource processing mode of each data processing device to at least one server.

[0140] Therefore, the switching device provided in the embodiment of the present application pools multiple data processing devices through a bus switch, thereby avoiding the problem that a single-point data processing device failure affects the stability of the server connected to it, so that each host machine can use multiple data processing devices connected to the bus switch, and achieve high redundancy and high elasticity of the IO resource link between the server and the data processing device.

[0141] Fig.10 FIG. 4 is a schematic diagram showing the hardware structure of a computer device according to an embodiment.

[0142] like Fig.10 As shown, the computer device 1000 includes an input device 1001 , an input interface 1002 , a processor 1003 , a memory 1004 , an output interface 1005 , and an output device 1006 .

[0143] The input interface 1002, the processor 1003, the memory 1004, and the output interface 1005 are connected to each other through the bus 1010, and the input device 1001 and the output device 1006 are connected to the bus 1010 through the input interface 1002 and the output interface 1005, respectively, and then connected to other components of the computer device 1000. Specifically, the input device 1001 receives input information from the outside, and transmits the input information to the processor 1003 through the input interface 1002; the processor 1003 processes the input information based on the computer executable instructions stored in the memory 1004 to generate output information, temporarily or permanently stores the output information in the memory 1004, and then transmits the output information to the output device 1006 through the output interface 1005; the output device 1006 outputs the output information to the outside of the computer device 1000 for use by the user.

[0144] In one embodiment, Fig.10 The computer device 1000 shown can be implemented as a resource processing device, which can be a server. The server includes: a memory configured to store programs; a processor configured to run the programs stored in the memory to execute the resource processing method described in the above embodiment.

[0145] In one embodiment, the memory can also be used to store the above Figures 1 to 7 Describes the computation results of each step in the resource processing process.

[0146] According to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer-readable storage medium. For example, an embodiment of the present application includes a computer-readable storage medium, which includes storing a program or instruction on the computer-readable storage medium, and when the program or instruction is executed by a computer device, the computer device performs the steps of the above method.

[0147] According to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program tangibly included on a machine-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network, and / or installed from a removable storage medium.

[0148] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions, and when it is run on a computer, the computer executes the method described in each of the above embodiments. When loading and executing the computer program instructions on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. 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 a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state drive), etc.

[0149] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Those of ordinary skill in the art may understand and implement it without creative effort.

[0150] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. These modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A resource processing method, applied to a server, comprising: acquiring a resource processing mode of each of the plurality of data processing devices in connection with the switching device; Determining a resource adjustment strategy for calling a data processing device according to a resource processing mode of each data processing device; Based on the resource adjustment strategy, calling the resources of the plurality of data processing devices through the bus switch in the switching device; The switching device further includes an out-of-band switch; and the obtaining of a resource processing mode of each of the plurality of data processing devices includes: acquiring, through the out-of-band switch, a device type of each data processing device connected to the switching device; Based on the device type of each data processing device, a resource processing mode of each data processing device is acquired.

2. The method according to claim 1, wherein: The obtaining, through the out-of-band switch, the device type of each data processing device connected to the switching device comprises: Matching a firmware interface of the out-of-band switch through a driver; The register of the data processing device connected to the switching device is read through the firmware interface to obtain the device type of each data processing device.

3. The method according to claim 2, wherein: In the case where the device type of the data processing device is a hard disk, the resource processing mode of the data processing device is a storage resource mode; When the device type of the data processing device is a network card, the resource processing mode of the data processing device is an input-output resource mode.

4. The method according to claim 1, wherein: The resource adjustment strategy is a redundant execution strategy; based on the resource adjustment strategy, calling the resources of the plurality of data processing devices through the bus switch in the switching device includes: Selecting a first data processing device from the plurality of data processing devices as a target data processing device; The resources of the target data processing device are called through the bus switch.

5. The method according to claim 4, wherein: The method further comprises: When the first data processing device meets a first preset fault condition, a second data processing device is selected from the plurality of data processing devices to replace the first data processing device as the target data processing device.

6. The method according to claim 1, wherein: The resource adjustment strategy is a polling execution strategy; based on the resource adjustment strategy, calling the resources of the plurality of data processing devices through the bus switch in the switching device includes: Selecting M target data processing devices from the plurality of data processing devices, where M is a positive integer greater than or equal to 2; The bus switch is used to call the resources of each target data processing device in the M target data processing devices respectively, and the flow rate of each target data processing device is allocated as 1 / M.

7. The method according to claim 6, wherein: The method further comprises: Obtaining the number X of faulty resource devices that meet a second preset fault condition among the M target data processing devices; The bus switch is used to call the resources of each of the M to X target data processing devices respectively, and the flow allocated to each of the M to X target data processing devices is adjusted from 1 / M to 1 / MX.

8. The method according to claim 1, wherein: The resource adjustment strategy is a flexible adaptive execution strategy; the calling of the resources of the plurality of data processing devices through the bus switch in the switching device includes: According to the service category of the server, acquiring a target data processing device corresponding to the service category from among the plurality of data processing devices; Through the bus switch, resources of the target data processing device are called.

9. The method according to claim 1, wherein: The data processing device includes a device including a data processor or a device including a data processing card, and the physical form of the data processing card is a chip, or a parallel processing device of a processor and a field programmable gate array; The data processing device is connected to the bus switch via a high-speed serial computer expansion bus standard link.

10. A switching device, comprising: bus switch and out-of-band switch; wherein, One side of the bus switch is connected to a plurality of data processing devices via a high-speed serial computer expansion bus standard link, and the other side is connected to at least one server via the high-speed serial computer expansion bus standard link; the bus switch is used to call the resources of the plurality of data processing devices corresponding to the server; One side of the out-of-band switch is connected to the at least one server via a physical channel, and the other side is connected to the multiple data processing devices; the out-of-band switch is used to configure the resource processing mode of each data processing device in the multiple data processing devices based on the management network when receiving the configuration input of the data processing device by the management user; and transmit the resource processing mode of each data processing device to the at least one server.

11. A server, comprising: Memory and processor, The memory is used to store a computer program; The processor is used to execute the computer program stored in the memory, and when the computer program is running, the processor executes the steps of the resource processing method according to any one of claims 1 to 9.

12. A computer-readable storage medium storing a program or instruction, wherein when the program or instruction is executed by a computer device, the computer device executes the steps of the resource processing method according to any one of claims 1 to 9.

13. A computer program product, comprising a computer program, which enables a computer device to execute the steps of the resource processing method described in any one of 1 to 9 when the computer program is executed by the computer device.

Citation Information

Patent Citations

  • Coordination of DPUs in a crosstalk environment

    AU2020100539A4

  • Data transmission method and device, network system and storage medium

    CN113297117A