Resource management method and related device
By managing the devices to unbind and rebind resources in the resource pool when a target event is detected, the problem of resources not being able to be quickly allocated across multiple devices is solved, achieving efficient utilization of the resource pool and simplifying virtual machine migration.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2026-04-10
AI Technical Summary
In the existing technology, the resource allocation efficiency between electronic devices and DPU resource pool is low, which makes it impossible to quickly allocate resources among multiple devices and affects resource utilization.
By managing the detection of target events by the device, the resources of the first device are unbound and bound to the second device, enabling flexible redistribution of resources in the resource pool and supporting multiple devices to share resources in the resource pool.
It improves the flexibility and efficiency of resource allocation in the resource pool, simplifies the virtual machine migration process, and increases resource utilization and virtual machine hot migration speed.
Smart Images

Figure CN121833217A_ABST
Abstract
Description
[0001] This application is a divisional application, the original application's application number is 202510201858.2, the original application's original date is February 21, 2025, and the entire contents of the original application are incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the technical field of computers, and in particular to a resource management method and related device. BACKGROUND
[0003] A resource pool refers to integrating various resources (such as hardware) together to form a unified set. For example, a data processing unit (DPU) resource pool includes multiple DPUs, and a DPU is a hardware device specially used for data processing and computing. The tasks of an electronic device can be offloaded to the DPUs in the resource pool to reduce the burden of the electronic device and improve the performance of the electronic device.
[0004] However, in actual applications, each electronic device is usually bound to a specific resource of one or more DPUs in the DPU resource pool, so that the specific resource can only be used by one of the electronic devices, and other electronic devices cannot quickly use the specific resource, resulting in low efficiency of resource allocation in the resource pool. SUMMARY
[0005] The present application provides a resource management method and related device, which can quickly allocate the resource bound by one of the electronic devices in the resource pool to other electronic devices for use, improve the efficiency of resource allocation in the resource pool, and further improve the resource utilization rate of the resource pool.
[0006] In a first aspect, the present application provides a resource management method applied to a management device, wherein the management device is used to manage a resource pool, the resource pool includes multiple data processing units (DPUs), and the resource pool includes multiple resources. The multiple resources are logically isolated, and the multiple resources can be used by multiple devices. Each device can use the resource bound by the device. The method comprises: the management device detects a first target event of a first device in the multiple devices, the first device is bound to a first resource in the multiple resources; in response to the first target event, the management device controls the first device to be unbound from the first resource, and controls a second device in the multiple devices to be bound to the unbound first resource.
[0007] Thus, the management device manages the resource pool, and multiple logically isolated resources in the resource pool can be used by multiple devices. After the management device detects a first target event of a first device, the management device unbinds a first resource in the resource pool from the first device, so that the first device cannot use the first resource; and by binding the unbound first resource to a second device, the second device can use the bound first resource. The management device re-allocates the resources in the resource pool by sequentially unbinding and binding any resource in the resource pool, so as to improve the flexibility and efficiency of resource allocation in the resource pool, and thus improve the utilization of resources.
[0008] In some possible implementation ways of the first aspect, the first device runs a first virtual machine, and the first virtual machine is bound to the first resource, and the second device runs a second virtual machine; The management device controls the first device to unbind from the first resource, and controls a second device in the multiple devices to bind to the unbound first resource, including: the management device controls the first virtual machine to unbind from the first resource, and controls the second virtual machine of the second device to bind to the unbound first resource.
[0009] Thus, the management device can manage multiple resources in the resource pool. After the management device detects a first target event, by unbinding a first resource from a first virtual machine bound to the first resource, and binding a second virtual machine to the unbound first resource, the second virtual machine can use the first resource in the resource pool. By sequentially unbinding and binding the resources in the resource pool, the management device can quickly re-allocate the resources in the resource pool among multiple virtual machines, so as to improve the flexibility and efficiency of resource allocation in the resource pool, and thus improve the utilization of resources in the resource pool.
[0010] In some possible implementation ways of the first aspect, the second virtual machine is a virtual machine after migration of the first virtual machine.
[0011] Thus, during migration of the first virtual machine to the second virtual machine, by sequentially unbinding and binding the first resource, the migrated second virtual machine can use the resource used by the first virtual machine, without the need of migrating the virtual machine resource, but only the migration data of the virtual machine, which simplifies the process of virtual machine live migration, and improves the rate of virtual machine migration.
[0012] In some possible implementation manners of the first aspect, the first target event is used to instruct the first virtual machine to perform live migration. In this way, after the management device detects the first target event, the resource bound by the first virtual machine is allocated to the migrated virtual machine (i.e., the second virtual machine), avoiding resource migration of the virtual machine during live migration of the virtual machine, and only migration data of the virtual machine needs to be migrated, so that the efficiency of live migration of the virtual machine is improved.
[0013] In some possible implementation manners of the first aspect, the management device controls the first device to be unbound from the first resource, and controls a second device in the plurality of devices to be bound to the unbound first resource, including: the management device sends first information to the second device, where the first information is used to instruct the second device to establish a first relationship, and the first relationship describes a mapping between the second virtual machine and the first resource; and the management device sends second information to the first device, where the second information is used to instruct the first virtual machine to perform migration from the first device to the second device, so that after the migration is completed, the first device unbinds the first virtual machine from the first resource, and the second device can bind the second virtual machine to the unbound first resource based on the first relationship.
[0014] In this way, after the management device detects the first target event, the management device sends first information to the migrated second device, so that the second device establishes a mapping between the second virtual machine and the resource used by the migrated virtual machine; then the management device sends second information to the first device, to control the first device to start virtual machine migration, and after the migration is completed, the first device unbinds the first virtual machine from the first resource, and the second virtual machine of the second device can quickly bind to the first resource based on the pre-established mapping. Therefore, the speed of virtual machine migration is improved.
[0015] In some possible implementation manners of the first aspect, the first relationship describes an association between the first resource, a memory address of the second virtual machine, and a physical memory address of the second device.
[0016] In this way, an IO channel is established between the resource and the virtual machine based on the association, so that fast binding between the virtual machine and the resource is implemented based on the channel, and the migrated virtual machine can quickly perform service running.
[0017] In a second aspect, a resource management method is provided, applied to a management device, where the management device is used to manage a resource pool, the resource pool includes a plurality of data processing units (DPUs), and the resource pool includes a plurality of resources, the plurality of resources are logically isolated, and the plurality of resources can be used by a plurality of devices, each of the devices can use a bound resource, and the method includes the following steps. The management device detects a second target event of a first device in the plurality of devices, the first device being bound to a first resource in the plurality of resources; in response to the second target event, the management device controls the first device to be unbound from the first resource and controls the first device to be bound to a second resource in the resource pool.
[0018] Thus, due to the logical isolation of the plurality of resources in the resource pool, the management device controls the device to be unbound from the resource it is bound to and controls the device to be bound to a new resource in the resource pool, and the device can use the bound resource to achieve allocation of a new resource to the device, improve the rate of allocation of a new resource to the device, and improve the service experience of the device. Since each device can use any resource in the resource pool, the management device can select a resource to be allocated to the device in the resource pool, and the selection range is large.
[0019] In some possible implementation manners of the second aspect, the first device runs a first virtual machine, and the first virtual machine is bound to the first resource; the management device controls the first device to be unbound from the first resource and controls the first device to be bound to a second resource in the resource pool, including: the management device controls the first virtual machine of the first device to be unbound from the first resource and controls the first virtual machine to be bound to a second resource in the resource pool.
[0020] Thus, by unbinding the resource bound to the first virtual machine and binding the first virtual machine to a new resource, a new resource is allocated to the first virtual machine, so that the first virtual machine can use the new allocated resource, and the rate of resource allocation of each device is improved.
[0021] In some possible implementation manners of the second aspect, the management device controls the first virtual machine of the first device to be unbound from the first resource and controls the first virtual machine of the first device to be bound to a second resource in the resource pool, including: The management device sends allocation information to the first device, the allocation information being used to instruct the first device to update a first relationship to obtain a second relationship, so that the first virtual machine of the first device is bound to the second resource based on the second relationship, the first relationship describing a mapping between the first virtual machine and the first resource, and the second relationship describing a mapping between the first virtual machine and the second resource.
[0022] Thus, the management device updates the mapping relationship in the first device through the allocation information, and unbinds the first resource from the first device through the update of the mapping relationship, so that the first device binds the first device and the first virtual machine based on the updated mapping relationship. A new resource is quickly allocated to the first virtual machine.
[0023] In some possible implementation manners of the second aspect, the first relationship describes a mapping between the first resource, a memory address of the first virtual machine, and a physical memory address of the first device, and the second relationship describes a mapping between the second resource, the memory address of the first virtual machine, and the physical memory address of the first device. In this way, by establishing a physical channel between the first virtual machine and the second resource, the first virtual machine can achieve fast binding with the second resource, and the first virtual machine can quickly use the allocated second resource for fast recovery of business.
[0024] In a third aspect, a resource management system is provided, including a management device and a plurality of devices, the management device being configured to manage a resource pool, the resource pool including a plurality of data processing units (DPUs), the resource pool including a plurality of resources, the plurality of resources being logically isolated, and the plurality of resources being available to the plurality of devices, each of the devices being able to use a resource to which the device is bound. The management device detects a first target event of a first device of the plurality of devices, the first device being bound to a first resource of the plurality of resources. In response to the first target event, the management device controls the first device to unbind from the first resource, and controls a second device of the plurality of devices to bind to the unbound first resource.
[0025] In some possible implementation manners of the third aspect, the first device runs a first virtual machine, the first virtual machine being bound to the first resource, and the second device runs a second virtual machine. The management device controls the first device to unbind from the first resource, and controls a second device of the plurality of devices to bind to the unbound first resource, including: The management device controls the first virtual machine to unbind from the first resource, and controls the second virtual machine of the second device to bind to the unbound first resource.
[0026] In some possible implementation manners of the third aspect, the second virtual machine is a virtual machine after migration of the first virtual machine.
[0027] In some possible implementation manners of the third aspect, the first target event is used to indicate that the first virtual machine is performing hot migration.
[0028] In some possible implementation manners of the third aspect, the management device controls the first device to unbind from the first resource, and controls a second device of the plurality of devices to bind to the unbound first resource, including: The management device sends first information to the second device; the second device establishes a first relationship based on the first information, the first relationship describing the mapping between the second virtual machine and the first resource; The management device sends second information to the first device; the first device migrates to the second device based on the second information; Once the migration is complete, the first device unbinds the first virtual machine from the first resource, and the second device binds the second virtual machine to the unbound first resource based on the first relationship.
[0029] In some possible implementations of the third aspect, the second device establishes a first relationship based on the first information, including: The second device establishes a second relationship based on the first information, and the second relationship describes the mapping between the second device and the first resource; The first device sends third information to the second device, the third information being used to instruct the first virtual machine to migrate from the first device to the second device; the second device creates a second virtual machine in the second device based on the third information and establishes a third relationship, the third relationship describing the mapping between the second device and the second virtual machine; The second device determines the first relationship based on the second relationship and the third relationship.
[0030] In some possible implementations of the third aspect, the first relationship describes the mapping between the first resource, the memory address of the second virtual machine, and the physical memory address of the second device.
[0031] Fourthly, a resource management system is provided, the resource management system including a management device and multiple devices, the management device being used to manage a resource pool, the resource pool including multiple data processing units (DPUs), the resource pool including multiple resources, the multiple resources being logically isolated, the multiple resources being usable by multiple devices, and each device being usable by its bound resources; The management device detects a second target event of a first device among the plurality of devices, and the first device is bound to a first resource among the plurality of resources; In response to the second target event, the management device controls the first device to unbind from the first resource, and controls the first device to bind to the second resource of the resource pool.
[0032] In some possible implementations of the fourth aspect, the first device runs a first virtual machine, and the first virtual machine is bound to the first resource; The management device controls the first device to unbind from the first resource and controls the first device to bind to a second resource of the resource pool, including: The management device controls a first virtual machine of the first device to unbind from the first resource and controls the first virtual machine to bind to a second resource of the resource pool.
[0033] In some possible implementation ways of the fourth aspect, the management device controls a first virtual machine of the first device to unbind from the first resource and controls the first virtual machine of the first device to bind to a second resource of the resource pool, including: The management device sends allocation information to the first device, and the allocation information is used to instruct the first device to update a first relationship; The first device updates the first relationship based on the allocation information to obtain a second relationship, the first relationship describes a mapping between the first virtual machine and the first resource, and the second relationship describes a mapping between the first virtual machine and the second resource; The first device binds the first virtual machine to the second resource based on the second relationship.
[0034] In some possible implementation ways of the fourth aspect, the first relationship describes a mapping between the first resource, a memory address of the first virtual machine, and a physical memory address of the first device, and the second relationship describes a mapping between the second resource, the memory address of the first virtual machine, and the physical memory address of the first device.
[0035] In a fifth aspect, a resource management apparatus is provided, and the apparatus includes units for performing the resource management method in any one of the first aspect or units for performing the resource management method in any one of the second aspect.
[0036] In a sixth aspect, an electronic device is provided, including a memory including computer readable instructions, and a processor in communication with the memory, configured to execute the computer readable instructions to cause the electronic device to perform the resource management method in any one of the first aspect or the second aspect.
[0037] In a seventh aspect, a computer readable storage medium is provided, including a program or instructions, when executed by a processor, to implement the resource management method in any one of the first aspect or the second aspect.
[0038] In an eighth aspect, a chip is provided, including a processor configured to invoke and run instructions stored in a memory to cause an electronic device installed with the chip to perform the resource management method in any one of the first aspect or the second aspect.
[0039] In a ninth aspect, there is provided a computer program product comprising instructions which, when executed by a computer, implement the method of any of the first aspect or the second aspect.
[0040] The beneficial effects brought by each possible implementation manner of the resource management system provided in the third aspect, the resource management system provided in the fourth aspect, the resource management apparatus provided in the fifth aspect, the electronic device provided in the sixth aspect, the computer readable storage medium provided in the seventh aspect, the chip provided in the eighth aspect, and the computer program product provided in the ninth aspect can be referred to the description in the various possible implementation manners in the first aspect or the second aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0041] Figure 1 is a schematic diagram of an application scenario of a resource pool; Figure 2 is a schematic diagram of a resource management system related to the embodiments of the present application; Figure 3 is a schematic diagram of another resource management system related to the embodiments of the present application; Figure 4 is a flowchart of a resource management method provided by the embodiments of the present application; Figure 5 is a schematic diagram of virtual machine live migration; Figure 6 is a schematic diagram of virtual machine live migration provided by the embodiments of the present application; Figure 7 is a process schematic diagram of virtual machine live migration provided by the embodiments of the present application; Figure 8 is a schematic diagram of a scenario of allocating new resources to a device; Figure 9 is a schematic diagram of a scenario of allocating new resources to a device provided by the embodiments of the present application; Figure 10 is a flowchart of a resource management method provided by the embodiments of the present application; Figure 11 is a process schematic diagram of a resource management method provided by the embodiments of the present application; Figure 12 is a schematic diagram of a resource management apparatus provided by the embodiments of the present application; Figure 13 is a schematic diagram of a resource management apparatus provided by the embodiments of the present application; Figure 14 is a structural schematic diagram of an electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION
[0042] The technical solutions in this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments in this specification, and not all of them.
[0043] A DPU resource pool refers to the centralized pooling of resources from multiple DPUs to form a unified resource pool for flexible management and allocation. For example, multiple devices (such as a host) interconnect with multiple DPUs in the resource pool using the high-speed Serial Computer Interconnect Express (PCIe) bus standard, and then resources can be allocated based on the physical connection relationships between the DPUs and devices. Figure 1 In this scenario, devices 1 and 2 are both connected to DPU1, and device 3 is connected to DPU2. Device 3 can allocate resource 1 from DPU1 to device 1, resource 2 from DPU1 to device 2, and resources from DPU2 to device 3. Device 1 can use resource 1 but cannot use resource 2; device 2 can use resource 2 but cannot use resource 1; and device 3 can use the resources of DPU2. However, since device 3 is not connected to DPU1, it cannot use the resources of DPU1.
[0044] Figure 1 In this system, DPUs in the device and resource pool are interconnected via a PCIe bus. Each device can only use the resources of the DPUs it is connected to. Even though device 1 is interconnected with DPU 1, device 1 cannot use resource 2 because resource 2 is not allocated to it. Resources 1 and 2 can be pooled resources for DPU 1. Resources 1 and 2 are logically isolated. Each DPU can be abstracted into one or more logically isolated virtual resources (e.g., resource 1, resource 2) through virtualization technology. Each virtual resource is then an independent device providing resources for either device 1 or device 2, and multiple virtual resources can be used by multiple devices. Due to the limitations of the PCIe bus characteristics, this leads to… Figure 1 The system cannot quickly allocate resources used by device 1 to device 2, or allocate resources on DPU1 to device 3, which affects the allocation efficiency and utilization rate of resources in the resource pool.
[0045] To address the aforementioned issues, this application provides a resource management method that can quickly allocate resources used by one device in a resource pool to other devices for use, thereby improving the allocation efficiency of resources in the resource pool.
[0046] The following is combined with Figure 2 and Figure 3 The architecture of the resource management system involved in the embodiments of this application is described. Figure 1Because devices and DPUs are interconnected via the PCIe bus, each device can use the resources allocated to it in the interconnected DPU, but cannot use the resources of other DPUs in the resource pool that are not interconnected, nor can it use the resources that are not allocated in the interconnected DPUs. Figure 2 and Figure 3 In the resource management system, multiple devices can communicate with multiple DPUs in the resource pool through the switching plane. Multiple devices can use the resources of any DPU in the resource pool through the switching plane. The switching plane can be an independently configured switch, router or other device, or it can be a logical function configured in one or more devices.
[0047] In this embodiment, the resource pool includes multiple DPUs and multiple resources. Each DPU can be divided into multiple logically isolated resources, or each DPU can be divided into one resource. Each resource in the resource pool has complete communication functions and can be used to perform corresponding I / O operations, such as sending and receiving data, so that each resource can be used by the corresponding device. For example, each DPU can be divided into multiple independent virtual interfaces through SR-IOV (Single Root I / O Virtualization) technology, with one or more independent virtual interfaces corresponding to one resource, such as each resource corresponding to one or more virtual functions (VFs). Due to the good isolation of the multiple resources in the resource pool, the management device can allocate each resource in the resource pool to a device or a virtual machine in the device for it to use the DPU's resources.
[0048] Please see Figure 2 , Figure 2 This is a schematic diagram of a resource management system provided in an embodiment of this application. Figure 2 In this system, the resource management system includes a management device and three other devices: Device 1, Device 2, and Device 3. The management device is connected to each of the three devices. The three devices are then connected to a switching device, which in turn is connected to one of the three DPUs (Data Processing Units) in the resource pool. Figure 2 The system connects DPU1, DPU2, and DPU3, allowing the three devices to access resources from any DPU in the resource pool via a switching device. The management device manages the resource pool; for example, it can allocate resource 1 used by device 1 to device 2 or allocate new resource 2 to device 1. Figure 2 In this system, each device connects to multiple DPUs in a resource pool via a switching device. These DPUs form a resource pool that can be shared by multiple devices, allowing each device to use the resources of any DPU within the pool. For example... Figure 2Multiple devices are connected to a resource pool through a switching device. This connection can be implemented based on unified bus (UB) technology, which is a new type of network technology that allows devices to exchange data as if they were accessing local memory. Figure 2 Each device can obtain information about multiple resources in the resource pool through the UB, enabling access to resources of any DPU in the resource pool. That is, resources in the resource pool can be allocated to any of multiple devices, rather than... Figure 1 In this system, specific resources can be statically allocated to specific devices, thereby achieving complete decoupling of multiple devices and multiple DPUs in the resource pool.
[0049] Figure 3 A schematic diagram of another resource management system provided in this application embodiment, and... Figure 2 Similarly, the resource management system includes a management device and three other devices: Device 1, Device 2, and Device 3. The management device is connected to each of the three devices. The difference is that... Figure 3 Device 1 is connected to DPU1, Device 2 is connected to DPU2, and Device 3 is connected to DPU3.
[0050] Figure 2 In this system, multiple devices access resources in the resource pool through a switching device. Figure 3 Each device can access its corresponding resources through a physical connection. For example, device 1 can access the resources of DPU1, and each device can also access resources in the resource pool through other devices. For instance, based on UB technology, device 2 can access the resources of DPU1 in the resource pool through device 1; based on UB technology, device 3 can access the resources of DPU2 in the resource pool through device 2.
[0051] Optionally, if the management device is used to manage resources in the resource pool, then the management device may store the binding relationship between each resource and the corresponding device, so that the management device can determine the allocated and unallocated resources in the resource pool based on the binding relationship.
[0052] Figure 2 and Figure 3 In this embodiment, device 1 is connected to device 2, and device 2 is connected to device 3. Data can be transmitted between these devices via these connections, for example, data related to the hot migration of virtual machines within the devices. Of course, in other embodiments, multiple devices sharing the resources of the shared resource pool establish connections between each other, such as device 1 connected to device 2, device 2 connected to device 3, and device 1 connected to device 3. Alternatively, connections may be established between specific devices within the shared resource pool, such as device 1 connected to device 2, but device 2 and device 3 not connected, or device 1 and device 3 not connected. This application does not impose any limitations on this approach.
[0053] It should be noted that, Figure 2and Figure 3 The architecture of the resource management system provided in the present application is only an example of one implementation form of the present application, Figure 2 and Figure 3 The plurality of devices in the above-mentioned embodiments can access any resource in the resource pool through the UB technology. The present application does not limit the implementation form of the architecture of the resource management system. For example, the plurality of devices can access any resource in the resource pool through other technologies in addition to the UB technology. In other embodiments, the resources in the resource pool can be used by two or more than three devices. The resource pool can include two or more than three DPUs, and each DPU can be divided into one resource, two resources or more than two resources. Figure 2 and Figure 3 In the above-mentioned embodiments, the management device and the plurality of devices are independent of each other. Therefore, the management device can send information to the plurality of devices to manage the resources of the plurality of devices. In other embodiments, the management device and one of the plurality of devices can be the same device. Therefore, the management device can control the device to manage the resources of the device.
[0054] Alternatively, the management device or the device in the embodiments of the present application can be referred to as a terminal, a user equipment (UE), a terminal device, an access terminal, a user unit, a user station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent or a user apparatus, etc. The electronic device can be a mobile phone, an augmented reality (AR) device, a virtual reality (VR) device, a tablet computer, a notebook computer, an ultramobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. The electronic device can be a server, etc. The server can be one physical or logical server, or two or more physical or logical servers sharing different responsibilities and cooperating with each other to implement the functions of the server. The management device in the embodiments of the present application can also be a processor, which can include one or more general-purpose central processing units (CPUs). The processor can also be other general-purpose processors, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. Each general-purpose processor is used to represent a CPU core, which can also be referred to as a kernel.
[0055] Please refer to Figure 4 , Figure 4A flowchart of a resource management method provided by an embodiment of the present application is shown in FIG. 1. The resource management method is applied to a resource management system, which includes a management device and a plurality of devices. The management device is configured to manage a resource pool. The resource pool includes a plurality of DPU and a plurality of resources. The plurality of resources are logically isolated and can be used by the plurality of devices. Each device can use the resources bound to it.
[0056] Figure 4 The resource management method includes the following steps: S401-S402.
[0057] S401. The management device detects a first target event of a first device in the plurality of devices. The first device is bound to a first resource in the plurality of resources.
[0058] Optionally, the first target event can include a failure of the first device, an upgrade of the first device, a load overload of the first device, etc.
[0059] Optionally, the management device detecting the first target event of the first device includes: the first device sending first notification information to the management device. The first notification information is configured to instruct the management device to reallocate the first resource bound to the first device. The management device receives the first notification information, i.e., detects the first target event, and triggers the reallocation of the first resource.
[0060] Optionally, the management device can periodically detect the state of the first device. When the first target state of the first device is detected, it is determined that the first target event of the first device occurs. The first target state includes a failure of the first device, an upgrade of the first device, a load overload of the first device, etc.
[0061] S402. In response to the first target event, the management device controls the first device to be unbound from the first resource and controls a second device in the plurality of devices to be bound to the unbound first resource.
[0062] Optionally, after detecting the first target event, the management device controls the first device to be unbound from the first resource, so that the first device can no longer use the first resource. Then the second device is bound to the unbound first resource, so that the second device can use the first resource. By sequentially unbinding and binding the same resource, the reallocation of any resource in the resource pool is realized.
[0063] Thus, the management device manages the resource pool, and multiple logically isolated resources in the resource pool can be used by multiple devices. After the management device detects the first target event of the first device, the management device unbinds the first resource in the resource pool from the first device, so that the first device cannot use the first resource; and the management device binds the first resource after being unbound to the second device, so that the second device can use the first resource bound thereto. The management device realizes the re-allocation of the resources in the resource pool by sequentially unbinding and binding any resource in the resource pool. The management device re-allocates the resources in the resource pool based on the target event, so as to improve the flexibility and efficiency of the allocation of the resources in the resource pool, thereby improving the utilization of the resources.
[0064] A virtual machine is a logical device simulated on an entity electronic device by specific software. One or more virtual machines can run in a device, and the virtual machines in the device can directly access the resources in the resource pool through a device passthrough technology. The virtual machines in the device can be bound to the resources in the resource pool, so that the virtual machines can use the resources bound thereto.
[0065] Optionally, the first device runs a first virtual machine, and the second device runs a second virtual machine, the first virtual machine is bound to the first resource, and the management device controls the first device to unbind the first resource and controls the second device to bind the first resource after being unbound in S402, including: The management device controls the first virtual machine of the first device to unbind the first resource and controls the second virtual machine of the second device to bind the first resource after being unbound.
[0066] Thus, the first virtual machine bound to the first resource is unbound, and the second virtual machine is bound to the first resource after being unbound, so that the second virtual machine can use the first resource in the resource pool. The resources in the resource pool are sequentially unbound and bound, so as to realize the quick re-allocation of the resources in the resource pool among multiple virtual machines. Thus, the flexibility and efficiency of the allocation of the resources in the resource pool are improved, and the utilization of the resources in the resource pool is improved.
[0067] Virtual machine live migration is a process of migrating a running virtual machine from a first device to a second device. Please refer to Figure 5 , Figure 5 is a schematic diagram of virtual machine live migration. Figure 5In the embodiment, the virtual machine 1 runs in the device 1, the virtual machine 2 runs in the device 2, and the virtual machine 1 can use the resource 1 in the resource pool; the virtual machine 2 can use the resource 2 in the resource pool. Due to the upgrade of the device 1 and the like, the virtual machine 1 of the device 1 is migrated from the device 1 to the device 2; during the hot migration of the virtual machine, the migration data (such as configuration information, memory state, disk data, and network connection information of the virtual machine) of the virtual machine needs to be transmitted from the device 1 to the device 2, and the state and context information of the resource 1 used by the virtual machine also need to be migrated to the resource 2 used by the virtual machine 2. Since the migration of the state and context of the resource takes a long time, the overall time of the hot migration of the virtual machine is long.
[0068] Please refer to Figure 6 , Figure 6 A schematic diagram of the hot migration of the virtual machine is provided for the embodiment. Figure 6 In the embodiment, the virtual machine 1 runs in the device 1, the virtual machine 2 runs in the device 6, and the virtual machine 1 can use the resource 1 in the resource pool. Due to the upgrade of the device 1 and the like, the virtual machine 1 is migrated from the device 1 to the device 2; during the hot migration of the virtual machine, the migration data (such as configuration information, memory state, disk data, and network connection information of the virtual machine) of the virtual machine needs to be transmitted from the device 1 to the device 2, the management device controls the virtual machine 1 of the device 1 to be unbound from the resource 1, and controls the virtual machine 2 of the device 2 to be bound to the unbound resource 1. In this way, by sequentially unbinding and binding the resource used by the virtual machine 1, the migrated virtual machine 2 can still use the resource used by the virtual machine 1, and the hot migration of the virtual machine only needs to migrate the migration data of the virtual machine, thereby avoiding the migration of the resource used by the virtual machine during the hot migration of the virtual machine, simplifying the process of the hot migration of the virtual machine, and improving the speed of the hot migration of the virtual machine.
[0069] Optionally, the second virtual machine in the second device is a migrated virtual machine of the first virtual machine in the first device. During the migration of the first virtual machine from the first device to the second virtual machine in the second device, the migrated second virtual machine can use the resource used by the first virtual machine by sequentially unbinding and binding the first resource, without the migration of the resource of the virtual machine, only the migration of the migration data of the virtual machine, thereby simplifying the process of the hot migration of the virtual machine and improving the rate of the migration of the virtual machine.
[0070] Optionally, the first target event is used to indicate the hot migration of the first virtual machine of the first device, so that after the management device detects the first target event, the resource bound by the first virtual machine is allocated to the migrated virtual machine (i.e., the second virtual machine), thereby avoiding the migration of the resource of the virtual machine during the hot migration of the virtual machine, only the migration of the migration data of the virtual machine, and the efficiency of the hot migration of the virtual machine is improved.
[0071] Optionally, if the first target event is used to indicate that the first virtual machine of the first device is to be migrated, the management device, after detecting the first target event, is further configured to determine a device to which the first virtual machine is to be migrated, such as the second device.
[0072] Optionally, if the first target event is used to indicate that the first device is to be upgraded, the first device is to be failed, or a resource of the first device is to be overloaded, the management device, after detecting the first target event, determines that one or more virtual machines of the first device are to be migrated, and then the management device can allocate a resource to which the virtual machine to be migrated is bound to the virtual machine after the migration of the virtual machine to be migrated.
[0073] Optionally, the management device, after detecting the first target event, determines that the first virtual machine of the first device is to be migrated; the management device sends first information to the second device, the first information being used to instruct the second device to establish a mapping between the second virtual machine and the first resource; The second device establishes a first relationship based on the first information, the first relationship describing the mapping between the second virtual machine and the first resource; The management device sends second information to the first device, the second information being used to instruct the first virtual machine to migrate from the first device to the second device. After the migration is completed, the first device unbinds the first virtual machine from the first resource, and the second device can bind the second virtual machine to the unbound first resource based on the first relationship.
[0074] In this way, after the management device detects the first target event, the management device sends the first information to the second device to which the virtual machine is to be migrated, and allocates the first resource to the virtual machine of the second device through the first information, so that the second device establishes a mapping between the second virtual machine and the resource used by the migrated virtual machine; then the management device sends the second information to the first device to control the first device to start the migration of the virtual machine, and after the migration is completed, the first device unbinds the first virtual machine from the first resource, and the second virtual machine of the second device can quickly bind to the first resource based on the pre-established mapping (i.e., the first relationship). Thus, the speed of the migration of the virtual machine can be improved.
[0075] Optionally, the first relationship describes a mapping between the first resource, a memory address of the second virtual machine, and a physical memory address of the second device. Through the mapping, address conversion between the second virtual machine and the first resource is achieved, or an IO channel between the second virtual machine and the first resource is established, so that the second device can quickly bind the second virtual machine to the first resource based on the IO channel, thereby improving the rate of the migration of the virtual machine.
[0076] Optionally, the second device establishes the first relationship based on the first information, including: The second device establishes a second relationship based on the first information, the second relationship describing a mapping between the second device and the first resource; The first device sends third information to the second device, the third information being used to indicate that the first virtual machine starts migration from the first device to the second device; the second device creates a second virtual machine in the second device based on the third information, and establishes a third relationship, the third relationship describing a mapping between the second device and the second virtual machine; The second device determines the first relationship based on the second relationship and the third relationship.
[0077] In this way, the management device allocates the first resource based on the first information; after the second device receives the first information from the management device, the second device first establishes a mapping between the second device and the first resource; then when the first virtual machine starts migration, the second device creates a second virtual machine in the second device, and establishes a mapping between the second virtual machine and the second device, and determines a mapping between the second virtual machine and the first resource based on the mapping between the second device and the first resource and the mapping between the second virtual machine and the second device; based on the mapping, the second virtual machine and the first resource can be bound, so as to improve the speed of virtual machine live migration.
[0078] Optionally, the first information includes identification information of the first resource, and the second device establishes the first relationship based on the first information, the first relationship describing a mapping between the identification information of the first resource and the second virtual machine.
[0079] Optionally, identification information of a plurality of resources in a resource pool can be uniformly managed by the management device, and when the resources in the resource pool are allocated, the identification information of the resource identification can be sent to a corresponding device, the device establishes a mapping with the resource based on the identification information, and binds with the resource based on the mapping, so as to realize fast allocation of the resource.
[0080] Optionally, the second information is used to indicate that the first device starts to send migration data to the second device, and after the first device receives the second information, the first device starts to send migration data to the second device, the migration data being used to indicate data transmitted from the first device to the second device when the first virtual machine is live migrated. For example, the migration data can include memory information of the first virtual machine, etc.
[0081] Optionally, after the second device receives the first information, the second device can obtain configuration information of the first resource based on the first information, and then allocates memory mapping I / O (MMIO) space for the first resource based on the configuration information of the first resource, so as to establish the first relationship in the allocated MMIO space. The configuration information of the first resource can include size, address and other information of the first resource.
[0082] Optionally, after the first device receives the second information, the first virtual machine starts to migrate from the first device to the second device; the first device sends third information to the second device, and the second device is informed to start the migration through the third information. At this time, the first device has the mapping between the first virtual machine and the first resource; the second device has the mapping between the second virtual machine and the first resource; and the first virtual machine is bound to the first resource, and the first virtual machine can use the first resource; the second virtual machine is not bound to the first resource, and the second virtual machine cannot use the first resource.
[0083] Optionally, when the first resource simultaneously establishes the mapping with the first virtual machine and the second virtual machine, the first virtual machine is bound to the first resource; the second virtual machine is not bound to the first resource; the first virtual machine has read and write permissions for the first resource; and the second virtual machine has read permission and does not have write permission for the first resource based on the established mapping.
[0084] Optionally, after the first device completes the transmission of the migration data to the second device, the first device unbinds the first virtual machine from the first resource, and at this time the first virtual machine does not have read and write permissions for the first resource; the second device determines that the transmission of the migration data is completed, and the second device binds the second virtual machine to the first resource based on the first relationship, and then the second virtual machine has read and write permissions for the first resource.
[0085] Optionally, when the first device completes the transmission of the migration data to the second device, the first device sends notification information to the second device, and the notification information is used to inform the second device that the first device has completed the transmission of the migration data of the first virtual machine, so that the second device can bind the second virtual machine to the first resource based on the notification information.
[0086] Please refer to Figure 7 , Figure 7 A process diagram of virtual machine live migration is provided for the embodiments of the present application.
[0087] Figure 7 The virtual machine live migration includes the following steps: Step 1: Since the device 1 is upgraded or the device 1 fails, etc., the virtual machine live migration of the virtual machine 1 in the device 1 is triggered; the device 1 sends first notification information to the management device, and the management device determines that the virtual machine 1 of the device 1 needs to be live migrated based on the first notification information, wherein the virtual machine 1 is bound to the resource 1 in the resource pool.
[0088] Step 2, the management device determines that the virtual machine 1 migrates to the device 2, and then the management device sends first information to the device 2, the first information being used to instruct the device 2 to establish a mapping with the resource 1; the device 2 acquires configuration information of the resource 1 based on the first indication information, such as size of the resource 1, resource address information, etc.; the device 2 allocates an MMIO space for the resource 1 based on the configuration information, and generates a mapping between the physical memory address of the device 2 and the resource 1 in the MMIO space.
[0089] Step 3, the management device sends second information to the device 1, the second information being used to instruct the device 1 to start the migration of the virtual machine 1; the device 1 starts the migration based on the second information, such as sending migration data of the virtual machine 1 to the device 2, the migration data including configuration information of the virtual machine 1, device information, and memory data (initial memory and incremental memory).
[0090] Step 4, the device 1 sends third information to the device 2, the third information being used to inform the device 2 that the device 1 starts the migration of the virtual machine 1. After receiving the third information, the device 2 creates a virtual machine 2 in the device 2, and establishes a mapping between the memory address of the virtual machine 2 and the physical memory address of the device 2, and then the device 2 establishes a mapping between the virtual machine 2 and the resource 1 based on the mapping between the physical memory address of the device 2 and the resource 1, and the mapping between the memory address of the virtual machine 2 and the physical memory address of the device 2, so that an IO channel between the virtual machine 2 and the resource 1 can be created based on the mapping; then the resource 1 can be read but not written through the IO channel, and at this time the virtual machine 1 can read and write the resource 1.
[0091] Step 5, the migration is completed, that is, the migration data of the virtual machine 1 is completely copied from the device 1 to the device 2, the device 1 unbinds the virtual machine 1 from the resource 1, at this time the virtual machine 1 no longer has the read and write operation permission of the resource 1; then the device 1 sends notification information to the device 2, the notification information being used to inform the device 2 that the migration data transmission is completed, the device 2 determines that the migration data transmission is completed based on the notification information, the device 2 binds the virtual machine 2 with the resource 1, the virtual machine 2 has the read and write permission of the resource 1, and the virtual machine 2 and the resource 1 can normally communicate, such as transmitting and receiving data packets. After the migration of the virtual machine is completed, the device 1 can destroy the virtual machine 1 to release the resources occupied by the virtual machine 1.
[0092] In the process of virtual machine migration, the virtual machine 1 can pause the operation that can cause the change of memory state, such as new write operation, to avoid the update of migration data in the process of migration. The virtual machine 1 is also used to clean or transmit all dirty pages in the current memory of the virtual machine, because in the pre-copying stage, most of the memory pages can have been copied, but some memory pages can have been modified by the program in this period of time. Therefore, before the final migration is completed, the device 1 needs to copy these modified memory pages to the device 2 again to ensure the consistency of the memory state between the two devices.
[0093] Before the virtual machine 2 runs, the virtual machine 2 in the device 2 also needs to flush the interrupt information in the resource 1, such as the routing table of the interrupt in the resource 1, to correctly route the interrupt generated by the virtual machine to the corresponding processor or network node.
[0094] Figure 8 A scenario of allocating a new resource to a device is provided in the present application, Figure 8 The virtual machine 1 of the device 1 can use the resource 1 in the resource pool. When the resource 1 fails or the DPU where the resource 1 is located fails, the virtual machine 1 cannot continue to use the resource 1. The virtual machine 1 can be migrated to the virtual machine 2 of the device 2, or the DPU where the resource 1 is located can be restarted to recover the service of the virtual machine 1. However, the recovery time required by the above-mentioned methods is long. Figure 8 The virtual machine 1 of the device 1 can use the resource 1 in the resource pool. When the resource 1 fails or the DPU where the resource 1 is located fails, the virtual machine 1 cannot continue to use the resource 1. The virtual machine 1 can be migrated to the virtual machine 2 of the device 2, or the DPU where the resource 1 is located can be restarted to recover the service of the virtual machine 1. However, the recovery time required by the above-mentioned methods is long.
[0095] Figure 9 A scenario of allocating a new resource to a device is provided in the present application, Figure 9 The virtual machine 1 of the device 1 can use the resource 1 in the resource pool. When the resource 1 fails or the DPU where the resource 1 is located fails, the virtual machine 1 cannot continue to use the resource 1. The virtual machine 1 can be migrated to the virtual machine 2 of the device 2, or the DPU where the resource 1 is located can be restarted to recover the service of the virtual machine 1. However, the recovery time required by the above-mentioned methods is long. Figure 9 The resource 2 is allocated to the virtual machine 1, so that the virtual machine 1 in the device 1 can use the resource 2 for fast recovery of the service.
[0096] Please refer to Figure 10 , Figure 10 A flowchart of a resource management method provided in an embodiment of the present application is provided, and the execution subject of the resource management method is a management device. The management device is used to manage a resource pool. The resource pool includes a plurality of DPUs and a plurality of resources. The plurality of resources are logically isolated, and the plurality of resources can be used by a plurality of devices. Each device can use the resource bound to it.
[0097] Figure 10 The resource management method includes steps S1001-S1002.
[0098] S1001, the management device detects a second target event of a first device in the plurality of devices, the first device being bound to a first resource in the resource pool.
[0099] Optionally, the second target event comprises a failure of a resource used by the first device, a failure of a DPU in which the resource used by the first device is located, or the resource used by the first device being unable to meet a resource requirement of the first device.
[0100] Optionally, the management device detecting the second target event of the first device comprises: the first device sending second notification information to the management device; and the second notification information being used to instruct the management device to allocate a new resource in the resource pool to the first device. The management device receives the second notification information, i.e., detects the second target event, and triggers allocation of the new resource to the first device.
[0101] Optionally, the management device can periodically detect a state of the first device, and when detecting a second target state of the first device, determine that the first device has the second target event. The second target state can be a failure of a DPU in which a resource used by the first device is located, or the resource bound to the first device being unable to meet a resource requirement of the first device.
[0102] S1002, in response to the second target event, the management device controls the first device to be unbound from the first resource, and controls the first device to be bound to a second resource.
[0103] In this way, due to the logical isolation of the plurality of resources in the resource pool, the management device controls the device to be unbound from the resource bound thereto, and then controls the device to be bound to a new resource in the resource pool. The device can use the bound resource to achieve allocation of the new resource to the device, improve the rate of allocation of the new resource to the device, and improve the service experience of the device. Since each device can use all the resources in the resource pool, the management device can select the allocated resource for the device in the resource pool, and the selection range is large. It is convenient to select a suitable resource for the device from all the available resources in the resource pool, so as to meet the resource requirement of the device.
[0104] Optionally, the first device runs a first virtual machine, and the first virtual machine is bound to the first resource. In S1002, in response to the second target event, the management device controls the first device to be unbound from the first resource, and controls the first device to be bound to the second resource, comprising: In response to the second target event, the management device controls the first virtual machine of the first device to be unbound from the first resource, controls the first virtual machine of the first device to be bound to the second resource of the resource pool, so that the first virtual machine of the first device can use the second resource. In this way, by unbinding the resource bound to the first virtual machine and causing the first virtual machine to bind to a new resource, a new resource is allocated to the first virtual machine, so that the first virtual machine can use the new allocated resource, and the rate of resource allocation of each device is improved.
[0105] Optionally, before the management device reallocates the second resource, if the second resource is bound to a third device, the management device can send unbinding information to the third device, and the third device is unbound from the second resource based on the unbinding information.
[0106] Optionally, the management device controls the first virtual machine of the first device to be unbound from the first resource, and controls the first virtual machine of the first device to be bound to the second resource of the resource pool, comprising: The management device sends allocation information to the first device, and the allocation information is used to instruct the first device to update the first relationship; After the first device receives the allocation information, the first relationship is updated based on the allocation information to obtain a second relationship, the first relationship describes a mapping between the first virtual machine and the first resource, and the second relationship describes a mapping between the first virtual machine and the second resource; The first device binds the first virtual machine to the second resource based on the second relationship.
[0107] In this way, the management device allocates a new resource in the resource pool to the first device through the allocation information, the first device updates the mapping relationship in the first device based on the allocation information, and the unbinding of the first resource and the first device is realized through the update of the mapping relationship. Then, the first device binds the first device and the first virtual machine based on the updated mapping relationship. A new resource is allocated to the first virtual machine.
[0108] Optionally, the allocation information includes identification information of the second resource, and after the first device receives the allocation information, the first relationship is updated to obtain a second relationship, and the second relationship describes a mapping between the first virtual machine and the identification information of the second resource. The identification information is used to identify the resource in the resource pool.
[0109] Optionally, the first relationship describes an association between the first resource, a memory address of the first virtual machine and a physical memory address of the first device, and the second relationship describes an association between the second resource, the memory address of the first virtual machine and the physical memory address of the first device. In this way, the first device can update the mapping relationship to update the IO channel of the first virtual machine and the resource in the resource pool, so as to realize the unbinding of the first resource and the first virtual machine; and the physical channel between the first virtual machine and the second resource is established, so that the first virtual machine can realize fast binding with the second resource, and the first virtual machine can quickly use the allocated second resource to realize fast recovery of services.
[0110] Optionally, before the management device controls the second device in the plurality of devices to bind with the unbound first resource, the management device is further configured to acquire resource information required by the first virtual machine, and determine the second resource based on the resource information. By acquiring the resource information required by the first virtual machine, the allocated resource for the first virtual machine is selected based on the resource information, so that the second resource can meet the resource requirement of the first virtual machine.
[0111] Optionally, the first device binds the first virtual machine with the second resource based on the second relationship, comprising: The first device synchronizes resource information between the first resource and the second resource, and the resource information is used to indicate information related to the resource of the resource pool used by the first virtual machine, such as all related information of the internal state of the resource of the resource pool, such as the state of the register, the state of the queue, the currently executed task, etc. For example, the configuration information of the resource: for example, the amount of computing resource allocated to the virtual machine, the priority setting, and any application-specific configuration option, etc. After synchronization is completed, the first device binds the first virtual machine with the second resource based on the second relationship.
[0112] Please refer to Figure 11 , Figure 11 A process schematic diagram of a resource management method provided by the embodiment of the application, the resource management method comprising: Step 1: Device 1 sends second notification information to the management device; the second notification information is used to indicate that the management device allocates a new resource in the resource pool for the first device, and the management device receives the second notification information, that is, detects the second target event, to trigger the management device to allocate a new resource for the first device.
[0113] If the second target event is used to indicate that the DPU in which the resource 1 used by the virtual machine 1 in the device 1 fails, the device 1 can no longer use the resource 1. The mapping between the virtual machine 1 and the device 1 in the device 1 can be maintained; Step 2, the management device allocates a new resource, resource 2, to the virtual machine 1 of the device 1, and sends allocation information to the device 1, the allocation information including identification information of the resource 2, and the allocation information being used to instruct the device 1 to update the first relationship in the device 1. After receiving the allocation information, the device 1 updates the first relationship based on the allocation information to obtain a second relationship, the first relationship describing a mapping between the identification information of the resource 1 and the virtual machine 1, and the first relationship being updated to realize unbinding between the resource 1 and the virtual machine 1. The second relationship describes a mapping between the identification information of the resource 2 and the virtual machine 1.
[0114] Then the device 1 performs information synchronization between the resource 1 and the resource 2, that is, synchronizes resource information of the resource 1 to the resource 2, and after the synchronization is completed, the device 1 realizes binding between the resource 2 and the virtual machine 1 based on the second relationship, and the virtual machine 1 can realize service recovery through the resource 2.
[0115] Please refer to Figure 12 , Figure 12 is a structural schematic diagram of a resource management device provided by an embodiment of the present application, and the resource management device can be deployed in the management device in the foregoing embodiments, the management device being used to manage a resource pool, the resource pool including a plurality of data processing units (DPUs) and a plurality of resources, the plurality of resources being logically isolated, and the plurality of resources being available to a plurality of devices, and each of the devices being able to use a resource bound to the device. As shown in Figure 12 the resource management device includes a first detection unit and a first control unit.
[0116] The first detection unit is used to detect a first target event of a first device in the plurality of devices, the first device being bound to a first resource in the plurality of resources. The first control unit is used to, in response to the first target event, control the first device to unbind from the first resource, and control a second device in the plurality of devices to bind to the unbound first resource.
[0117] Optionally, the first device runs a first virtual machine, the first virtual machine being bound to the first resource, and the second device runs a second virtual machine. The first control unit controls the first device to unbind from the first resource, and controls a second device in the plurality of devices to bind to the unbound first resource, including: The first control unit controls the first virtual machine to unbind from the first resource, and controls the second virtual machine of the second device to bind to the unbound first resource.
[0118] Optionally, the second virtual machine is a virtual machine after migration of the first virtual machine.
[0119] Optionally, the first target event is used to instruct the first virtual machine to perform live migration.
[0120] Optionally, the first control unit controls the first device to be unbound from the first resource, and controls a second device of the plurality of devices to be bound to the unbound first resource, including: The first control unit sends first information to the second device, the first information being used to instruct the second device to establish a first relationship, the first relationship describing a mapping between the second virtual machine and the first resource; The first control unit sends second information to the first device, the second information being used to instruct the first virtual machine to migrate from the first device to the second device, so that after the migration is completed, the first device unbinds the first virtual machine from the first resource, and the second device binds the second virtual machine to the unbound first resource based on the first relationship.
[0121] Optionally, the first relationship describes an association between the first resource, a memory address of the second virtual machine, and a physical memory address of the second device.
[0122] See Figure 13 , Figure 13 is a structural schematic diagram of a resource management apparatus provided by an embodiment of the present application. The resource management apparatus can be deployed in the management device in the foregoing embodiments, and the management device is used to manage a resource pool. The resource pool includes a plurality of data processing units (DPUs), and includes a plurality of resources. The plurality of resources are logically isolated, and can be used by a plurality of devices. Each device can use the resource bound thereto. As shown in Figure 13 The resource management apparatus includes a second detection unit and a second control unit.
[0123] The second detection unit detects a second target event of a first device of the plurality of devices, and the first device is bound to a first resource of the plurality of resources. In response to the second target event, the second control unit controls the first device to be unbound from the first resource, and controls the first device to be bound to a second resource of the resource pool.
[0124] Optionally, the first device runs a first virtual machine, and the first virtual machine is bound to the first resource. The second control unit controls the first device to be unbound from the first resource, and controls the first device to be bound to a second resource of the resource pool, including: The second control unit controls a first virtual machine of the first device to be unbound from the first resource, and controls the first virtual machine to be bound to a second resource of the resource pool.
[0125] Optionally, the second control unit controls the first virtual machine of the first device to be unbound from the first resource, and controls the first virtual machine of the first device to be bound to a second resource of the resource pool, comprising: The second control unit sends allocation information to the first device, the allocation information being used to instruct the first device to update a first relationship to obtain a second relationship, so that the first virtual machine of the first device is bound to the second resource based on the second relationship, the first relationship describing a mapping between the first virtual machine and the first resource, and the second relationship describing a mapping between the first virtual machine and the second resource.
[0126] Optionally, the first relationship describes a mapping between the first resource, a memory address of the first virtual machine, and a physical memory address of the first device, and the second relationship describes a mapping between the second resource, the memory address of the first virtual machine, and the physical memory address of the first device.
[0127] It should be understood that the above merely helps those skilled in the art to better understand the embodiments of the present application, and is not intended to limit the scope of the embodiments of the present application. Those skilled in the art can obviously make various equivalent modifications or changes according to the above examples given, for example, some steps in each of the above methods can not be necessary, or some steps can be newly added, etc. Or a combination of any two or more of the above embodiments. Such modifications, changes or combinations also fall within the scope of the embodiments of the present application.
[0128] It should also be understood that the ways, cases, categories and divisions of embodiments in the embodiments of the present application are only for the convenience of description, and should not be considered as specific limitations. The features in various ways, categories, cases and embodiments can be combined without contradiction.
[0129] It should also be understood that various numerical designations involved in the embodiments of the present application are only for the convenience of differentiation, and are not intended to limit the scope of the embodiments of the present application. The size of the serial number of each process does not mean the order of execution, the execution order of each process should be determined according to its task and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0130] It should also be understood that the above description of the embodiments of the present application focuses on the differences between the various embodiments, and the same or similar parts not mentioned can be referred to each other. For the sake of brevity, they will not be repeated here.
[0131] The above Figures 1-13 Embodiments of the method and device provided by the embodiments of the present application are described above, and the electronic device provided by the embodiments of the present application is described below.
[0132] The embodiment can divide the electronic device into functional units according to the method described above. For example, each task unit can be divided according to each function, or two or more tasks can be integrated into one processing unit. The integrated unit can be implemented in the form of hardware. It should be noted that the division of the unit in the embodiment is illustrative, and is only a logical task division. In actual implementation, there can be another division method.
[0133] It should be noted that the related content of each step involved in the method embodiment described above can be cited in the task description of the corresponding task unit, which will not be described here.
[0134] The electronic device provided by the embodiment of the application is used to execute the resource management method provided by the method embodiment described above, and thus the same effect as the implementation method described above can be achieved.
[0135] In other embodiments, in the case of using an integrated unit, the electronic device can include a processing unit, a storage unit and a communication unit. The processing unit can be used to control and manage the actions of the electronic device. For example, it can be used to support the electronic device to execute the steps executed by the processing unit. The storage unit can be used to support the storage of program codes and data, etc. The communication unit can be used to support the communication between the electronic device and other electronic devices or the communication of the electronic device.
[0136] The processing unit can be a processor or a controller. It can be various exemplary logical blocks, units and circuits described in combination with the disclosure of the application. The processor can also be a combination of computing tasks, such as a combination of one or more microprocessors, a combination of digital signal processing (digital signal processing, DSP) and microprocessors, etc. The storage unit can be a memory. The communication unit can be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, etc. and other devices that interact with other electronic devices or electronic devices.
[0137] Based on the same concept, the embodiment of the application also provides an electronic device, which is described with reference to Figure 14 , Figure 14 The structure schematic diagram of an exemplary electronic device of the application is shown, Figure 14 The electronic device shown can execute the steps in the resource management method executed by any one of the management devices or multiple devices provided by the embodiment of the application.
[0138] The electronic device 1400 includes at least one processor 1401, a memory 1403 and at least one network interface 1404.
[0139] The processor 1401 is, for example, a general-purpose CPU, a digital signal processor (DSP), a network processor (NP), a GPU, a neural network processing unit (NPU), a data processing unit (DPU) for decoy file deployment, a microprocessor, or one or more integrated circuits or application specific integrated circuits (ASICs) for implementing the schemes of the present application, a programmable logic device (PLD) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The PLD is, for example, a complex programmable logic device (CPLD), a field programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. It can implement or execute various logical blocks, modules, and circuits described in connection with the disclosure of the present application. The processor can also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
[0140] Optionally, the electronic device 1400 further includes a bus 1402. The bus 1402 is used to transmit information between the components of the electronic device 1400. The bus 1402 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1402 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 14 In the figure, only one thick line is used to represent the bus, but it does not mean that there is only one bus or only one type of bus.
[0141] The memory 1403 is, for example, a read only memory (ROM) or other type of storage device that can store static information and instructions, a random access memory (RAM), or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read only memory (EEPROM), a compact disc read only memory (CD ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing instructions or data that can be accessed by a computer, but not limited to. The memory 1403 is, for example, independent and connected to the processor 1401 through the bus 1402. The memory 1403 can also be integrated with the processor 1401.
[0142] The network interface 1404 uses any transceiver-like mechanism for communicating with other devices or a communication network, which can be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The network interface 1404 can include a wired network interface and can also include a wireless network interface. Specifically, the network interface 1404 can be an Ethernet interface, such as a fast Ethernet (FE) interface, a gigabit Ethernet (GE) interface, an asynchronous transfer mode (ATM) interface, a WLAN interface, a cellular network interface, or a combination thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In some embodiments of the present application, the network interface 1404 can be used for the electronic device 1400 to communicate with other devices.
[0143] In a specific implementation, as some embodiments, the processor 1401 can include one or more CPUs. Each of these processors can be a single core processor or a multiple core processor. The processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0144] In a specific implementation, as some embodiments, the electronic device 1400 can include a plurality of processors. Each of the processors can be a single-core processor or a multi-core processor. The processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0145] In some embodiments, the memory 1403 is configured to store program instructions for implementing the solutions of the present application, and the processor 1401 can execute the program instructions stored in the memory 1403. That is, the electronic device 1400 can implement the method provided by the method embodiments shown in the above embodiments by the processor 1401 and the program instructions in the memory 1403. The program instructions can include one or more software modules. Alternatively, the processor 1401 itself can also store program instructions for implementing the solutions of the present application.
[0146] In the implementation process, the processor 1401 in the electronic device 1400 of the present application reads the instructions in the memory 1403, and executes the instructions to implement the method embodiments disclosed in the present application. Figure 14 The electronic device 1400 shown in the above embodiments can perform all or part of the steps of the resource management method performed by the electronic device in the above embodiments.
[0147] The steps of the method described in the above embodiments are completed by the integrated logic circuit of the hardware in the processor of the electronic device 1400 or the instructions in the form of software. The steps of the method embodiments disclosed in the present application can be directly embodied as being executed by the hardware processor, or executed by the combination of hardware and software modules in the processor. The software module can be located in the random access memory, the flash memory, the read-only memory, the programmable read-only memory, the electrically erasable programmable memory, the register, or other mature storage media in the field. The storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method embodiments. To avoid repetition, they will not be described in detail here.
[0148] It is to be understood that the above-described processor can be a central processing unit (CPU), but can also be other general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic components, discrete hardware components, etc. The general purpose processor can be a microprocessor or any conventional processor, etc. It is to be noted that the processor can be an advanced RISC machine (ARM) architecture processor.
[0149] Further, in an optional embodiment, the above-described memory can include read only memory (ROM) and random access memory (RAM) and provide the processor with instructions and data. The memory can also include non-volatile random access memory. For example, the memory can also store device type information.
[0150] The memory can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memory. Among them, the non-volatile memory can be read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically EPROM (EEPROM) or flash memory. The volatile memory can be random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM) and direct rambus RAM (DR RAM).
[0151] The electronic device provided in the embodiment can execute the method provided in the above method embodiment, and has similar implementation principles and technical effects, which will not be described herein.
[0152] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the method provided in the above method embodiment.
[0153] The embodiment of the present application further provides a computer program product. When the computer program product is run on an electronic device, the electronic device is caused to implement the method provided in the above method embodiment.
[0154] The embodiment of the present application provides a chip, comprising a processor, configured to call and run instructions stored in a memory, so that a communication device installed with the chip executes the method provided in the above method embodiment.
[0155] The embodiment of the present application further provides a chip system, comprising a processor, coupled with a memory. The processor executes a computer program stored in the memory to implement the method provided in the above method embodiment. The chip system can be a single chip or a chip module composed of multiple chips.
[0156] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted by the computer readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk or magnetic tape), optical media (such as DVD) or semiconductor media (such as solid state disk (SSD)) and the like.
[0157] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by a computer program instructing relevant hardware, and the program can be stored in a computer-readable storage medium. When the program is executed, the processes of the above-mentioned method embodiments can be included. The aforementioned storage medium can include ROM, random access memory (RAM), magnetic disk or optical disk, and various program code storage media.
[0158] The naming or numbering of the steps in the present application does not mean that the steps in the method process must be executed in the time / logical order indicated by the naming or numbering. The execution order of the named or numbered process steps can be changed according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.
[0159] In the above embodiments, the description of each embodiment has its own focus. The parts not described or recorded in detail in a certain embodiment can be referred to the related description of other embodiments.
[0160] In the embodiments provided in the present application, it should be understood that the disclosed devices / apparatuses and methods can be implemented by other means. For example, the above-described device / apparatus embodiment is only schematic, and the division of the modules or units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed objects can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0161] It should be understood that, in the description of the present application and the appended claims, the terms "comprise", "include", "have" and any variations thereof are intended to cover non-exclusive inclusion, and mean "including but not limited to", unless otherwise specifically emphasized. For example, a process, method, system, product or device that includes a series of steps or modules does not necessarily limit to those clearly listed steps or modules, but can include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices.
[0162] In the description of the present application, unless otherwise specified, " / " means that the associated objects before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in the present application is used to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent three cases of A alone, A and B together, and B alone, where A and B can be singular or plural.
[0163] Also, in the description herein, "multiple" means two or more, unless otherwise specified. "At least one of' or like phrases, refer to any one of these items, including individual items or combinations of items. For example, at least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple.
[0164] As used in the description herein and throughout the claims that follow, the term "if can be interpreted as meaning "when," or "upon," or "in response to a determination," or "in response to a detection of, depending on the context. Similarly, the phrase "if determined," or "if detected [the described condition or event]" can be interpreted as meaning "upon a determination," or "in response to a determination," or "upon a detection of [the described condition or event]," or "in response to a detection of [the described condition or event]," depending on the context.
[0165] In addition, the terms "first," "second," and the like, as used in the description herein and throughout the claims that follow, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of these terms in the description herein is solely intended to distinguish between two distinct elements or steps in a process or method. Unless specifically stated otherwise, no inference should be drawn from the use of these terms (for example, "first" and "second") in the description herein that a combination of features of a first element cannot be combined with a combination of features of a second element, unless the combination of features of the first element is expressly called out.
[0166] In the embodiments herein, the term "exemplary" or "for example" is used to mean "an example of" or "an example," not an ideal. Any implementation described herein as "exemplary" or "for example" is not necessarily to be construed as preferred or advantageous over other implementations. Rather, the term "exemplary" or "for example" is merely intended to convey that the described implementation is an example implementation, and is not necessarily intended to convey that the described implementation is the only implementation, or that other implementations are less preferred or less advantageous. The term "exemplary" or "for example" is intended to convey that the described implementation is an example implementation, and is not necessarily intended to convey that the described implementation is the only implementation, or that other implementations are less preferred or less advantageous.
[0167] Reference throughout this specification to "one embodiment" or "an embodiment" or "a specific embodiment" or "some embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" or "in a specific embodiment" or "in some embodiments" in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
[0168] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A resource management method characterized by, A method applied to a management device, the management device being configured to manage a resource pool, the resource pool comprising a plurality of data processing units (DPUs), the resource pool comprising a plurality of resources, the plurality of resources being logically isolated, the plurality of resources being available to a plurality of devices, each of the devices being able to use the resources to which it is bound, the method comprising: detecting, by the management device, a first target event of a first device of the plurality of devices, the first device being bound to a first resource of the plurality of resources; in response to the first target event, controlling, by the management device, the first device to unbind from the first resource and controlling a second device of the plurality of devices to bind to the unbound first resource.
2. The method of claim 1, wherein, the first device runs a first virtual machine, the first virtual machine being bound to the first resource, the second device runs a second virtual machine; controlling, by the management device, the first device to unbind from the first resource and controlling a second device of the plurality of devices to bind to the unbound first resource comprises: controlling, by the management device, the first virtual machine to unbind from the first resource and controlling the second virtual machine of the second device to bind to the unbound first resource.
3. The method of claim 2, wherein, the second virtual machine is a virtual machine to which the first virtual machine is migrated.
4. The method according to claim 2 or 3, characterized in that, the first target event is configured to instruct the first virtual machine to perform a hot migration.
5. The method according to any one of claims 2 to 4, characterized in that, controlling, by the management device, the first device to unbind from the first resource and controlling a second device of the plurality of devices to bind to the unbound first resource comprises: sending, by the management device, first information to the second device, the first information being configured to instruct the second device to establish a first relationship, the first relationship describing a mapping between the second virtual machine and the first resource; sending, by the management device, second information to the first device, the second information being configured to instruct the first virtual machine to migrate from the first device to the second device, such that, upon completion of the migration, the first device unbinds the first virtual machine from the first resource and the second device binds the second virtual machine to the unbound first resource based on the first relationship.
6. The method of claim 5, the first relationship describing an association between the first resource, a memory address of the second virtual machine and a physical memory address of the second device.
7. A resource management method characterized by, A method applied to a management device, the management device being configured to manage a resource pool, the resource pool comprising a plurality of data processing units (DPUs), the resource pool comprising a plurality of resources, the plurality of resources being logically isolated, the plurality of resources being available to a plurality of devices, each of the devices being able to use the resources to which it is bound, the method comprising: detecting, by the management device, a second target event of a first device of the plurality of devices, the first device being bound to a first resource of the plurality of resources; in response to the second target event, controlling, by the management device, the first device to unbind from the first resource and controlling the first device to bind to a second resource of the resource pool.
8. The method of claim 7, wherein, the first device runs a first virtual machine, the first virtual machine being bound to the first resource; The management device controls the first device to be unbound from the first resource and controls the first device to be bound to a second resource of the resource pool, including: The management device controls a first virtual machine of the first device to be unbound from the first resource and controls the first virtual machine to be bound to a second resource of the resource pool.
9. The method of claim 8, wherein, The management device controls a first virtual machine of the first device to be unbound from the first resource and controls the first virtual machine of the first device to be bound to a second resource of the resource pool, including: The management device sends allocation information to the first device, the allocation information being used to instruct the first device to update a first relationship to obtain a second relationship, so that a first virtual machine of the first device is bound to the second resource based on the second relationship, the first relationship describing a mapping between the first virtual machine and the first resource, and the second relationship describing a mapping between the first virtual machine and the second resource.
10. The method of claim 9, wherein, The first relationship describes a mapping between the first resource, a memory address of the first virtual machine, and a physical memory address of the first device, and the second relationship describes a mapping between the second resource, the memory address of the first virtual machine, and the physical memory address of the first device.
11. A resource management system, characterized by The resource management system includes a management device and a plurality of devices, the management device is used to manage a resource pool, the resource pool includes a plurality of data processing units (DPUs), the resource pool includes a plurality of resources, the plurality of resources are logically isolated, and the plurality of resources can be used by the plurality of devices; each device can use the resource bound thereto; The management device detects a first target event of a first device in the plurality of devices, the first device being bound to a first resource in the plurality of resources; In response to the first target event, the management device controls the first device to be unbound from the first resource and controls a second device in the plurality of devices to be bound to the unbound first resource.
12. The system of claim 11, wherein, The first device runs a first virtual machine, and the first virtual machine is bound to the first resource, and the second device runs a second virtual machine; The management device controls the first device to be unbound from the first resource and controls a second device in the plurality of devices to be bound to the unbound first resource, including: The management device controls the first virtual machine to be unbound from the first resource and controls the second virtual machine of the second device to be bound to the unbound first resource.
13. The system of claim 12, wherein, The second virtual machine is a virtual machine after migration of the first virtual machine.
14. The system of claim 12 or 13, wherein, The first target event is used to instruct the first virtual machine to be hot-migrated.
15. The system of any one of claims 12 to 14, wherein, The management device controls the first device to be unbound from the first resource and controls a second device in the plurality of devices to be bound to the unbound first resource, including: The management device sends first information to the second device; and the second device establishes a first relationship based on the first information, the first relationship describing a mapping between the second virtual machine and the first resource. The management device sends second information to the first device; the first device migrates to the second device based on the second information; After migration is completed, the first device unbinds the first virtual machine from the first resource, and the second device binds the second virtual machine to the unbound first resource based on the first relationship.
16. The system of claim 15, wherein, The second device establishes a first relationship based on the first information, including: The second device establishes a second relationship based on the first information, the second relationship describing a mapping between the second device and the first resource; The first device sends third information to the second device, the third information being used to indicate that the first virtual machine migrates from the first device to the second device; the second device creates a second virtual machine in the second device based on the third information, and establishes a third relationship, the third relationship describing a mapping between the second device and the second virtual machine; The second device determines the first relationship based on the second relationship and the third relationship.
17. The system of claim 15 or 16, wherein, The first relationship describes a mapping between the first resource, a memory address of the second virtual machine, and a physical memory address of the second device.
18. A resource management system, characterized by The resource management system includes a management device and multiple devices, the management device being used to manage a resource pool, the resource pool including multiple data processing units (DPUs), the resource pool including multiple resources, the multiple resources being logically isolated, and the multiple resources being available to the multiple devices, each of the devices being able to use the resource bound to the device; The management device detects a second target event of a first device in the multiple devices, the first device being bound to a first resource in the multiple resources; In response to the second target event, the management device controls the first device to unbind from the first resource, and controls the first device to bind to a second resource of the resource pool.
19. The system of claim 18, wherein, The first device runs a first virtual machine, the first virtual machine being bound to the first resource; The management device controls the first device to unbind from the first resource, and controls the first device to bind to a second resource of the resource pool, including: The management device controls a first virtual machine of the first device to unbind from the first resource, and controls the first virtual machine to bind to a second resource of the resource pool.
20. The system of claim 19, wherein, The management device controls a first virtual machine of the first device to unbind from the first resource, and controls the first virtual machine of the first device to bind to a second resource of the resource pool, including: The management device sends allocation information to the first device, the allocation information being used to indicate that the first device updates a first relationship; The first device updates the first relationship based on the allocation information to obtain a second relationship, the first relationship describing a mapping between the first virtual machine and the first resource, and the second relationship describing a mapping between the first virtual machine and the second resource; The first device binds the first virtual machine to the second resource based on the second relationship.
21. The system of claim 20, wherein, The first relationship describes a mapping between the first resource, a memory address of the first virtual machine, and a physical memory address of the first device, and the second relationship describes a mapping between the second resource, the memory address of the first virtual machine, and the physical memory address of the first device.
22. A resource management apparatus characterized by comprising: The apparatus comprises means for performing the method of any of claims 1 to 6 or means for performing the method of any of claims 7 to 10.
23. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program, when executed by a processor, implements the method of any of claims 1 to 6 or the method of any of claims 7 to 10.
24. An electronic device, comprising: Comprising: a memory comprising computer readable instructions; a processor in communication with the memory, the processor to execute the computer readable instructions causing the electronic device to perform the method of any of claims 1 to 6 or the method of any of claims 7 to 10.
25. A computer program product, characterised in that, The computer program product comprises instructions which, when executed by an electronic device, implement the method of any of claims 1 to 6 or the method of any of claims 7 to 10.
Citation Information
Patent Citations
Network card resource pooling management method and system
CN104168135A
Dynamic resource allocation for virtual machines
CN104508634A
Dynamic migration method and device for virtual machines
CN107168786A
Resource scheduling method, device and computer program product
CN115495228A
Cloud resource acceleration method and device and medium
CN115913953A