CN111124665A - Method and device for distributing computing resources - Google Patents

Method and device for distributing computing resources Download PDF

Info

Publication number
CN111124665A
CN111124665A CN201911159221.2A CN201911159221A CN111124665A CN 111124665 A CN111124665 A CN 111124665A CN 201911159221 A CN201911159221 A CN 201911159221A CN 111124665 A CN111124665 A CN 111124665A
Authority
CN
China
Prior art keywords
determining
execution
target task
energy consumption
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911159221.2A
Other languages
Chinese (zh)
Other versions
CN111124665B (en
Inventor
赛影辉
王磊
肖飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chery Automobile Co Ltd
Original Assignee
Chery Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chery Automobile Co Ltd filed Critical Chery Automobile Co Ltd
Priority to CN201911159221.2A priority Critical patent/CN111124665B/en
Publication of CN111124665A publication Critical patent/CN111124665A/en
Application granted granted Critical
Publication of CN111124665B publication Critical patent/CN111124665B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The disclosure relates to a method and a device for distributing computing resources, and belongs to the technical field of cloud computing. The method comprises the following steps: acquiring a target task corresponding to a target bidding account; determining optimal execution scheduling information of the target task, wherein the optimal execution scheduling information comprises a starting time and an ending time for executing the target task; determining a utility value of the execution target task based on the optimal execution scheduling information; and if the utility value is larger than the preset threshold value, allocating computing resources in the graphic processor to the target bidding account based on the optimal scheduling information. By adopting the method and the device, the energy consumption in the GPU using process can be effectively reduced.

Description

Method and device for distributing computing resources
Technical Field
The present disclosure relates to the field of cloud computing technologies, and in particular, to a method and an apparatus for allocating computing resources.
Background
Cloud computing can provide a pay-as-you-go (pay-as-you-go) computing service for users, and a large number of cloud computing resources such as a Central Processing Unit (CPU), a Random Access Memory (RAM), a Memory, a bandwidth and the like can provide services for users in a leasing manner. Traditional cloud computing is based on virtualization of a CPU, and now with rapid development of a GPU (graphics Processing Unit), cloud computing for the GPU is produced.
In practical application, because the energy consumption of the GPU cloud data center is too large, how to save energy and reduce emission also becomes a focus of people's attention. The demand response mechanism can appropriately reduce energy consumption to ensure the sustainability of the power grid and temporarily suppress the power consumption load in the peak period, and the effective management of the energy consumption of the cloud data center can be realized through Dynamic Voltage and Frequency Scaling (DVFS).
In a cloud platform auction mechanism, users can be used as bidders, cloud resource providers can be used as auctioneers, and the problem of how to formulate a task allocation system to maximize social welfare and minimize power consumption of a cloud computing center is widely concerned. Social welfare is defined as the sum of the benefits of the cloud resource provider and the benefits of the user.
In carrying out the present disclosure, the inventors found that at least the following problems exist:
the current research results do not have a demand response auction mechanism aiming at GPU scheduling, and the problem of more severe energy consumption in the current GPU cloud computing is not solved.
Disclosure of Invention
In order to overcome the problems in the related art, the present disclosure provides the following technical solutions:
according to a first aspect of embodiments of the present disclosure, there is provided a method of allocating computing resources, the method comprising:
acquiring a target task corresponding to a target bidding account;
determining optimal execution scheduling information of the target task, wherein the optimal execution scheduling information comprises a starting time and an ending time for executing the target task;
determining a utility value for executing the target task based on the optimal execution scheduling information;
and if the utility value is larger than a preset threshold value, allocating computing resources in a GPU (graphics processing unit) to the target bidding account based on the optimal scheduling information.
Optionally, the determining the optimal execution scheduling information of the target task includes:
determining a plurality of available time slots for executing the target task;
determining resource consumption values corresponding to the available time slots respectively;
determining the lowest execution energy consumption and execution time length of the target task;
and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
Optionally, the determining resource consumption values corresponding to the available timeslots includes:
determining the used energy consumption;
and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
Optionally, the determining the minimum execution energy consumption and the execution time duration of the target task includes:
acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of the target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired;
determining the lowest execution energy consumption in each execution energy consumption;
and determining the execution duration corresponding to the lowest execution energy consumption.
Optionally, the method further comprises:
and if the utility value is larger than a preset threshold value, forbidding the allocation of computing resources in a Graphic Processor (GPU) for the target bidding account.
According to a second aspect of embodiments of the present disclosure, there is provided an apparatus for allocating computing resources, the apparatus comprising:
the acquisition module is used for acquiring a target task corresponding to the target bidding account;
the determining module is used for determining optimal execution scheduling information of the target task, wherein the optimal execution scheduling information comprises a starting time and an ending time for executing the target task;
the determining module is used for determining a utility value for executing the target task based on the optimal execution scheduling information;
and the allocation module is used for allocating computing resources in a GPU (graphics processing unit) to the target bidding account based on the optimal scheduling information if the utility value is greater than a preset threshold value.
Optionally, the determining module is configured to:
determining a plurality of available time slots for executing the target task;
determining resource consumption values corresponding to the available time slots respectively;
determining the lowest execution energy consumption and execution time length of the target task;
and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
Optionally, the determining module is configured to:
determining the used energy consumption;
and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
Optionally, the determining module is configured to:
acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of the target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired;
determining the lowest execution energy consumption in each execution energy consumption;
and determining the execution duration corresponding to the lowest execution energy consumption.
Optionally, the allocating module is further configured to:
and if the utility value is larger than a preset threshold value, forbidding the allocation of computing resources in a Graphic Processor (GPU) for the target bidding account.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
by the method provided by the embodiment of the disclosure, energy consumption in the process of using the GPU can be effectively reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. In the drawings:
FIG. 1 is a flowchart illustrating a method of allocating computing resources in accordance with an exemplary embodiment;
FIG. 2 is a diagram illustrating an effect according to an exemplary embodiment;
FIG. 3 is a diagram illustrating an effect according to an exemplary embodiment;
FIG. 4 is a diagram illustrating an effect according to an exemplary embodiment;
FIG. 5 is a block diagram illustrating an apparatus for allocating computing resources in accordance with an exemplary embodiment;
fig. 6 is a schematic diagram illustrating a configuration of a server according to an example embodiment.
With the foregoing drawings in mind, certain embodiments of the disclosure have been shown and described in more detail below. These drawings and written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the concepts of the disclosure to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
An exemplary embodiment of the present disclosure provides a method for allocating computing resources, as shown in fig. 1, a processing flow of the method may include the following steps:
step S101, a target task corresponding to a target bidding account is obtained.
In practice, a resource pool may be defined, where the total amount of energy per time slot t of the resource pool is εt. Within a period spanning {1, …, T }, I bid accounts arrive randomly, each of which can submit a bid message (bid), (bid): { ti,di,Bii}. Wherein t isiIs bidder arrival time, di,BiRespectively representing the last time point of completion of the task and the bid amount, omegaiRepresents the workload (workload) of the task of the targeted bidding account i. The target bidding account can input a target task, and the workload of the target task can be represented by omegaiAnd (4) showing.
Each bidding account has a real psychological valuation viThat is, the actual profit for completing the task, assume the bid amount B of each bid accountiIs equal to viThe bidding method is most beneficial to the bidding accounts, the optimal decision of each bidding account is to bid according to the real psychological assessment, and the auction mechanism is real.
And step S102, determining the optimal execution scheduling information of the target task.
The optimal execution scheduling information comprises a starting time and an ending time for executing the target task.
In implementation, the coming bidding accounts are processed to obtain the optimal execution scheduling information s of each bidding accountiMinimum required resource consumption value CiUtility value uiAnd the allocated energy set occupied by each time slot
Figure BDA0002285615560000051
Alternatively, step S102 may include: determining a plurality of available time slots for executing a target task; determining resource consumption values corresponding to the available time slots respectively; determining the lowest execution energy consumption and execution time length of the target task; and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
In implementation, the starting time slots t available for the target bid account i may be exhaustedsAnd ending the time slot teAnd calculating resource consumption values p respectively corresponding to each available time slot(t),t∈[ts,te]. The available time slots may be ordered in order of decreasing resource consumption values.
Optionally, the step of determining the resource consumption value corresponding to each available timeslot may include: determining the used energy consumption; and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
In implementation, the resource consumption value may be calculated by equation 1:
Figure BDA0002285615560000052
wherein, κrAnd (t) is the current resource consumption value, and mu and iota represent the maximum and minimum unit energy consumption values respectively, which are estimated parameters. w is a(t)Representing the used energy consumption at time slot t. When energy is not being used, the resource consumption value is initially at
Figure BDA0002285615560000053
When all the energy is occupied, the resource consumption value of the time slot is mu, and the time slot is not allocated any more. The price formula is designed to pre-store the resources for the target with higher value in the future, so that the overall social welfare reaches the maximum value.
Optionally, the step of determining the minimum execution energy consumption and execution time of the target task may include: acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of a target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired; determining the lowest execution energy consumption in each execution energy consumption; and determining the execution duration corresponding to the lowest execution energy consumption.
In practice, all of the possible consumptive energy of the task of the targeted bid account i may be exhausted
Figure BDA0002285615560000054
Determining the lowest execution energy consumption with the lowest cost of the target bidding account
Figure BDA0002285615560000055
And execution duration
Figure BDA0002285615560000056
Performance model τ given target bid account iiThat is, the execution time length of the target task,
Figure BDA0002285615560000057
is a function representing the execution duration sensitive to the GPU frequency, i.e. the execution duration dependent on the GPU parameters, which changes when the operating parameters (voltage and frequency) of the GPU change, TstaticIs insensitive, i.e. not affected by changes in the operating parameters of the GPU, is a fixed value:
Figure BDA0002285615560000058
wherein, κi、λiTo fix the parameters, Vi,fimIs a function variable representing the voltage and frequency of the GPU that needs to be adjusted, and if the target bid account i wins the bid, the execution duration for executing the target task can be calculated by the above formula.
A power consumption model of the target bidding account i, which represents the energy consumption P consumed in unit time if the target task given by the target bidding account i is executediA, γ and β are all fixed parameters related to hardware:
Pi=A+γfim+βVi 2g(Vi) (formula 3)
Need to perform target task given by target bid account iThe consumed execution energy consumption is the product tau of the execution duration and the energy consumption consumed in unit timeiPi
Multiple execution energy consumptions of the target task can be calculated through the formula, and the lowest execution energy consumption can be selected from the various possible execution energy consumptions
Figure BDA0002285615560000061
And execution duration
Figure BDA0002285615560000062
And step S103, determining a utility value of the execution target task based on the optimal execution scheduling information.
In implementation, the resource energy consumption value p is determined(t)After the lowest execution energy consumption and the corresponding execution duration, the optimal execution scheduling information schedules can be determinedi. Then, the energy can be occupied
Figure BDA0002285615560000065
And (6) updating. Resource energy consumption cost C for executing target task can also be determinedi,CiThe power consumption increases linearly with execution. Under the precondition that the auction mechanism is real, the social welfare corresponding to the target bidding account is B of the target bidding accountiMinus CiThe utility value is the social welfare corresponding to the target bidding account and can be used as ui=Bi-CiAnd (4) performing representation.
And step S104, if the utility value is larger than the preset threshold value, distributing computing resources in the GPU for the target bidding account based on the optimal scheduling information.
In implementation, the preset threshold may be 0, and when the utility value is greater than 0, scheduling information s is executed according to the optimal performanceiAllocating GPU resources for the target bidding account and transferring a resource consumption value Ci. Updating time slots t e S simultaneouslyiIs not used as energy w(t)And p(t)
Optionally, the method provided by the embodiment of the present disclosure may further include: and if the utility value is larger than the preset threshold value, forbidding the allocation of the computing resources in the GPU for the target bidding account.
In practice, if the utility value u of the target bid accounti< 0, the targeted bidding account is rejected.
In the above process, cost is assumedi(abbreviated as C)i) Representing the cost of energy consumed to complete the target task for target bid account i, CiWill increase linearly with the total power consumed by the task, xiIt may indicate whether bid account i is winning a bid, 1 indicates winning a bid, 0 indicates not winning a bid, when utility value is greater than 0, indicates winning a bid, otherwise, it is not winning a bid. CiAnd xiThe final value can be calculated by an algorithm. Under the precondition that the auction mechanism is real, the social welfare is the sum of real profits of all tasks of the bid winning account, and the total energy consumption for executing the tasks is reduced. The cloud container auction for social welfare maximization is written as an integer linear program as follows.
maximize∑i(Bi-costi)xi(formula 4)
The limiting conditions are as follows:
Figure BDA0002285615560000063
Figure BDA0002285615560000064
Figure BDA0002285615560000071
V≥Vi≥V-,
Figure BDA0002285615560000072
Figure BDA0002285615560000073
therein, sigmai(Bi-costi)xiIs an objective functionAnd the other inequalities are linear limiting conditions which need to be met by the variables in the objective function, and solving the linear programming can obtain the variable values which meet all the inequalities and maximize the objective function. V
Figure BDA0002285615560000074
Representing a default GPU voltage frequency parameter value, V-
Figure BDA0002285615560000075
Is the lowest value, V, of the adjustable range of the voltage and frequency of the GPUi、fic、fimIf the task of the target bidding account i is received, the value of the GPU voltage frequency in the task is executed, and finally the value can be calculated by a provided algorithm.
Due to the complexity of the constraints, the linear programming can be simplified by using Compact Infinite ILP, SiTo represent the set of schedules (schedules) for each bid account that meet the constraints, in ΩiThe table performs all possible energy consumption sets for the tasks of bid account i.
Figure BDA0002285615560000076
The limiting conditions are as follows:
Figure BDA0002285615560000077
xiS∈{0,1},
Figure BDA0002285615560000078
due to the fact that the linear programming complexity is large, the linear programming cannot be directly solved, the dual linear programming can be written out by utilizing an original dual algorithm, and the solution of the original linear programming is obtained according to the solution dual linear programming. The objective function value of the dual linear programming has no specific physical significance and can be used for calculating the algorithm competition ratio. Two dual variables u are obtainedi(utility value) and p(t)(resource energy consumption value of time slot t). u. ofiCan be specifically interpreted as a targetThe real revenue of the completion of the task for bid account i minus the value that ultimately needs to be paid to the resource provider in order to complete the task. If the target bid account is not bid, the utility value is 0.
Figure BDA0002285615560000079
The limiting conditions are as follows:
Figure BDA00022856155600000710
p(t),ui≥0,
Figure BDA00022856155600000711
with complementary relaxation conditions, the increment of dual variables is minimized and the feasibility of the dual conditions is guaranteed, once the schedule of the target bid account i tightens the dual constraints, i.e.
Figure BDA00022856155600000712
Figure BDA00022856155600000713
The original variable is updated
Figure BDA00022856155600000714
However, the utility value of each bid account cannot be negative, i.e., ui>0, so that there is
Figure BDA00022856155600000715
To maximize the utility value of the user, the cost of completing the task may be minimized, i.e.
Figure BDA00022856155600000716
Figure BDA00022856155600000717
At a minimum, as follows:
Figure BDA00022856155600000718
with the proviso that di≥tii
V≥Vi≥V-,
Figure BDA00022856155600000719
The original variable xi
Figure BDA0002285615560000081
(whether or not to assign the task of bid account i to time slot t), w (t) (the energy assigned in time slot t), and a dual variable uiInitialization to 0, p (w)0) Set to an initial value
Figure BDA0002285615560000082
Where η is a number greater than 1, the parameter σ is defined as the minimum occupancy of energy within the time range T, iota represents the minimum energy consumption per unit value and μ represents the maximum energy consumption per unit value.
Optionally, among the above parameters, the coefficient η satisfies
Figure BDA0002285615560000083
η>1。
The following specific examples are illustrated:
in this embodiment, the energy capacity is set to ∈ 15. The time slot span T is 600-1600 time slots, and for better simulating the uncertainty of the coming of bidders, the number of coming bidding accounts is described by using a Poisson distribution, and the Poisson coefficient is set to be 3 or 8. And each bidding account workload demand is a random number of { 0-1 }.
Step 1: suppose that each bidder gives a true value viThis assessment is not affected by other bidders, and the auction mechanism is real.
Step 2: under the premise that an auction mechanism is real, cloud container auctions with maximized social welfare are written into integer linear programming.
Due to the complexity of the conditions, the linear programming is simplified by using Compact Infinite ILP, using siTo represent a set of schedules for which each bid account meets the constraints.
And step 3: writing a dual linear program by using an original dual algorithm to obtain two dual variables ui(utility of bidder) and p(t)(energy price for time slot t).
And 4, step 4: the original variable xi
Figure BDA0002285615560000084
(whether or not to assign the task of bid account i to time slot t), w (t) (the energy assigned in time slot t), and a dual variable uiInitialization to 0, p (w)0) Set to an initial value
Figure BDA0002285615560000085
Where η is a number greater than 1, the parameter σ is defined as the minimum occupancy of energy in the time range T, iota represents the minimum energy consumption per unit value and μ represents the maximum energy consumption per unit value.
And 5: processing the coming bidder i to obtain the optimal scheduling s of each personiMinimum cost required CiEffectiveness of uiAnd the allocated energy set occupied by each time slot
Figure BDA0002285615560000086
Step 6: if utility value u of bid accounti>0, according to schedule siAllocating resources for the bidding account and charging a fee Ci. Simultaneously setting time slot t as SiResidual energy w of(t)And a price p(t)Updating, wherein the price updating formula is as follows:
Figure BDA0002285615560000087
where mu and iota represent the maximum and minimum energy price per unit, respectively, which are the estimated parameters, w(t)Representing the amount of used energy at time slot t. When energy is not used, the energy price is initially at
Figure BDA0002285615560000088
When all the energy is occupied, the energy price for this time slot is μ, and this time slot is no longer allocated. The price formula is designed to pre-store the resources for the target with higher value in the future, so that the overall social welfare reaches the maximum value.
And 7: if utility u of bid accounti< 0, the bidder is rejected.
In step 5, the process of processing each bidder is as follows (the idea of dynamic programming is mainly applied):
step 5.1: start time slot t available to exhaustive bidder isAnd ending the time slot teAnd calculating a resource price p in each available time slot(t),t∈[ts,te]The available time slots (i.e., to meet the resource demand) are sorted in price increments.
Step 5.2: according to step 7, all the possible consumptive energy of the task of user i is exhausted
Figure BDA0002285615560000091
Finding the energy consumption with the lowest user cost
Figure BDA0002285615560000092
And number of processing slots
Figure BDA0002285615560000093
Step 5.3: obtain the schedules of the bidderiUpdating the energy occupancy of the user
Figure BDA0002285615560000094
And pay for CiEffectiveness of ui=Bi-Ci
Therefore, the present disclosure has the following advantages: by designing a reasonable price mechanism and a DVFS auction system, the social welfare maximization problem in the auction is solved, and an approximate ratio close to 2.68 is obtained.
Through the method provided by the embodiment of the disclosure, the effect schematic diagram shown in fig. 2, the effect schematic diagram shown in fig. 3 and the effect schematic diagram shown in fig. 4 can be obtained.
The utility model discloses a batch processing auction system based on cloud container service, through the mechanism of design auction competition, carries out a round of auction to the bidder at every certain time slot interval, obtains fine approximate solution. The method considers the influence of possible bidding accounts on social welfare in the future and controls the reasonable allocation of resources, thereby effectively solving the NP-hard problem.
By the method provided by the embodiment of the disclosure, energy consumption in the process of using the GPU can be effectively reduced.
Yet another exemplary embodiment of the present disclosure provides an apparatus for allocating computing resources, as shown in fig. 5, the apparatus including:
an obtaining module 501, configured to obtain a target task corresponding to a target bidding account;
a determining module 502, configured to determine optimal execution scheduling information of the target task, where the optimal execution scheduling information includes a start time and an end time for executing the target task;
the determining module 502 is configured to determine a utility value for executing the target task based on the optimal execution scheduling information;
an allocating module 503, configured to allocate, based on the optimal scheduling information, a computing resource in a GPU to the target bidding account if the utility value is greater than a preset threshold.
Optionally, the determining module 502 is configured to:
determining a plurality of available time slots for executing the target task;
determining resource consumption values corresponding to the available time slots respectively;
determining the lowest execution energy consumption and execution time length of the target task;
and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
Optionally, the determining module 502 is configured to:
determining the used energy consumption;
and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
Optionally, the determining module 502 is configured to:
acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of the target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired;
determining the lowest execution energy consumption in each execution energy consumption;
and determining the execution duration corresponding to the lowest execution energy consumption.
Optionally, the allocating module 503 is further configured to:
and if the utility value is larger than a preset threshold value, forbidding the allocation of computing resources in a Graphic Processor (GPU) for the target bidding account.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
The utility model discloses a batch processing auction system based on cloud container service, through the mechanism of design auction competition, carries out a round of auction to the bidder at every certain time slot interval, obtains fine approximate solution. The method considers the influence of possible bidding accounts on social welfare in the future and controls the reasonable allocation of resources, thereby effectively solving the NP-hard problem. By the device provided by the embodiment of the disclosure, the energy consumption in the process of using the GPU can be effectively reduced.
It should be noted that: in the foregoing embodiment, when allocating the computing resource, the apparatus for allocating the computing resource is described by way of example only by dividing the functional modules, and in practical applications, the function allocation may be completed by different functional modules according to needs, that is, the internal structure of the server is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the apparatus for allocating computing resources and the method for allocating computing resources provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and will not be described herein again.
Fig. 6 shows a schematic structural diagram of a server 1900 provided in an exemplary embodiment of the present disclosure. The server 1900 may have a large difference due to different configurations or performances, and may include one or more processors (CPUs) 1910 and one or more memories 1920. Stored in the memory 1920 is at least one instruction that is loaded and executed by the processor 1910 to implement the method for allocating computing resources of the embodiments described above.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method of allocating computing resources, the method comprising:
acquiring a target task corresponding to a target bidding account;
determining optimal execution scheduling information of the target task, wherein the optimal execution scheduling information comprises a starting time and an ending time for executing the target task;
determining a utility value for executing the target task based on the optimal execution scheduling information;
and if the utility value is larger than a preset threshold value, distributing computing resources in a GPU (graphics processing unit) for the target task based on the optimal scheduling information.
2. The method of claim 1, wherein the determining optimal execution scheduling information for the target task comprises:
determining a plurality of available time slots for executing the target task;
determining resource consumption values corresponding to the available time slots respectively;
determining the lowest execution energy consumption and execution time length of the target task;
and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
3. The method of claim 2, wherein determining the resource consumption value corresponding to each available timeslot comprises:
determining the used energy consumption;
and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
4. The method of claim 1, wherein the determining the minimum energy consumption and duration of execution of the target task comprises:
acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of the target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired;
determining the lowest execution energy consumption in each execution energy consumption;
and determining the execution duration corresponding to the lowest execution energy consumption.
5. The method of claim 1, further comprising:
and if the utility value is larger than a preset threshold value, forbidding the calculation resources in the GPU to be allocated to the target task.
6. An apparatus for allocating computing resources, the apparatus comprising:
the acquisition module is used for acquiring a target task corresponding to the target bidding account;
the determining module is used for determining optimal execution scheduling information of the target task, wherein the optimal execution scheduling information comprises a starting time and an ending time for executing the target task;
the determining module is used for determining a utility value for executing the target task based on the optimal execution scheduling information;
and the allocation module is used for allocating computing resources in the GPU to the target task based on the optimal scheduling information if the utility value is greater than a preset threshold value.
7. The apparatus of claim 6, wherein the determining module is configured to:
determining a plurality of available time slots for executing the target task;
determining resource consumption values corresponding to the available time slots respectively;
determining the lowest execution energy consumption and execution time length of the target task;
and determining the optimal execution scheduling information of the target task based on the resource consumption value, the lowest execution energy consumption and the execution duration which respectively correspond to each available time slot.
8. The apparatus of claim 7, wherein the determining module is configured to:
determining the used energy consumption;
and determining resource consumption values corresponding to the available time slots respectively based on the used energy consumption.
9. The apparatus of claim 6, wherein the determining module is configured to:
acquiring voltage values in a preset voltage set and frequency values in a preset frequency set one by one, and determining the execution energy consumption of the target task based on the currently acquired voltage values and frequency values when one voltage value and one frequency value are acquired;
determining the lowest execution energy consumption in each execution energy consumption;
and determining the execution duration corresponding to the lowest execution energy consumption.
10. The apparatus of claim 6, wherein the assignment module is further configured to:
and if the utility value is larger than a preset threshold value, forbidding the calculation resources in the GPU to be allocated to the target task.
CN201911159221.2A 2019-11-22 2019-11-22 Method and device for distributing computing resources Active CN111124665B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911159221.2A CN111124665B (en) 2019-11-22 2019-11-22 Method and device for distributing computing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911159221.2A CN111124665B (en) 2019-11-22 2019-11-22 Method and device for distributing computing resources

