Computing power resource allocation method and device, and computer readable storage medium
By determining the transmission cost of computing nodes based on task node priority and resource ratio, and selecting the global allocation scheme with the minimum total transmission cost, the problem of uneven distribution of computing resources is solved, and a more balanced and efficient resource allocation is achieved.
Patent Information
- Application Number
- CN202211464245.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-22
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2042-11-22
AI Technical Summary
In existing technologies, the uneven distribution of computing resources means that the needs of task nodes that are allocated computing resources earlier can be met, while the needs of task nodes that are allocated resources later may not be met.
By receiving computing power requests from multiple task nodes, and based on the task priority of the task nodes, the ratio of computing resources to storage resources, and the data transmission time between nodes, the transmission cost of computing power resources provided by the computing power nodes is determined, and a global computing power resource allocation scheme with a total transmission cost less than a preset threshold is selected from multiple schemes.
This achieves a more balanced allocation of computing resources, avoids unmet needs in subsequent task nodes, improves allocation efficiency and utilization of edge computing nodes, and optimizes the overall allocation of resources.
Smart Images

Figure CN115729704B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computing power network, and particularly relates to a computing power resource allocation method and device and a computer readable storage medium. BACKGROUND
[0002] The computing power network is a new type of information infrastructure that allocates and flexibly schedules computing resources, storage resources and network resources according to business needs among cloud, network and edge. Under the architecture of the computing power network, the user end proposes a computing power demand, which is no longer provided by a specific node, but mobilizes the computing power resources of the whole network, combines the available network paths, and decomposes and routes the task to different computing power nodes for processing according to the delay, security and other needs, so as to improve the utilization rate of the computing power resources of the whole network and the work efficiency of the user end.
[0003] In the related art, when receiving the computing power demands of multiple task nodes, the computing power nodes that can meet the computing power demands of the task nodes and provide computing power resources for the task nodes are determined in the computing power nodes adjacent to each task node in turn. SUMMARY
[0004] The inventor finds that the allocation of computing power resources is unbalanced under the manner in the related art.
[0005] Through analysis, the inventor finds that the manner of determining the computing power nodes that provide computing power resources for each task node in the multiple task nodes in turn will lead to that the computing power demands of the task nodes that allocate computing power resources in the front can be fully met, while the computing power demands of the task nodes that allocate computing power resources in the rear can not be met, thereby leading to the unbalanced allocation of computing power resources.
[0006] In order to solve the above problems, the present disclosure embodiments propose the following solutions.
[0007] According to an aspect of the embodiments of the present disclosure, a computing resource allocation method is provided, including: receiving computing resource demands from M task nodes; determining a transmission cost of providing computing resource for an i-th task node by a j-th computing node based on a task priority of the i-th task node, a first ratio, a second ratio, and a plurality of data transmission times between the i-th task node and a j-th computing node of N computing nodes, wherein the first ratio is a ratio of a computing resource required by the i-th task node and a computing resource provided by the j-th computing node, the second ratio is a ratio of a storage resource required by the i-th task node and a storage resource provided by the j-th computing node, 1≤i≤M, 1≤j≤N; determining a global computing resource allocation scheme based on the transmission cost, the global computing resource allocation scheme being a computing resource allocation scheme in which a total transmission cost is less than a preset threshold in a plurality of computing resource allocation schemes in which the N computing nodes provide computing resource for the M task nodes.
[0008] In some embodiments, the plurality of computing resource allocation schemes includes at least one of a first group of schemes, a second group of schemes, and a third group of schemes; wherein the first group of schemes includes each computing resource allocation scheme in which the M task nodes are provided with computing resource by M computing nodes of the N computing nodes one by one, the second group of schemes includes each computing resource allocation scheme in which each task node of the M task nodes is provided with computing resource by a plurality of computing nodes of the N computing nodes, and the third group of schemes includes each computing resource allocation scheme in which part of the M task nodes are provided with computing resource by one computing node of the N computing nodes and the remaining task nodes are provided with computing resource by a plurality of computing nodes of the N computing nodes.
[0009] In some embodiments, the plurality of computing resource allocation schemes includes the first group of schemes.
[0010] In some embodiments, the plurality of computing resource allocation schemes includes a plurality of groups of the first group of schemes, the second group of schemes, and the third group of schemes.
[0011] In some embodiments, the plurality of computing resource allocation schemes includes the first group of schemes, the second group of schemes, and the third group of schemes.
[0012] In some embodiments, the first ratio and the transmission cost are negatively correlated.
[0013] In some embodiments, the task priority and the transmission cost are negatively correlated, and the second ratio and the data transmission time between the i-th task node and the j-th computing node are positively correlated with the transmission cost.
[0014] In some embodiments, the computing power requirement of the i-th task node includes a computing power task program and a task priority of the computing power task program, and the method further includes: determining, based on the computing power task program, computing resources and storage resources required by the i-th task node; and determining, based on the task priority of the computing power task program, a task priority of the i-th task node.
[0015] In some embodiments, the determining, based on the computing power task program, the computing resources and the storage resources required by the i-th task node includes: determining, based on a task category of the computing power task program, the computing resources required by the i-th task node; and determining, based on a storage capacity required by the computing power task program, the storage resources required by the i-th task node.
[0016] In some embodiments, the storage resources that can be provided by the j-th computing power node are determined based on a weighted sum of a first storage capacity that can be provided by an internal memory of the j-th computing power node and a second storage capacity that can be provided by an external memory of the j-th computing power node, the weight of the first storage capacity being greater than the weight of the second storage capacity.
[0017] In some embodiments, the global computing power resource allocation scheme is a computing power resource allocation scheme with the minimum total transmission cost among the plurality of computing power resource allocation schemes.
[0018] In some embodiments, the N computing power nodes include edge computing power nodes.
[0019] According to another aspect of the embodiments of the present disclosure, there is provided a computing power resource allocation apparatus, including: a receiving module configured to receive computing power requirements from M task nodes, M≥2; a determining module configured to determine, based on a task priority of an i-th task node, a first ratio, a second ratio, and a plurality of data transmission times between the i-th task node and a j-th computing power node of N computing power nodes, a transmission cost of providing computing power resources for the i-th task node by the j-th computing power node, wherein the first ratio is a ratio of computing resources required by the i-th task node to computing resources that can be provided by the j-th computing power node, the second ratio is a ratio of storage resources required by the i-th task node to storage resources that can be provided by the j-th computing power node, 1≤i≤M, 1≤j≤N; and determine, based on the transmission cost, a global computing power resource allocation scheme, the global computing power resource allocation scheme being a computing power resource allocation scheme with a total transmission cost less than a preset threshold among a plurality of computing power resource allocation schemes of providing computing power resources for the M task nodes by the N computing power nodes.
[0020] According to still another aspect of the embodiments of the present disclosure, there is provided an algorithm resource allocation apparatus, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute a method according to any one of the above embodiments based on instructions stored in the memory.
[0021] According to still another aspect of the embodiments of the present disclosure, there is provided an algorithm resource allocation system, comprising: an apparatus according to any one of the above embodiments; and the N algorithm nodes.
[0022] According to still another aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium comprising computer program instructions, wherein the computer program instructions, when executed by a processor, implement a method according to any one of the above embodiments.
[0023] According to still another aspect of the embodiments of the present disclosure, there is provided a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements a method according to any one of the above embodiments.
[0024] In the embodiments of the present disclosure, in the case that the algorithm resource demands of a plurality of task nodes are received, the transmission cost of providing algorithm resource for each task node by each algorithm node is determined according to a plurality of factors including the task priority of each task node, the computing resource occupancy, the storage resource occupancy, and the network transmission capability between the task node and each algorithm node, and a global algorithm resource allocation scheme in which the total transmission cost is less than a preset threshold is determined from a plurality of algorithm resource allocation schemes for providing algorithm resource for the plurality of task nodes. In this way, the possibility that the algorithm resource demand of a task node allocated later cannot be satisfied is avoided, and the algorithm resource allocation is more balanced under the condition that the algorithm resource demands of the task nodes are satisfied.
[0025] In addition, the corresponding algorithm resource allocation scheme for the plurality of task nodes can be determined by one allocation from the overall perspective, and the algorithm resource allocation efficiency is also improved compared with the way of sequentially allocating algorithm resource for each task node in the related art.
[0026] The technical solutions of the present disclosure will be further described in detail below with the aid of the accompanying drawings and embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description are only some embodiments of the present disclosure, and for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0028] Figure 1 is a flowchart of a computing resource allocation method according to some embodiments of the present disclosure;
[0029] Figure 2 is a model diagram of an optimal transmission model according to some embodiments of the present disclosure;
[0030] Figure 3 is a structural diagram of a computing resource allocation apparatus according to some embodiments of the present disclosure;
[0031] Figure 4 is a structural diagram of a computing resource allocation apparatus according to some embodiments of the present disclosure;
[0032] Figure 5 is a structural diagram of a computing resource allocation system according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0033] The technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, but not all the embodiments. Based on the embodiments in the present disclosure, any other embodiments obtained by those of ordinary skill in the art without creative work should be within the scope of the present disclosure.
[0034] The relative arrangement, numerical expressions, and numerical values of the components and steps set forth in the embodiments are not intended to limit the scope of the present disclosure, unless otherwise specifically stated.
[0035] It should be understood that the sizes of the various parts shown in the drawings are not necessarily drawn to scale to facilitate description.
[0036] Techniques, methods, and devices known to those of ordinary skill in the relevant art can not be discussed in detail herein, but should be considered as part of the specification, where appropriate.
[0037] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Thus, other examples of the example embodiments can have different values.
[0038] It should be noted that like numbers and letters refer to like elements throughout the several views of the drawings and that, as used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0039] Figure 1 is a flowchart of a computing resource allocation method according to some embodiments of the present disclosure;
[0040] At step 102, the computing power requirements from M task nodes are received.
[0041] Here, M≥2. It should be understood that M is a positive integer.
[0042] In some embodiments, the computing power requirement of each task node can include an IP address of the task node and a computing power task. For example, the computing power task can be a computing power task program, such as a Java program, to be allocated with computing power resources.
[0043] In some embodiments, the computing power requirements of the M task nodes can be formed into a task list as M computing power tasks. After one allocation, the computing power tasks in the task list that have been allocated with computing power resources can be deleted, and the computing power requirements of other task nodes received again can be updated into the task list as new computing power tasks.
[0044] At step 104, based on the task priority of the i-th task node, the first ratio, the second ratio, and the plurality of data transmission times between the i-th task node and the j-th computing power node of the N computing power nodes, the transmission cost of providing computing power resources by the j-th computing power node for the i-th task node is determined.
[0045] Here, the first ratio of the i-th task node is the ratio of the computing resources required by the i-th task node to the computing resources that can be provided by the j-th computing power node, and the second ratio of the i-th task node is the ratio of the storage resources required by the i-th task node to the storage resources that can be provided by the j-th computing power node, 1≤i≤M, 1≤j≤N.
[0046] It should be understood that N is a positive integer. The computing power resources that each computing power node can provide can include computing resources and storage resources.
[0047] It should also be understood that the first ratio of the i-th task node can reflect the occupancy rate of the computing resources required by the i-th task node relative to the computing resources that can be provided by the j-th computing power node, and the second ratio of the i-th task node can reflect the occupancy rate of the storage resources required by the i-th task node relative to the storage resources that can be provided by the j-th computing power node. The data transmission time between the i-th task node and the j-th computing power node can reflect the network transmission capability between the i-th task node and the j-th computing power node. The transmission cost of providing computing power resources by the j-th computing power node for the i-th task node can reflect the cost of providing computing power resources by the j-th computing power node for the i-th task node.
[0048] In some embodiments, the computing resources can include one or more of CPU resources and Graphics Processing Unit (GPU) resources. For example, the CPU resources can include a number of threads available to the CPUs, which can be determined based on a number of the CPUs since each CPU is usually serial computing. For another example, the GPU resources can include a number of threads available to the GPUs, which can be determined based on a number of cores of the GPUs since the GPUs are usually multi-core parallel computing.
[0049] In some embodiments, the storage resources can include one or more of internal storage resources and external storage resources. For example, the internal storage can include Random Access Memory (RAM), Read Only Memory (ROM), etc., and the external storage can include hard disks, optical disks, etc.
[0050] In some embodiments, the data transmission time between the i-th task node and the j-th computing power node can be determined based on one or more of network latency, bandwidth, and jitter between the i-th task node and the j-th computing power node. For example, the data transmission time between the i-th task node and the j-th computing power node can be T ij = t ij + t0, where t ij represents the network latency between the i-th task node and the j-th computing power node, and t0represents the network bandwidth and jitter between the i-th task node and the j-th computing power node.
[0051] In some embodiments, the computing power requirement of the i-th task node can include a task priority of the i-th task node, required computing resources, and required storage resources.
[0052] In other embodiments, the computing power requirement of the i-th task node can include a computing power task program of the to-be-allocated computing power resources of the i-th task node and a task priority of the computing power task program. In these embodiments, the required computing resources and storage resources of the i-th task node can be determined based on the computing power task program of the i-th task node, and the task priority of the i-th task node can be determined based on the task priority of the computing power task program. This will be further described in connection with some embodiments hereinafter.
[0053] In some embodiments, the transmission cost of providing the computing power resources by the j-th computing power node for the i-th task node can be determined based on any two of the task priority of the i-th task node, the first ratio, the second ratio, and the data transmission time between the i-th task node and the j-th computing power node.
[0054] In some embodiments, the transmission cost of providing the computing resource of the jth computing node for the ith task node can be determined based on any three of the task priority of the ith task node, the first ratio, the second ratio, and the data transmission time between the ith task node and the jth computing node.
[0055] In some embodiments, the transmission cost of providing the computing resource of the jth computing node for the ith task node can be determined based on any three of the task priority of the ith task node, the first ratio, the second ratio, and the data transmission time between the ith task node and the jth computing node.
[0056] In step 106, the global computing resource allocation scheme is determined based on the transmission cost.
[0057] Here, the global computing resource allocation scheme is a computing resource allocation scheme in which the total transmission cost of the plurality of computing resource allocation schemes in which the N computing nodes provide the computing resource for the M task nodes is less than a preset threshold.
[0058] In some embodiments, the plurality of computing resource allocation schemes in which the N computing nodes provide the computing resource for the M task nodes can include at least one of a first group of schemes, a second group of schemes, and a third group of schemes.
[0059] In these embodiments, the first group of schemes can include each computing resource allocation scheme in which the M task nodes are provided with the computing resource by the M computing nodes in the N computing nodes one by one; the second group of schemes can include each computing resource allocation scheme in which each of the M task nodes is provided with the computing resource by multiple computing nodes in the N computing nodes; and the third group of schemes can include each computing resource allocation scheme in which part of the M task nodes are provided with the computing resource by one computing node in the N computing nodes, and the remaining task nodes are provided with the computing resource by multiple computing nodes in the N computing nodes.
[0060] In some embodiments, the preset threshold can be a fixed value, or the preset threshold can be dynamically determined based on the total transmission cost of the plurality of computing resource allocation schemes in ascending order. For example, the third total transmission cost in the order can be taken as the preset threshold, and an arbitrary computing resource allocation scheme less than the preset threshold can be selected as the global computing resource allocation scheme.
[0061] In some embodiments, the N computing power nodes can provide computing power resources, and the computing power resources provided by the N computing power nodes can be taken as N computing power supply items to form a computing power supply list. After a distribution, if some computing power nodes have provided computing power resources for some task nodes, the computing power supply list can be updated to show the remaining computing power resources of the computing power nodes. For example, before the distribution of computing power resources, a computing power node can provide 3*10 7 bytes of storage resources, and after the distribution of computing power resources, the computing power node can provide 2*10 7 bytes of storage resources. Accordingly, the computing power supply item corresponding to the computing power node in the computing power supply list can be updated to show the remaining storage resources of the computing power node after the distribution of computing power resources. In this way, the computing power resources provided by the N computing power nodes can be updated after each distribution.
[0062] In the above embodiments, when the computing power requirements of the multiple task nodes are received, the transmission cost of providing computing power resources for each task node by each computing power node is determined according to multiple factors including the task priority of each task node, the computing resource occupancy, the storage resource occupancy, and the network transmission capability between the task node and each computing power node, and a global computing power resource distribution scheme in which the total transmission cost is less than a preset threshold is determined from multiple computing power resource distribution schemes for providing computing power resources for the multiple task nodes. In this way, the possibility that the computing power requirements of the task nodes distributed later cannot be met is avoided, and the distribution of computing power resources can be more balanced while meeting the computing power requirements of the task nodes.
[0063] In addition, the corresponding computing power resource distribution scheme for the multiple task nodes can be determined by one distribution from a global perspective, which further improves the distribution efficiency of computing power resources compared with the way of sequentially distributing computing power resources for each task node in the related art.
[0064] In some embodiments, the N computing power nodes can include edge computing power nodes. In this way, the computing power resources of the edge computing power nodes can be fully called in the distribution process of computing power resources, which reduces the situation that the edge computing power nodes at the network edge are not called for a long time in the related art, in which only the computing power nodes for providing computing power resources are determined from the computing power nodes adjacent to the task nodes, and improves the utilization rate of edge computing power resources, thereby further optimizing the distribution of computing power resources while considering the balance of the distribution of computing power resources.
[0065] In some embodiments, the plurality of computing resource allocation schemes in which N computing nodes provide computing resources for M task nodes can include a first group of schemes, i.e., schemes encouraging one computing node to provide computing resources for one task node one-on-one. In this way, in the subsequent process of further optimizing computing resource allocation through computing resource tracing, there is no need to issue a tracing request to multiple computing nodes for each task node, improving the efficiency of subsequent computing resource tracing.
[0066] In other embodiments, the plurality of computing resource allocation schemes in which N computing nodes provide computing resources for M task nodes can include multiple groups of the first group of schemes, the second group of schemes and the third group of schemes.
[0067] In yet other embodiments, the plurality of computing resource allocation schemes in which N computing nodes provide computing resources for M task nodes can include the first group of schemes, the second group of schemes and the third group of schemes, i.e., the plurality of computing resource allocation schemes include all computing resource allocation schemes in which N computing nodes provide computing resources for M task nodes. In this way, it can be ensured that the determined global computing resource allocation scheme is the scheme that makes the computing resource allocation more balanced among all computing resource allocation schemes, thereby achieving global optimization of computing resource allocation.
[0068] The implementation of determining the transmission cost of the jth computing node providing computing resources for the ith task node is described below in connection with some embodiments.
[0069] In some embodiments, the corresponding task urgency values can be predefined for different task priorities of the computing task program, and each task node can select the task priority of the computing task program when submitting the computing demand, and then the task priority of the task node can be quantified by using the task urgency value corresponding to the task priority of the computing task program.
[0070] For example, for the first task priority, the second task priority, the third task priority and the fourth task priority of the computing task program in turn decreasing in priority, the corresponding task urgency values can be predefined as 2, 1.5, 1 and 0.5 respectively. In this way, in the case that the task priority of the computing task program contained in the computing demand of the ith task node is the first task priority, the task priority of the ith task node can be represented by p i = 2; in the case that the task priority of the computing task program contained in the computing demand of the ith task node is the second task priority, the task priority of the ith task node can be represented by p i = 1.5; and so on.
[0071] In some embodiments, the computing resource can be quantified by the double-precision floating-point operation capability (TFLOPs) of the CPU or GPU.
[0072] As some implementations, the TFLOPs value that the jth mining node can provide can be determined based on the number of cores, the core frequency, and the core single-clock cycle operation capability of the CPU or GPU of the jth mining node. For example, the number of CPUs of the jth mining node is 28, the core frequency of each CPU is 2.5 GHZ, and each CPU core can perform 32 floating-point operations in 1 clock cycle (i.e., the core single-clock cycle operation capability), thereby the TFLOPs value that the jth mining node can provide can be determined as 28*2.5 GHZ*32 FLOPs / Cycle = 2240 GFLPs = 2.24 TFLOPs.
[0073] The computing resource required by the ith task node can be determined based on the task category of the computing task program of the ith task node. For example, if the task category of the computing task program of the ith task node belongs to the image rendering processing task, i.e., the computing medium task, it can be determined that the TFLOPs value required by the ith task node is at least 50; if the task category of the computing task program of the ith task node belongs to the deep learning task, i.e., the computing intensive task, it can be determined that the TFLOPs value required by the ith task node is at least 80; if the task category of the computing task program of the ith task node belongs to the high-precision computing task (such as molecular model, astrophysical simulation computing, etc.), it can be determined that the TFLOPs value required by the ith task node is at least 100.
[0074] In these embodiments, the first ratio E ij = the TFLOPs value required by the ith task node / the TFLOPs value that the jth mining node can provide.
[0075] In some embodiments, the storage resource can be quantified by the storage capacity, wherein the storage capacity can be measured in bytes.
[0076] As some implementations, the storage resource that the jth mining node can provide can be determined based on the total storage capacity of the memory of the jth mining node.
[0077] For example, the storage resource that the jth mining node can provide can be determined based on the weighted sum of the first storage capacity that the internal memory of the jth mining node can provide and the second storage capacity that the external memory can provide.
[0078] Taking the internal memory of the jth mining node as the random access memory and the external memory as the hard disk as an example, the storage resource (f2) that the jth mining node can provide is i= a1*first storage capacity + a2*second storage capacity, wherein the first storage capacity can be determined based on the total number of bytes of the random memory, the second storage capacity can be determined based on the total number of bytes of the hard disk, and a1 and a2 are weights of the first storage capacity provided by the random memory and the second storage capacity provided by the hard disk, respectively.
[0079] The storage resource required by the i-th task node can be determined based on the storage capacity required by the computing task program of the i-th task node.
[0080] For example, after identifying the computing task program of the i-th task node, the number of sub-tasks (i.e., the number of sub-threads) contained in the computing task program and the number of bytes required by each sub-task can be determined, and the storage capacity required by the computing task program of the i-th task node is The number of bytes required by the k-th sub-task, wherein (g1) i = n i is the number of sub-tasks of the computing task program of the i-th task node.
[0081] In these embodiments, the second ratio
[0082] In some embodiments, the weight a1 of the first storage capacity provided by the internal memory of the j-th computing node can be greater than the weight a2 of the second storage capacity provided by the external memory. For example, a1 = 10 and a2 = 1 / 2. Thus, since the storage capacity of the internal memory in the computing node affects the operation speed of the computing node, by increasing the weight of the storage capacity provided by the internal memory when quantifying the storage resource provided by the j-th computing node, the consideration of the factor affecting the operation speed of the computing node can be added in the determination process of the computing resource allocation scheme, thereby further optimizing the allocation of computing resources while taking into account the balance of the allocation of computing resources.
[0083] In some embodiments, the first ratio of the i-th task node and the transmission cost of the computing resource provided by the j-th computing node for the i-th task node are negatively related. That is, the higher the computing resource occupancy rate of the i-th task node, the smaller the corresponding transmission cost. Thus, the computing resource of each computing node can be fully used, further improving the utilization rate of the computing resource, thereby further optimizing the allocation of computing resources while taking into account the balance of the allocation of computing resources.
[0084] In some embodiments, the task priority of the i-th task node and the transmission cost of the computing resource provided by the j-th computing node for the i-th task node are negatively related, and the second ratio of the i-th task node and the data transmission time between the i-th task node and the j-th computing node are positively related to the transmission cost.
[0085] For example, the transmission cost of providing computing resource by the jth computing node for the ith task node can be where T ij represents the data transmission time between the ith task node and the jth computing node, E ij represents the first ratio of the ith task node, p i represents the task priority of the ith task node, represents the second ratio of the ith task node.
[0086] In some embodiments, an optimal transmission model can be constructed to determine the global computing resource allocation scheme, and P ij is solved with the objective of minimizing the total cost of global computing resource allocation. ij where P
[0087]
[0088]
[0089] Figure 2 is a model schematic diagram of the optimal transmission model of some embodiments of the present disclosure.
[0090] As shown in Figure 2 , each computing node (f1) j can provide computing resource for multiple task nodes (g1) i , and the transmission cost of providing computing resource by the jth computing node for the ith task node is c ij .
[0091] Considering that in the centralized computing network architecture, the number of computing nodes N and the number of task nodes M are large, the above optimal transmission problem can be converted into the corresponding entropy regularization problem as follows, and the sinkhorn algorithm is used for solving:
[0092]
[0093]
[0094] Since the sinkhorn algorithm has low complexity and fast convergence speed, in this way, the network computing pressure caused by determining the global computing resource allocation scheme can be effectively reduced.
[0095] In some embodiments, the global computing resource allocation scheme can be a computing resource allocation scheme with the minimum total transmission cost among the plurality of computing resource allocation schemes. In this way, the computing resource allocation by the determined global computing resource allocation scheme can not only make the computing resource allocation more balanced, but also achieve the global optimization of the computing resource allocation.
[0096] Each of the embodiments in the specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device embodiments, since they are basically corresponding to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.
[0097] Figure 3 FIG. 1 is a structural schematic diagram of a computing resource allocation apparatus according to some embodiments of the present disclosure.
[0098] As shown in Figure 3 , the computing resource allocation apparatus 300 includes a receiving module 301 and a determining module 302.
[0099] The receiving module 301 can be configured to receive computing resource demands from M task nodes, M≥2.
[0100] The determining module 302 can be configured to determine, based on a plurality of the task priority of the i-th task node, a first ratio, a second ratio, and a data transmission time between the i-th task node and a j-th computing node of the N computing nodes, a transmission cost of providing computing resource for the i-th task node by the j-th computing node, wherein the first ratio is a ratio of the computing resource required by the i-th task node and the computing resource provided by the j-th computing node, the second ratio is a ratio of the storage resource required by the i-th task node and the storage resource provided by the j-th computing node, 1≤i≤M, 1≤j≤N; and determine, based on the transmission cost, a global computing resource allocation scheme, the global computing resource allocation scheme being a computing resource allocation scheme with a total transmission cost less than a preset threshold among a plurality of computing resource allocation schemes of providing computing resource for the M task nodes by the N computing nodes.
[0101] In some embodiments, the computing resource allocation apparatus 300 can further include other modules for performing other operations of any one of the above embodiments.
[0102] Figure 4 FIG. 2 is a structural schematic diagram of a computing resource allocation apparatus according to some other embodiments of the present disclosure.
[0103] As shown in Figure 4As shown, the computing power resource allocation device 400 includes a memory 401 and a processor 402 coupled to the memory 401. The processor 402 is configured to execute the method of any of the foregoing embodiments based on instructions stored in the memory 401.
[0104] The memory 401 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs.
[0105] The computing resource allocation device 400 may also include an input / output interface 403, a network interface 404, and a storage interface 405. These interfaces 403, 404, and 405, as well as the memory 401 and processor 402, can be connected via, for example, a bus 406. The input / output interface 403 provides a connection interface for input / output devices such as monitors, mice, keyboards, and touchscreens. The network interface 404 provides a connection interface for various networked devices. The storage interface 405 provides a connection interface for external storage devices such as SD cards and USB flash drives.
[0106] Figure 5 This is a schematic diagram of the structure of a computing resource allocation system according to some embodiments of the present disclosure.
[0107] like Figure 5 As shown, the computing power resource allocation system 500 includes the computing power resource allocation device 501 in any of the above embodiments and N computing power nodes 502. Figure 5 (Only three computing nodes are shown schematically). The computing resource allocation device 501 can be, for example, a computing resource allocation device 300 / 400.
[0108] In some embodiments, the computing resource allocation system 500 may further include M task nodes 503 as described in any of the above embodiments. Figure 5 Only three task nodes are shown schematically.
[0109] This disclosure also provides a computer-readable storage medium including computer program instructions that, when executed by a processor, implement the method of any of the above embodiments.
[0110] This disclosure also provides a computer program product, including a computer program, wherein when the computer program is executed by a processor, it implements the method of any of the above embodiments.
[0111] The embodiments of this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
[0112] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0113] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that the functions specified in one or more flowchart illustrations and / or one or more blocks in a block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate functions for implementing the functions in the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0114] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0115] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0116] While specific embodiments of this disclosure have been described in detail by way of examples, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments or equivalent substitutions can be made to some technical features without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A method for allocating computing power resources, comprising: receiving computing power requirements from M task nodes, M≥2; determining a transmission cost of providing computing power resources for an i-th task node by a j-th computing power node based on a plurality of the i-th task node's task priority, a first ratio, a second ratio, and a data transmission time between the i-th task node and the j-th computing power node, wherein the first ratio is a ratio of a computing resource required by the i-th task node and a computing resource provided by the j-th computing power node, the second ratio is a ratio of a storage resource required by the i-th task node and a storage resource provided by the j-th computing power node, 1≤i≤M, 1≤j≤N; determining a global computing power resource allocation scheme based on the transmission cost, the global computing power resource allocation scheme being a computing power resource allocation scheme with a total transmission cost less than a preset threshold among a plurality of computing power resource allocation schemes for providing computing power resources for the M task nodes by the N computing power nodes, wherein the plurality of computing power resource allocation schemes comprises at least one of a first group of schemes, a second group of schemes, and a third group of schemes; the first group of schemes comprises each computing power resource allocation scheme in which the M task nodes are provided with computing power resources by M computing power nodes among the N computing power nodes one-to-one, the second group of schemes comprises each computing power resource allocation scheme in which each task node among the M task nodes is provided with computing power resources by multiple computing power nodes among the N computing power nodes, the third group of schemes comprises each computing power resource allocation scheme in which part of the M task nodes are provided with computing power resources by one computing power node among the N computing power nodes, and the remaining task nodes are provided with computing power resources by multiple computing power nodes among the N computing power nodes.
2. The method of claim 1, wherein, the plurality of computing power resource allocation schemes comprises the first group of schemes.
3. The method of claim 1, wherein, the plurality of computing power resource allocation schemes comprises multiple groups of the first group of schemes, the second group of schemes, and the third group of schemes.
4. The method of claim 3, wherein, the plurality of computing power resource allocation schemes comprises the first group of schemes, the second group of schemes, and the third group of schemes.
5. The method of claim 1, wherein, the first ratio and the transmission cost are negatively correlated.
6. The method of claim 5, wherein, the task priority and the transmission cost are negatively correlated, and the second ratio and the data transmission time between the i-th task node and the j-th computing power node are positively correlated with the transmission cost.
7. The method of claim 1, wherein, the computing power requirement of the i-th task node comprises a computing power task program and a task priority of the computing power task program, and the method further comprises: determining the computing resource and the storage resource required by the i-th task node based on the computing power task program; determining the task priority of the i-th task node based on the task priority of the computing power task program.
8. The method of claim 7, wherein, the determining the computing resource and the storage resource required by the i-th task node based on the computing power task program comprises: determining the computing resource required by the i-th task node based on a task category of the computing power task program; determining the storage resource required by the i-th task node based on a storage capacity required by the computing power task program.
9. The method of claim 1, wherein, The storage resource provided by the jth computing power node is determined based on a weighted sum of a first storage capacity provided by an internal memory of the jth computing power node and a second storage capacity provided by an external memory of the jth computing power node, the weight of the first storage capacity being greater than the weight of the second storage capacity.
10. The method of any one of claims 1-9, wherein, The global computing power resource allocation scheme is a computing power resource allocation scheme with the minimum total transmission cost among the plurality of computing power resource allocation schemes.
11. The method of claim 1, wherein, The N computing power nodes include edge computing power nodes.
12. A computing power resource allocation apparatus, comprising: a receiving module configured to receive computing power demands from M task nodes, M≥2; a determining module configured to determine a transmission cost of providing computing power resources for an ith task node by a jth computing power node based on a plurality of the task priority of the ith task node, a first ratio, a second ratio, and a data transmission time between the ith task node and the jth computing power node, wherein the first ratio is a ratio of a computing resource required by the ith task node and a computing resource provided by the jth computing power node, the second ratio is a ratio of a storage resource required by the ith task node and a storage resource provided by the jth computing power node, 1≤i≤M, 1≤j≤N; and determine a global computing power resource allocation scheme based on the transmission cost, the global computing power resource allocation scheme being a computing power resource allocation scheme with a total transmission cost less than a preset threshold among a plurality of computing power resource allocation schemes in which the N computing power nodes provide computing power resources for the M task nodes, wherein the plurality of computing power resource allocation schemes include at least one of a first group of schemes, a second group of schemes, and a third group of schemes; the first group of schemes includes each computing power resource allocation scheme in which the M task nodes are provided with computing power resources by M computing power nodes among the N computing power nodes in a one-to-one correspondence, the second group of schemes includes each computing power resource allocation scheme in which each task node among the M task nodes is provided with computing power resources by multiple computing power nodes among the N computing power nodes, the third group of schemes includes each computing power resource allocation scheme in which part of the task nodes among the M task nodes are provided with computing power resources by one computing power node among the N computing power nodes, and the remaining task nodes are provided with computing power resources by multiple computing power nodes among the N computing power nodes.
13. A computing power resource allocation apparatus, comprising: a memory; and a processor coupled to the memory and configured to execute instructions stored in the memory to perform the method of any one of claims 1-11.
14. A computing power resource allocation system, comprising: the apparatus of claim 12 or 13; and the N computing power nodes.
15. A computer readable storage medium comprising computer program instructions, wherein, The computer program instructions, when executed by the processor, implement the method of any one of claims 1-11.
16. A computer program product comprising a computer program, wherein, The computer program, when executed by the processor, implements the method of any one of claims 1-11. The computer program, when executed by the processor, implements the method of any one of claims 1-11.
Citation Information
Patent Citations
Computing power resource allocation method and device
CN110995614A
Computing resource determination method and device, electronic equipment and medium
CN111078404A