Computing power resource allocation method and device, computer readable storage medium and equipment

CN115344359BActive Publication Date: 2026-09-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110523008.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-13
Publication Date
2026-09-04
Estimated Expiration
2041-05-13

AI Technical Summary

Technical Problem

但是,这样容易增加GPU中碎片卡的占比,剩余的碎片卡可能属于不同的GPU设备,造成卡总量足够但是无法为用户提供计算服务的问题

Benefits of technology

在本申请的一示例实施方式所提供的算力资源分配方法中,可以对总算力资源进行规划,得到多个类型的资源池;获取算力容器生成请求对应的目标算力规格,利用满足于目标算力规格的资源组的算力生成算力容器;统计各资源池对应的算力利用结果;如果存在不满足于预设条件的算力利用结果,则将各资源池的算力利用结果中的剩余算力资源按照预设比例划分至缓存资源中;其中,总算力资源由缓存资源以及各资源池划分得到的算力资源构成,缓存资源用于为各资源池提供补足资源。依据上述方案描述,本申请一方面可以对算力资源进行不同类型(如,1卡类型、2卡类型、4卡类型、8卡类型)的分配,并通过对于算力利用结果的分析,在出现不满足于预设条件的算力利用结果时,及时对总算力资源进行重新规划,提升资源调度的及时性,以使得各类型下的算力资源分配合理,避免出现卡总量足够但是无法为用户提供计算服务的情况,提升资源利用率。本申请另一方面,能够基于对算力资源进行不同类型的分配,使得用户的任务在限定的多种类型的规格中运行,避免因现有技术中不同用户指定的算力规格差异大而产生的GPU算力碎片化的情况。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115344359B_ABST
    Figure CN115344359B_ABST
Patent Text Reader

Abstract

The application provides a computing resource allocation method, a computing resource allocation device, a computer readable storage medium and an electronic equipment; relates to the technical field of computers; includes: planning total computing resources to obtain multiple types of resource pools; obtaining a target computing specification corresponding to a computing container generation request, generating a computing container using the computing power of a resource group that meets the target computing specification; counting the computing power utilization results corresponding to each resource pool; if there is a computing power utilization result that does not meet the preset condition, then the remaining computing resources in the computing power utilization results of each resource pool are divided into cache resources according to a preset ratio. As can be seen, different types of computing resource allocation can be performed and the computing power utilization results can be analyzed, and when the computing resource allocation does not meet the current demand, the total computing resources can be re-planned in a timely manner, improving the timeliness of resource scheduling, avoiding the situation that the total amount is sufficient but the computing service cannot be provided for users, and improving the resource utilization rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a computing resource allocation method, a computing resource allocation device, a computer-readable storage medium, and an electronic device. Background Technology

[0002] Graphics Processing Units (GPUs) act as computing power containers, executing computational tasks such as AI training. Each GPU device typically has eight cards, and users can specify any configuration of these eight cards (e.g., 2 / 4 / 6 cards) to perform computational tasks. However, this can easily increase the proportion of fragmented cards in the GPU pool. These remaining fragmented cards may belong to different GPU devices, resulting in a situation where the total number of cards is sufficient but cannot provide computing services to the user. Therefore, how to rationally plan computing resources and adjust them promptly when the allocation is unreasonable, thus avoiding a situation where the total number of cards is sufficient but cannot provide computing services to the user, has become a pressing issue that needs to be addressed.

[0003] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0004] The purpose of this application is to provide a computing power resource allocation method, computing power resource allocation device, computer-readable storage medium, and electronic device, which can allocate computing power resources in different types (e.g., 1-card type, 2-card type, 4-card type, 8-card type), so that computing power resources are rationally distributed in resource pools of various types. Furthermore, by analyzing the computing power utilization results, when computing power utilization results that do not meet preset conditions occur, the total computing power resources can be re-planned in a timely manner, improving the timeliness of resource scheduling, so as to make the allocation of computing power resources under each type reasonable, avoiding the situation where the total number of cards is sufficient but cannot provide computing services to users, and improving resource utilization.

[0005] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0006] According to one aspect of this application, a method for allocating computing resources is provided, comprising:

[0007] The total computing power resources are planned to obtain multiple types of resource pools; each type of resource pool includes at least one resource group, resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power. Obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification; Statistics on the computing power utilization results for each resource pool; If there are computing power utilization results that do not meet the preset conditions, the remaining computing power resources in the computing power utilization results of each resource pool will be allocated to the cache resources according to the preset ratio. The total computing power resources consist of the cache resources and the computing power resources allocated to each resource pool. The cache resources are used to provide supplementary resources for each resource pool.

[0008] According to one aspect of this application, a computing power resource allocation device is provided, comprising: a planning result acquisition unit, a utilization result acquisition unit, and a computing power planning unit, wherein: The planning result acquisition unit is used to plan the total computing power resources and obtain multiple types of resource pools. Each type of resource pool includes at least one resource group. Resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power. The computing power allocation unit is used to obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification; The result acquisition unit is used to statistically analyze the computing power utilization results corresponding to each resource pool. The computing power planning unit is used to allocate the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio if there are computing power utilization results that do not meet the preset conditions. The total computing power resources consist of cache resources and computing power resources allocated to each resource pool. The cache resources are used to provide supplementary resources for each resource pool.

[0009] In one exemplary embodiment of this application, the above-described apparatus further includes: The remaining computing power detection unit is used to detect the remaining computing power of each resource pool based on the computing power utilization results per unit time before the computing power planning unit allocates the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio. The determination unit is used to determine that there is a computing power utilization result that does not meet the preset conditions when the detection result indicates that there is a computing power utilization result that includes the remaining computing power resources in the computing power utilization results of each resource pool.

[0010] In one exemplary embodiment of this application, the determination unit determines that there is a computing power utilization result that does not meet the preset conditions, including: If the remaining computing power resources are found to be greater than the remaining computing power threshold in the preset conditions, it is determined that there are computing power utilization results that do not meet the preset conditions.

[0011] In one exemplary embodiment of this application, the computing power planning unit allocates the remaining computing power resources from the computing power utilization results of each resource pool to cache resources according to a preset ratio, including: Obtain the preset ratios for each resource pool; The target preset ratio corresponding to the computing power utilization results that do not meet the preset conditions is determined based on the preset ratio corresponding to each resource pool. The remaining computing resources from the computing power utilization results that do not meet the preset conditions will be allocated to the cache resources according to the target preset ratio.

[0012] In one exemplary embodiment of this application, the planning result acquisition unit plans the total computing power resources to obtain multiple types of resource pools, including: The system retrieves user settings and plans the total computing resources based on the settings parameters to obtain multiple types of resource pools.