Publications (2)

Publication Number Publication Date
CN111124665A true CN111124665A (en) 2020-05-08
CN111124665B CN111124665B (en) 2023-07-28

Family

ID=70496365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911159221.2A Active CN111124665B (en) 2019-11-22 2019-11-22 Method and device for distributing computing resources

Country Status (1)

Country Link
CN (1) CN111124665B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381022A (en) * 2024-06-24 2024-07-23 国网山西省电力公司经济技术研究院 Shared energy storage capacity distribution method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101262679B1 (en) * 2013-02-13 2013-05-20 송형근 Device to allocate resource effectively for cloud computing
CN106651553A (en) * 2017-01-23 2017-05-10 武汉万般上品信息技术有限公司 Cloud container service-based batch processing auction mechanism
CN109815009A (en) * 2018-12-28 2019-05-28 周口师范学院 Scheduling of resource and optimization method under a kind of CSP
CN110162393A (en) * 2019-05-30 2019-08-23 奇瑞汽车股份有限公司 Method for scheduling task, device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101262679B1 (en) * 2013-02-13 2013-05-20 송형근 Device to allocate resource effectively for cloud computing
CN106651553A (en) * 2017-01-23 2017-05-10 武汉万般上品信息技术有限公司 Cloud container service-based batch processing auction mechanism
CN109815009A (en) * 2018-12-28 2019-05-28 周口师范学院 Scheduling of resource and optimization method under a kind of CSP
CN110162393A (en) * 2019-05-30 2019-08-23 奇瑞汽车股份有限公司 Method for scheduling task, device and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王艳;孙茂圣;朱俊武;: "一种基于动态规划的虚拟机分配方法" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381022A (en) * 2024-06-24 2024-07-23 国网山西省电力公司经济技术研究院 Shared energy storage capacity distribution method

