A computing power resource management method, device and equipment and storage medium
Patent Information
- Application Number
- CN202411804333.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2044-12-09
AI Technical Summary
[0024]上述方案中,算力资源的管理装置、设备、计算机存储介质或者计算机程序产品所能解决的技术问题以及实现的技术效果可以参见上述第一方面所解决的技术问题以及技术效果,在此不再赘述。
Smart Images

Figure CN119676765B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, device and storage medium for managing computing resources. Background Technology
[0002] With the development of communication technology, the types of user services are becoming increasingly diverse, and the demand for user services is also increasing. For example, there is a growing demand for computing power in user services.
[0003] Currently, in order to meet the computing power requirements of user services, user services can be executed based on the computing power resources in the user-side device where the user service is located, or the computing power resources of the network-side device can be requested to proxy the execution of user services.
[0004] However, in the aforementioned technical solutions, the computing resources requested by the user-side device from the network-side device are determined by the user-side device, while the network-side device's allocation of its own computing resources is based solely on the user-side device's needs, without considering the user-side device's actual situation. This makes the network-side device's allocation of its own computing resources unreasonable. Therefore, how to provide appropriate computing resources for the computing power needs of user services has become an urgent technical problem to be solved. Summary of the Invention
[0005] This application provides a method, apparatus, device, and storage medium for managing computing resources, which addresses the problem of how to provide suitable computing resources for the computing needs of user businesses.
[0006] To achieve the above objectives, this application adopts the following technical solution:
[0007] Firstly, this application provides a method for managing computing resources. The method includes: a computing resource management device (hereinafter referred to as the "management device") acquiring service request information from a user-side node, the service request information being used to request the allocation of computing resources for a target computing task; determining a first subtask within the target computing task based on the available computing resources of the user-side node, the available computing resources of the user-side node satisfying the computing resource requirements of the first subtask; and allocating target computing resources to the user-side node from the available computing resources of a network-side node based on the computing resource requirements of a second subtask within the target computing task, the target computing resources satisfying the computing resource requirements of the second subtask.
[0008] The technical solution provided in this application brings at least the following beneficial effects: After receiving the initial computing power task (i.e., the target computing power task) reported by the user-side node requesting computing power resources, the network-side node can split the initial computing power task into two sub-tasks (such as the first sub-task and the second sub-task) according to the available computing power resources of the user-side node. One sub-task (such as the first sub-task) is a task that the user-side node can execute using its local available computing power resources, and the other sub-task (such as the second sub-task) is a task that the user-side node cannot continue to execute using its local available computing power resources while executing the first sub-task. Then, based on the computing power resource requirements of the second sub-task, the network-side node provides the user-side node with computing power resources sufficient to execute the second sub-task, thereby proxying the user-side node to carry out the execution of the second sub-task, distributing the computing power load of the user-side node for executing the complete target computing power task, and ensuring the normal execution of the target computing power task. Furthermore, the network-side node shares computing resources with the user-side node based on the actual available computing resources of the user-side node. It takes into account the actual situation of the user-side node and shares appropriate computing resources for the actual needs of the user-side node, avoiding excessive use of the network-side node's computing resources by the user-side node and improving the accuracy of the network-side device's sharing and allocation of its own computing resources.
[0009] Optionally, before the above method of "obtaining service request information of user-side nodes", the method further includes: obtaining computing power information reported by user-side nodes during the initial access process, wherein the computing power information is used to indicate the available computing power resources of user-side nodes.
[0010] Optionally, following the method of "obtaining business request information from user-side nodes" described above, the method further includes: if among multiple historical computing tasks there exists a first computing task that is identical to the target computing task, then the historical computing resources corresponding to the first computing task are used as the target computing resources. Here, a historical computing task is a computing task whose computing resources were allocated before the target computing task, and historical computing resources are the computing resources allocated to the corresponding historical computing task before the target computing task.
[0011] Optionally, after the above method of "allocating target computing resources to user-side nodes", the method further includes: sending task allocation information to user-side nodes, wherein the task allocation information is used to instruct user-side nodes to execute a first subtask based on local computing resources and to execute a second subtask using the target computing resources in network-side nodes.
[0012] Optionally, after the above method of "allocating target computing resources to user-side nodes", the method further includes: sending computing power query information to user-side nodes, wherein the computing power query information is used to query the remaining available computing power resources of user-side nodes during the execution of the first subtask.
[0013] Optionally, the difference between the computing resources used by the user-side node when executing the first subtask and the available computing resources of the user-side node is a preset resource threshold.
[0014] Secondly, this application provides an apparatus for managing computing resources, the apparatus comprising: an acquisition module and a processing module.
[0015] The acquisition module is used to acquire service request information from user-side nodes, which requests the allocation of computing resources for the target computing task. The processing module, based on the available computing resources of the user-side nodes, determines the first subtask within the target computing task, ensuring that the available computing resources of the user-side nodes meet the computing resource requirements of the first subtask. The processing module also allocates target computing resources to the user-side nodes from the available computing resources of the network-side nodes, based on the computing resource requirements of a second subtask (other than the first subtask) within the target computing task, ensuring that the target computing resources meet the computing resource requirements of the second subtask.
[0016] Optionally, an acquisition module is used to acquire computing power information reported by the user-side node during the initial access process. The computing power information is used to indicate the available computing power resources of the user-side node.
[0017] Optionally, the processing module is specifically used to, if among multiple historical computing tasks there is a first computing task that is identical to the target computing task, use the historical computing resources corresponding to the first computing task as the target computing resource. Here, the historical computing task is a computing task whose computing resources were allocated before the target computing task, and the historical computing resource is the computing resource allocated to the corresponding historical computing task before the target computing task.
[0018] Optionally, the processing module is specifically used to send task allocation information to the user-side node. The task allocation information is used to instruct the user-side node to execute the first sub-task based on its local computing resources and to execute the second sub-task using the target computing resources in the network-side node.
[0019] Optionally, a processing module is used to send computing power query information to the user-side node. The computing power query information is used to query the remaining available computing power resources of the user-side node during the execution of the first subtask.
[0020] Optionally, the difference between the computing resources used by the user-side node when executing the first subtask and the available computing resources of the user-side node is a preset resource threshold.
[0021] Thirdly, this application provides a device for managing computing resources, the device comprising: a processor and a memory coupled together, the memory for storing one or more programs, the one or more programs including computer-executable instructions, wherein when the device for managing computing resources is running, the processor executes the computer-executable instructions stored in the memory to implement the method for managing computing resources described in the first aspect or any optional method in the first aspect.
[0022] Fourthly, this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method for managing computing resources described in the first aspect or any optional method in the first aspect.
[0023] Fifthly, this application provides a computer program product applied to a server. The computer program product includes computer instructions, which, when executed on the server, enable the server to implement the method for managing computing resources described in the first aspect or any optional method of the first aspect.
[0024] The technical problems that can be solved and the technical effects that can be achieved by the computing power resource management device, equipment, computer storage medium or computer program product in the above solution can be referred to the technical problems and technical effects solved in the first aspect above, and will not be repeated here. Attached Figure Description
[0025] Figure 1 A schematic diagram of a communication system provided in an embodiment of this application;
[0026] Figure 2 A schematic diagram illustrating an example of a computing resource management device provided in this application embodiment;
[0027] Figure 3 A flowchart illustrating a method for managing computing resources provided in an embodiment of this application;
[0028] Figure 4 A flowchart illustrating another method for managing computing resources provided in this application embodiment;
[0029] Figure 5 A flowchart illustrating another method for managing computing resources provided in this application embodiment;
[0030] Figure 6 A schematic diagram illustrating an example of an initial connection process provided in an embodiment of this application;
[0031] Figure 7 A schematic diagram illustrating an example of a method for managing computing resources provided in this application embodiment;
[0032] Figure 8 A schematic diagram of the structure of a computing resource management device provided in an embodiment of this application;
[0033] Figure 9 A schematic diagram of the structure of a computing resource management device provided in an embodiment of this application;
[0034] Figure 10 A conceptual partial view of a computer program product provided for an embodiment of this application. Detailed Implementation
[0035] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0036] In this article, the character " / " generally indicates that the objects before and after it are in an "or" relationship. For example, A / B can be understood as A or B.
[0037] The terms “first” and “second” in the specification and claims of this application are used to distinguish different objects, rather than to describe a specific order of objects.
[0038] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the steps or modules listed, but may optionally include other steps or modules not listed, or may optionally include other steps or modules inherent to such process, method, product, or device.
[0039] Furthermore, in the embodiments of this application, the words "exemplary" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplary" or "for example" is intended to present concepts in a concrete manner.
[0040] Before providing a detailed description of the method for managing computing resources provided in the embodiments of this application, the implementation environment and application scenarios of the embodiments of this application will be introduced first.
[0041] First, the application scenarios of the embodiments of this application will be introduced.
[0042] With the introduction of edge computing into 5G systems, the combination of 5G and edge computing has been widely adopted across various industries, providing users with near-end, high-real-time services. However, 5G and edge computing systems are designed relatively independently. Edge computing is based on cloud computing principles, where the platform allocates computing resources across the cloud, edge, and endpoint to meet business-oriented tasks. 5G primarily serves as the basic conduit for service transmission and is not aware of edge computing, terminals, or cloud computing power, nor does it participate in the scheduling and allocation of computing resources. Current research aims to improve the interaction and awareness between 5G and edge computing by opening up their capabilities to each other and through platform-level collaboration, thereby improving the efficiency of communication and computing resource utilization and better ensuring service capabilities.
[0043] With the rapid advancement of large-scale modeling technology, the integration of artificial intelligence (AI) with various industries and applications will accelerate, significantly altering the design and deployment of future business applications. Ubiquitous AI will place extremely high demands on computing resources. How to fully utilize and activate network-wide computing resources while providing customers with integrated communication and computing services will be crucial for operators to overcome the limitations of traditional network infrastructure in future mobile communication technologies. Designing unified management and scheduling solutions for terminal computing power, base station computing power, and network-side computing power, along with unified management and scheduling of communication and computing resources, is an important technological direction for intelligent business tasks. Computing power will become a vital intrinsic capability of mobile communication systems, giving rise to the concept of mobile computing networks, which has already achieved initial consensus within the industry.
[0044] Several communication + computing solutions have been developed to integrate computing power into mobile networks. For example, by embedding computing boards in 5G base stations, services with extremely high real-time and reliability requirements, such as cloud-based programmable logic controller (PLC) control services in industrial scenarios, can be deployed on these boards. During service initiation, the type of data service received by the base station is identified, and the cloud-based PLC service is routed to the boards within the base station for processing. Furthermore, multiple computing boards across base stations can form a resource pool for unified resource management and scheduling.
[0045] However, the aforementioned technical solutions are limited by the design of the original 5G base station system, resulting in limited interactive bandwidth and weak scalability. Furthermore, the computing power on the 5G base station is not coordinated with the terminal's computing power, and the base station cannot perceive the terminal's computing power. In intelligent service scenarios, it cannot perform service decomposition and allocation, nor fully utilize the relationship between the terminal and base station's computing power. In addition, the computing power in the solution is managed by a separate system and is not reflected in the 5G protocol process, failing to perform true service-performance-oriented joint scheduling and optimization of computing resources.
[0046] In existing technologies, 5G systems lack built-in computing power, and terminals do not need to report computing capability information to the network side. 5G is unaware of terminal and edge computing power information, making effective integrated management and scheduling of communication and computing resources impossible. However, 6th generation mobile communication technology (6G) will be an integrated network encompassing communication, sensing, intelligence, and computing. Whether computing resources should be managed and controlled on a separate computing plane for end-to-end computing resource management, or integrated into the control plane of a 5G system as a unified resource for communication, remains unresolved. However, reusing the existing control plane design of mobile networks can reduce the number of interactions between terminals and the network side, reduce the number of system messages and air interface resource usage, making it a potentially supported approach in the industry.
[0047] In existing designs, in view of the future integrated development of communication and computing, methods for terminal computing power request, computing power allocation and computing power execution are proposed. However, they mainly focus on the process of the terminal making computing power requests in real time, and the network side selecting target computing power devices and allocating tasks. Ultimately, the computing tasks are executed on the target computing power devices. However, they do not involve the terminal's own computing power reporting and real-time updates, task unloading methods, and the collaborative computing process between the terminal's computing power and the target computing power devices.
[0048] In other words, the computing resources requested by the user-side device from the network-side device are determined by the user-side device, while the network-side device's sharing and allocation of its own computing resources is based solely on the user-side device's needs without taking into account the user-side device's actual situation. This makes the sharing and allocation of the network-side device's own computing resources unreasonable.
[0049] In conclusion, how to provide suitable computing resources for users' computing power needs has become an urgent technical problem to be solved.
[0050] To address the aforementioned issues, this application provides a method for managing computing resources. This method is applied to scenarios involving the management of computing resources. In this application, after receiving an initial computing task (i.e., a target computing task) reported by a user-side node requesting computing resources, the network-side node can, based on the user-side node's available computing resources, split the initial computing task into two sub-tasks (e.g., a first sub-task and a second sub-task). One sub-task (e.g., the first sub-task) is a task that the user-side node can execute using its local available computing resources, while the other sub-task (e.g., the second sub-task) is a task that the user-side node cannot continue executing using its local available computing resources while executing the first sub-task. Then, based on the computing resource requirements of the second sub-task, the network-side node provides the user-side node with sufficient computing resources to execute the second sub-task, thereby proxying the user-side node in executing the second sub-task, distributing the computing load on the user-side node for executing the complete target computing task, and ensuring the normal execution of the target computing task. Furthermore, the network-side node shares computing resources with the user-side node based on the actual available computing resources of the user-side node. It takes into account the actual situation of the user-side node and shares appropriate computing resources for the actual needs of the user-side node, avoiding excessive use of the network-side node's computing resources by the user-side node and improving the accuracy of the network-side device's sharing and allocation of its own computing resources.
[0051] The implementation environment of the embodiments of this application is described below.
[0052] like Figure 1 The diagram shown is a schematic representation of a communication system provided in an embodiment of this application. The communication system may include a user-side node 101 and a network-side node 102. The user-side node 101 can be connected to the network-side node 102 via wired / wireless connections.
[0053] Specifically, network-side node 102 can receive target computing power task requests reported by user-side node 101 and process their computing power resource requirements. Next, network-side node 102 can split the target computing power task into two sub-tasks. User-side node 101 executes one of the sub-tasks, where its available computing power resources meet the computing power resource requirements of that sub-task. Network-side node 102 executes the other sub-task, allocating computing power resources to it based on its computing power resource requirements and allocating these resources to user-side node 101, thus enabling network-side node 102 to provide computing power resources to user-side node 101 and share its computing power tasks.
[0054] It should be noted that the user-side node 101 can be a terminal, and the network-side node 102 can be a base station, server, or core network element.
[0055] The server can be a single physical server or a server cluster consisting of multiple servers. Alternatively, the server cluster can be a distributed cluster. Alternatively, the server can be a cloud server. This application does not limit the specific implementation of the server.
[0056] The terminal can be a mobile phone, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, or other device with sending and receiving functions. This application does not impose any special restrictions on the specific form of the terminal. It can interact with the user through one or more methods such as keyboard, touchpad, touch screen, remote control, voice interaction, or handwriting device.
[0057] Base stations can include various forms, such as macro base stations, micro base stations (also known as small stations), relay stations, and access points. Specifically, they can be: access points (APs) in Wireless Local Area Networks (WLANs), base stations (BTSs) in Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), base stations (NodeBs, NBs) in Wideband Code Division Multiple Access (WCDMA), evolved base stations (eNBs or eNodeBs) in LTE, relay stations or access points, and base stations in future 6th Generation Mobile Communication Technology (6G) networks or future Public Land Mobile Network (PLMN) networks, etc.
[0058] Core network elements can include various network functions, such as access and mobility management function (AMF), session management function (SMF), user plane function (UPF), policy control function (PCF), unified data management (UDM), location management function (LMF), etc.
[0059] In some embodiments, when the user-side node 101 is a terminal, the user-side node 101 may include a terminal-side computing resource management module. When the network-side node 102 includes a base station and a core network, the base station and core network may each include a core network element computing resource management module and a base station-side computing resource management module, respectively. Figure 2 As shown, the terminal-side computing resource management module, the core network element computing resource management module, and the base station-side computing resource management module can interact with each other.
[0060] The terminal-side computing resource management module may include: a terminal computing power information storage module 201, a terminal network information storage module 202, a terminal computing resource management module 203, a non-access stratum (NAS) control plane module 204, and a radio resource control (RRC) control plane module 205. Based on the original communication resource management and scheduling, the terminal-side computing resource management module adds computing power management and scheduling functions, and is responsible for feeding back resource information to the network.
[0061] The base station-side computing resource management module may include: an RRC control plane module 205, a base station-core network control plane module 206, a base station computing resource management module 207, a base station network information storage module 208, and a base station computing power information storage module 209. Based on the original communication resource management and scheduling, the base station-side computing resource management module adds computing power management and scheduling functions. The computing power management includes terminal and base station computing power information. For edge services occurring at the base station, the base station-side computing resource management module is responsible for the joint orchestration and resource allocation of communication and computing power resources, while updating the stored computing power and network information, and notifying the terminal and core network to update the computing power information.
[0062] The core network-side computing resource management module may include: a NAS control plane module 204, a base station-core network control plane module 206, a core network computing resource management module 210, a core network network information storage module 211, and a core network computing power information storage module 212. Building upon existing network resource management and scheduling, the core network-side computing resource management module adds computing power management and scheduling functions. The computing power management includes terminal computing power information, base station computing power information, and core network computing power information. The core network-side computing resource management module is responsible for the joint orchestration and allocation of network and computing power resources, while also updating the stored computing power information and network information.
[0063] When the terminal-side computing resource management module and the base station-side computing resource management module exchange resource information, the terminal computing power information storage module 201 and the terminal network information storage module 202 respectively transmit the terminal's computing power information and network-related information to the terminal computing resource management module 203 for terminal management and computing resource allocation. The terminal computing resource management module 203 can send terminal computing power information to the base station through the RRC control plane module 205. The base station computing resource management module 207 can manage the base station and allocate computing resources based on the terminal computing power information and the network-related information of the base station network information storage module 208, and transmit the computing power information to the base station computing power information storage module 209 for storing terminal computing power and base station computing power.
[0064] Similarly, when the terminal-side computing resource management module and the core network-side computing resource management module interact with each other on resource information, the terminal computing resource management module 203 can send terminal computing power information to the core network through the NAS control plane module 204. The core network computing resource management module 210 can manage the core network and allocate computing resources according to the terminal computing power information and the network-related information of the core network network information storage module 211, and transmit the computing power information to the core network computing power information storage module 212 for storing the terminal computing power.
[0065] Similarly, when the base station-side computing resource management module and the core network-side computing resource management module interact with each other, the base station computing resource management module 207 can send computing power information to the core network through the base station-core network control plane module 206. After the NAS control plane module 204 and the base station-core network control plane module 206 interact, the computing power information is transmitted to the core network computing resource management module 210. The core network computing resource management module 210 can manage and allocate computing resources for the core network based on the terminal computing power information and the network-related information of the core network network information storage module 211, and transmit the computing power information to the core network computing power information storage module 212. The terminal computing power, base station computing power and core network computing power stored in the core network computing power information storage module 212 are used.
[0066] After introducing the application scenarios and implementation environment of the embodiments of this application, the following describes in detail the method for managing computing resources provided by the embodiments of this application in conjunction with the above implementation environment.
[0067] The methods in the following embodiments can all be implemented in the above-described application scenarios and implementation environments. The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0068] Figure 3 This is a flowchart illustrating a method for managing computing resources provided in an embodiment of this application. Figure 3 As shown, the method may include: S301-S303.
[0069] S301. Obtain the business request information of the user-side node.
[0070] Among them, the business request information is used to request the allocation of computing resources for the target computing task.
[0071] It should be noted that the embodiments of this application do not limit the computing power task. For example, the computing power task can be a video playback task, a game running task, or a voice call task.
[0072] Furthermore, computing resources may include at least one of the following: central processing unit (CPU) resources, graphics processing unit (GPU) resources, memory resources, and hard disk resources.
[0073] It should be noted that network-side nodes can proactively obtain service request information from user-side nodes, or they can passively receive service request information reported by user-side nodes.
[0074] As one possible implementation, taking the passive reception of service request information reported by user-side nodes by network-side nodes as an example, network-side nodes can receive service request information reported by user-side nodes through specific protocols (such as NAS protocol messages).
[0075] As another possible implementation, taking the network-side node actively obtaining the service request information of the user-side node as an example, the network-side node can send status query information to the user-side node through a specific protocol (such as RRC protocol message). The user-side node can respond to the status query information from the network-side node and send back the corresponding service request information to the network-side node, so that the network-side node can obtain the service request information.
[0076] S302. Based on the available computing power resources of the user-side node, determine the first subtask in the target computing power task.
[0077] As one possible implementation, the network-side node can split the target computing task and, based on the available computing resources of the user-side node, combine the split computing tasks to obtain the first subtask. The first subtask is the computing task executed on the user-side node within the target computing task, and the available computing resources of the user-side node meet the computing resource requirements of the first subtask.
[0078] Optionally, the difference between the computing resources occupied by the user-side node when executing the first subtask and the available computing resources of the user-side node is a preset resource threshold.
[0079] Among them, the preset resource threshold is used to indicate the amount of computing resources that user-side nodes can retain when performing computing tasks.
[0080] In other words, a portion of the available computing resources can be reserved, and the computing resources for the first computing task will not completely occupy all available computing resources. In this way, user-side nodes can retain a certain amount of resource surplus, ensuring that user-side nodes still have enough resources to handle other potential tasks or maintain normal system operation when executing the first subtask.
[0081] For example, the target computing task, after being split, may include: computing task A, computing task B, computing task C, and computing task D. The computing resource requirement for computing task A is 20 gigabytes (GB) in the CPU, computing task B is 30 GB in the GPU, computing task C is 30 GB in the CPU, and computing task D is 7 GB in the GPU. The preset resource thresholds for the CPU are 5 GB and the preset resource thresholds for the GPU are 2 GB. The available computing resources of the user-side node include: 30 GB remaining in the CPU and 10 GB remaining in the GPU. Therefore, the first subtask may include: computing task A and computing task D.
[0082] It should be noted that the embodiments of this application do not limit the available computing power resources of the user-side node. The available computing power resources of the user-side node can be all the computing power resources reported by the user-side node during the initial connection process, or the available computing power resources of the user-side node can be the remaining computing power resources of the user-side node after deducting the computing power resources occupied by other computing power tasks being executed.
[0083] In the embodiments of this application, during the process of the network-side node combining a portion of the computing power tasks in the target computing power task into the first sub-task to be executed by the user-side node, the network-side node can also combine the remaining computing power tasks in the target computing power task (i.e., the second sub-task) and have the network-side node act as an agent for the user-side node to execute them, so as to share the computing power load of the user-side node for executing the complete target computing power task.
[0084] For example, in conjunction with the above example, the second subtask may include: computing power task B and computing power task C.
[0085] S303. Based on the computing power resource requirements of the second subtask other than the first subtask in the target computing power task, allocate target computing power resources to the user-side node from the available computing power resources of the network-side node.
[0086] The target computing resources meet the computing resource requirements of the second subtask.
[0087] It should be noted that the computing resources used by the network-side node when executing the second subtask differ from the target computing resources by an excess of the resource limit.
[0088] The excess resource quota is used to indicate that the computing resources allocated to network-side nodes are more than the amount of computing resources reserved to meet the execution of computing tasks.
[0089] In other words, after meeting the computing resource requirements of the second subtask, an additional amount of computing resources can be reserved to prevent insufficient computing resources during the execution of the second subtask.
[0090] For example, the second subtask may include computing power task A and computing power task B. Computing power task A requires 35GB of CPU resources, computing power task B requires 30GB of GPU resources, with an excess resource allowance of 10GB in the CPU and 5GB in the GPU. The available computing power resources of the network-side node include 50GB of CPU resources and 40GB of GPU resources. Therefore, the target computing power resources include 45GB of CPU resources and 35GB of GPU resources of the network-side node.
[0091] The technical solution provided by the above embodiments brings at least the following beneficial effects: After receiving the initial computing power task (i.e., the target computing power task) reported by the user-side node for requesting computing power resources, the network-side node can split the initial computing power task into two sub-tasks (such as the first sub-task and the second sub-task) according to the available computing power resources of the user-side node. One sub-task (such as the first sub-task) is a task that the user-side node can execute using its local available computing power resources, and the other sub-task (such as the second sub-task) is a task that the user-side node cannot continue to execute using its local available computing power resources while executing the first sub-task. Then, based on the computing power resource requirements of the second sub-task, the network-side node provides the user-side node with computing power resources that can meet the requirements for executing the second sub-task, thereby acting as a proxy for the user-side node to carry out the execution of the second sub-task, distributing the computing power load of the user-side node for executing the complete target computing power task, and ensuring the normal execution of the target computing power task. Furthermore, the network-side node shares computing resources with the user-side node based on the actual available computing resources of the user-side node. It takes into account the actual situation of the user-side node and shares appropriate computing resources for the actual needs of the user-side node, avoiding excessive use of the network-side node's computing resources by the user-side node and improving the accuracy of the network-side device's sharing and allocation of its own computing resources.
[0092] In some embodiments, before the network-side node obtains the service request information of the user-side node (i.e., S301), the network-side node may obtain the computing power information reported by the user-side node during the initial access process. The computing power information is used to indicate the available computing power resources of the user-side node.
[0093] In other words, before the user-side node formally sends a service request to the network-side node, the user-side node needs to report all currently available computing power resources to the network side during the initial access process to ensure that the network side can receive the original computing power resource status from the user side.
[0094] It should be noted that the network-side nodes may store records of computing resource allocation for multiple historical computing tasks. This can provide a basis for allocating computing resources for the current computing tasks, reducing the steps of re-determining computing resource allocation and improving the efficiency of computing resource allocation.
[0095] In some embodiments, such as Figure 4 As shown, after S301, the management method of this computing power resource may also include: S401-S402.
[0096] S401. Determine whether there is a first computing power task that is the same as the target computing power task among multiple historical computing power tasks.
[0097] Among them, historical computing power tasks are computing power tasks that have completed the allocation of computing power resources before the target computing power task, and historical computing power resources are the computing power resources allocated to the corresponding historical computing power tasks before the target computing power task.
[0098] For example, the computing tasks initiated by the user-side node are computing task 1 and computing task 2 in sequence. The network-side node allocates 150GB of computing resources to computing task 1 and is currently executing computing task 2. Then, the target computing task is computing task 2, the historical computing task is computing task 1, and the historical computing resources are 150GB.
[0099] As one possible implementation, network-side nodes can pre-store historical computing tasks. The network-side nodes can compare the similarity between the target computing task and multiple historical computing tasks, and determine the historical computing tasks that are the same as (or similar to, i.e., the similarity is greater than a preset similarity threshold) the target computing task to obtain the first computing task.
[0100] For example, multiple historical computing tasks include: computing task A, computing task B, and computing task C. If the target computing task is the same as (or similar to) computing task B, then computing task B is the first computing task.
[0101] In some embodiments, if it is determined that a first computing task exists among a plurality of historical computing tasks, the network-side node may execute S402.
[0102] S402. Use the historical computing resources corresponding to the first computing task as the target computing resources.
[0103] For example, the historical computing resources corresponding to multiple historical computing tasks include: the historical computing resources corresponding to computing task A are 100GB, the historical computing resources corresponding to computing task B are 80GB, and the historical computing resources corresponding to computing task C are 120GB. If computing task B is the first computing task, then the target computing resources are 80GB.
[0104] Understandably, by comparing the similarity between the current computational task and multiple historical computational tasks, the computational resources corresponding to historical tasks that are identical to the current task can be allocated to the current task. This provides a basis for allocating computational resources to the current task, allowing for a more accurate estimate of the resources required. Simultaneously, it reduces the steps involved in re-determining computational resource allocation, thereby improving the efficiency of computational resource allocation.
[0105] It should be noted that after the task allocation is completed, the user-side node can inform the user-side node of the task allocation result and monitor the changes in computing resources in the user-side node during the execution of computing tasks, so as to realize the synchronous update of the computing information of the user-side node stored by the network-side node.
[0106] In some embodiments, such as Figure 5 As shown, after S303, the management method of this computing power resource may also include: S501-S502.
[0107] S501, Send task allocation information to the user-side node.
[0108] The task allocation information is used to instruct user-side nodes to execute the first sub-task based on local computing resources and to execute the second sub-task using the target computing resources in network-side nodes.
[0109] In other words, the network-side node can inform the user-side node of the result of allocating computing resources for the target computing task, and the user-side node can execute the first sub-task based on its local computing resources. At the same time, the network-side node can act as a proxy for the user-side node to execute the second sub-task based on the computing resource requirements of the second sub-task.
[0110] S502, Send computing power query information to the user-side node.
[0111] Among them, the computing power query information is used to query the remaining available computing power resources of the user-side node during the execution of the first subtask.
[0112] As one possible implementation, the network-side node can send computing power query information to the user-side node through a specific protocol (such as RRC protocol messages). The user-side node can respond to the computing power query information from the network-side node and send back the corresponding computing power query result to the network-side node.
[0113] Understandably, network-side nodes can monitor the computing power status of user-side nodes during the task process and update the stored computing power resource information of user-side nodes when the actual available computing power resources of user-side nodes change. In this way, the computing power resources shared and allocated by the network-side nodes to user-side nodes can be adjusted synchronously based on changes in the available computing power resources of user-side nodes, ensuring the execution of computing tasks while making full use of the available computing power resources in user-side nodes.
[0114] The following describes the method for managing computing resources provided in this application embodiment, using specific examples. It includes the following steps one through three.
[0115] Step 1: During the initial connection process of the mobile terminal device, such as... Figure 6As shown, when a terminal powers on and prepares to access the network, the NAS control plane acquires the terminal's computing power information and encapsulates this information into the network registration process as part of the terminal's network access request. During registration, the terminal carries the computing power information field and synchronously reports this information to the core network control element via the NAS control plane. The core network control element can store the terminal's computing power information, which is further encapsulated into messages suitable for a specific interface format for transmission and processing within the network (i.e., storing the terminal's computing power information and encapsulating it in the interface message). Then, the user equipment context information is updated, carrying the terminal computing power information field, and the core network control element informs the base station of the terminal's computing power information. The base station synchronously stores the terminal's computing power information. In other words, the network-side node acquires the computing power information reported by the user-side node during the initial access process.
[0116] Step Two, as follows Figure 7 As shown, when a mobile terminal device initiates a service, it reports the service type to the base station device. The base station device determines the required computing power based on the service type and decides on the allocation of computing tasks between the mobile terminal device and the base station device (i.e., the general computing resource management module calculates the optimal task allocation scheme between the mobile terminal device and the base station device). After completing the task allocation, the base station device informs the mobile terminal device (i.e., sends task allocation information to the user-side node), and the mobile terminal device initiates service flow transmission and begins edge-to-edge collaborative computing. For example, game rendering is completed on the base station device and returns to the mobile terminal device, where the mobile terminal device processes simple game commands. After the base station device completes the task allocation, the mobile terminal device can start the computing task and run the service.
[0117] After mobile terminal devices and base station devices begin operating edge services collaboratively, to further confirm the actual computing power usage, the base station device generates a computing power information update request to the mobile terminal device via RRC control (i.e., sends computing power query information to the user-side node). The mobile terminal device replies with computing power information to the base station device. Upon receiving the updated computing power information, the base station device updates the computing power information of the mobile terminal device stored in the base station device and sends the computing power usage information of the mobile terminal device to the core network control elements.
[0118] In summary, by utilizing terminals, base stations, and the core network with capabilities for storing, managing, and controlling computing power information, services can fully leverage the network's built-in computing capabilities. During service execution, these three elements collaborate in computing power deployment and dynamic application. Simultaneously, through integrated optimization of network and computing resources, optimal utilization of network and computing resources is achieved. During initial network access, the terminal reports computing power information to the network side via NAS messages. During service execution, the base station notifies the terminal to update computing power information and confirms the update via the RRC control plane.
[0119] It is understandable that terminals can dynamically report their own computing power information through Mobile Network Control Plane (NAS) and Air Interface Control Plane (Air Interface Control Plane) Radio Resource Management (RRC) messages, forming a collaborative management and resource scheduling mechanism with the base station's computing power. This approach reuses some of the original mobile communication system's terminal capability reporting mechanisms, reducing the need for additional control plane modules.
[0120] Furthermore, during initial access by the user equipment (UE), network requests for UE capabilities, or UE network handover, the NAS control plane message process or RRC control plane message process can be used to enable the terminal to report computing power information simultaneously while reporting UE capability messages. Meanwhile, when the UE maintains a service connection and initiates a new edge service task request, the base station determines whether the service type is an edge local service. Based on the UE's computing power and the base station's computing power status, it allocates the service task's computational tasks between the UE and the base station. After allocation, it determines that the service task will be performed on both the UE and the base station. The UE then implements a computing power capability update process based on its computing power usage, carrying the UE's computing power information to synchronize the terminal's actual computing power status with the base station.
[0121] The foregoing primarily describes the solutions provided in the embodiments of this application from the perspective of computer devices. It is understood that, in order to achieve the aforementioned functions, the computer device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the methods and steps for managing computing resources described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed through hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0122] This application also provides a computing resource management device. This computing resource management device can be a computer device, a CPU within the aforementioned computer device, a processing module within the aforementioned computer device for managing computing resources, or a client within the aforementioned computer device for managing computing resources.
[0123] This application embodiment can divide the computing resource management device into functional modules or functional units according to the above method example. For example, each function can be divided into a separate functional module or functional unit, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or in software functional modules or functional units. The module or unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0124] like Figure 8 The diagram shown is a structural schematic of a computing resource management device provided in an embodiment of this application. The computing resource management device is used to execute... Figure 3 , Figure 4 or Figure 5 The computing resource management method shown may include a computing resource management device 800, which may include an acquisition module 801 and a processing module 802.
[0125] The acquisition module 801 is used to acquire service request information from user-side nodes, which requests the allocation of computing resources for the target computing task. The processing module 802 is used to determine a first subtask within the target computing task based on the available computing resources of the user-side nodes, ensuring that the available computing resources of the user-side nodes meet the computing resource requirements of the first subtask. The processing module 802 is also used to allocate target computing resources to the user-side nodes from the available computing resources of the network-side nodes based on the computing resource requirements of a second subtask within the target computing task (excluding the first subtask), ensuring that the target computing resources meet the computing resource requirements of the second subtask.
[0126] Optionally, the acquisition module 801 is used to acquire the computing power information reported by the user-side node during the initial access process. The computing power information is used to indicate the available computing power resources of the user-side node.
[0127] Optionally, the processing module 802 is specifically used to, if among multiple historical computing tasks there is a first computing task that is identical to the target computing task, use the historical computing resources corresponding to the first computing task as the target computing resource. Here, the historical computing task is a computing task whose computing resources were allocated before the target computing task, and the historical computing resource is the computing resource allocated to the corresponding historical computing task before the target computing task.
[0128] Optionally, the processing module 802 is specifically used to send task allocation information to the user-side node. The task allocation information is used to instruct the user-side node to execute the first sub-task based on its local computing power resources and to execute the second sub-task using the target computing power resources in the network-side node.
[0129] Optionally, the processing module 802 is specifically used to send computing power query information to the user-side node. The computing power query information is used to query the remaining available computing power resources of the user-side node during the execution of the first subtask.
[0130] Optionally, the difference between the computing resources used by the user-side node when executing the first subtask and the available computing resources of the user-side node is a preset resource threshold.
[0131] Figure 9 This is a schematic diagram illustrating the structure of a computing resource management device according to an exemplary embodiment. The device may include a processor 902, which executes application code to implement the computing resource management method of this application.
[0132] The processor 902 may be a CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.
[0133] like Figure 9 As shown, the computing resource management device may further include a memory 903. The memory 903 stores the application code that executes the scheme of this application, and its execution is controlled by the processor 902.
[0134] Memory 903 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory 903 may exist independently and be connected to processor 902 via bus 904. Memory 903 may also be integrated with processor 902.
[0135] like Figure 9As shown, the computing resource management device may further include a communication interface 901, wherein the communication interface 901, processor 902, and memory 903 may be coupled to each other, for example, through a bus 904. The communication interface 901 is used for information exchange with other devices, for example, supporting information exchange between the computing resource management device and other devices.
[0136] It should be pointed out that, Figure 9 The device structure shown does not constitute a limitation on the management equipment for this computing resource, except... Figure 9 In addition to the components shown, the management device for this computing resource may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0137] In actual implementation, all the functions implemented by the processing module 802 can be provided by... Figure 9 The processor 902 shown calls the program code in memory 903 to implement this.
[0138] This application also provides a computer-readable storage medium storing instructions that, when executed by a processor of a computer device, enable the computer to perform the computing resource management method provided in the embodiments described above. For example, the computer-readable storage medium may be a memory 903 including instructions, which may be executed by a processor 902 of a computer device to complete the method. Optionally, the computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a ROM, RAM, CD-ROM, magnetic tape, floppy disk, or optical data storage device.
[0139] Figure 10 A conceptual partial view of a computer program product provided in an embodiment of this application is shown as an example. The computer program product includes a computer program for executing computer processes on a computing device.
[0140] In one embodiment, a computer program product is provided using a signal bearer medium 1000. The signal bearer medium 1000 may include one or more program instructions that, when executed by one or more processors, can provide the above-mentioned... Figure 3 , Figure 4 or Figure 5 The described function or part of the function. Therefore, for example, refer to... Figure 3 In the embodiment shown, one or more features of S301 to S303 can be implemented by one or more instructions associated with the signal carrying medium 1000. Furthermore, Figure 10 The program instructions in the document also describe example instructions.
[0141] In some examples, the signal carrying medium 1000 may include a computer-readable medium 1001, such as, but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital magnetic tape, a memory, a read-only memory (ROM), or a random access memory (RAM), etc.
[0142] In some implementations, the signal carrying medium 1000 may include a computer recordable medium 1002, such as, but not limited to, a memory, a read / write (R / W) CD, a R / W DVD, etc.
[0143] In some implementations, the signal carrying medium 1000 may include a communication medium 1003, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).
[0144] The signal-bearing medium 1000 can be transmitted by a wireless communication medium 1003. One or more program instructions may be, for example, computer-executable instructions or logical implementation instructions.
[0145] In some examples, such as targeting Figure 8 The described computing resource management device can be configured to provide various operations, functions, or actions in response to one or more program instructions in a computer-readable medium 1001, a computer-recordable medium 1002, and / or a communication medium 1003.
[0146] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0147] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0148] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be in one place or distributed in multiple different locations. Some or all of the constituent units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0149] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0150] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, essentially, or the part that contributes to the prior art, or a complete or partial classification of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0151] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for managing computing resources, characterized in that, Applied to network-side nodes, the method includes: Obtain the business request information of the user-side node, the business request information being used to request the allocation of computing resources for the target computing task; Based on the available computing power resources of the user-side node, a first subtask is determined in the target computing power task, and the available computing power resources of the user-side node meet the computing power resource requirements of the first subtask; the computing power resources occupied by the user-side node when executing the first subtask differ from the available computing power resources of the user-side node by a preset resource threshold, and the preset resource threshold is used to indicate the amount of computing power resources that the user-side node can retain when executing the computing power task; Based on the computing power resource requirements of the second subtask (excluding the first subtask) in the target computing power task, the user-side node is allocated target computing power resources from the available computing power resources of the network-side node to satisfy the execution of the second subtask; the computing power resources occupied by the network-side node when executing the second subtask differ from the target computing power resources of the network-side node by an excess resource quota, which is used to indicate that the computing power resources allocated to the network-side node are reserved beyond the computing power resources required to satisfy the execution of the computing power task; Send task allocation information to the user-side node, the task allocation information being used to instruct the user-side node to execute the first sub-task based on its local computing power resources, and to execute the second sub-task using the target computing power resources in the network-side node; The network side node sends a computing power query message to the user-side node. The computing power query message is used to query the remaining available computing power resources of the user-side node during the execution of the first subtask, so that the computing power resources shared and allocated by the network side node to the user-side node are adjusted synchronously based on the changes in the available computing power resources of the user-side node.
2. The method according to claim 1, characterized in that, Before obtaining the service request information of the user-side node, the method further includes: The computing power information reported by the user-side node during the initial access process is obtained, and the computing power information is used to indicate the available computing power resources of the user-side node.
3. The method according to claim 1, characterized in that, After obtaining the service request information of the user-side node, the method further includes: If there is a first computing power task among multiple historical computing power tasks that is the same as the target computing power task, then the historical computing power resources corresponding to the first computing power task shall be used as the target computing power resources. The historical computing power task refers to a computing power task whose computing power resource allocation was completed before the target computing power task, and the historical computing power resource refers to the computing power resource allocated to the corresponding historical computing power task before the target computing power task.
4. A device for managing computing resources, characterized in that, The device, applied to a network-side node, includes: The acquisition module is used to acquire business request information from user-side nodes, wherein the business request information is used to request the allocation of computing resources for the target computing task; The processing module is configured to determine a first subtask in the target computing task based on the available computing resources of the user-side node, wherein the available computing resources of the user-side node meet the computing resource requirements of the first subtask; the difference between the computing resources occupied by the user-side node when executing the first subtask and the available computing resources of the user-side node is a preset resource threshold, wherein the preset resource threshold is used to indicate the amount of computing resources that the user-side node can retain when executing the computing task; The processing module is further configured to allocate target computing resources from the available computing resources of the network-side node to the user-side node based on the computing resource requirements of the second subtask (excluding the first subtask) in the target computing task, which can satisfy the execution of the second subtask; the computing resources occupied by the network-side node when executing the second subtask differ from the target computing resources of the network-side node by an excess resource quota, which is used to indicate that the computing resources allocated to the network-side node are reserved beyond the amount required to satisfy the execution of the computing task; The processing module is further configured to send task allocation information to the user-side node, the task allocation information being used to instruct the user-side node to execute the first sub-task based on its local computing power resources, and to execute the second sub-task using the target computing power resources in the network-side node; and to send computing power query information to the user-side node, the computing power query information being used to query the remaining available computing power resources of the user-side node during the execution of the first sub-task, so that the computing power resources shared and allocated by the network-side node for the user-side node are synchronously adjusted based on changes in the available computing power resources of the user-side node.
5. A device for managing computing resources, characterized in that, include: Processor and memory; The processor and the memory are coupled; The memory is used to store one or more programs, the one or more programs including computer execution instructions. When the computing power resource management device is running, the processor executes the computer execution instructions stored in the memory to cause the computing power resource management device to perform the method as described in any one of claims 1-3.
6. A computer-readable storage medium storing instructions, characterized in that, When the computer executes the instructions, the computer performs the method as described in any one of claims 1-3.
7. A computer program product, characterized in that, The computer program product includes computer program instructions that, when executed, implement the method as described in any one of claims 1-3.
Citation Information
Patent Citations
MEC calculation unloading method and device, storage medium and electronic equipment
CN117750383A