[0013] In one exemplary embodiment of this application, the above-described apparatus further includes: The resource selection interface output unit is used by the computing power planning unit to allocate the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio. When a task submission request is detected, the resource selection interface is output according to the total computing power resources after the replanning. The resource pool determination unit is used to determine the target resource pool from each resource pool based on the detected selection operation; The resource group selection unit is used to select at least one target resource group from the target resource pool; The task execution unit is used to execute the computational task corresponding to the task submission request through at least one target resource group.

[0014] In one exemplary embodiment of this application, the task execution unit executes the computation task corresponding to the task submission request through at least one target resource group, including: Create a target computing power container based on at least one target resource group; The target computing container executes the computation task corresponding to the task submission request.

[0015] In one exemplary embodiment of this application, the resource group selection unit selects at least one target resource group from the target resource pool, including: Read the number of resource groups set from the resource selection interface; If the number of idle resource groups in the target resource pool does not meet the resource group requirement, a preset amount of computing power is obtained from the cached resources to ensure that the number of idle resource groups in the target resource pool meets the resource group requirement.

[0016] In one exemplary embodiment of this application, the above-described apparatus further includes: The hardware quantity determination unit is used to determine the number of hardware units used to perform computing tasks before the planning result acquisition unit plans the total computing power resources and obtains multiple types of resource pools. The total computing power resource determination unit is used to sum the computing power resources corresponding to each piece of hardware and determine the summation result as the total computing power resources.

[0017] In one exemplary embodiment of this application, the computing power planning unit is further configured to: determine the utilization rate threshold range corresponding to each resource pool within a preset time period according to preset conditions; compare the utilization rate threshold range corresponding to each resource pool with the computing power utilization result corresponding to each resource pool; determine the first computing power utilization result and the second computing power utilization result in the comparison result, wherein the first computing power utilization result is higher than the upper limit of the corresponding utilization rate threshold range and the second computing power utilization result is lower than the lower limit of the corresponding utilization rate threshold range; and re-plan the total computing power resources according to the first computing power utilization result and the second computing power utilization result.

[0018] In one exemplary embodiment of this application, the computing power planning unit re-plans the total computing power resources based on the first computing power utilization result and the second computing power utilization result, including: Based on the first difference between the first computing power utilization result and the upper limit of the corresponding utilization rate threshold range, the resource pool corresponding to the first computing power utilization result is subjected to computing power supplementation processing. Based on the second difference between the second computing power utilization result and the lower limit of the corresponding utilization rate threshold range, the computing power reduction process is carried out on the resource pool corresponding to the second computing power utilization result.

[0019] In one exemplary embodiment of this application, the planning result acquisition unit plans the total computing power resources to obtain multiple types of resource pools, including: Based on the acquisition of all computing power planning results corresponding to the total computing power resources per unit time, multiple computing power planning results are obtained in chronological order; among them, for adjacent computing power planning results in multiple computing power planning results, the latter computing power planning result is the result of replanning based on the former computing power planning result.

[0020] According to one aspect of this application, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the method of any of the above by executing the executable instructions.

[0021] According to one aspect of this application, a computer-readable storage medium is provided, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the method of any one of the above.

[0022] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various alternative implementations described above.

[0023] The exemplary embodiments of this application may have some or all of the following beneficial effects: In an example embodiment of this application, a method for allocating computing resources can be provided, which involves planning the total computing resources to obtain multiple types of resource pools; obtaining the target computing power specifications corresponding to the computing power container generation request; using the computing power of resource groups that meet the target computing power specifications to generate computing power containers; statistically analyzing the computing power utilization results corresponding to each resource pool; and if there are computing power utilization results that do not meet preset conditions, then the remaining computing power resources in the computing power utilization results of each resource pool are allocated to cache resources according to a preset ratio. The total computing power resources consist of cache resources and computing power resources allocated to each resource pool, with cache resources used to provide supplementary resources for each resource pool. Based on the above description, this application can allocate computing power resources to different types (e.g., 1-card type, 2-card type, 4-card type, 8-card type), and through analysis of computing power utilization results, when computing power utilization results that do not meet preset conditions occur, the total computing power resources can be re-planned in a timely manner, improving the timeliness of resource scheduling and ensuring reasonable allocation of computing power resources under each type. This avoids situations where the total number of cards is sufficient but cannot provide computing services to users, thereby improving resource utilization. On the other hand, this application enables users' tasks to run in multiple limited specifications by allocating computing resources in different types, thus avoiding GPU computing power fragmentation caused by the large differences in computing power specifications specified by different users in the prior art.

[0024] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0025] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0026] Figure 1 A schematic diagram of an exemplary system architecture for a computing resource allocation method and a computing resource allocation device that can be applied to embodiments of this application is shown; Figure 2 A schematic diagram of the structure of a computer system suitable for implementing the embodiments of this application is shown; Figure 3 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 4 The diagram illustrates an architecture of a computing resource allocation method according to an embodiment of this application. Figure 5 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 6 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 7 A schematic block diagram of a computing resource allocation device according to one embodiment of this application is shown. Detailed Implementation

[0027] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a full understanding of the embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced with one or more of the specific details omitted, or other methods, components, apparatus, steps, etc., can be employed. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of this application.

[0028] Furthermore, the accompanying drawings are merely illustrative of this application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0029] Figure 1 A schematic diagram of a system architecture for an exemplary application environment in which a computing resource allocation method and a computing resource allocation device, which can be applied according to embodiments of this application, is shown.

[0030] like Figure 1 As shown, system architecture 100 may include one or more of terminal devices 101, 102, and 103, a network 104, and a server cluster 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server cluster 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables. Terminal devices 101, 102, and 103 may be various electronic devices with displays, including but not limited to desktop computers, laptops, smartphones, and tablets. It should be understood that... Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included. Servers can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Terminals can be smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, etc., but are not limited to these. Terminals and servers can be directly or indirectly connected via wired or wireless communication, which is not limited herein.

[0031] This application can be applied to cloud technology and cloud computing. Cloud technology refers to a hosting technology that unifies hardware, software, network, and other resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0032] Cloud computing is a computing model that distributes computing tasks across a large pool of computers, enabling various application systems to access computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." From the user's perspective, resources in the "cloud" appear infinitely scalable, readily available, on-demand, and expandable, with payment based on usage.

[0033] As a provider of fundamental cloud computing capabilities, a cloud resource pool (referred to as a cloud platform, generally called an IaaS (Infrastructure as a Service) platform) is established. Various types of virtual resources are deployed in the resource pool for external customers to choose from. The cloud resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices.