Also Published As

Publication number Publication date
CN111124665B (en) 2023-07-28

Similar Documents

Publication Publication Date Title
Toosi et al. An auction mechanism for cloud spot markets
Zhou et al. An efficient cloud market mechanism for computing jobs with soft deadlines
Zheng et al. On the viability of a cloud virtual service provider
CN105721565B (en) Cloud computing resources distribution method based on game and system
Zhang et al. Online auctions in IaaS clouds: Welfare and profit maximization with server costs
Zaman et al. Combinatorial auction-based allocation of virtual machine instances in clouds
Mao et al. Scaling and scheduling to maximize application performance within budget constraints in cloud workflows
CN109325825B (en) Flow data regulation and control method and device
Lampe et al. Maximizing cloud provider profit from equilibrium price auctions
CN105204924A (en) Managing private use of program execution capacity
CN112491964B (en) Mobile assisted edge calculation method, apparatus, medium, and device
Liu et al. Strategy-proof mechanism for provisioning and allocation virtual machines in heterogeneous clouds
Yi et al. Flexible instance: Meeting deadlines of delay tolerant jobs in the cloud with dynamic pricing
Mashayekhy et al. Truthful mechanisms for competitive reward-based scheduling
CN103064744A (en) Resource optimizing method applied to multi-layer web application based on SLA (Service Level Agreement)
Mashayekhy et al. A two-sided market mechanism for trading big data computing commodities
Sabyasachi et al. A resilient auction framework for deadline-aware jobs in cloud spot market
Zheng et al. Market-oriented online bi-objective service scheduling for pleasingly parallel jobs with variable resources in cloud environments
Swain et al. Constraint aware profit maximization scheduling of tasks in heterogeneous datacenters
CN111124665B (en) Method and device for distributing computing resources
Tang et al. Pricing model for dynamic resource overbooking in edge computing
CN106845718A (en) A kind of efficient cloud market elasticity time limit computing resource auction mechanism
Nesmachnow et al. List scheduling heuristics for virtual machine mapping in cloud systems
Garg et al. A meta-scheduler with auction based resource allocation for global grids
KR101720292B1 (en) Method for allocating cloud service resources using expectation values for service provider&#39;s profit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant