Server operation resource calling system, method and device, and storage medium
By using multiple resource switching agencies to run resource calling systems in the server, dynamic expansion of server memory resources is achieved, and the problem of limited memory resource expansion limit in the prior art is solved, and the server's performance expansion capabilities are improved.
Patent Information
- Application Number
- CN202411870240.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2044-12-18
AI Technical Summary
In the prior art, when a server expands memory resources through MXC, the upper limit of the resource amount is limited by the number of DIMM SLOTs expanded by MXC, resulting in that when a service with a large memory resource demand, the expanded memory resources do not meet the service operation needs.
The operation resource calling system consisting of multiple resource switching agencies is used to call the operation resources connected to other resource switches through the routing between resource switches, and dynamic expansion of server memory resources is achieved.
It increases the upper limit of the resource amount of server calls and run resources, can meet the business needs with large memory resources, and enhances the server's performance expansion capabilities.
Smart Images

Figure CN119356878B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the computer field, and in particular, to a server operation resource calling system, method and device, and storage medium. Background Art
[0002] Currently, the size of the server's expanded hardware resources has become a limiting factor in improving server performance. Usually, in order to improve server performance, more hardware resources can be expanded for the server.
[0003] In the related art, the server expands hardware resources through a specific connection method. Taking memory resources as an example, the server is directly connected to the MXC (Memory Expansion Controller) to directly expand the memory resources. The MXC can expand a single memory port into 4 DIMM SLOTs (DIMM, Dual In-line Memory Module), thereby calling the connected DIMM memory resources respectively through the 4 DIMM SLOTs.
[0004] However, the upper limit of the memory resources expanded by the server in the above method is limited by the number of MXC expanded DIMMSLOTs, which is usually a certain number. When the server runs a business with a large demand for memory resources, it is still possible that the expanded memory resources cannot meet the business operation requirements.
[0005] In view of the problem that the upper limit of the amount of resources that the server can call to run resources is low in the related technology, no effective solution has been proposed yet. Summary of the invention
[0006] The embodiments of the present application provide a server operation resource calling system, method, device, and storage medium to at least solve the problem in the related art that the upper limit of the resource amount of the server calling the operation resources is low.
[0007] According to a first embodiment of the embodiments of the present application, a server operation resource calling system is provided, comprising: a plurality of resource switches, at least one of which is deployed with a switch port, a server port and a resource device port, at least one of which is connected to at least one reference resource switch through the switch port, at least one of which is allowed to call the operation resources connected to other resource switches through routing, the server port is used to connect to the server, and the resource device port is used to connect to the resource device;
[0008] A target resource switch connected to a target server is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of the target server, and the target requirement information is used to indicate that it is necessary to call the running resources connected to other resource switches; the target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server;
[0009] The candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, notify the target resource switch that the reference resource device has passed the verification, and switch the usage status of the reference resource device to an occupied state.
[0010] Optionally, a target encoder is also deployed on the target resource switch, and the target encoder constructs a device mapping table in advance according to the topological connection relationship between the plurality of resource switches in the running resource calling system, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server;
[0011] The target encoder is used to filter out the candidate resource device that meets the target requirement information from one or more of the candidate resource devices recorded in the device mapping table; encode the target server address, the target switch address and the candidate device address to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
[0012] Optionally, a processor port is further deployed on at least one of the resource switches, the running resource calling system further includes a processor, and at least one of the resource switches is connected to the processor through the processor port;
[0013] At least one of the resource switches is used to collect the resource supply of the resource device connected to the resource device port, and obtain a first corresponding relationship between the resource device and the resource supply on at least one of the resource switches, wherein the resource supply is the resource amount of the running resources currently allowed to be provided by the corresponding resource device;
[0014] The processor is used to obtain the first correspondence relationship collected by at least one of the multiple resource switches from the processor port to obtain multiple first correspondence relationships; generate a second correspondence relationship between the resource device and the resource supply on the running resource calling system according to the multiple first correspondence relationships; and send the second correspondence relationship to the target resource switch through the target processor port;
[0015] The target encoder is used to match the alternative resource supply corresponding to at least one of the alternative resource devices from the second corresponding relationship to obtain a third corresponding relationship between the alternative resource devices and the alternative resource supply; and to filter out the candidate resource devices whose alternative resource supply is greater than or equal to the target resource demand of the target server from the third corresponding relationship, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
[0016] Optionally, the candidate resource switch is deployed with a target decoder and a target converter connected to each other;
[0017] The target decoder is used to decode the candidate device address of the candidate resource device to be verified, the target server address of the target server, and the target switch address of the target resource switch from the call request; detect the current usage state of the candidate resource device; when the usage state is an idle state, transmit a reference verification message carrying the candidate device address, the target switch address and the target server address to the target converter; and switch the current usage state of the candidate resource device to an occupied state;
[0018] The target converter is used to extract the target switch address from the reference verification message when receiving the reference verification message; convert the reference verification message into a target verification message; and send the target verification message to the target switch address, wherein the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
[0019] Optionally, the operating resource calling system further comprises a resource expansion device, and at least one of the resource switches in the operating resource calling system allows one of the resource expansion devices to be connected via one of the resource device ports;
[0020] At least one of the resource expansion devices is used to expand a connected port of the resource device into a plurality of ports that allow the resource device to be connected.
[0021] Optionally, an expansion controller and a plurality of device expansion ports are deployed on the resource expansion device, and a plurality of the device expansion ports on at least one of the resource expansion devices are connected to a resource device port through the expansion controller;
[0022] at least one of the device expansion ports is used to connect to one of the resource devices;
[0023] The extension controller is used to call the running resources of the resource device connected to at least one of the device extension ports for the resource switch to which the connected resource device port belongs.
[0024] Optionally, the resource call operation system further includes a processor, the target resource device port of the target resource switch is connected to the target resource device, the target resource switch is deployed with a target processor port, and a resource detector and a request generator connected to each other, and the resource detector is connected to the processor through the target processor port;
[0025] The resource detector is used to receive reference demand information of the target server through the target server port, wherein the target resource switch is connected to the target server through the target server port, and the reference demand information is used to indicate that the target server needs to call the running resources; detect whether the running resources allowed to be provided by the target resource device meet the reference demand information; in the case of detecting that the running resources allowed to be provided by the target resource device do not meet the reference demand information, send a target generation instruction to the request generator; in the case of detecting that the running resources allowed to be provided by the target resource device meet the reference demand information, send reference call information to the processor through the target processor port, wherein the reference call information is used to indicate that the running resources on the target resource device are allowed to be called by the target server;
[0026] The request generator is used to generate the target requirement information when receiving the target generation instruction;
[0027] The processor is used to control the target server to call the running resources on the target resource device when receiving the reference call information.
[0028] Optionally, the target resource switch further has multiple virtual switches and multiple conversion ports deployed therein, at least one of the virtual switches allows connection to a corresponding server through a server port, at least one of the virtual switches has multiple virtual ports deployed thereon, and at least one of the virtual ports allows establishment of a resource call path with one or more of the conversion ports;
[0029] At least one of the conversion ports is used to convert at least one of the connected virtual ports into a physical port, wherein at least one of the physical ports is connected to a corresponding resource device port, and the resource calling path is a path for calling and running resources;
[0030] The processor is used to locate a target virtual switch connected to the target server port from the multiple virtual switches when receiving the reference call information; filter out a target conversion port connected to the target resource device port from the multiple conversion ports; and control the establishment of a target resource call path between the target conversion port and the target virtual port in the target virtual switch.
[0031] According to a second embodiment of the embodiments of the present application, a method for calling a running resource of a server is provided, comprising:
[0032] Sending a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of a target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called;
[0033] Acquire information that the reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the usage status of the reference resource device to an occupied state;
[0034] The target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
[0035] Optionally, sending the target call information corresponding to the reference resource device that has passed verification to the target server includes:
[0036] Detect the currently received message;
[0037] When a target verification message sent by the candidate resource switch is detected, the target call information corresponding to the reference resource device is sent to the target server, wherein the candidate resource switch is configured to send the target verification message to the target resource switch after the candidate resource device is verified, and the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
[0038] Optionally, before sending the call request to the candidate resource switch, the method further includes:
[0039] Acquire a device mapping table, wherein the device mapping table is pre-constructed according to the topological connection relationship between a plurality of resource switches in the running resource calling system, the plurality of resource switches including the target resource switch, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server;
[0040] Filter out the candidate resource device that meets the target requirement information from one or more candidate resource devices recorded in the device mapping table;
[0041] The target server address, the target switch address and the candidate device address are encoded to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
[0042] Optionally, the filtering out the candidate resource device that meets the target requirement information from the one or more candidate resource devices recorded in the device mapping table includes:
[0043] Obtaining a second correspondence between the resource device and the resource supply on the running resource calling system, wherein the second correspondence is generated based on a plurality of first correspondences, at least one of the first correspondences is obtained by collecting the resource supply of the resource device connected to the resource device port by one of the plurality of resource switches, and at least one of the first correspondences records the correspondence between the resource device and the resource supply on a corresponding resource switch, and the resource supply is the resource amount of the running resource currently allowed to be provided by the corresponding resource device;
[0044] Matching the candidate resource supply amount corresponding to at least one of the candidate resource devices from the second corresponding relationship to obtain a third corresponding relationship between the candidate resource devices and the candidate resource supply amounts;
[0045] The candidate resource devices whose candidate resource supply is greater than or equal to the target resource demand of the target server are screened out from the third corresponding relationship, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
[0046] Optionally, before encoding the target server address, the target switch address and the candidate device address to obtain the call request, the method further includes:
[0047] Receiving an initial server address in a reference address format sent by the target server;
[0048] Encoding the initial server address from the reference address format into a target address format to obtain the target server address, wherein the target address format is an address format that the resource switch in the running resource calling system allows to be recognized;
[0049] The target server address, the target switch address and the candidate device address are added to the initial request message to obtain the call request.
[0050] Optionally, before sending the call request to the candidate resource switch, the method further includes:
[0051] Receiving reference requirement information sent by the target server, wherein the reference requirement information is used to indicate that the target server needs to call running resources;
[0052] In response to the reference requirement information, detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information;
[0053] In the case where it is detected that the operating resources allowed to be provided by the target resource device do not meet the reference requirement information, the call request is generated.
[0054] Optionally, the receiving the reference requirement information sent by the target server includes:
[0055] Receive a reference resource requirement issued by the target server, wherein the target server includes a service operation device and a resource providing device, the reference resource requirement is used to indicate the resource amount of the operation resources currently required by the service operation device to operate the service, the resource providing device is configured to provide the operation resources to the service operation device, and the target server is configured to send the reference resource requirement to the target resource switch when the resource amount of the operation resources currently allowed to be provided by the resource providing device does not meet the resource amount required by the service operation device to operate the service;
[0056] The reference resource demand is added to the initial demand information to obtain the reference demand information.
[0057] Optionally, the detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information includes:
[0058] Detecting a target resource supply amount of the target resource device;
[0059] Extracting the reference resource requirement from the reference requirement information;
[0060] In the case where the target resource supply is greater than or equal to the reference resource demand, determining that the operating resources allowed to be provided by the target resource device meet the reference demand information;
[0061] In a case where the target resource supply is less than the reference resource demand, it is determined that the operating resources allowed to be provided by the target resource device do not meet the reference demand information.
[0062] According to a third embodiment of the embodiments of the present application, a server operation resource calling device is provided, including:
[0063] A first sending module is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of a target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called;
[0064] A first acquisition module is used to acquire information that a reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the usage status of the reference resource device to an occupied state;
[0065] The second sending module is used to send the target call information corresponding to the verified reference resource device to the target server and establish a target route, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
[0066] According to a fourth embodiment of the present application, a computer program product is further provided, including a computer program, wherein the computer program is executed by a processor to execute the steps in any of the above method embodiments.
[0067] According to a fifth embodiment of the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps of any one of the above method embodiments when run.
[0068] According to a sixth embodiment of the present application, there is further provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0069] In an embodiment of the present application, a server operation resource calling system is proposed, including: multiple resource switches, at least one resource switch is deployed with a switch port, a server port and a resource device port, at least one resource switch is connected to at least one reference resource switch through the switch port, at least one resource switch is allowed to call the operation resources connected to other resource switches through routing, the server port is used to connect to the server, and the resource device port is used to connect to the resource device; a target resource switch connected to the target server is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of the target server, and the target requirement information is used to indicate that the operation resources connected to other resource switches need to be called; the target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the operation resources on the reference resource device are currently allowed to be called, and the target route Used to indicate the resource call path between the reference resource device and the target server; the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the use status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed the verification, and switch the use status of the reference resource device to the occupied state, that is, when the target server needs to call the running resources connected to other resource switches, it can send a call request to the candidate resource switch through the target resource switch in the running resource call system, and the candidate resource switch can respond to the call request, verify the candidate resource device according to the use status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed the verification, and then the target resource switch will send the target call information corresponding to the verified reference resource device to the target server, and establish a target route, and the target resource switch can call the running resources on the reference resource device connected to the candidate resource switch through the target route. The above technical solution solves the problem that the upper limit of the resource amount of the server calling the running resources is low in the related technology, and achieves the technical effect of increasing the upper limit of the resource amount of the server calling the running resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] Figure 1 It is a schematic diagram of a server directly connected to MXC extended memory in the related art;
[0071] Figure 2 It is a schematic diagram of a server operation resource calling system in an embodiment of the present application;
[0072] Figure 3 is a schematic diagram of the operation of a target encoder according to an embodiment of the present application;
[0073] Figure 4It is a schematic diagram of a physical port in a running resource calling system of a server in an embodiment of the present application;
[0074] Figure 5 is a schematic diagram of the operation of a target decoder according to an embodiment of the present application;
[0075] Figure 6 is a schematic diagram of a target resource switch according to an embodiment of the present application;
[0076] Figure 7 It is a hardware structure block diagram of a computer device of a server running resource calling system in an embodiment of the present application;
[0077] Figure 8 It is a flow chart of a method for calling running resources of a server according to an embodiment of the present application;
[0078] Fig. 9 It is a structural block diagram of a running resource calling device of a server according to an embodiment of the present application;
[0079] Fig.10 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0080] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0081] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0082] The present application proposes a server operation resource calling system. Before describing the optional embodiments of the present application, in order to better understand the inventive concept of the present application and the creativity of the solution, the related technologies are first described:
[0083] Figure 1 This is a schematic diagram of a server directly connected to MXC extended memory in the related art, such as Figure 1 As shown, in the related technology, the server (HOST) is directly connected to the MXC in the MXC BOARD (memory expansion control board) through CXL (Compute Express Link). The MXC can expand the memory port of a single HOST into 4 DIMM SLOTs (DIMM, Dual In-line Memory Module), thereby calling the connected DIMM memory resources respectively through the 4 DIMM SLOTs.
[0084] However, the method of directly connecting the server to MXC to expand memory in the related art has the following technical problems:
[0085] 1) The memory that can be expanded by MXC directly connected to the HOST is very limited. The upper limit of the memory resources expanded by the server is limited by the number of DIMM SLOTs expanded by MXC. This number is usually fixed. When the server runs a business with a large demand for memory resources, the expanded memory resources may still not meet the business operation requirements;
[0086] 2) MXC and HOST are connected via CXL. The physical link of CXL transmission is PCIE physical link. The current mainstream servers need to connect a large number of GPUs. If the number of PCIE PORTs connected to GPUs is reduced in order to expand memory, it will not be worth the loss.
[0087] In order to solve the above technical problems, in this embodiment, a server operation resource calling system is provided, including: multiple resource switches, at least one of which is deployed with a switch port, a server port and a resource device port, at least one of which is connected to at least one reference resource switch through the switch port, at least one of which is allowed to call the operation resources connected to other resource switches through routing, the server port is used to connect to the server, and the resource device port is used to connect to the resource device; a target resource switch connected to the target server is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to the candidate resource device that meets the target requirement information of the target server. The target demand information is used to indicate the need to call the running resources connected to other resource switches; the target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server; the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed the verification, and switch the usage status of the reference resource device to the occupied state.
[0088] Optionally, in this embodiment, the operating resources of the server may include but are not limited to GPU (Graphics Processing Unit), computing resources provided by FPGA (Field-Programmable Gate Array), and memory resources provided by storage devices. In the following embodiment, memory resources are taken as an example of the operating resources of the server to describe the system and method for calling the operating resources of the server, without limiting the type of the operating resources of the server.
[0089] Optionally, in this embodiment, Figure 2 Schematic diagram of a server operation resource calling system in an embodiment of the present application. Figure 2 As shown, a running resource calling system includes: multiple resource switches (for example, taking 4 resource switches as an example: PBR CXL SWITCH 1 to 4), at least one of the resource switches is deployed with a switch port (for example, P2, only one is shown, and the remaining switch ports are not shown), a server port (for example, P2, only one is shown, and the remaining server ports are not shown) and a resource device port (for example, P3, only one is shown, and the remaining resource device ports are not shown), at least one of the resource switches is connected to at least one reference resource switch through the switch port, at least one of the resource switches is allowed to call the running resources connected to other resource switches through routing, the server port is used to connect to the server (for example, the server port P2 is connected to the server HOST 1), and the resource device port is used to connect to the resource device (for example, the resource device port P3 is connected to the resource device TYPE1 / 2 / 3 CXL DEVICE 2).
[0090] Among them, CXL: Compute Express Link, Computer Extended Interconnect, is a high-speed interconnect technology that can provide high-bandwidth, low-latency connections between the computer host's processor and accelerators, memory buffers, and intelligent input and output devices. CXL can be used for high-speed, low-latency connections between the CPU and GPU, hard disks (such as solid-state drives, hybrid hard disks, etc.) and network cards (such as standard network cards, smart network cards, etc.) inside the computer host. It can also be used for high-speed, low-latency connections between computer hosts, or between computer hosts and external devices such as memory resource pools (such as external hard disks) and GPU resource pools. For example, multiple processors, accelerators, storage and other devices can be connected through high-speed channels to provide higher bandwidth and lower latency, thereby improving computing efficiency.
[0091] PBR CXL SWITCH (resource switch, (PBR, Port Based Routing)). Use multiple PBR CXL SWITCHs to interconnect and expand the server's operating resources. Connect the memory resources of multiple servers (TYPE1 / 2 / 3 CXL DEVICE 1 to 8) to form a CXL FABRIC (CXL network structure) memory pool, thereby achieving memory resource expansion. A single server shares the memory resources in the entire CXL FABRIC.
[0092] The resource call system uses multiple hosts to expand memory resources. At least one host forms a CXL FABRIC through a PBRCXL SWITCH, and then obtains memory resources in the memory pool at will. Compared with the tree topology, the topology of the resource call system in this application has the ability to connect a large number of external ports, and can strategically specify the HOST and DEVICE access path (i.e., routing), increasing the stability of cross-SWITCH access. Figure 2 The topology shown is the simplest ring topology. Furthermore, it can be a more complex mesh topology. The access between the host and device (abbreviation of TYPE1 / 2 / 3 CXL DEVICE) connected to the same PBR CXL SWITCH can be achieved through one PBR CXL SWITCH. Any host and device connected to different PBR CXL SWITCHs can access each other by crossing only two PBR CXL SWITCHs.
[0093] Under the established firmware access strategy, during high-speed transmission, multiple hosts accessing the memory in the entire memory pool (composed of TYPE1 / 2 / 3 CXL DEVICE 1 to 8) will have the best and shortest access path, which improves the efficiency of memory retrieval during high-speed transmission and reduces the possibility of bit errors during transmission.
[0094] Optionally, in this embodiment, a target resource switch (e.g., PBR CXL SWITCH 1) connected to a target server (e.g., HOST 1) is used to send a call request to a candidate resource switch (e.g., PBR CXL SWITCH 2), wherein the candidate resource switch is connected to a candidate resource device (e.g., TYPE1 / 2 / 3 CXL DEVICE 4) that meets the target requirement information of the target server, and the target requirement information is used to indicate that running resources connected to other resource switches need to be called; target call information corresponding to a verified reference resource device (e.g., verified TYPE1 / 2 / 3 CXL DEVICE4) is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate a resource call path between the reference resource device and the target server;
[0095] The candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, notify the target resource switch that the reference resource device has passed the verification, and switch the usage status of the reference resource device to an occupied state.
[0096] The candidate resource switch determines that the candidate resource device has not passed the verification when confirming that the current use state of the candidate resource device is occupied, and determines that the candidate resource device has passed the verification when confirming that the current use state of the candidate resource device is idle.
[0097] As an optional solution, a target encoder is also deployed on the target resource switch, and the target encoder constructs a device mapping table in advance according to the topological connection relationship between the multiple resource switches in the running resource calling system, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server; the target encoder is used to filter out the candidate resource devices that meet the target requirement information from the one or more candidate resource devices recorded in the device mapping table; encode the target server address, the target switch address and the candidate device address to obtain the calling request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
[0098] Optionally, in this embodiment, Figure 3 is a schematic diagram of the operation of a target encoder according to an embodiment of the present application, such as Figure 3As shown, a target encoder MessageEncoder is also deployed on the target resource switch (e.g., PBR CXL SWITCH 1), and the target encoder receives target demand information REQ 1 from a server (e.g., HOST 1), and REQ 1 carries the HPA (Host Physical Address) of the server HOST 1. The target encoder constructs a device mapping table (also known as an interleave DPID table) in advance according to the topological connection relationship between the multiple resource switches in the running resource call system. The target encoder is used to filter out the candidate resource device (e.g., TYPE1 / 2 / 3 CXL DEVICE 4) that meets the target demand information from one or more candidate resource devices recorded in the device mapping table. The target server address HPA, the target switch address SPID (Source PBR ID, also known as source port-based routing identifier) and the candidate device address DPID (Destination PBR ID, also known as destination port-based routing identifier) are encoded to obtain the call request REQ 2.
[0099] As an optional solution, a processor port is also deployed on at least one of the resource switches, and the operating resource calling system also includes a processor, and at least one of the resource switches is connected to the processor through the processor port; at least one of the resource switches is used to collect the resource supply of the resource device connected to the resource device port, and obtain a first corresponding relationship between the resource device and the resource supply on at least one of the resource switches, wherein the resource supply is the resource amount of the operating resources currently allowed to be provided by the corresponding resource device; the processor is used to obtain from the processor port at least one of the multiple resource switches to collect the first corresponding relationship, and obtain multiple A first correspondence relationship; generating a second correspondence relationship between the resource device and the resource supply on the running resource calling system based on multiple first correspondence relationships; and sending the second correspondence relationship to the target resource switch through the target processor port; the target encoder is used to match the alternative resource supply corresponding to at least one of the alternative resource devices from the second correspondence relationship to obtain a third correspondence relationship between the alternative resource device and the alternative resource supply; filtering out the candidate resource device whose alternative resource supply is greater than or equal to the target resource demand of the target server from the third correspondence, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
[0100] Optionally, in this embodiment, Figure 4 Schematic diagram of a physical port in a server operation resource calling system in an embodiment of the present application, such as Figure 4 As shown, the server includes multiple server ports, for example, PE0-5, where PE stands for PCIE PORT (Peripheral Component Interconnect Express port (PCIE, Peripheral Component Interconnect Express)), a core computing resource port of the HOST, each port is PCIEX16, and supports bifurcation (division function).
[0101] In addition, at least one resource switch is a PBR CXL SWITCH, that is, a CXL SWITCH with PBR function. At least one resource switch may include, but is not limited to, 10 ports: PORT0-9: physical ports of the PBR CXL SWITCH, the physical channel of each physical port is PCIE X16, and bifurcation is supported. By default, PORT0 is the uplink management port, which manages the information of the PBR CXL SWITCH from the software level, fills in registers, etc. The remaining ports are configurable ports and can be defined according to PORT0. In this topology, PORT 1-4 is used as the uplink data port to receive the CXL data information of the HOST. PORT5-6 is used to connect to the downstream CXL DEVICE device, which is the memory expansion device of CXL TYPE3 in this topology. PORT7-9 is used to connect the remaining CXL SWITCHs to form a CXL FABRIC.
[0102] Among them, PORT 6 is connected to the DIMM BOARD (a memory expansion board where CXL extended memory resources are placed in the form of DDR5) through the MXC (Type 3 memory expansion controller).
[0103] PORT 8 may be, but is not limited to, the processor port mentioned above, and at least one resource switch PBR CXL SWITCH is connected to the processor MANAGEMENT MODULE (a module for managing CXL SWITCH, which may be a small CPU (Central Processing Unit) or a combination module of BMC (Baseboard Management Controller) and PCIE SWITCH) through the processor port PORT 8.
[0104] PORTs 5 and 6 may be, but are not limited to, the resource device ports mentioned above.
[0105] PORT 0, 7 and 9 may be, but are not limited to, the switch ports described above.
[0106] PORT 1 to 4 may be, but are not limited to, the switch ports mentioned above.
[0107] By running resource calls and connecting resource devices through physical ports in the system, the basic architecture of a server based on CXL FABRIC (which can be, but is not limited to, an AI (Artificial Intelligence) server) is formed. After the HOST and GPU are powered on, the GPU receives PCIE resources and starts working on AI. CXL SWITCH also interacts with the HOST and MXC on the upstream and downstream ports at the same time, and converts them into memory resources under the management of the MANAGEMENT MODULE. The memory resources configured by the GPU for acceleration according to the system policy will not only be limited to the NATIVE memory resources directly connected to the HOST, but can also be obtained synchronously from the CXL extended memory pool (DIMM BOARD 1 to 8), which speeds up the acquisition of memory addresses, improves the efficiency of data exchange, and reduces the bit error rate of data exchange. Figure 4 The DIMMBOARD in the Figure 2 TYPE1 / 2 / 3 CXL DEVICE in.
[0108] As an optional solution, a target decoder and a target converter are deployed on the candidate resource switch, which are interconnected; the target decoder is used to decode the candidate device address of the candidate resource device to be verified, the target server address of the target server, and the target switch address of the target resource switch from the call request; detect the current usage status of the candidate resource device; when the usage status is an idle state, transmit a reference verification message carrying the candidate device address, the target switch address and the target server address to the target converter; and switch the current usage status of the candidate resource device to an occupied state; the target converter is used to extract the target switch address from the reference verification message when receiving the reference verification message; convert the reference verification message into a target verification message; and send the target verification message to the target switch address, wherein the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
[0109] Optionally, in this embodiment, Figure 5 is a schematic diagram of the operation of a target decoder in an embodiment of the present application, such as Figure 5As shown in the figure, GFD (GLOBAL FABRIC ACCESS MEMORY DEVICE, global fabric access memory device, "global" refers to the entire system or network, "Fabric" usually refers to the network structure, and "access memory device" refers to the device used to access memory resources.) initiates the target demand information REQ 1 and sends the host physical address HPA to the target encoder. The target encoder encodes the data according to the Fabric Address Segment Table based on the received information and enters the target encoder again, and then encodes it according to the Interleave DPID Table. In this way, the output call request REQ 2 field contains DPID (candidate device address), SPID (target switch address), and HPA. The source PBR ID enters the GFD decoder and waits for the next step. The GFD decoder receives the destination PBR ID. The requested content enters the SPID decoder for dynamic capacity protection. After that, the data is calculated according to the DPA consistency parameters and enters the SNOOP filter. The DPID=PIDx, DPA relationship group is filtered out and matched in the filter and enters the GFD Decoder Table to match the previous SPID. The result is sent to the SPID decoder (SPIDDecoder, target decoder). After decoding, the SPID decoder sends a message returning an invalid confirmation to the target converter CONVERTER. The target converter modifies the received information according to the standard format and outputs an invalid HOST PBR address to the HOST. In this way, the process of the host obtaining memory through the PBR SWITCH is completed.
[0110] As an optional solution, the running resource calling system also includes a resource expansion device, and at least one of the resource switches in the running resource calling system allows one of the resource expansion devices to be connected through one of the resource device ports; at least one of the resource expansion devices is used to expand one of the connected resource device ports into multiple ports that allow connection to the resource devices.
[0111] Optionally, in this embodiment, the resource extension device may be, but is not limited to, an MXC.
[0112] As an optional solution, an expansion controller and multiple device expansion ports are deployed on the resource expansion device, and the multiple device expansion ports on at least one of the resource expansion devices are connected to a resource device port through the expansion controller; at least one of the device expansion ports is used to connect to a resource device; and the expansion controller is used to call the operating resources of the resource device connected to at least one of the device expansion ports for the resource switch to which the connected resource device port belongs.
[0113] Optionally, in this embodiment, one resource device port is expanded into multiple device expansion ports through an expansion controller of the resource expansion device to achieve further resource device expansion.
[0114] As an optional solution, the operating resource calling system also includes a processor, the target resource device port of the target resource switch is connected to the target resource device, the target resource switch is deployed with a target processor port, and a resource detector and a request generator connected to each other, the resource detector is connected to the processor through the target processor port; the resource detector is used to receive reference demand information of the target server through the target server port, wherein the target resource switch is connected to the target server through the target server port, and the reference demand information is used to indicate that the target server needs to call the operating resources; and detect whether the operating resources allowed to be provided by the target resource device meet the reference demand information. information; upon detecting that the operating resources allowed to be provided by the target resource device do not meet the reference requirement information, sending a target generation instruction to the request generator; upon detecting that the operating resources allowed to be provided by the target resource device meet the reference requirement information, sending reference call information to the processor through the target processor port, wherein the reference call information is used to indicate that the operating resources on the target resource device are allowed to be called by the target server; the request generator is used to generate the target requirement information when receiving the target generation instruction; the processor is used to control the target server to call the operating resources on the target resource device when receiving the reference call information.
[0115] Optionally, in this embodiment, if Figure 4As shown, the operation resource calling system also includes a processor (MANAGEMENT CPU), the target resource device port (for example, PORT 5) of the target resource switch (for example, PBR CXL SWITCH 1) is connected to the target resource device (DIMM BOARD1), the target resource switch deploys a target processor port (for example, PORT 8), and a resource detector and a request generator connected to each other, the resource detector is connected to the processor through the target processor port; the resource detector is used to receive the target server (for example, HOST 2) through the target server port (for example, PORT 2). 1), wherein the target resource switch is connected to the target server through the target server port, and the reference requirement information is used to indicate that the target server needs to call the running resources; detect whether the running resources allowed to be provided by the target resource device meet the reference requirement information; if it is detected that the running resources allowed to be provided by the target resource device do not meet the reference requirement information, send a target generation instruction to the request generator; if it is detected that the running resources allowed to be provided by the target resource device meet the reference requirement information, send reference call information to the processor through the target processor port, wherein the reference call information is used to indicate that the running resources on the target resource device are allowed to be called by the target server; the request generator is used to generate the target requirement information when receiving the target generation instruction; the processor is used to control the target server to call the running resources on the target resource device when receiving the reference call information.
[0116] By setting the priority of the target server to call running resources in the above way, the target server HOST 1 needs to run resources to run services, which can be but not limited to the GPU on HOST 1 needs to run resources to run AI services. The GPU on HOST 1 preferentially uses the memory resources (a type of running resources) on the SSD (Solid State Drive) directly connected to HOST 1. If the memory resources on the SSD (Solid State Drive) directly connected to HOST 1 do not meet the GPU running AI services, the resource devices on the directly connected resource switch (for example, the target resource device DIMM BOARD1 on the target resource switch PBR CXL SWITCH 1) are called. If the memory resources on the target resource device DIMM BOARD1 do not meet the GPU running AI services, the resource devices on other resource switches are further called.
[0117] As an optional solution, multiple virtual switches and multiple conversion ports are also deployed in the target resource switch, at least one of the virtual switches allows connection to a corresponding server through a server port, and multiple virtual ports are deployed on at least one of the virtual switches, and at least one of the virtual ports allows establishment of a resource call path with one or more of the conversion ports; at least one of the conversion ports is used to convert at least one of the connected virtual ports into a physical port, wherein at least one of the physical ports is connected to a corresponding resource device port, and the resource call path is a path for calling running resources; the processor is used to locate the target virtual switch connected to the target server port from the multiple virtual switches when receiving the reference call information; filter out the target conversion port connected to the target resource device port from the multiple conversion ports; and control the establishment of a target resource call path between the target conversion port and the target virtual port in the target virtual switch.
[0118] Optionally, in this embodiment, Figure 6 is a schematic diagram of a target resource switch according to an embodiment of the present application, such as Figure 6 As shown, the target resource switch is also deployed with multiple virtual switches (VCS, Virtual Component Switch) and multiple conversion ports (PHY PORT, PPB0 and PPB1), at least one of the conversion ports is used to convert at least one of the connected virtual ports into a physical port to connect with a resource device (e.g., PCIE / CXL DEVICE, TYEP3POOLED0 and TYEP3 POOLED1), the resource device can be SLD (Single Logical Device) or MLD (Multi Logical Device), at least one of the virtual switches allows a server HOST to be connected through a server port ROOT PORT, at least one of the virtual switches is deployed with multiple virtual ports (VPPB1 and 2), ROOT PORT is a data port connected to the HOST, as an uplink port. VPPB is a virtual PCI to PCI bridge in the CXL switch owned by the host. It can be bound to a port that is disconnected, connected to a PCIe component, or connected to a CXL component. VCS includes entities belonging to a single VH in a physical switch. It is identified by a VCS ID (for example, VCS 0 and 1).
[0119] After the PBR CXL SWICTH starts and performs initialization, the processor port manages it through the PCIE port. Management is mainly done by configuring the PPB, including static configuration and dynamic configuration. Management is an external logical process that uses standardized commands to query and configure the operating status of the system. The processor determines when reconfiguration is needed and starts commands to execute the logical process of configuration. It can take any form, including but not limited to software running on the host, embedded software running on the BMC, embedded firmware running on another CXL device or CXL switch, or a state machine running in the CXL device itself. The processor transmits its management commands through the CCI (Component Command Interface) channel of the CXL SWITCH, and can perform memory allocation, telemetry management, logical device erasure, error handling, etc. The memory allocation of the system's extended memory pool can be monitored in dynamic management, and the real-time allocation memory resources of which GPU can be observed, so that the remaining memory can be allocated additionally.
[0120] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 7 1 is a hardware structure block diagram of a computer device of a server operating resource calling system in an embodiment of the present application. Figure 7 As shown, the server device may include one or more ( Figure 7 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 7 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 7 More or fewer components as shown, or with Figure 7 Different configurations are shown.
[0121] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the running resource calling system of the server in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0122] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0123] In this embodiment, a method for calling a running resource of a server is provided. Figure 8 is a flow chart of a method for calling a running resource of a server according to an embodiment of the present application, such as Figure 8 As shown, the process includes the following steps:
[0124] Step S12, sending a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of the target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called;
[0125] Optionally, in this embodiment, the server operation resource calling method can be applied to, but not limited to, a target resource switch in the operation resource calling system, where the target resource switch is a resource switch directly connected to the target server, such as Figure 4 As shown, when HOST 1 is the target server, PBR CXL SWICTH 1 is the target resource switch, and the remaining resource switches (eg, PBR CXL SWICTHs 2, 3, and 4) are candidate resource switches.
[0126] Step S14, obtaining information that the reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the use status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the use status of the reference resource device to an occupied state;
[0127] Optionally, in this embodiment, taking DIMM BOARD 4 as a candidate resource device as an example, DIMM BOARD 4 is connected to PBR CXL SWICTH 2, so PBR CXL SWICTH 2 responds to the call request sent by PBR CXLSWICTH 1 as a candidate resource switch, and verifies the candidate resource device according to the usage status of the candidate resource device DIMM BOARD 4. For example, when the current usage status of the candidate resource device DIMM BOARD 4 is an idle state, it is determined that the candidate resource device DIMM BOARD 4 is a reference resource device that has passed the verification. When the current usage status of the candidate resource device DIMM BOARD 4 is an occupied state, it is determined that the candidate resource device DIMM BOARD 4 has not passed the verification.
[0128] Step S16, sending the target call information corresponding to the verified reference resource device to the target server, and establishing a target route, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
[0129] Optionally, in this embodiment, resource switches in the running resource calling system are all PBR CXL SWICTHs, that is, CXL SWITCHs with PBR functions. PBR functions: port-based routing functions, that is, allowing running resources connected to other resource switches to be called through routing.
[0130] like Figure 4 As shown, to run the resource call system, the CXL DEVICE and GPU need to be powered on first, which is the same as the power-on timing of the standard PCIE device, and wait for the HOST to be powered on for information transmission. In this ring topology, for the CXLDEVICE and GPU, they wait for the PBR CXL SWICTH to be powered on for initialization. At the same time, the HOST and the processor (MANAGEMENT CPU) are started, and both establish data transmission channels with their upstream and downstream devices according to the standard PCIE TRAINING process.
[0131] Before the HOST obtains the memory (running resources) extended by the PBR CXL SWICTH for the first time, the processor needs to establish a TRAINGING management link with the PBR CXL SWICTH. The management link is established after the PBR CXL SWICTH performs its own bootinitial. The processor first obtains static PBR CXL SWICTH information including port configuration, including direction (upstream or downstream), width, supported rate, number of vPPBs of at least one VCS, initial port binding configuration, CCI (Component Command Interface) access settings, and any vendor-defined management authority settings. The acquisition of this information belongs to the processor's static management of the PBR CXL SWICTH.
[0132] The GPU starts to work, first taking the memory resources directly connected to the CPU, and then taking the memory resources from the memory pool extended by the running resource call system through PBR CXLSWICTH. The process of taking the running resources in the memory pool extended by PBR CXL SWICTH is as follows: Figure 5As shown: HOST first sends a request for access to the memory address REQ 1. After the upstream port of CXL PBRSWITCH receives the message, it is encoded by the target encoder (Message Encoder). The format of the first HOST PHYSICAL ADDRESS is converted according to the format of the Fabric Address Segment Table, and then the converted message is converted into the corresponding message according to the format of the Interleave DPID Table and sent to the target decoder (SPID Decoder). The request sent to the target decoder will contain the Destination PBR ID, SOURCEPBR ID, and HOST PHYSICAL ADDRESS. The SPID will be sent to the global fabric access memory device decoder (GFD Decoder Table), and the addressing will be waited for according to the standard format of the G-FAM TABLE, and the DPID will enter the decoder's response confirmation and then the routing line inside the PBR FABRIC. After the message containing SPID and DPA is sent to the target decoder, the dynamic capacity information is first parsed and asset information protection (Dynamic Capacity Protection) is performed. At the same time, continuous calculation is performed according to DPA and sent to the SNOOP filter (SNOOP FILTER). The SNOOP filter forms the received message starting with TAG into a DPID=(PIDx,DPA) group and sends it to the DPID decoder and GDT. It is encoded in the GDT and needs to correspond to the previous SPID. If it corresponds, it means that the routing inside CXL FABRIC is successful and the next step can be performed. If it is not matched successfully, the information of the DPID group is resent to the SPID decoder for repeated operations. If it can be matched within a certain number of times, CXL FABRIC allows continued memory access, otherwise the system keeps this request here and reports an error to the upper-layer software. If the routing is successful after matching inside GDT, it is further decoded on the DPID decoder and the message containing DPID, SPID, and HPA is sent to the converter CONVERTER in the form of BISnp. The converter screens the message information according to certain conversion rules and sends the HPST PHYSICAL ADDRESS to the HOST in the form of BISnp. In this way, the HOST obtains the memory resources based on the PBR CXL FABRIC extension. The GPU obtains the memory from the HOST through the PCIE channel to accelerate the business (AI training).
[0133] The processor will perform dynamic management after the HOST obtains the memory expanded by CXL FABRIC for the first time. Dynamic management means that after CCI is operational, the processor can send management commands to PBR CXL SWICTH. The processor can query PBR CXL SWICTH information and configuration details, bind or unbind ports, register to receive and process event notifications (such as hot plug, accidental removal and failure) from PBR CXL SWICTH on PBR CXLSWICTH. DIMM BOARD belongs to MLD device. The processor can perform MLD discovery, LD binding / unbinding, routing management command and can connect to MLD by transmitting its management commands through the CCI channel of PBR CXL SWICTH connected by direct connection or through the device. The processor can perform memory allocation and QoS (Quality of Service) telemetry management, security (such as LD erasure after unbinding), error handling, etc. When the PBR CXL SWICTH extended memory is used in large quantities, the processor can monitor which port requires huge memory resources, and infer that the GPU connected to the HOST is under great pressure and memory resources are tight. Then, the corresponding command can be transmitted in the CCI channel of the processor to change the route of the HOST to obtain memory in CXL FABRIC, for example, Figure 6 As shown in the figure, VPPB2 in VCS0 of CXL FABRIC connected by virtual-physical conversion can be connected to PPB1 to obtain memory resources from VCS1. This enables dynamic allocation of CXL FABRIC extended memory in AI work, improving memory utilization and the efficiency of AI reasoning and training.
[0134] In the ring topology of four PBR CXL SWICTHs, different hosts can dynamically call memory across only two PBR CXL SWICTHs, and the remaining hosts can call non-DOMAIN memory. The GPU still uses the memory called by its own host. In this way, the memory resource capacity obtained by the GPU will be greatly improved, and calling memory through the CXL FABRIC composed of cross-PBR CXL SWICTH does not increase latency.
[0135] As an optional solution, sending the target call information corresponding to the reference resource device that has passed the verification to the target server includes:
[0136] S21, detecting the currently received message;
[0137] S22, when detecting the target verification message sent by the candidate resource switch, sending the target call information corresponding to the reference resource device to the target server, wherein the candidate resource switch is configured to send the target verification message to the target resource switch after the candidate resource device is verified, and the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
[0138] Optionally, in this embodiment, the target verification message may be, but is not limited to, a message in the BISnp format sent by the above-mentioned converter.
[0139] As an optional solution, before sending the call request to the candidate resource switch, the method further includes:
[0140] S31, obtaining a device mapping table, wherein the device mapping table is pre-constructed according to the topological connection relationship between a plurality of resource switches in the running resource calling system, the plurality of resource switches including the target resource switch, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server;
[0141] S32, filtering out the candidate resource device that meets the target requirement information from the one or more candidate resource devices recorded in the device mapping table;
[0142] S33, encode the target server address, the target switch address and the candidate device address to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
[0143] Optionally, in this embodiment, the device mapping table may be, but is not limited to, the Interleave DPIDTable. The target server address, the target switch address and the candidate device address may be encoded by a target encoder (Message Encoder) to obtain the call request REQ 2.
[0144] As an optional solution, the step of selecting the candidate resource device that meets the target requirement information from the one or more candidate resource devices recorded in the device mapping table includes:
[0145] S41, obtaining a second correspondence between the resource device and the resource supply on the running resource calling system, wherein the second correspondence is generated based on a plurality of first correspondences, at least one of the first correspondences is obtained by collecting the resource supply of the resource device connected to the resource device port by one of the plurality of resource switches, and at least one of the first correspondences records the correspondence between the resource device and the resource supply on a corresponding resource switch, and the resource supply is the resource amount of the running resource currently allowed to be provided by the corresponding resource device;
[0146] S42, matching the candidate resource supply corresponding to at least one of the candidate resource devices from the second corresponding relationship to obtain a third corresponding relationship between the candidate resource devices and the candidate resource supply;
[0147] S43, filtering out the candidate resource devices whose candidate resource supply quantity is greater than or equal to the target resource demand quantity of the target server from the third corresponding relationship, wherein the target resource demand quantity is used to indicate the resource quantity of the running resources currently required by the target server.
[0148] Optionally, in this embodiment, the second corresponding relationship between the resource device and the resource supply on the running resource calling system can be obtained through a processor but is not limited to it.
[0149] As an optional solution, before encoding the target server address, the target switch address and the candidate device address to obtain the call request, the method further includes:
[0150] S51, receiving an initial server address in a reference address format sent by the target server;
[0151] S52, encoding the initial server address from the reference address format into a target address format to obtain the target server address, wherein the target address format is an address format that the resource switch in the running resource calling system allows to be recognized;
[0152] S53, adding the target server address, the target switch address and the candidate device address to the initial request message to obtain the call request.
[0153] Optionally, in this embodiment, the GPU mentioned above starts to perform business work by first taking the memory resources directly connected to the CPU, and then taking the memory resources from the memory pool extended by the running resource calling system through the PBR CXL SWICTH. The process of taking the running resources in the memory pool extended by the PBR CXL SWICTH is as follows: Figure 5As shown in the figure: HOST first sends a request to access the memory address REQ 1. After the upstream port of CXL PBR SWITCH receives the message, it is encoded by the target encoder (MessageEncoder). It first converts the format of the first HOSTPHYSICAL ADDRESS according to the format of the Fabric Address Segment Table, and then converts the converted message into the corresponding message according to the format of the Interleave DPID Table and sends it to the target decoder (SPID Decoder). The request sent to the target decoder will contain the Destination PBR ID, SOURCE PBR ID, and HOST PHYSICAL ADDRESS.
[0154] The initial server address may be encoded from the reference address format to the target address format according to the Fabric Address Segment Table by a target encoder, but is not limited to (ie, the format of the first HOST PHYSICAL ADDRESS is first converted according to the format of the Fabric Address Segment Table).
[0155] The target server address, the target switch address and the candidate device address are added to the initial request message to obtain the call request, wherein the target server address may be a HOST PHYSICAL ADDRESS, the target switch address may be a SOURCE PBR ID, and the candidate device address may be a Destination PBR ID.
[0156] As an optional solution, before sending the call request to the candidate resource switch, the method further includes:
[0157] S61, receiving reference requirement information sent by the target server, wherein the reference requirement information is used to indicate that the target server needs to call running resources;
[0158] S62, responding to the reference requirement information, detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information;
[0159] S63: When it is detected that the operating resources allowed to be provided by the target resource device do not meet the reference requirement information, generate the call request.
[0160] Optionally, in this embodiment, the target server calls the running resource and sets the calling priority. The target server HOST 1 needs to run resources to run the service, which may be but is not limited to the GPU on HOST 1 needs to run resources to run the AI service. The GPU on HOST 1 gives priority to using the memory resources (a type of running resources) on the SSD (Solid State Drive) directly connected to HOST 1. If the memory resources on the SSD (Solid State Drive) directly connected to HOST 1 do not meet the GPU running the AI service, the resource device on the directly connected resource switch is called (for example, the target resource device DIMM BOARD1 on the target resource switch PBRCXL SWITCH 1). If the memory resources on the target resource device DIMM BOARD1 do not meet the GPU running the AI service, the resource devices on other resource switches are further called.
[0161] As an optional solution, the receiving the reference requirement information sent by the target server includes:
[0162] S71, receiving a reference resource requirement issued by the target server, wherein the target server includes a service operation device and a resource providing device, the reference resource requirement is used to indicate the resource amount of the operation resources currently required by the service operation device to operate the service, the resource providing device is configured to provide the operation resources to the service operation device, and the target server is configured to send the reference resource requirement to the target resource switch when the resource amount of the operation resources currently allowed to be provided by the resource providing device does not meet the resource amount required by the service operation device to operate the service;
[0163] S72, adding the reference resource demand to the initial demand information to obtain the reference demand information.
[0164] Optionally, in this embodiment, the target server may be, but is not limited to, Figure 4 For HOST 1 in the example, the corresponding service running device may be, but is not limited to, a GPU on HOST 1.
[0165] As an optional solution, the detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information includes:
[0166] S81, detecting the target resource supply of the target resource device;
[0167] S82, extracting the reference resource requirement from the reference requirement information;
[0168] S83, when the target resource supply is greater than or equal to the reference resource demand, determining that the operating resources allowed to be provided by the target resource device meet the reference demand information;
[0169] S84: When the target resource supply is less than the reference resource demand, determine that the operating resources allowed to be provided by the target resource device do not meet the reference demand information.
[0170] Optionally, in this embodiment, the target resource switch determines whether the operating resources allowed to be provided by the target resource device meet the reference demand information by detecting whether the target resource supply of the directly connected target resource device is greater than or equal to the reference resource demand.
[0171] Through the server running resource calling method proposed in this application, four CXL SWITCHs (PBR CXL SWITCHs) of the same size with PBR function are used to form CXL FABRIC to match the AI server to accelerate the AI work. The four CXL SWITCHs are connected to the HOST through the physical link of PCIE, and are interconnected with each other to form a ring FABRIC. Certain encoding and decoding are used to call memory across the HOST in the FABRIC composed of CXL SWITCH, forming a memory pool with a deeper pooling depth. The processor (MANAGEMENT CPU) is managed through a high-speed interface, using a combination of dynamic and static management to manage the entire CXL FABRIC, reading CXL SWITCH information and configuration details, binding or unbinding ports, registering to receive and process event notifications from CXL SWITCH, hot plugging, handling errors, etc. It can not only define the basic parameters of SWITCH and CXL FABRIC, but also monitor the amount of resources called by memory to infer which HOST has a large business pressure, and use the CCI interface to feedback to the FABRIC composed of CXL SWITCH to perform routing inside the PBR FABRIC to optimize resource allocation, thereby achieving the efficiency of HOST calling memory, directly increasing the available memory capacity of the GPU for AI work, and accelerating AI business.
[0172] It is worth noting that the server operation resource calling method proposed in this application does not use a single SWITCH to connect MXC and DIMM BORAD to expand memory, but uses four CXL SWITCHs to interconnect for memory expansion. Using CXL SWITCH with PBR function for memory expansion, memory can be called across HOSTs. Improve the previous tree-like memory expansion topology, and adopt a ring topology to increase the flexibility of system memory calls. Use the management module to perform high-speed management through the CCI interface, and increase dynamic management compared to the previous static management. Improve the acceleration of AI business that was completely dependent on the NATIVE (local) memory resources of the attached HOST. Now, CXL FABRIC can be used to call the memory resources in the extended memory pool of CXL. In the process of dynamic management of CXL FABRIC, the pressure of the GPU connected to the system can be judged according to the real-time call memory quantity of each HOST to perform dynamic memory call management, thereby improving the system's business processing rate.
[0173] It can effectively solve the following problems: low memory utilization of tree-like memory expansion topology, the problem that HOST cannot call memory across SWITCH, and the problem that server cannot call running resources according to current business pressure.
[0174] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0175] In the present embodiment, a running resource calling device of a server is also provided, and the device is used to implement the above-mentioned embodiment and preferred implementation mode, and the descriptions which have been made are not repeated here. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.
[0176] Fig. 9 is a structural block diagram of a server operation resource calling device according to an embodiment of the present application; Fig. 9 As shown, including:
[0177] The first sending module 902 is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of a target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called;
[0178] The first acquisition module 904 is used to obtain information that the reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the usage status of the reference resource device to an occupied state;
[0179] The second sending module 906 is used to send the target call information corresponding to the verified reference resource device to the target server and establish a target route, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
[0180] In an exemplary embodiment, the second sending module includes:
[0181] A first detection unit, used to detect a currently received message;
[0182] A sending unit, used to send the target call information corresponding to the reference resource device to the target server when detecting the target verification message sent by the candidate resource switch, wherein the candidate resource switch is configured to send the target verification message to the target resource switch after the candidate resource device is verified, and the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
[0183] In an exemplary embodiment, the apparatus further comprises:
[0184] A second acquisition module is used to acquire a device mapping table before sending the call request to the candidate resource switch, wherein the device mapping table is pre-constructed according to the topological connection relationship between multiple resource switches in the running resource call system, the multiple resource switches include the target resource switch, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server;
[0185] A screening module, used to screen out the candidate resource device that meets the target requirement information from one or more candidate resource devices recorded in the device mapping table;
[0186] The first encoding module is used to encode the target server address, the target switch address and the candidate device address to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
[0187] In an exemplary embodiment, the screening module comprises:
[0188] an acquisition unit, configured to acquire a second correspondence between the resource device and the resource supply on the running resource calling system, wherein the second correspondence is generated based on a plurality of first correspondences, at least one of the first correspondences is obtained by collecting the resource supply of the resource device connected to the resource device port by one of the plurality of resource switches, and at least one of the first correspondences records the correspondence between the resource device and the resource supply on a corresponding resource switch, and the resource supply is the resource amount of the running resource currently allowed to be provided by the corresponding resource device;
[0189] a matching unit, configured to match the candidate resource supply amount corresponding to at least one of the candidate resource devices from the second corresponding relationship, and obtain a third corresponding relationship between the candidate resource devices and the candidate resource supply amounts;
[0190] A screening unit is used to screen out the candidate resource devices whose alternative resource supply is greater than or equal to the target resource demand of the target server from the third corresponding relationship, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
[0191] In an exemplary embodiment, the apparatus further comprises:
[0192] A first receiving module, configured to receive an initial server address in a reference address format sent by the target server before encoding the target server address, the target switch address and the candidate device address to obtain the call request;
[0193] A second encoding module, configured to encode the initial server address from the reference address format into a target address format to obtain the target server address, wherein the target address format is an address format that the resource switch in the running resource calling system allows to be recognized;
[0194] The adding module is used to add the target server address, the target switch address and the candidate device address to the initial request message to obtain the calling request.
[0195] In an exemplary embodiment, the apparatus further comprises:
[0196] A second receiving module, configured to receive reference requirement information sent by the target server before sending the call request to the candidate resource switch, wherein the reference requirement information is used to indicate that the target server needs to call a running resource;
[0197] A response module, used to respond to the reference requirement information and detect whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information;
[0198] The generating module is used to generate the calling request when it is detected that the operating resources allowed to be provided by the target resource device do not meet the reference requirement information.
[0199] In an exemplary embodiment, the second receiving module includes:
[0200] A receiving unit, configured to receive a reference resource requirement issued by the target server, wherein the target server includes a service operation device and a resource providing device, the reference resource requirement is used to indicate the resource amount of the operation resources currently required by the service operation device to operate the service, the resource providing device is configured to provide the operation resources to the service operation device, and the target server is configured to send the reference resource requirement to the target resource switch when the resource amount of the operation resources currently allowed to be provided by the resource providing device does not meet the resource amount required by the service operation device to operate the service;
[0201] The adding unit is used to add the reference resource demand to the initial demand information to obtain the reference demand information.
[0202] In an exemplary embodiment, the response module includes:
[0203] A second detection unit, used to detect the target resource supply of the target resource device;
[0204] An extraction unit, configured to extract the reference resource requirement from the reference requirement information;
[0205] A first determining unit, configured to determine, when the target resource supply is greater than or equal to the reference resource demand, that the operating resources allowed to be provided by the target resource device meet the reference demand information;
[0206] The second determining unit is configured to determine, when the target resource supply is less than the reference resource demand, that the operating resources allowed to be provided by the target resource device do not satisfy the reference demand information.
[0207] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0208] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method described in each embodiment of the present application; the computer program product also includes a non-volatile computer-readable storage medium, which stores the computer program, and when executed by a processor, implements the steps of the method described in each embodiment of the present application.
[0209] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0210] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0211] An embodiment of the present application further provides an electronic device, Fig.10 is a schematic diagram of an electronic device according to an embodiment of the present application, such as Fig.10 As shown, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0212] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0213] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0214] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0215] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A server operation resource calling system, characterized in that: include: A plurality of resource switches, at least one of which is deployed with a switch port, a server port and a resource device port, at least one of which is connected to at least one reference resource switch via the switch port, at least one of which is allowed to call running resources connected to other resource switches through routing, the server port is used to connect to a server, and the resource device port is used to connect to a resource device; A target resource switch connected to a target server is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of the target server, and the target requirement information is used to indicate that it is necessary to call the running resources connected to other resource switches; the target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server; The candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, notify the target resource switch that the reference resource device has passed the verification, and switch the usage status of the reference resource device to an occupied state.
2. The system according to claim 1, characterized in that A target encoder is also deployed on the target resource switch, and the target encoder constructs a device mapping table in advance according to the topological connection relationship between the plurality of resource switches in the running resource calling system, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server; The target encoder is used to filter out the candidate resource device that meets the target requirement information from one or more candidate resource devices recorded in the device mapping table; The target server address, the target switch address and the candidate device address are encoded to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
3. The system according to claim 2, characterized in that A processor port is also deployed on at least one of the resource switches, the running resource calling system further includes a processor, and at least one of the resource switches is connected to the processor through the processor port; At least one of the resource switches is used to collect the resource supply of the resource device connected to the resource device port, and obtain a first corresponding relationship between the resource device and the resource supply on at least one of the resource switches, wherein the resource supply is the resource amount of the running resources currently allowed to be provided by the corresponding resource device; The processor is used to obtain the first correspondence relationship collected by at least one of the multiple resource switches from the processor port to obtain multiple first correspondence relationships; generate a second correspondence relationship between the resource device and the resource supply on the running resource calling system according to the multiple first correspondence relationships; and send the second correspondence relationship to the target resource switch through the target processor port; The target encoder is used to match the alternative resource supply corresponding to at least one of the alternative resource devices from the second corresponding relationship to obtain a third corresponding relationship between the alternative resource devices and the alternative resource supply; and to filter out the candidate resource devices whose alternative resource supply is greater than or equal to the target resource demand of the target server from the third corresponding relationship, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
4. The system according to claim 1, characterized in that The candidate resource switch is provided with a target decoder and a target converter connected to each other; The target decoder is used to decode from the call request the candidate device address of the candidate resource device to be verified, the target server address of the target server, and the target switch address of the target resource switch; Detecting the current usage state of the candidate resource device; when the usage state is an idle state, transmitting a reference verification message carrying the candidate device address, the target switch address and the target server address to the target converter; and switching the current usage state of the candidate resource device to an occupied state; The target converter is used to extract the target switch address from the reference verification message when receiving the reference verification message; and convert the reference verification message into a target verification message; The target verification message is sent to the target switch address, wherein the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed verification.
5. The system according to claim 1, characterized in that The operation resource calling system further comprises a resource expansion device, and at least one of the resource switches in the operation resource calling system allows one of the resource expansion devices to be connected via one of the resource device ports; At least one of the resource expansion devices is used to expand a connected port of the resource device into a plurality of ports that allow the resource device to be connected.
6. The system according to claim 5, characterized in that An expansion controller and a plurality of device expansion ports are deployed on the resource expansion device, and the plurality of device expansion ports on at least one of the resource expansion devices are connected to one of the resource device ports through the expansion controller; at least one of the device expansion ports is used to connect to one of the resource devices; The extension controller is used to call the running resources of the resource device connected to at least one of the device extension ports for the resource switch to which the connected resource device port belongs.
7. The system according to claim 1, characterized in that The operation resource calling system also includes a processor, a target resource device port of the target resource switch is connected to a target resource device, the target resource switch is deployed with a target processor port, and a resource detector and a request generator connected to each other, the resource detector is connected to the processor through the target processor port; The resource detector is used to receive reference demand information of the target server through the target server port, wherein the target resource switch is connected to the target server through the target server port, and the reference demand information is used to indicate that the target server needs to call the running resources; detect whether the running resources allowed to be provided by the target resource device meet the reference demand information; in the case of detecting that the running resources allowed to be provided by the target resource device do not meet the reference demand information, send a target generation instruction to the request generator; in the case of detecting that the running resources allowed to be provided by the target resource device meet the reference demand information, send reference call information to the processor through the target processor port, wherein the reference call information is used to indicate that the running resources on the target resource device are allowed to be called by the target server; The request generator is used to generate the target requirement information when receiving the target generation instruction; The processor is used to control the target server to call the running resources on the target resource device when receiving the reference call information.
8. The system according to claim 7, characterized in that The target resource switch is further configured with multiple virtual switches and multiple conversion ports, at least one of the virtual switches allows connection with a corresponding server through a server port, at least one of the virtual switches has multiple virtual ports deployed, and at least one of the virtual ports allows establishment of a resource call path with one or more of the conversion ports; At least one of the conversion ports is used to convert at least one of the connected virtual ports into a physical port, wherein at least one of the physical ports is connected to a corresponding resource device port, and the resource calling path is a path for calling and running resources; The processor is used to locate a target virtual switch connected to the target server port from the multiple virtual switches when receiving the reference call information; filter out a target conversion port connected to the target resource device port from the multiple conversion ports; and control the establishment of a target resource call path between the target conversion port and the target virtual port in the target virtual switch.
9. A resource calling method of a server, characterized in that: include: Sending a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of a target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called; Acquire information that the reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the usage status of the reference resource device to an occupied state; The target call information corresponding to the verified reference resource device is sent to the target server, and a target route is established, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
10. The method according to claim 9, characterized in that The step of sending the target call information corresponding to the reference resource device that has passed the verification to the target server includes: Detect the currently received message; When a target verification message sent by the candidate resource switch is detected, the target call information corresponding to the reference resource device is sent to the target server, wherein the candidate resource switch is configured to send the target verification message to the target resource switch after the candidate resource device is verified, and the target verification message is used to indicate that the candidate resource device is the reference resource device that has passed the verification.
11. The method according to claim 9, characterized in that Before sending the call request to the candidate resource switch, the method further includes: Acquire a device mapping table, wherein the device mapping table is pre-constructed according to the topological connection relationship between a plurality of resource switches in the running resource calling system, the plurality of resource switches including the target resource switch, and the device mapping table records one or more candidate resource devices that are allowed to provide running resources for the target server; Filter out the candidate resource device that meets the target requirement information from one or more candidate resource devices recorded in the device mapping table; The target server address, the target switch address and the candidate device address are encoded to obtain the call request, wherein the target server address is the address of the target server, the target switch address is the address of the target resource switch, and the candidate device address is the address of the candidate resource device.
12. The method according to claim 11, characterized in that The step of selecting the candidate resource device that meets the target requirement information from the one or more candidate resource devices recorded in the device mapping table includes: Obtaining a second correspondence between the resource device and the resource supply on the running resource calling system, wherein the second correspondence is generated based on a plurality of first correspondences, at least one of the first correspondences is obtained by collecting the resource supply of the resource device connected to the resource device port by one of the plurality of resource switches, and at least one of the first correspondences records the correspondence between the resource device and the resource supply on a corresponding resource switch, and the resource supply is the resource amount of the running resource currently allowed to be provided by the corresponding resource device; Matching the candidate resource supply amount corresponding to at least one of the candidate resource devices from the second corresponding relationship to obtain a third corresponding relationship between the candidate resource devices and the candidate resource supply amounts; The candidate resource devices whose candidate resource supply is greater than or equal to the target resource demand of the target server are screened out from the third corresponding relationship, wherein the target resource demand is used to indicate the resource amount of the running resources currently required by the target server.
13. The method according to claim 11, characterized in that Before encoding the target server address, the target switch address and the candidate device address to obtain the call request, the method further includes: Receiving an initial server address in a reference address format sent by the target server; Encoding the initial server address from the reference address format into a target address format to obtain the target server address, wherein the target address format is an address format that the resource switch in the running resource calling system allows to be recognized; The target server address, the target switch address and the candidate device address are added to the initial request message to obtain the call request.
14. The method according to claim 9, characterized in that Before sending the call request to the candidate resource switch, the method further includes: Receiving reference requirement information sent by the target server, wherein the reference requirement information is used to indicate that the target server needs to call running resources; In response to the reference requirement information, detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information; In the case where it is detected that the operating resources allowed to be provided by the target resource device do not meet the reference requirement information, the call request is generated.
15. The method according to claim 14, characterized in that The receiving the reference requirement information sent by the target server includes: Receive a reference resource requirement issued by the target server, wherein the target server includes a service operation device and a resource providing device, the reference resource requirement is used to indicate the resource amount of the operation resources currently required by the service operation device to operate the service, the resource providing device is configured to provide the operation resources to the service operation device, and the target server is configured to send the reference resource requirement to the target resource switch when the resource amount of the operation resources currently allowed to be provided by the resource providing device does not meet the resource amount required by the service operation device to operate the service; The reference resource demand is added to the initial demand information to obtain the reference demand information.
16. The method according to claim 15, characterized in that The detecting whether the operating resources allowed to be provided by the target resource device connected to the target resource switch meet the reference requirement information includes: Detecting a target resource supply amount of the target resource device; Extracting the reference resource requirement from the reference requirement information; In the case where the target resource supply is greater than or equal to the reference resource demand, determining that the operating resources allowed to be provided by the target resource device meet the reference demand information; In a case where the target resource supply is less than the reference resource demand, it is determined that the operating resources allowed to be provided by the target resource device do not meet the reference demand information.
17. A server operation resource calling device, characterized in that: include: A first sending module is used to send a call request to a candidate resource switch, wherein the candidate resource switch is connected to a candidate resource device that meets the target requirement information of a target server, the target server is connected to the target resource switch, the target resource switch is allowed to call the running resources connected to other resource switches through routing, and the target requirement information is used to indicate that the running resources connected to other resource switches need to be called; A first acquisition module is used to acquire information that a reference resource device has passed verification, wherein the candidate resource switch is used to respond to the call request, verify the candidate resource device according to the usage status of the candidate resource device, and notify the target resource switch of the information that the reference resource device has passed verification, and switch the usage status of the reference resource device to an occupied state; The second sending module is used to send the target call information corresponding to the verified reference resource device to the target server and establish a target route, wherein the target call information is used to indicate that the running resources on the reference resource device are currently allowed to be called, and the target route is used to indicate the resource call path between the reference resource device and the target server.
18. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 9 to 16 are implemented.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 9 to 16 when executed by a processor.
20. An electronic device comprising a target memory, a processor, and a computer program stored in the target memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 9 to 16 are implemented.
Citation Information
Patent Citations
Micro-service scheduling method and device, computer equipment and storage medium
CN113382077A
Resource calling processing method and device, storage medium and electronic equipment
CN114785851A