[0034] Based on logical function, a PaaS (Platform as a Service) layer can be deployed on top of the IaaS (Infrastructure as a Service) layer, and a SaaS (Software as a Service) layer can be deployed on top of the PaaS layer. Alternatively, SaaS can be deployed directly on top of IaaS. PaaS is a platform for running software, such as databases and web containers. SaaS refers to various types of business software, such as web portals and bulk SMS senders. Generally speaking, SaaS and PaaS are upper layers compared to IaaS.

[0035] The computing power resource allocation method provided in this application embodiment can be executed by any server in terminal devices 101, 102, 103 or server cluster 105. Accordingly, the computing power resource allocation device is generally set in the servers or terminal devices 101, 102, 103 of server cluster 105. For example, in an exemplary embodiment, any server in server cluster 105 can plan the total computing power resources to obtain multiple types of resource pools; obtain the target computing power specifications corresponding to the computing power container generation request, and use the computing power of resource groups that meet the target computing power specifications to generate computing power containers; count the computing power utilization results corresponding to each resource pool; if there are computing power utilization results that do not meet the preset conditions, the remaining computing power resources in the computing power utilization results of each resource pool are allocated to cache resources according to a preset ratio; wherein, the total computing power resources consist of cache resources and computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool.

[0036] Figure 2 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.

[0037] It should be noted that, Figure 2 The computer system 200 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0038] like Figure 2 As shown, the computer system 200 includes a central processing unit (CPU) 201, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 202 or programs loaded from storage section 208 into random access memory (RAM) 203. The RAM 203 also stores various programs and data required for system operation. The CPU 201, ROM 202, and RAM 203 are interconnected via a bus 204. An input / output (I / O) interface 205 is also connected to the bus 204.

[0039] The following components are connected to I / O interface 205: an input section 206 including a keyboard, mouse, etc.; an output section 207 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 208 including a hard disk, etc.; and a communication section 209 including a network interface card such as a LAN card, modem, etc. The communication section 209 performs communication processing via a network such as the Internet. Drive 210 is also connected to I / O interface 205 as needed. Removable media 211, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 210 as needed so that computer programs read from them can be installed into storage section 208 as needed.

[0040] In particular, according to embodiments of this application, the processes described below with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 209, and / or installed from removable medium 211. When the computer program is executed by central processing unit (CPU) 201, it performs the various functions defined in the methods and apparatus of this application.

[0041] In existing technologies, users can specify the card specifications (e.g., 3 cards) when submitting computing tasks and upload the specified specifications to the computing platform. The platform then uses the corresponding number of cards to execute the computing task based on these specifications. While this method improves resource selectivity for users, the inconsistency between user-specified specifications and task completion times can lead to severe resource fragmentation for the platform. This can result in a situation where the total number of GPUs visible to the user can meet the task's requirements, but after submitting the computing task, the user receives a resource shortage report due to insufficient cards of the required specifications.

[0042] To address the aforementioned issues, this example implementation provides a method for allocating computing resources. Please refer to... Figure 3 , Figure 3 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 3 As shown, the computing power resource allocation method may include steps S310 to S340.

[0043] Step S310: Plan the total computing power resources to obtain multiple types of resource pools; each type of resource pool includes at least one resource group, resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power.

[0044] Step S320: Obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification.

[0045] Step S330: Calculate the computing power utilization results for each resource pool.

[0046] Step S340: If there are computing power utilization results that do not meet the preset conditions, the remaining computing power resources in the computing power utilization results of each resource pool are allocated to the cache resources according to the preset ratio; wherein, the total computing power resources consist of the cache resources and the computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool.

[0047] Implementation Figure 3The method described can allocate computing resources in different types (e.g., 1-card, 2-card, 4-card, and 8-card types). By analyzing the computing power utilization results, when computing power utilization results do not meet preset conditions, the total computing power resources can be re-planned in a timely manner, improving the timeliness of resource scheduling. This ensures that the allocation of computing power resources under each type is reasonable, avoiding situations where the total number of cards is sufficient but cannot provide computing services to users, thus improving resource utilization. Furthermore, based on the allocation of computing power resources in different types, user tasks can run within a limited range of specifications, avoiding GPU computing power fragmentation caused by large differences in computing power specifications specified by different users in existing technologies.

[0048] The steps described above in this example implementation will now be explained in more detail.

[0049] In step S310, the total computing power resources are planned to obtain multiple types of resource pools; wherein each type of resource pool includes at least one resource group, resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power.

[0050] Specifically, the multiple types of resource pools can include resource pools of type 1 card, type 2 card, type 4 card, and type 8 card.

[0051] The computing power planning results for resource pools of type 1 card, type 2 card, type 4 card, and type 8 card can be P:Q:X:Y. See the table below for details.

[0052] As an optional embodiment, before planning the total computing power resources to obtain multiple types of resource pools, the above method further includes: determining the number of hardware devices used to perform computing tasks; summing the computing power resources corresponding to each hardware device, and determining the summation result as the total computing power resources.

[0053] Specifically, the aforementioned hardware can be a Graphics Processing Unit (GPU), also known as a display core, visual processor, or display chip. A GPU is used to perform image and graphics-related calculations on personal computers, workstations, game consoles, and mobile devices (such as tablets and smartphones). Optionally, the aforementioned hardware can also be other processors; this application embodiment does not limit the specific processor used.

[0054] Furthermore, the hardware typically contains eight cards that can communicate with each other. By limiting the card specifications, the utilization rate of the cards in the hardware can be maximized, ensuring that the computing task is supported by the appropriate number of cards and avoiding hardware resource fragmentation. The number of cards in the hardware can be used as a representation of the hardware's computing power resource; that is, if the hardware contains eight cards, then the corresponding computing power resource is eight.

[0055] Furthermore, the number of hardware units in each resource pool can be the same or different, and the computing power of a resource pool can be measured by (the number of hardware units). The number of cards within the hardware is used to represent this. The hardware used to perform computing tasks can be located on the same network or in the same data center to reduce data exchange latency. When the computing task in the task execution request is an AI training task, it can accelerate AI training efficiency.

[0056] Specifically, determining the number of hardware units used to perform the computing tasks includes: determining the number M of hardware units used to perform the computing tasks. Based on this, the computing resources corresponding to each hardware unit are summed, and the summation result is determined as the total computing resources, including: summing M of the computing resources V corresponding to each hardware unit. V=N (i.e., V1+V2……VM), and the summation result N is determined as the total computing power resource; where M, V, and N are positive integers.

[0057] As can be seen, implementing this optional embodiment can determine the total computing power resources, which is conducive to the re-allocation of resources based on the total computing power resources and unreasonable resource allocation, thereby reducing the fragmentation rate of computing power and improving the utilization rate of computing power resources.

[0058] As an optional embodiment, the total computing power resources are planned to obtain multiple types of resource pools, including: obtaining user setting operations, and planning the total computing power resources according to the setting parameters of the user setting operations to obtain multiple types of resource pools.

[0059] Before replanning the total computing power resources, computing power resource planning can be carried out based on the parameters set by the user.

[0060] As can be seen, implementing this optional embodiment enables manual planning of computing resources.

[0061] As an optional embodiment, the total computing power resources are planned to obtain multiple types of resource pools, including: obtaining all computing power planning results corresponding to the total computing power resources based on a unit time (e.g., a month, a day, or an hour) to obtain multiple computing power planning results arranged in chronological order; wherein, for adjacent computing power planning results among the multiple computing power planning results, the later computing power planning result is the result of replanning based on the previous computing power planning result.

[0062] Specifically, after obtaining all computing power planning results corresponding to the total computing power resources per unit time and obtaining multiple computing power planning results arranged in chronological order, the above method may further include: analyzing the consistency between computing power planning results in the time series; determining the time span corresponding to the consistent computing power planning results; if the time span is less than a preset threshold (e.g., 3 days), then execute step S330 below; if the time span is greater than or equal to the preset threshold, then end the process. For example, if among the N computing power planning results arranged in chronological order, R consecutive computing power planning results are consistent, and the time span t>T corresponding to the consistent computing power planning results, that is, within the time span T corresponding to the consistent computing power planning results, multiple consistent computing power planning results have high practicality. Therefore, if the computing power utilization result corresponding to the total computing power resource planning result does not meet the preset conditions, it is determined as a temporary situation and no processing is performed; where N>R, and t, N, R, and T are constants.

[0063] As can be seen, implementing this optional embodiment allows for the selection of computing power planning results within a predetermined time period based on requirements, thereby facilitating the personalized improvement of the rationality of computing power planning under different circumstances.

[0064] In step S320, the target computing power specification corresponding to the computing power container generation request is obtained, and the computing power of the resource group that meets the target computing power specification is used to generate the computing power container.

[0065] Specifically, obtaining the target computing power specification corresponding to the computing power container generation request includes: parsing the computing power container generation request, obtaining the corresponding task volume from the parsing result, and determining the target computing power specification based on the task volume. The target computing power specification may include resource groups from different types of resource pools.

[0066] In step S330, the computing power utilization results corresponding to each resource pool are statistically analyzed.

[0067] Specifically, the above method may further include: receiving computing power planning results uploaded by each resource pool based on a unit time, wherein the computing power planning results are used to represent parameters such as the number of task executions for each resource group in the resource pool within a unit time; wherein, if the number of task executions is 0, it means that the resource group has not been invoked within a unit time.

[0068] In step S340, if there are computing power utilization results that do not meet the preset conditions, the remaining computing power resources in the computing power utilization results of each resource pool are allocated to the cache resources according to a preset ratio; wherein, the total computing power resources consist of the cache resources and the computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool.

[0069] Specifically, preset conditions are used to limit the conditions for initiating replanning, such as the computing power utilization results including remaining computing power resources.

[0070] As an optional embodiment, the above method further includes: performing a residual computing power detection on the computing power utilization results corresponding to each resource pool based on a unit time; if the detection result indicates that there is a computing power utilization result containing residual computing power resources in the computing power utilization results of each resource pool, then it is determined that there is a computing power utilization result that does not meet the preset conditions.

[0071] Specifically, based on the computing power utilization results of each resource pool per unit time, residual computing power detection is performed. This includes: detecting whether there are resource groups in the computing power utilization results of each resource pool that have not executed computing tasks within the unit time, and determining the resource groups in each resource pool that have not executed computing tasks as the residual computing power resources of that resource pool. Based on this, if the detection result indicates that there are computing power utilization results containing residual computing power resources in the computing power utilization results of each resource pool, it means that at least one resource pool has residual computing power resources in its computing power utilization results. Furthermore, if multiple resource pools have residual computing power resources in their computing power utilization results, the residual computing power resources corresponding to each resource pool can be different or the same.

[0072] As can be seen, implementing this optional embodiment can avoid blocking situations such as one or more cards in the resource pool not being scheduled for a long time. When the computation task in the task execution request is an AI training task, it can help improve the iteration rate of the training task.

[0073] As an optional embodiment, determining that there is a computing power utilization result that does not meet the preset conditions includes: if it is found that the remaining computing power resources are greater than the remaining computing power threshold in the preset conditions, then it is determined that there is a computing power utilization result that does not meet the preset conditions.

[0074] Specifically, the remaining computing power threshold is used to limit the maximum value of remaining computing power resources. That is, reasonable remaining computing power resources cannot exceed the remaining computing power threshold. If the remaining computing power threshold is exceeded, it means that the remaining computing power resources do not meet the preset conditions.

[0075] As can be seen, implementing this optional embodiment can filter the remaining computing power resources by using the remaining computing power threshold and remaining computing power resources, so as to avoid allocating all remaining computing power resources to cache resources, thereby causing the resource pool to be unable to cope with multiple sudden tasks.

[0076] As an optional embodiment, the remaining computing power resources in the computing power utilization results of each resource pool are allocated to cache resources according to a preset ratio, including: obtaining the preset ratio corresponding to each resource pool; determining the target preset ratio corresponding to the computing power utilization results that do not meet the preset conditions based on the preset ratio corresponding to each resource pool; and allocating the remaining computing power resources in the computing power utilization results that do not meet the preset conditions to cache resources according to the target preset ratio.

[0077] Specifically, the remaining computing power resources from the utilization results of each resource pool are allocated to cache resources. This includes changing the labels of all hardware belonging to the remaining computing power resources. The changed labels ensure that all hardware belonging to the remaining computing power resources is automatically assigned to the cache resources, and the changed labels are consistent with the labels of the spaces storing the cache resources. The cache resources can be buffer resources, which are used to temporarily store remaining computing power resources. The hardware in the cache resources is idle hardware. The cache resources can act as resource providers to correct the resource pool's resource utilization ratio, readily available for use by each resource pool to address the problem of computing power resource fragmentation.

[0078] Furthermore, the percentage allocation of the total resource pool to cached resources can be A:B, where the initial values ​​of A and B can be random values ​​within a preset range / values ​​set by relevant personnel / historical allocation values; where A and B are positive integers. Specifically, N A can be used to characterize the computing power of all resource pools, N B can be used to characterize the computing power of cache resources, which can be quantified by the number of cards in the hardware.

[0079] For example, based on the percentage of different types of resource pools defined in the table above, the computing power corresponding to a resource pool of type 1 card can be expressed as N. A The computing power corresponding to a resource pool of type P2 can be represented as N. A Q; The computing power corresponding to a 4-card type resource pool can be represented as N. A The computing power corresponding to an 8-card type resource pool can be represented as N. A Y.

[0080] As can be seen, implementing this optional embodiment can achieve real-time correction of the resource pool ratio by matching each resource pool with cache resources, reduce the proportion of fragmented cards in the resource pool from the perspective of resource allocation, improve the liquidity of the resource pool, and facilitate the rapid iteration of user tasks.

[0081] As an optional embodiment, after allocating the remaining computing power resources from the computing power utilization results of each resource pool to the cache resources according to a preset ratio, the above method further includes: when a task submission request is detected, outputting a resource selection interface based on the replanned total computing power resources; determining a target resource pool from each resource pool based on the detected selection operation; selecting at least one target resource group from the target resource pool; and executing the computing task corresponding to the task submission request (e.g., AI training task, speech recognition task, game loading task, visual recognition task) through at least one target resource group.

[0082] Specifically, the resource selection interface provides a parameter selection area so that users can select the appropriate type of resource pool (e.g., a 4-card resource pool), the appropriate number of resource groups (five 4-card resource groups), the address for obtaining task data, the address for storing task execution results, the address for storing abnormal data generated during task execution, and the model image of the selected task to be executed, etc., according to task requirements. This embodiment of the application does not impose limitations on these selections. Specifically, the resource selection interface includes a list of specification containers, which includes: 1-card resource pools, 2-card resource pools, 4-card resource pools, and 8-card resource pools for user selection.

[0083] As can be seen, implementing this optional embodiment can provide users with a variety of options. Users can select the appropriate type of resource pool according to their needs, and then perform computing tasks based on the resource groups in that type of resource pool, thereby improving interactivity.

[0084] As an optional embodiment, executing the computing task corresponding to the task submission request through at least one target resource group includes: creating a target computing power container based on at least one target resource group; and executing the computing task corresponding to the task submission request through the target computing power container.

[0085] Specifically, after creating a target computing power container based on at least one target resource group, the above method may further include: responding to the task submission request in the form of feedback information (iplist), displaying the iplist to the user, and executing the computing task corresponding to the task submission request through the target computing power container upon receiving a confirmation operation.

[0086] As can be seen, implementing this optional embodiment enables the execution of user computing tasks based on resource groups within pre-defined resource groups, which helps improve resource utilization and task allocation efficiency.

[0087] As an optional embodiment, selecting at least one target resource group from the target resource pool includes: reading the set number of resource groups (e.g., two 4-card groups) from the resource selection interface; if the number of idle resource groups in the target resource pool (e.g., one 4-card group) does not meet the resource group requirement, then obtaining a preset amount of computing power (e.g., one hardware unit containing 8 cards) from the cached resources so that the number of idle resource groups in the target resource pool meets the resource group requirement.

[0088] Specifically, the number of resource groups can be set by the user or automatically determined based on historical data. The number of idle resource groups is the number of resource groups not currently in computing tasks. Additionally, obtaining a preset amount of computing power from cached resources includes: determining the required number of hardware units (each containing 8 cards) based on the difference between the number of idle resource groups and the number of resource groups (e.g., one 4-card unit); if the cached resources contain the required number of hardware units, then the hardware is selected according to the required number and its tags are changed; the changed hardware belongs to the target resource pool.

[0089] As can be seen, implementing this optional embodiment can reduce the fragmentation problem caused by different user-specified specifications through dynamic planning of computing power.

[0090] As an optional embodiment, the above method further includes: determining the utilization rate threshold range corresponding to each resource pool within a preset time period according to preset conditions; comparing the utilization rate threshold range corresponding to each resource pool with the computing power utilization result corresponding to each resource pool; determining the first computing power utilization result and the second computing power utilization result in the comparison result, wherein the first computing power utilization result is higher than the upper limit of the corresponding utilization rate threshold range, and the second computing power utilization result is lower than the lower limit of the corresponding utilization rate threshold range; and re-planning the total computing power resources according to the first computing power utilization result and the second computing power utilization result.

[0091] Specifically, the preset duration can be used to limit the calculation span of the computing power utilization results, which include the computing power utilization rate.

[0092] As can be seen, by implementing this optional embodiment, computing resources can be replanned based on the specific comparison results between each computing power utilization result and the utilization rate threshold range. This can improve the rationality of the planned computing resources and thus improve the utilization rate of computing resources.

[0093] As an optional embodiment, the total computing power resources are replanned based on the first computing power utilization result and the second computing power utilization result, including: supplementing the resource pool corresponding to the first computing power utilization result with computing power based on the first difference between the first computing power utilization result and the upper limit of the corresponding utilization rate threshold range; and reducing the computing power of the resource pool corresponding to the second computing power utilization result with computing power based on the second difference between the second computing power utilization result and the lower limit of the corresponding utilization rate threshold range.

[0094] Specifically, the utilization threshold range can consist of an upper limit and a lower limit. The utilization threshold range for each resource pool can be the same or different. The resource pool corresponding to the first computing power utilization result undergoes computing power replenishment processing, including: calling computing power resources from cached resources to replenish the first difference. After replenishment, the computing power utilization result of the resource pool can be within the corresponding utilization threshold range. Furthermore, the resource pool corresponding to the second computing power utilization result undergoes computing power reduction processing, including: selecting computing power resources representing the second difference from the resource pool corresponding to the second computing power utilization result and allocating them to cached resources. After reduction, the computing power utilization result of the resource pool can be within the corresponding utilization threshold range.

[0095] As can be seen, by implementing this optional embodiment, different resource processing methods can be used for the first computing power utilization result and the second computing power utilization result, which can improve the personalization of resource allocation and thus improve the rationality of the planned computing power resources.

[0096] Please see Figure 4 , Figure 4 The diagram schematically illustrates an architecture diagram of a computing resource allocation method according to an embodiment of this application. Figure 4 As shown, it includes a computing power resource pool 410 and historical data 420; wherein, the computing power resource pool 410 includes a 1-card resource pool 411, a 2-card resource pool 412, a 4-card resource pool 413, an 8-card resource pool 414 and cache resources 415.

[0097] Specifically, the computing power planning results used to characterize the distribution of total computing power resources in different types of resource pools can be determined, and the computing power utilization results corresponding to the resource planning results within a unit of time can be obtained from historical data 420. If there are computing power utilization results that do not meet the preset conditions, the computing power resources in at least one of the following resource pools—1-card resource pool 411, 2-card resource pool 412, 4-card resource pool 413, and 8-card resource pool 414—are re-planned based on the computing power utilization results. Specifically, the remaining computing power resources in the following resource pools can be allocated to cache resources 415. If any of the following resource pools has insufficient resources in the next unit of time, computing power resources are obtained from cache resources 415.

[0098] Based on this, when a task submission request is detected, a resource selection interface can be output for the computing task in the task submission request. Based on the detected selection operation, a target resource pool can be determined from each resource pool. At least one target resource group can be selected from the target resource pool. A target computing power container can be created based on at least one target resource group. The computing task corresponding to the task submission request can be executed through the target computing power container.

[0099] It is evident that implementation Figure 4 The architecture shown allows for the allocation of computing resources in different types (e.g., 1-card, 2-card, 4-card, and 8-card types). By analyzing computing utilization results, it promptly re-plans the total computing resources when results do not meet preset conditions, improving the timeliness of resource scheduling. This ensures a reasonable allocation of computing resources across different types, avoiding situations where there are enough cards but insufficient computing services for users, thus improving resource utilization. Furthermore, the architecture enables different types of computing resource allocation, allowing user tasks to run within various defined specifications, avoiding GPU fragmentation caused by significant differences in computing specifications specified by different users in existing technologies.

[0100] Please see Figure 5 , Figure 5 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 5 As shown, the computing power resource allocation method may include steps S500 to S540.

[0101] Step S500: Receive task submission request.

[0102] Step S510: Based on the computing power planning results of multiple types of resource pools, replan the total computing power resources, and determine the target resource pool from each resource pool according to the replanned total computing power resources.

[0103] Step S520: Check if the number of idle resource groups in the target resource pool meets the number of resource groups required for the task submission request. If yes, proceed to step S540. If no, proceed to step S530.

[0104] Step S530: Obtain a preset amount of computing power from the cached resources so that the number of idle resource groups in the target resource pool meets the resource group quantity.

[0105] Step S540: Create a target computing power container based on the resource group, and execute the computing task corresponding to the task submission request through the target computing power container.

[0106] It should be noted that steps S500 to S540 are different from... Figure 3 The steps and their embodiments are shown. For specific implementation details of steps S500 to S540, please refer to [link to relevant documentation]. Figure 3 The steps and their embodiments shown are not repeated here.

[0107] It is evident that implementation Figure 5 The method described can allocate computing resources in different types (e.g., 1-card, 2-card, 4-card, and 8-card types). By analyzing the computing power utilization results, when computing power utilization results do not meet preset conditions, the total computing power resources can be re-planned in a timely manner, improving the timeliness of resource scheduling. This ensures that the allocation of computing power resources under each type is reasonable, avoiding situations where the total number of cards is sufficient but cannot provide computing services to users, thus improving resource utilization. Furthermore, based on the allocation of computing power resources in different types, user tasks can run within a limited range of specifications, avoiding GPU computing power fragmentation caused by large differences in computing power specifications specified by different users in existing technologies.

[0108] Please see Figure 6 , Figure 6 A flowchart illustrating a computing resource allocation method according to an embodiment of this application is shown schematically. Figure 6 As shown, the computing power resource allocation method may include steps S600 to S670.

[0109] Step S600: Determine the number of hardware units used to perform the computing tasks, sum the computing resources corresponding to each hardware unit, and determine the summation result as the total computing resources.

[0110] Step S610: Obtain resource planning results to characterize the distribution of total computing power resources in different types of resource pools.

[0111] Step S620: Obtain the computing power utilization results corresponding to the computing power planning results within a unit of time. The resource utilization results include the computing power utilization results corresponding to each resource pool.

[0112] Step S630: Based on the computing power utilization results of each resource pool per unit time, perform remaining computing power detection. If the detection result indicates that there is a computing power utilization result containing remaining computing power resources in the computing power utilization results of each resource pool, and the remaining computing power resources are found to be greater than the remaining computing power threshold in the preset conditions, then it is determined that there are computing power utilization results that do not meet the preset conditions.

[0113] Step S640: All remaining computing resources in the computing power utilization result are allocated to cache resources; wherein, the total computing power resources consist of cache resources and computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool.

[0114] Step S650: When a task submission request is detected, output a resource selection interface based on the replanned total computing power resources, and determine the target resource pool from each resource pool based on the detected selection operation.

[0115] Step S660: Read the set number of resource groups from the resource selection interface. If the number of idle resource groups in the target resource pool does not meet the number of resource groups, obtain a preset amount of computing power from the cached resources so that the number of idle resource groups in the target resource pool meets the number of resource groups.

[0116] Step S670: Create a target computing power container based on at least one target resource group, and execute the computing task corresponding to the task submission request through the target computing power container.

[0117] It should be noted that steps S600 to S670 are the same as... Figure 3 For the specific implementation details of steps S600 to S670, please refer to the examples shown. Figure 3 The steps and their embodiments shown are not repeated here.

[0118] It is evident that implementation Figure 6The method described can allocate computing resources in different types (e.g., 1-card, 2-card, 4-card, and 8-card types). By analyzing the computing power utilization results, when computing power utilization results do not meet preset conditions, the total computing power resources can be re-planned in a timely manner, improving the timeliness of resource scheduling. This ensures that the allocation of computing power resources under each type is reasonable, avoiding situations where the total number of cards is sufficient but cannot provide computing services to users, thus improving resource utilization. Furthermore, based on the allocation of computing power resources in different types, user tasks can run within a limited range of specifications, avoiding GPU computing power fragmentation caused by large differences in computing power specifications specified by different users in existing technologies.

[0119] Furthermore, this example embodiment also provides a computing resource allocation device. (See reference...) Figure 7 As shown, the computing power resource allocation device 700 may include: a planning result acquisition unit 701, a computing power allocation unit 702, a utilization result acquisition unit 703, and a computing power planning unit 704, wherein: The planning result acquisition unit 701 is used to plan the total computing power resources and obtain multiple types of resource pools; each type of resource pool includes at least one resource group, resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power. The computing power allocation unit 702 is used to obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification; The result acquisition unit 703 is used to statistically analyze the computing power utilization results corresponding to each resource pool. The computing power planning unit 704 is used to allocate the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio if there are computing power utilization results that do not meet the preset conditions. The total computing power resources consist of cache resources and computing power resources allocated to each resource pool. The cache resources are used to provide supplementary resources for each resource pool.

[0120] It is evident that implementation Figure 7The device shown can allocate computing resources in different types (e.g., 1-card, 2-card, 4-card, and 8-card types). By analyzing the computing power utilization results, it can promptly re-plan the total computing power resources when the results do not meet preset conditions, improving the timeliness of resource scheduling. This ensures a reasonable allocation of computing power resources under each type, avoiding situations where the total number of cards is sufficient but cannot provide computing services to users, thus improving resource utilization. Furthermore, based on the allocation of computing power resources in different types, it allows user tasks to run within a limited range of specifications, avoiding GPU computing power fragmentation caused by large differences in computing power specifications specified by different users in existing technologies.

[0121] In one exemplary embodiment of this application, the above-described apparatus further includes: The remaining computing power detection unit (not shown) is used to detect the remaining computing power of each resource pool based on the computing power utilization results per unit time before the computing power planning unit allocates the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio. The determination unit (not shown) is used to determine that there is a computing power utilization result that does not meet the preset conditions when the detection results indicate that there is a computing power utilization result that includes the remaining computing power resources in the computing power utilization results of each resource pool.

[0122] As can be seen, implementing this optional embodiment can avoid blocking situations such as a card or cards in the resource pool not being scheduled for a long time. When the computation task in the task execution request is an AI training task, it can help improve the iteration rate of the training task.

[0123] In one exemplary embodiment of this application, the determination unit determines that there is a computing power utilization result that does not meet the preset conditions, including: If the remaining computing power resources are found to be greater than the remaining computing power threshold in the preset conditions, it is determined that there are computing power utilization results that do not meet the preset conditions.

[0124] As can be seen, implementing this optional embodiment can filter the remaining computing power resources by using the remaining computing power threshold and remaining computing power resources, so as to avoid allocating all remaining computing power resources to cache resources, thereby causing the resource pool to be unable to cope with multiple sudden tasks.

[0125] In one exemplary embodiment of this application, the computing power planning unit 704 allocates the remaining computing power resources from the computing power utilization results of each resource pool to cache resources according to a preset ratio, including: Obtain the preset ratios for each resource pool; The target preset ratio corresponding to the computing power utilization results that do not meet the preset conditions is determined based on the preset ratio corresponding to each resource pool. The remaining computing resources from the computing power utilization results that do not meet the preset conditions will be allocated to the cache resources according to the target preset ratio.

[0126] As can be seen, implementing this optional embodiment can achieve real-time correction of the resource pool ratio by matching each resource pool with cache resources, reduce the proportion of fragmented cards in the resource pool from the perspective of resource allocation, improve the liquidity of the resource pool, and facilitate the rapid iteration of user tasks.

[0127] In one exemplary embodiment of this application, the planning result acquisition unit plans the total computing power resources to obtain multiple types of resource pools, including: The system retrieves user settings and plans the total computing resources based on the settings parameters to obtain multiple types of resource pools.

[0128] As can be seen, implementing this optional embodiment enables manual planning of computing resources.

[0129] In one exemplary embodiment of this application, the above-described apparatus further includes: The resource selection interface output unit (not shown) is used to output the resource selection interface based on the replanned total computing power resources after the computing power planning unit 704 has allocated the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio. The resource pool determination unit (not shown) is used to determine the target resource pool from each resource pool based on the detected selection operation; The resource group selection unit (not shown) is used to select at least one target resource group from the target resource pool; The task execution unit (not shown) is used to execute the computation task corresponding to the task submission request through at least one target resource group.

[0130] As can be seen, implementing this optional embodiment can provide users with a variety of options. Users can select the appropriate type of resource pool according to their needs, and then perform computing tasks based on the resource groups in that type of resource pool, thereby improving interactivity.

[0131] In one exemplary embodiment of this application, the task execution unit executes the computation task corresponding to the task submission request through at least one target resource group, including: Create a target computing power container based on at least one target resource group; The target computing container executes the computation task corresponding to the task submission request.

[0132] As can be seen, implementing this optional embodiment enables the execution of user computing tasks based on resource groups within pre-defined resource groups, which helps improve resource utilization and task allocation efficiency.

[0133] In one exemplary embodiment of this application, the resource group selection unit selects at least one target resource group from the target resource pool, including: Read the number of resource groups set from the resource selection interface; If the number of idle resource groups in the target resource pool does not meet the resource group requirement, a preset amount of computing power is obtained from the cached resources to ensure that the number of idle resource groups in the target resource pool meets the resource group requirement.

[0134] As can be seen, implementing this optional embodiment can reduce the fragmentation problem caused by different user-specified specifications through dynamic planning of computing power.

[0135] In one exemplary embodiment of this application, the above-described apparatus further includes: The hardware quantity determination unit (not shown) is used to determine the number of hardware devices used to perform computing tasks before the planning result acquisition unit 701 plans the total computing power resources and obtains multiple types of resource pools. The total computing power resource determination unit (not shown) is used to sum the computing power resources corresponding to each hardware and determine the summation result as the total computing power resources.

[0136] As can be seen, implementing this optional embodiment can determine the total computing power resources, which is conducive to the reallocation of resources based on the total computing power resources and unreasonable resource allocation, thereby reducing the fragmentation rate of computing power and improving the utilization rate of computing power resources.

[0137] In one exemplary embodiment of this application, the computing power planning unit 704 is further configured to determine the utilization rate threshold range corresponding to each resource pool within a preset time period according to preset conditions; compare the utilization rate threshold range corresponding to each resource pool with the computing power utilization result corresponding to each resource pool; determine the first computing power utilization result and the second computing power utilization result in the comparison result, wherein the first computing power utilization result is higher than the upper limit of the corresponding utilization rate threshold range, and the second computing power utilization result is lower than the lower limit of the corresponding utilization rate threshold range; and re-plan the total computing power resources according to the first computing power utilization result and the second computing power utilization result.

[0138] As can be seen, by implementing this optional embodiment, computing resources can be replanned based on the specific comparison results between each computing power utilization result and the utilization rate threshold range. This can improve the rationality of the planned computing resources and thus improve the utilization rate of computing resources.

[0139] In one exemplary embodiment of this application, the computing power planning unit 704 re-plans the total computing power resources based on the first computing power utilization result and the second computing power utilization result, including: Based on the first difference between the first computing power utilization result and the upper limit of the corresponding utilization rate threshold range, the resource pool corresponding to the first computing power utilization result is subjected to computing power supplementation processing. Based on the second difference between the second computing power utilization result and the lower limit of the corresponding utilization rate threshold range, the computing power reduction process is carried out on the resource pool corresponding to the second computing power utilization result.

[0140] As can be seen, by implementing this optional embodiment and using different resource processing methods for the first computing power utilization result and the second computing power utilization result, the degree of personalization of resource allocation can be improved, thereby enhancing the rationality of the planned computing power resources.

[0141] In one exemplary embodiment of this application, the planning result acquisition unit 701 plans the total computing power resources to obtain multiple types of resource pools, including: Based on the acquisition of all computing power planning results corresponding to the total computing power resources per unit time, multiple computing power planning results are obtained in chronological order; among them, for adjacent computing power planning results in multiple computing power planning results, the latter computing power planning result is the result of replanning based on the former computing power planning result.

[0142] As can be seen, implementing this optional embodiment allows for the selection of computing power planning results within a predetermined time period based on requirements, thereby facilitating the personalized improvement of the rationality of computing power planning under different circumstances.

[0143] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0144] Since the functional modules of the computing power resource allocation device in the example embodiments of this application correspond to the steps of the example embodiments of the computing power resource allocation method described above, for details not disclosed in the device embodiments of this application, please refer to the embodiments of the computing power resource allocation method described above in this application.

[0145] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods described in the above embodiments.

[0146] It should be noted that the computer-readable medium shown in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0147] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0148] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0149] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0150] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for allocating computing resources, characterized in that, include: The total computing power resources are planned to obtain multiple types of resource pools; each type of resource pool includes at least one resource group, resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power. Obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification; Statistics on the computing power utilization results for each resource pool; The remaining computing power resources in the computing power utilization results of each resource pool are allocated to the cache resources according to a preset ratio; wherein, the total computing power resources consist of the cache resources and the computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool; The computing power resource allocation method further includes: comparing the computing power utilization result corresponding to each resource pool with the utilization rate threshold range corresponding to each resource pool within a preset time period to determine the first computing power utilization result and the second computing power utilization result; wherein the first computing power utilization result is higher than the upper limit of the corresponding utilization rate threshold range, and the second computing power utilization result is lower than the lower limit of the corresponding utilization rate threshold range. Based on the first difference between the first computing power utilization result and the upper limit of the corresponding utilization threshold range, computing power resources with the first difference are called from the cache resources to supplement the computing power of the resource pool corresponding to the first computing power utilization result; and based on the second difference between the second computing power utilization result and the lower limit of the corresponding utilization threshold range, computing power resources with the second difference are selected from the resource pool corresponding to the second computing power utilization result and planned to be allocated to the cache resources to reduce the computing power of the resource pool corresponding to the second computing power utilization result.

2. The method according to claim 1, characterized in that, The remaining computing power resources from the computing power utilization results of each resource pool are allocated to cache resources according to a preset ratio, including: Based on the computing power utilization results of each resource pool per unit time, the remaining computing power is detected to obtain the detection results; If the detection result indicates that there is a resource pool among the multiple types of resource pools whose computing power utilization result includes remaining computing power resources, then the remaining computing power resources are allocated to cache resources according to a preset ratio.

3. The method according to claim 2, characterized in that, If the detection result indicates that there is a resource pool among the multiple types of resource pools whose computing power utilization result includes remaining computing power resources, then the remaining computing power resources are allocated to cache resources according to a preset ratio, including: If the detection result indicates that there is a resource pool among the multiple types of resource pools whose computing power utilization result includes remaining computing power resources, and the remaining computing power resources are greater than a preset remaining computing power threshold, then the remaining computing power resources are allocated to cache resources according to a preset ratio.

4. The method according to claim 2, characterized in that, The remaining computing resources are allocated to cache resources according to a preset ratio, including: Obtain the preset ratio corresponding to each resource pool; Based on the preset ratios corresponding to each resource pool, determine the target preset ratio corresponding to the resource pool containing the remaining computing power resources; The remaining computing resources in the resource pool containing the remaining computing resources are allocated to the cache resources according to the target preset ratio.

5. The method according to claim 1, characterized in that, The total computing power resources are planned to obtain multiple types of resource pools, including: The system obtains user settings and plans the total computing power resources based on the settings parameters of the user settings to obtain multiple types of resource pools.

6. The method according to claim 1, characterized in that, After allocating the remaining computing power resources from the computing power utilization results of each resource pool to cache resources according to a preset ratio, the method further includes: When a task submission request is detected, a resource selection interface is output based on the re-planned total computing power resources. The target resource pool is determined from the multiple types of resource pools based on the selection operation detected on the resource selection interface; Select at least one target resource group from the target resource pool; The computational task corresponding to the task submission request is executed through the at least one target resource group.

7. The method according to claim 6, characterized in that, Executing the computation task corresponding to the task submission request through the at least one target resource group includes: Create a target computing power container based on the at least one target resource group; The target computing power container executes the computing task corresponding to the task submission request.

8. The method according to claim 6, characterized in that, Selecting at least one target resource group from the target resource pool includes: Read the set number of resource groups from the resource selection interface; If the number of idle resource groups in the target resource pool does not meet the required number of resource groups, a preset amount of computing power is obtained from the cached resources to ensure that the number of idle resource groups in the target resource pool meets the required number of resource groups.

9. The method according to claim 1, characterized in that, Before planning the total computing power resources to obtain multiple types of resource pools, the method further includes: Determine the amount of hardware needed to perform the computational tasks; The computing resources corresponding to each piece of hardware are summed, and the summation result is determined as the total computing resources.

10. The method according to claim 1, characterized in that, The total computing power resources are planned to obtain multiple types of resource pools, including: Based on the unit time, all computing power planning results corresponding to the total computing power resources are obtained, resulting in multiple computing power planning results arranged in chronological order; Among the multiple computing power planning results, the subsequent computing power planning result is the result of replanning based on the previous computing power planning result.

11. A computing power resource allocation device, characterized in that, include: The planning result acquisition unit is used to plan the total computing power resources and obtain multiple types of resource pools. Each type of resource pool includes at least one resource group. Resource groups belonging to the same resource pool correspond to the same computing power, and resource groups belonging to different resource pools correspond to different computing power. The computing power allocation unit is used to obtain the target computing power specification corresponding to the computing power container generation request, and generate a computing power container using the computing power of the resource group that meets the target computing power specification; The result acquisition unit is used to statistically analyze the computing power utilization results for each resource pool. The computing power planning unit is used to allocate the remaining computing power resources in the computing power utilization results of each resource pool to the cache resources according to a preset ratio; wherein, the total computing power resources are composed of the cache resources and the computing power resources allocated to each resource pool, and the cache resources are used to provide supplementary resources for each resource pool; The computing power planning unit is further configured to: compare the computing power utilization results corresponding to each resource pool with the utilization rate threshold range corresponding to each resource pool within a preset time period to determine a first computing power utilization result and a second computing power utilization result; wherein the first computing power utilization result is higher than the upper limit of the corresponding utilization rate threshold range, and the second computing power utilization result is lower than the lower limit of the corresponding utilization rate threshold range; and Based on the first difference between the first computing power utilization result and the upper limit of the corresponding utilization threshold range, computing power resources with the first difference are called from the cache resources to supplement the computing power of the resource pool corresponding to the first computing power utilization result; and based on the second difference between the second computing power utilization result and the lower limit of the corresponding utilization threshold range, computing power resources with the second difference are selected from the resource pool corresponding to the second computing power utilization result and planned to be allocated to the cache resources to reduce the computing power of the resource pool corresponding to the second computing power utilization result.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-10.

13. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the method of any one of claims 1-10 by executing the executable instructions.

14. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, wherein a processor of a computer device reads from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method of any one of claims 1 to 10.

Citation Information

Patent Citations

  • Data processing method and device and computer readable storage medium

    CN111427675A