CN114072767A - Resource scheduling, applying and pricing method, device, system and storage medium - Google Patents

Resource scheduling, applying and pricing method, device, system and storage medium Download PDF

Info

Publication number
CN114072767A
CN114072767A CN201980097832.0A CN201980097832A CN114072767A CN 114072767 A CN114072767 A CN 114072767A CN 201980097832 A CN201980097832 A CN 201980097832A CN 114072767 A CN114072767 A CN 114072767A
Authority
CN
China
Prior art keywords
resource
target
schedulable
application
application program
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
CN201980097832.0A
Other languages
Chinese (zh)
Other versions
CN114072767B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN114072767A publication Critical patent/CN114072767A/en
Application granted granted Critical
Publication of CN114072767B publication Critical patent/CN114072767B/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the application provides a method, equipment, a system and a storage medium for scheduling, applying and pricing resources. In the embodiment of the application, the resource scheduling and the resource bidding mechanism are combined, each resource demand party can give out a reasonable actual bidding value according to the resource demand condition to participate in resource bidding, and the resource scheduling party can perform resource scheduling according to each actual bidding value, so that the resources are more reasonably distributed, the whole resource utilization rate is improved, and the whole energy efficiency is further improved.

Description

Resource scheduling, applying and pricing method, device, system and storage medium Technical Field
The present application relates to the field of data center technologies, and in particular, to a method, device, system, and storage medium for resource scheduling, application, and pricing.
Background
With the development of cloud computing technology, various computer room systems or Data Center (DC) systems are continuously deployed, the pressure borne by the computer room systems or the Data Center systems is continuously increased, whether IT equipment in the computer room systems or the Data Center systems can be reasonably utilized or not is achieved, the utilization rate of the IT equipment is improved, and the overall energy efficiency of the computer room systems or the Data Center systems is directly influenced.
In the prior art, IT is common to perform resource scheduling on IT devices according to factors such as the priorities of applications and the loads of IT devices, for example, to preferentially allocate the IT devices to the applications with higher priorities or preferentially allocate the applications to the IT devices with lower loads. The resource scheduling mode is simple and easy to implement, but the overall resource utilization rate of the machine room system or the data center system is not high, and the overall energy efficiency is not high.
Disclosure of Invention
The embodiment of the application provides a resource scheduling method, a resource application method, a resource pricing method, a resource scheduling device, a resource application system, a resource pricing system and a storage medium, and is used for improving the overall resource utilization rate and improving the overall energy efficiency.
The embodiment of the application provides a resource scheduling method, which comprises the following steps: receiving a resource bidding request of a first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for resources; determining other application programs capable of bidding for the resource to be applied by the first application program and the actual bidding value given by the other application programs for the resource to be applied; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; and returning the application result of the first application program to the target schedulable resource to the first application program.
The embodiment of the present application further provides a resource application method, including: responding to resource application requirements, and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to resource scheduling equipment, so that the resource scheduling equipment can bid for the first application program and other application programs according to the first actual bidding value to apply for the target schedulable resource; and receiving the application result of the first application program to the target schedulable resource, which is returned by the resource scheduling device.
The embodiment of the present application further provides a resource pricing method, including: acquiring current power consumption data of a target schedulable resource and an infrastructure on which the target schedulable resource depends; predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends; and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
An embodiment of the present application further provides a resource scheduling apparatus, including: a memory and a processor; the memory for storing a computer program; the processor, coupled with the memory, to execute the computer program to: receiving a resource bidding request of a first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for resources; determining other application programs capable of bidding for the resource to be applied by the first application program and the actual bidding value given by the other application programs for the resource to be applied; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; and returning the application result of the first application program to the target schedulable resource to the first application program.
An embodiment of the present application further provides a resource application device, including: a memory, a processor, and a communication component; the memory for storing a computer program; the processor, coupled with the memory, to execute the computer program to: responding to resource application requirements, and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to a resource scheduling device through the communication component, so that the resource scheduling device can schedule resources for bidding application targets of the first application program and other application programs according to the first actual bidding value; and receiving the application result of the first application program to the target schedulable resource, returned by the resource scheduling device, through the communication component.
An embodiment of the present application further provides a resource providing device, including: a memory and a processor; the memory for storing a computer program; the processor, coupled with the memory, to execute the computer program to: acquiring current power consumption data of a target schedulable resource and an infrastructure on which the target schedulable resource depends; predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends; and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
An embodiment of the present application further provides a resource management system, including: a resource scheduling party and a resource demanding party; the resource demander is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource dispatcher, and receiving a request result of the first application program for the target schedulable resource, which is returned by the resource dispatcher; the resource scheduler is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; and returning the application result of the first application program to the target schedulable resource to the resource demand side.
The embodiment of the present application further provides a machine room system, including: at least one schedulable resource, at least one infrastructure, a resource application device, and a resource scheduling device; the at least one infrastructure providing basic services for the at least one schedulable resource;
the resource application equipment is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource scheduling equipment, and receiving an application result of the first application program to a target schedulable resource, which is returned by the resource scheduling equipment;
the resource scheduling device is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; returning the application result of the first application program to the target schedulable resource to the resource application device; the target schedulable resource belongs to the at least one schedulable resource.
An embodiment of the present application further provides a data center system, including: the system comprises at least one machine room, resource application equipment and resource scheduling equipment; each machine room comprises at least one schedulable resource and at least one infrastructure that provides basic services for the at least one schedulable resource;
the resource application equipment is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource scheduling equipment, and receiving an application result of the first application program to a target schedulable resource, which is returned by the resource scheduling equipment;
the resource scheduling device is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; returning the application result of the first application program to the target schedulable resource to the resource application device; the target schedulable resource belongs to a schedulable resource in the at least one machine room.
Embodiments of the present application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to implement the steps in the method embodiments of the present application.
In the embodiment of the application, the resource scheduling and resource bidding mechanism is combined, a reasonable actual bidding value can be given according to the resource demand condition of the resource demand party to participate in resource bidding, and then the resource scheduling can be carried out according to the actual bidding value given by each resource demand party, so that the resource can be more reasonably distributed, the whole resource utilization rate can be improved, and the whole energy efficiency can be improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1a is a schematic diagram illustrating a structure and an operating principle of a resource management system according to an exemplary embodiment of the present application;
FIG. 1b is a schematic diagram illustrating a comparison of bid values between applications provided in an exemplary embodiment of the present application;
FIG. 1c is a state diagram illustrating a ping-pong effect provided in an exemplary embodiment of the present application;
FIG. 1d is a schematic illustration of two technical means for addressing hunger and ping-pong effects provided by exemplary embodiments of the present application;
FIG. 2 is a schematic block diagram of a machine room system provided in an exemplary embodiment of the present application;
fig. 3 is a schematic structural diagram of a data center system according to an exemplary embodiment of the present application;
fig. 4a is a flowchart illustrating a resource scheduling method according to an exemplary embodiment of the present application;
FIG. 4b is a flowchart illustrating another resource application method according to an exemplary embodiment of the present disclosure;
FIG. 4c is a schematic flow chart diagram illustrating yet another method for pricing resources according to an exemplary embodiment of the present application;
fig. 5a is a schematic structural diagram of a resource scheduling apparatus according to an exemplary embodiment of the present application;
fig. 5b is a schematic structural diagram of a resource application device according to an exemplary embodiment of the present application;
fig. 5c is a schematic structural diagram of a resource providing device according to an exemplary embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Aiming at the technical problems that the overall resource utilization rate of the existing machine room system or the existing data center system is not high and the overall energy efficiency is not high, in some embodiments of the application, a resource scheduling mechanism and a resource bidding mechanism are combined, reasonable actual bidding values can be given according to the resource demand conditions of resource demanders to participate in resource bidding, and then resource scheduling can be carried out according to the actual bidding values given by the resource demanders, so that resources can be distributed more reasonably, the overall resource utilization rate can be improved, and the overall energy efficiency can be improved.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1a is a schematic diagram illustrating a structure and an operating principle of a resource management system according to an exemplary embodiment of the present application. The resource management system 100 of this embodiment is mainly used for managing at least one schedulable resource, and the resource management in the resource management system 100 includes but is not limited to: scheduling resource application, scheduling or allocation, and release, etc.
In some alternative embodiments, the at least one schedulable resource that the resource management system 100 is responsible for managing is a resource within the resource management system 100. In other alternative embodiments, the at least one schedulable resource that the resource management system 100 is responsible for managing is a resource within a system other than the resource management system 100; other systems authorize the delegation of the resource management system 100 to manage its resources. In still other alternative embodiments, the at least one schedulable resource that the resource management system 100 is responsible for managing may also be from multiple systems that have a relationship of assistance and that may share resources.
A schedulable resource refers to a resource device, module or unit that may provide some service, function or resource (e.g., a computing resource, a storage resource or a network resource) to the outside. In terms of resource form, the schedulable resource may be a hardware resource, for example, a physical device such as a server or a printer, or a hardware module such as a CPU, a GPU, a memory, a network card, or a hard disk on the server. Of course, the schedulable resource may also be a software resource, and for example, may be a software module or unit such as a virtual machine running on a physical device, a cloud service, and the like. Generally, a server is a resource form, which is a common schedulable resource.
In order to better manage schedulable resources, as shown in fig. 1a, the resource management system 100 of the embodiment includes: a resource scheduler 101 and a resource demander 102. There may be one or more resource demanders 102; each resource demander 102 is communicatively connected to a resource scheduler 101.
The resource demander 102 represents a party with resource demand, and is mainly responsible for applying for schedulable resources from the resource scheduler 101. The resource demander 102 may be an application with resource requirements, or a functional module, SDK, plug-in, or independent service responsible for applying for resources for the application with resource requirements.
In the embodiment of the present application, an application program with resource requirements has a broader meaning, and generally refers to any program code written for the application purpose of a user, including but not limited to: system application programs, desktop application programs, driver application programs, network application programs, mobile phone application programs, internet of things application programs and the like. In the product form, the application program with resource requirements may be an APP, a client, a cloud service, an application system, a business system, a certain functional module or unit in the business system, and the like. For example, the application program of the present embodiment may be, but is not limited to: use of containerization in the K8s system.
The resource scheduler 101 represents a resource management party, and may schedule schedulable resources according to the resource application of each resource demander 102, so as to determine which schedulable resource or schedulable resources are allocated to which resource demander 102. The resource scheduler 101 may be an application, a business system, a service or a hardware device with resource management capability, and the like, which is not limited thereto.
In this embodiment, the resource scheduler 101 cooperates with the resource demander 102, and can perform resource scheduling based on a resource bidding mechanism, so that the resource scheduling is more reasonable, and the overall resource utilization rate is improved. In this embodiment, a resource demanding party 102 corresponding to a first application is taken as an example to describe a resource application and a resource scheduling process based on a resource bidding mechanism. The first application program may be any application program that has a resource requirement and is authorized to use the at least one schedulable resource.
For the resource demander 102, a resource bidding request can be generated in response to the resource application requirement, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for the resource; sending the resource bidding request to the resource scheduler 101 so that the resource scheduler 101 can schedule the resource for bidding application target of the first application program and other application programs according to the first actual bidding value; and receiving the application result of the first application program to the target schedulable resource returned by the resource scheduler 101. Wherein the target schedulable resource is one or more of the at least one schedulable resource managed by the resource management system 100.
For the resource scheduler 101, a resource bidding request of a first application program sent by the resource demander 102 may be received, and a first actual bidding value given by the first application program for applying for the resource may be obtained from the resource bidding request. In addition to the resource bid request of the first application, the resource scheduler 101 receives resource bid requests of other applications. Among these applications, there may be some applications that will apply for the same schedulable resource as the first application, thereby forming a bidding relationship with the first application. For convenience of description, schedulable resources requested by the first application and other applications having a bidding relationship with the first application are referred to as target schedulable resources. For the resource scheduler 101, it needs to determine other application programs that can schedule resources with the bidding application target of the first application program and the actual bidding values given by the other application programs for applying resources; then, determining whether the first application program can apply for the target schedulable resource according to a first actual bidding value given by the first application program for applying for the resource and the actual bidding values given by other application programs having bidding relations with the first application program for applying for the resource; and returns the application result of the first application program for the target schedulable resource to the resource demanding party 102.
Further, for the resource demander 102, after receiving the application result of the first application program for the target schedulable resource, the following operation may be performed according to the application result. For example, where the application result indicates that the first application applies to the target schedulable resource, the resource requestor 102 may notify the first application so that the first application uses the target schedulable resource. The way in which the first application uses the target schedulable resource may vary according to the target schedulable resource. For example, if the target schedulable resource is a computing resource such as a server, the first application may deploy itself to the target schedulable resource to create its running instance and data on the target schedulable resource. In the case that the application result indicates that the first application program fails to apply for the target schedulable resource, the resource demander 102 may initiate a new resource bidding process for the first application program to continue applying for the resource for the first application program.
The first actual bidding value represents the cost actually paid by the first application program for applying for the resource; accordingly, other actual bid values represent the cost actually paid for the resource by other applications. The first actual bid value or other actual bid value may be a numerical value, such as 10, 50, 100, or 200, etc. In this embodiment, the implementation form of the first actual bid value or other actual bid values is not limited, and may be, for example, virtual funds, actual funds, credit values, points, energy values or right values in the resource account corresponding to the first application program or other application programs. Each application program corresponds to a resource account, resources in the resource account can be used for applying for the right of use of any schedulable resource in the resource market, and the resources in the resource account can be virtual funds, actual funds, credit values, points, energy values or right values and the like.
In the embodiment of the present application, the information included in the resource bidding request is not limited, and may include some other information besides the first actual bidding value given by the first application program for applying for the resource. For example, the resource bidding request may further include an identifier of the first application, information capable of identifying the resource required by the first application, and the like. The information capable of identifying the resource required by the first application may be a resource type required by the first application, or may also be an identifier of the resource required by the first application. Of course, the information capable of identifying the resource required by the first application may also include both the type of resource required by the first application and the identification of the resource required by the first application.
Under the condition that the resource bidding request includes information capable of identifying the resource required by the first application program, the resource scheduler 101 may determine a target schedulable resource that the first application program needs to apply for according to the information capable of identifying the resource required by the first application program included in the resource bidding request; then, based on the target schedulable resource, determining other application programs needing to apply for the target schedulable resource, namely the application program having a bidding relationship with the first application program.
It should be noted that, in the case that the resource bidding request does not include information capable of identifying the resource required by the first application, the resource scheduler 101 may also determine the target schedulable resource that the first application needs to apply for first according to other information or in other manners; then, based on the target schedulable resource, other application programs needing to apply for the target schedulable resource are determined.
The implementation of the other application program that the resource scheduler 101 determines needs to apply for the target schedulable resource may be different according to the information that is included in the resource bidding request and is capable of identifying the resource needed by the first application program. Different implementations are exemplified below:
in some alternative embodiments, at least one schedulable resource managed by the resource management system 100 is partitioned into different resource types, such as compute resources, storage resources, and the like. The resource demander 102 knows in advance which resource types are supported by the resource management system 100; in addition, in the resource application process, the resource demander 102 only needs to provide the resource type to be applied to the resource scheduler 101, and specifically which schedulable resource to be applied is specified by the resource scheduler 101.
Based on the above, taking the first application program as an example, the resource demander 102 may determine, in response to the resource application requirement, a resource type that the first application program needs to apply for and a first actual bid value given by the first application program for applying for the resource; the resource type and the first actual bid value required to be applied by the first application program are carried in the resource bidding request, and then the resource bidding request is sent to the resource scheduler 101. For ease of differentiation and description, the type of resource that the first application needs to apply for is referred to as the target resource type. Accordingly, for the resource scheduler 101, after receiving the resource bidding request of the first application program, the first actual bidding value given by the first application program for applying the resource and the target resource type required to be applied by the first application program may be obtained from the resource bidding request of the first application program; then, appointing a target schedulable resource required to be applied for the first application program from schedulable resources under the target resource type; then, based on the target schedulable resource, other application programs needing to apply for the target schedulable resource are determined.
In other alternative embodiments, at least one schedulable resource managed by the resource management system 100 has a unique identification. The resource demander 102 knows in advance the identity of each schedulable resource; moreover, during the resource application process, the resource demander 102 may specify which schedulable resource needs to be applied specifically.
Based on the above, taking the first application program as an example, the resource demander 102 may determine, in response to the resource application requirement, an identifier of a resource that the first application program needs to apply for and a first actual bid value given by the first application program for applying for the resource; the resource bidding request carries the identifier of the resource required to be applied by the first application program and the first actual bidding value, and then the resource bidding request is sent to the resource scheduler 101. For ease of differentiation and description, the identification of the resource for which the first application needs to apply is referred to as the target resource identification. Accordingly, for the resource scheduler 101, after receiving the resource bidding request of the first application program, the first actual bidding value and the target resource identification can be obtained from the resource bidding request of the first application program; the schedulable resource pointed by the target resource identifier is used as the target schedulable resource required to be applied by the first application program; then, based on the target schedulable resource, other application programs needing to apply for the target schedulable resource are determined.
Further, in an alternative embodiment, the resource scheduler 101 may maintain a bid pool for each schedulable resource that is responsible for storing and maintaining information about applications that participate in the bidding for the schedulable resource, such as the identification of the applications that participate in the bidding, the time of participation in the bidding, and the actual bid value of participation in the bidding. Based on this, no matter which way is adopted to determine the target schedulable resource that the first application program needs to apply for, on one hand, the resource scheduler 101 may add the first application program into the bidding pool of the target schedulable resource, where the adding operation mainly refers to a process of adding information such as the identifier of the first application program, the time for participating in bidding (which may be the time for receiving the resource bidding request of the first application program), and the first actual bidding value into the bidding pool; on the other hand, other applications which are added into the bidding pool of the target schedulable resource within the preset effective time can be determined, and the other applications are the applications which have bidding relations with the first application.
The value of the effective time can be flexibly set according to application requirements. For example, the effective time may be 10 minutes just past, 1 hour just past, or 1 day just past, etc., or may be 5 minutes in the future, 2 hours in the future, or 2 days in the future, or may include 10 minutes just past and 5 minutes in the future, or may include half day time just past and half day time in the future, etc. Taking the last 10 minutes as an example, this means that the first application can be bid against other applications that have applied for the target schedulable resource within the last 10 minutes; if the first actual competitive value given by the first application program is higher than the actual competitive values given by other application programs in the last 10 minutes, the first application program can apply for the target schedulable resource; otherwise, the first application cannot apply for the target schedulable resource.
In the above example, in the process of determining whether the first application program can apply for the target schedulable resource, a "higher bid than get" mechanism is adopted, that is, the resource scheduler 101 compares the first actual bid value given by the first application program for the application resource with the actual bid value given by the other application programs having a bid relationship with the first application program for the application resource; if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the highest actual bid value, it is determined that the first application program fails to apply for the target schedulable resource. In addition to the "best-before-best" mechanism, other mechanisms such as "best-before-best" or "closest-to-average" may be used.
Under the condition of adopting a 'price-lower-rate' mechanism, the resource scheduler 101 may compare a first actual bid value given by the first application program for applying for the resource with an actual bid value given by other application programs (which refer to application programs having a bidding relationship with the first application program) for applying for the resource; if the first actual competitive value is the lowest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the minimum actual bid value, it is determined that the first application program fails to apply for the target schedulable resource.
Under the condition of adopting a mechanism of 'nearest average value', the resource scheduler 101 may calculate an average bid value of a first actual bid value given by the first application program for the application resource and an actual bid value given by other application programs (which are application programs having a bid relationship with the first application program) for the application resource; comparing the actual competitive value given by the first actual competitive price and other application programs for the application resource with the average competitive value respectively; if the first actual competitive value is the competitive value closest to the average competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the bid value closest to the average bid value, it is determined that the first application program failed to apply for the target schedulable resource.
In the embodiments of the present application, resource scheduling and a resource bidding mechanism are combined, a resource demand party can give a reasonable actual bidding value according to a resource demand condition to participate in resource bidding, and a resource scheduling party can perform resource scheduling according to the actual bidding value given by each resource demand party, so that resources are more reasonably allocated, and the overall resource utilization rate is improved.
In order to further improve the rationality of resource allocation and improve the overall resource utilization rate, in some optional embodiments described below in the present application, the requirement urgency degree of each application program for a resource may be combined with the actual bid value given by each application program for applying for the resource, and the requirement urgency degree of each application program for the resource may be represented by the actual bid value given by each application program for applying for the resource. For example, under the "high price and high price mechanism", the higher the actual bid value given by the application program for the resource application is, the higher the urgency of the application program's demand for the resource is. For another example, under the "low price-for-one" mechanism, the lower the actual bid value given by the application program for the application resource, the higher the urgency of the application program's resource requirement. For the resource scheduler 101, the degree of urgency of the resource requirements of each application program can be obtained according to the actual competitive value given by each application program for the application resource; and the resource scheduling is carried out according to the actual bidding values given by the application programs for the application resources, which is equivalent to the resource scheduling according to the urgency degree of the requirements of the application programs for the resources, and the schedulable resources can be distributed to the application programs which most urgently need the resources, so that the value of the schedulable resources can be fully played, and the utilization rate of the whole resources can be improved.
In addition to the urgency of demand, the importance of the resource to the application may be combined with the actual bid value given by each application for applying for the resource, and the importance of the resource to the application may be represented by the actual bid value given by each application for applying for the resource. For example, under the "high bid" mechanism, the higher the actual bid value given by the application for the resource application, the more important the resource is to the application. For another example, under the "price-less-for-user" mechanism, the lower the actual bid value given by the application for the application resource, the more important the resource is to the application. In the following embodiments of the present application, the detailed implementation process is described by taking an example of combining the required urgency and the actual bid value.
Taking the first application as an example, the process of the resource demander 102 generating a resource bid request for the first application may include: responding to the resource application requirement, and analyzing the requirement urgency degree of the first application program to the resource; determining a first actual competitive value given by the first application program for the application resource according to the requirement urgency degree of the first application program for the resource; further generating a resource bidding request of the first application program according to the first actual bidding value; and then sending the resource bidding request to the resource scheduler 101 so that the resource scheduler 101 can bid the first application program and other application programs for applying the target schedulable resource according to the first actual bidding value.
Optionally, according to the resource application requirement, information such as a performance requirement of the first application, an overall load capacity of the first application, a load change trend of the first application in a future period (for example, a load increase amount in a short time), a current QoS of the first application, and an expected QoS may be obtained, and according to the information, a demand urgency of the first application on the resource may be analyzed.
Assuming that the first application is an off-line data analysis system, the system needs to feed back the data analysis result of the previous day to the on-line application system before 6 am every day, and if most (for example, 60%) of the analysis tasks are not completed in 30 minutes 5 am, the system needs to apply for new schedulable resources (mainly computing resources) to help the existing computing resources to complete the analysis tasks.
Assuming that the first application is an online data processing system, such as an order processing system in the e-commerce field, which has a high requirement on response delay, the order size of the system may increase dramatically during e-commerce promotion or e-commerce activities, and in order to ensure a high response delay, a new schedulable resource (mainly, a computing resource) needs to be applied, in which case, since the order size may increase drastically during promotion or activities, the urgency of the demand of the system for the resource is relatively high in order to ensure the response delay during promotion or activities, and a relatively high practical competitive value can be given to characterize the urgency of the demand.
Further optionally, the resource demander 102 may also determine a target resource type that the first application program needs to apply for according to the resource application requirement; and generating a resource bidding request of the first application program according to the first actual bidding value and the target resource type, wherein the resource bidding request comprises the first actual bidding value and the target resource type.
In the process of generating the resource bidding request, the target resource type required to be applied by the first application program is considered. In addition, in the process of determining the first actual bid value, the target resource types required to be applied by the first application program can also be combined. For example, the target resource type that the first application program needs to apply for and the urgency of the first application program for the resource requirement can be combined to determine a first actual competitive value that the first application program gives for applying for the resource. For example, the first actual bid value may be determined according to the urgency of the first application program for the resource, and in combination with the benchmark bid values of the schedulable resources under the target resource type. The benchmark bidding values of the schedulable resources under the target resource type can be used as reference, so that the given first actual bidding value is more reasonable, the first application program can apply for the target schedulable resources with higher probability, the given first actual bidding value can be ensured not to be too high or too low, and the account resources corresponding to the first application program can be saved.
In the above embodiment, the benchmark bid value of each schedulable resource under the target resource type needs to be predetermined and needs to be perceived by the resource demander 102. In the following examples of the present application, a benchmark bid value for each schedulable resource given a target resource type, and the implementation of what is perceived by the resource consumers 102, will be presented.
In an alternative embodiment of the present application, as shown in fig. 1a, the resource scheduling system 100 further includes: the resource provider 103. In fig. 1a, the resource provider 103 is shown in a dashed box, indicating that the resource provider 103 is an optional object. The resource provider 103 is primarily responsible for providing the resource scheduling system 100 with at least one schedulable resource that requires management of the system and its related information including, but not limited to: the resource type of the at least one schedulable resource, the benchmark bid value of the at least one schedulable resource, and the like.
The resource provider 103 may collect information such as an identifier of at least one schedulable resource, a resource type, and the like included in the resource scheduling system 100 or another system that delegates the resource scheduling system 100 to perform resource management, and determine a benchmark bid value of each schedulable resource; the identity of the at least one schedulable resource, the resource type, and the base bid value are then provided to the resource scheduler 101. The resource scheduler 101 issues information such as an identifier of at least one schedulable resource, a resource type, a benchmark bid value, and the like to each resource demander 102. For the resource demander 102, information of the identification, resource type, and benchmark bid value of at least one schedulable resource provided by the resource scheduler 101 may be received. It should be noted that at least one schedulable resource belongs to at least one resource type, in other words, at least one schedulable resource may belong to the same resource type, or at least one schedulable resource may belong to a plurality of different resource types.
Whether at least one schedulable resource belongs to the same resource type or multiple different resource types, taking the first application program as an example, the resource demander 102 may determine a resource type that the first application program needs to apply for, that is, a target resource type, from at least one resource type to which the at least one schedulable resource belongs; then, according to the resource type to which at least one schedulable resource provided by the resource scheduler 101 belongs, each schedulable resource under the target resource type can be determined; and then determining the benchmark competitive value of each schedulable resource under the target resource type from the benchmark competitive values of at least one schedulable resource provided by the resource scheduler 101.
Among other things, the resource provider 103 may determine a benchmark bid value for each schedulable resource in a variety of ways. For example, the resource provider 103 may determine a benchmark bid value for a schedulable resource based on at least one of the type, quantity, physical location, vulnerability, and load status of the schedulable resource. For example, for various schedulable resources of different quantities, different benchmark bid values may be determined for the schedulable resources; in this example, the benchmark bid value may reflect how many types of schedulable resources are. As another example, for different types of schedulable resources, different benchmark bids may be determined; in this example, the benchmark bid value may reflect the type of resource to which the schedulable resource belongs. As another example, for schedulable resources that differ in physical location, different benchmark bids may be determined for them; in this example, the benchmark bid value may reflect how close the physical location of the schedulable resource is. For the resource demander 102, under the condition that the reference competitive value of the schedulable resource is taken as a reference and the actual competitive value given by each application program for the application resource is determined, the attribute information of the schedulable resource represented by the reference competitive value is combined, and the actual competitive value can indirectly represent the attribute information of the schedulable resource. Furthermore, for the resource demander 102, in the resource scheduling process, the actual resource requirements of each application program can be determined according to the attribute information of the schedulable resource reflected by each actual bid value, and further in combination with the information such as the requirement urgency or the resource importance reflected by the actual bid value, the schedulable resource to be applied can be specified for the application program more specifically, so that the overall resource utilization rate can be further improved.
In addition to the above manner, the resource provider 103 may also combine the benchmark bidding value of the schedulable resource with the power consumption cost of the schedulable resource, and determine the benchmark bidding value of the schedulable resource according to the power consumption cost of the schedulable resource. In this manner, the benchmark bid value reflects the power consumption cost of the schedulable resource. From the perspective of the resource scheduler 101, in the process of scheduling schedulable resources, the power consumption cost of the schedulable resources may be considered at the same time. The power consumption cost of schedulable resources is combined with the resource scheduling based on the resource bidding mechanism, so that the resources with lower power consumption cost can be scheduled preferentially, the probability of local hot spots is reduced, and the overall power consumption of the system is reduced.
A direct factor that has an impact on the power consumption cost is the power consumption of the schedulable resource itself, which includes many other factors in addition to this. In this embodiment, the factor of power consumption of the infrastructure on which the schedulable resource depends is considered as an important consideration. The infrastructure refers to a facility which provides basic service for the schedulable resource in a system to which the schedulable resource belongs. The infrastructure may also be differentiated according to schedulable resources, which is not limited. Taking the example where the schedulable resource is a server, the infrastructure may include cabinets to provide support services for the server, air conditioning, fans or water cooling to cool the server, power equipment to power the server, switches to provide network connections for the server, and so on.
In this embodiment, the power consumption cost of the schedulable resource can be predicted according to the power consumption data of the schedulable resource and the infrastructure on which the schedulable resource depends; and determining the benchmark competitive value of the schedulable resource according to the power consumption cost of the schedulable resource. The power consumption of the infrastructure on which the schedulable resource depends is converted into the power consumption cost of the schedulable resource, the measurement of the power consumption cost of the schedulable resource is more reasonable, and the rationality of resource scheduling is improved. In the following embodiments, the process of determining the benchmark bid value by the resource provider 103 is described by taking the target schedulable resource as an example. Wherein the target schedulable resource is any schedulable resource.
Taking a target schedulable resource as an example, the resource provider 103 may obtain current power consumption data of the target schedulable resource and of infrastructure on which the target schedulable resource depends; predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends; and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource. The higher the power consumption cost of the target schedulable resource is, the higher the contribution of the target schedulable resource to the system energy consumption is, the higher the power consumption cost is, and the higher the benchmark competitive value is; conversely, the smaller the power consumption cost of the target schedulable resource is, the lower the contribution of the target schedulable resource to the system energy consumption is, and the lower the power consumption cost is, the lower the benchmark competitive value is.
Further, given that the same infrastructure may provide basic services for multiple schedulable resources at the same time, the power consumption of the infrastructure may be amortized into the power consumption cost of the multiple schedulable resources. Based on the above, in the process of predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure dependent on the target schedulable resource, the number of schedulable resources currently being served by the infrastructure dependent on the target schedulable resource and the topological relation between the infrastructure and each schedulable resource currently being served by the infrastructure can be obtained; calculating the power consumption contribution ratio of the infrastructure to the target schedulable resource according to the quantity and the topological relation; and predicting the power consumption cost of the target schedulable resource according to the calculated power consumption contribution ratio, the current power consumption data of the target schedulable resource and the infrastructure.
For example, assume that a rack provides basic services for five servers at a time, where the five servers are schedulable resources. In one case, where five servers are all in operation, which is equivalent to the cabinet providing basic services for five servers at the same time, the power consumption of the cabinet can be amortized into the power consumption cost of the five servers, e.g., each server can amortize one fifth of the power consumption of the cabinet. One fifth here is merely an example and not limiting, and the proportion of power consumed by each server is related to the topological relationship of the servers and the rack. Under the condition that five servers share the power consumption of the cabinet, the power consumption cost of each server is not too high. In another case, four servers do not work, and only one server works, which is equivalent to that the whole cabinet only provides basic service for the working server, at this time, the power consumption data of the cabinet will be fully converted into the power consumption cost of the working server, and the power consumption cost of the server will be higher.
For convenience of description, in the present embodiment, the factors having an influence on the power consumption cost of the schedulable resource are collectively referred to as power consumption cost influence factors. In this embodiment, the power consumption cost impact factors include at least two, that is, the power consumption of the schedulable resource is one power consumption cost impact factor, and the power consumption of the infrastructure on which the schedulable resource depends is another power consumption cost impact factor.
Optionally, the resource provider 103 may pre-train an influence relationship between each power consumption cost influence factor and the power consumption cost, and may predict the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends, and the pre-trained influence relationship between the power consumption cost influence factor and the power consumption cost.
Further optionally, a power consumption cost prediction model corresponding to each schedulable resource may be trained in advance on line, and the power consumption cost prediction model corresponding to each schedulable resource may represent an influence relationship between a power consumption cost influence factor corresponding to the schedulable resource and the power consumption cost; on the basis, on line, the resource provider 103 can perform power consumption cost prediction by using power consumption cost prediction models corresponding to the target schedulable resources, so as to obtain the power consumption cost of the target schedulable resources.
In the resource management system 100 based on the resource bidding mechanism, for a schedulable resource, the actual bidding value given by the application program P2 may be higher, and the resource may be transferred from another application program P1 to the application program P2. As shown in FIG. 1b, assuming the schedulable resource is a server X, assuming the benchmark bid value for server X is 100, at time t1 application P1 successfully bids on server X with an actual bid value of 100. During use of server X by application P1, application P2 bids on the same server X at time t2 with a higher actual bid value 110. At this point, application P1 either migrated its load to another server used by application P1, or migrated its load to another server Y to which it was re-bid. If application P1 has no other servers available or fails to bid successfully on another server Y, then application P1 may experience a resource starvation. This phenomenon may be referred to as starvation.
In addition, for a certain application program, factors influencing the actual bid value given for applying for resources may change, and the change of the factors may cause the actual bid value given for applying for resources at different times by the same application program to fluctuate. The fluctuation in the actual bid value given by an application may result in the same schedulable resource always being transferred back and forth between two or more applications, a phenomenon known as the ping-pong effect of bidding. As shown in fig. 1c, the usage right of a schedulable resource (server X for example) would change at each intersection of 2 curves, which is not desirable; the 2 curves in FIG. 1c show the load fluctuation of application P1 and application P2 over time, respectively, assuming that application P1 and application P2 would give a higher bid value when the load is higher and a lower bid value when the load is lower, it can be seen that the higher load of application P1 and application P2 would bid on Server X at different times.
Whether starvation or ping-pong effects are described above, they involve migration of applications, which, if unnecessary, incur additional overhead and significantly impact the overall energy efficiency of the system.
In order to avoid the problems caused by the phenomena, in the following embodiments of the present application, a market bidding mechanism is further combined with a dynamic scheduling mechanism to provide a solution for dynamic bidding. With this dynamic bidding solution, the energy efficiency of the overall system is greatly improved as more and more applications participate in bidding.
In the solution of dynamic bidding, any one or two of the following technical means are adopted:
means 1: setting protection period for application program applying to schedulable resource
The resource scheduler 101 sets a protection period for each application applying for a schedulable resource within which the schedulable resource that the application has applied is not allowed to bid for by other applications. In other words, if within the protection period, another application initiates bidding on the schedulable resource that the application has applied for, it may be determined directly that the other application failed to apply for the schedulable resource. The following describes the content related to the protection period by taking the resource bidding process initiated by the first application as an example, with reference to fig. 1 d:
the resource demander 102 generates a resource bidding request of the first application program according to the resource application requirement of the first application program, and sends the resource bidding request to the resource scheduler 101. The resource scheduler 101 obtains a first actual bidding value given by the first application program for applying the resource according to the resource bidding request of the first application program, and determines that the first application program needs to apply for the target schedulable resource; then, the resource scheduler 101 may determine whether the target schedulable resource is being occupied by a second application, where the second application is any application and actually determines whether the target schedulable resource is already occupied by an application; if the target schedulable resource is being occupied by the second application, determining whether a protection period for the second application to occupy the target schedulable resource has ended. The protection period is set for the second application by the resource scheduler 101 when the second application applies for the target schedulable resource.
If the protection period for the second application to occupy the target schedulable resource has ended, which indicates that the first application can participate in the bidding of the target schedulable resource, the resource scheduler 101 may compare the first actual bidding value with the actual bidding values given for the application resources by other applications having a bidding relationship with the first application. Optionally, under the condition of adopting a 'high price and high price' mechanism, if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the highest actual bid value, it is determined that the first application program fails to apply for the target schedulable resource. Further, a resource application success or failure result may be returned to the resource demander 102; the successful result of the resource application indicates that the first application program applies to the target schedulable resource, and the failed result of the resource application indicates that the first application program fails to apply to the target schedulable resource.
If the protection period for the second application to occupy the target schedulable resource is not over, it is indicated that the target schedulable resource is not allowed to be bid by other applications within the protection period, so that it can be determined that the first application fails to apply for the target schedulable resource. Further, a resource application failure result may be returned to the resource demanding party 102, where the result indicates that the first application program fails to apply for the target schedulable resource. The ping-pong effect of the target schedulable resource between the second application program and the first application program can be avoided to a certain extent, and the starvation phenomenon of the second application program caused by bidding the resource can also be avoided, so that the improvement of the overall energy efficiency is facilitated.
Further, if the target schedulable resource is not occupied by the second application, since the second application may be any application, which actually means that the target schedulable resource is not occupied by any application, the resource scheduler 101 may compare the first actual bid value with actual bid values given for the application resources by other applications having a bid relationship with the first application. Optionally, under the condition of adopting a 'high price and high price' mechanism, if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the highest actual bid value, it is determined that the first application program fails to apply for the target schedulable resource. Further, a resource application success or failure result may be returned to the resource demander 102.
Means 2: before releasing the resource, increasing the judgment operation of continuously occupying the resource
After an application bids on a schedulable resource, the schedulable resource may need to be released during the course of using the schedulable resource for various reasons. Taking the first application as an example, assuming that the first application successfully applies for the target schedulable resource, the target schedulable resource may need to be released in the process of the first application using the target schedulable resource for various reasons. For example, when the target schedulable resource being occupied by the first application is bid for the third application because the actual bid value given by the third application is higher, the resource scheduler 101 may send a resource release notification to the resource demander 102 corresponding to the first application to notify the first application to release the target schedulable resource. Alternatively, when the first application finishes the current use of the target schedulable resource, the first application theoretically also needs to release the target schedulable resource. Wherein the third application is any application.
Wherein, the value of the same schedulable resource is generally different for different applications; the value that the same schedulable resource generates at different periods or stages of the same application is also different. In order to avoid excessive additional overhead caused by the fact that a new schedulable resource needs to be reapplied quickly or immediately after release, or avoid generating a ping-pong effect, under the condition that the schedulable resource needs to be released, the value of the schedulable resource to an application program can be combined, and whether the schedulable resource needs to be occupied continuously or not is judged firstly; if necessary, continuing to occupy the schedulable resource; if not, the schedulable resource is released.
In this embodiment, the implementation manners of "continuously occupying schedulable resources" and "releasing schedulable resources" are not limited. In an optional embodiment, both "continuously occupying schedulable resources" and "releasing schedulable resources" may be implemented by initiating a new resource bidding request, which may directly use an interface based on a resource bidding mechanism, and may reduce the implementation difficulty of the resource scheduler.
Referring to fig. 1d, taking an example that the first application needs to release the target schedulable resource, before performing the resource release operation, it may first determine whether a condition that the first application continues to occupy the target schedulable resource is satisfied; if the condition that the first application program continues to occupy the target schedulable resource is met, determining a second actual competitive value given by the first application program for continuing to occupy the target schedulable resource; and sending a new resource bidding request to the resource scheduler 101 according to the second actual bidding value so as to request to continuously occupy the target schedulable resource.
To avoid starvation, the first application may adjust its actual bid value within an acceptable float, e.g., 10-30%, at different time periods depending on how important or critical the demand for the target schedulable resource is. Based on this, under the condition that the target schedulable resource needs to be released, the target schedulable resource can be continuously occupied by improving the actual competitive value.
Continuing with FIG. 1b, application P1 floats the actual bid 30% and re-bids to Server X at an actual bid value of 130 before releasing Server X because Server X is specifically required to reduce its load. Since the actual bid 130 of application P1 exceeds the actual bid 110 of application P2, the resource scheduler 101 determines that application P1 needs server X more, and thus keeps application P holding server X. Since server X can continue to be held, application P1 avoids starvation, making full use of server X while improving overall energy efficiency.
Further, if the condition that the first application program continues to occupy the target schedulable resource is not met, determining a third actual competitive value given by the first application program for releasing the target schedulable resource; a new resource bid request is sent 101 to the resource scheduler requesting release of the targeted schedulable resource according to the third actual bid value.
Wherein the second actual bid value is a bid value that facilitates the first application being able to bid on the target schedulable resource. The second actual bid value is determined in a manner including: obtaining a reference bid value, wherein the reference bid value can represent the resource value of the target schedulable resource in a specified time period; then, according to the reference bid value, a bid value greater than the reference bid value is determined as a second actual bid value. And participating bidding with a second actual bidding value higher than the resource value of the target schedulable resource in a specified time period, successfully applying for the target schedulable resource, continuously occupying the target schedulable resource without releasing, reducing unnecessary operation caused by re-applying for the resource after releasing, saving the resource and improving the overall energy efficiency.
In the case of the "high bid" mechanism, the reference bid value that may represent the resource value of the target schedulable resource during the specified time period may be the maximum bid value among the actual bid values given by the applications applying for the target schedulable resource during the specified time period.
In an optional embodiment, the resource demander 102 may request the resource scheduler 101 for actual bid values given by each application applying for the target schedulable resource within a specified time period; then, the maximum competitive value in the actual competitive values given by each application program applying for the target schedulable resource in the specified time period is used as a reference competitive value; and then, the target schedulable resource can be successfully applied by participating bidding with the second actual bidding value which is greater than the reference bidding value, the target schedulable resource can be continuously occupied without releasing, unnecessary operation caused by re-applying the resource after releasing can be reduced, the resource is saved, and the overall energy efficiency is improved.
In another alternative embodiment, where a release is required because the target schedulable resource was applied by the third application, the actual bid value presented by the third application should be the maximum bid value for the specified time period. In this case, when sending the resource release notification to the resource demander 102, the resource scheduler 101 may carry the actual bid value given by the third application for applying for the resource in the resource mode notification. Based on this, the resource demander 102 may receive a resource release notification sent by the resource scheduling device when the third application applies for the target schedulable resource; analyzing the actual competitive value given by the third application program for the application resource from the resource release notice as a reference competitive value; and then, the target schedulable resource can be successfully applied by participating bidding with the second actual bidding value which is greater than the reference bidding value, the target schedulable resource can be continuously occupied without releasing, unnecessary operation caused by re-applying the resource after releasing can be reduced, the resource is saved, and the overall energy efficiency is improved.
Accordingly, the third actual bid value is a bid value given in favor of the first application program successfully releasing the target schedulable resource. Wherein the third actual bid value may be a bid value that is lower than the reference bid value. For example, in the case of a "bid higher bid" mechanism, the third actual bid value may be a preset minimum bid value. Further, the minimum bid value may be 0, which may indicate that the first application releases the target schedulable resource, and may indicate that the first application temporarily exits from bidding on the target schedulable resource, which may avoid bidding into a dead loop.
In the embodiment of the present application, the "condition that the first application continues to occupy the target schedulable resource" is not limited. The manner of determining whether the condition that the first application continues to occupy the target schedulable resource is satisfied may also be different according to the different conditions. Several examples are given below:
example 1: and taking the condition that the migration cost of the first application program from the target schedulable resource to other resources is more than the set cost threshold value as the condition for continuously occupying the target schedulable resource. Under the condition, whether the migration cost for migrating the first application program from the target schedulable resource to other resources is larger than a set cost threshold value or not can be judged; if so, determining that the condition that the first application program continues to occupy the target schedulable resource is met; if not, determining that the condition that the first application program continuously occupies the target schedulable resource is not met.
Example 2: the first application program needs to continue using the resource under the resource type (namely the same resource type) to which the target schedulable resource belongs within a certain time in the future as a condition that the target schedulable resource needs to be continuously occupied. Under the condition, whether the first application program needs to continuously use the resource under the resource type of the target schedulable resource within a certain time in the future can be judged; if so, determining that the condition that the first application program continues to occupy the target schedulable resource is met; if not, determining that the condition that the first application program continuously occupies the target schedulable resource is not met.
Optionally, it may be determined whether the first application program needs to continue to use the resource under the resource type to which the target schedulable resource belongs within a certain time in the future according to the daily traffic pattern of the first application program. Or, the flow pattern of the first application program can be learned in advance through the deep learning model, and whether the first application program needs to continue to use the resource under the resource type of the target schedulable resource in a future certain time is predicted based on the deep learning model.
It should be noted that, the conditions in the two examples may also be used in combination, and in the case of combined use, either one of the conditions may be required to be satisfied, or both of the conditions may be required to be satisfied, which is not limited, depending on the specific application requirements. Further, before determining whether the migration cost of the first application program migrating from the target schedulable resource to the other resource is greater than the set cost threshold, the method further includes: an operation to predict a migration cost for migrating the first application from the target schedulable resource to the other resource.
Wherein predicting a migration cost for migrating the first application from the target schedulable resource to the other resource comprises at least one of:
operation 1: predicting a remaining runtime of the instance deployed by the first application on the target schedulable resource as the migration cost;
operation 2: predicting migration time required for migrating the instance and data deployed by the first application program on the target schedulable resource to other resources as the migration cost;
operation 3: predicting a probability that the instances and data deployed on the target schedulable resource for the first application reappear to the other schedulable resources as the migration cost.
In the above different embodiments of the present application, the following dynamic factors are considered in combination: 1. the sharing infrastructure contributes to the power consumption cost of the schedulable resources, so that the resource scheduling based on the power consumption cost is more reasonable 2, and the starvation protection and the ping-pong effect are avoided based on the protection period. 3. And realizing hunger protection and ping-pong effect avoidance based on the judgment operation of continuously occupying resources. In some embodiments, the above dynamic factors may be combined at the same time, which is beneficial to further improving the overall resource utilization rate and further improving the overall energy efficiency.
In terms of deployment implementation, the resource management system 100 provided in the foregoing embodiment of the present application may adopt a centralized deployment manner, that is, the resource scheduler 101, the resource demander 102, and the resource provider 103 are deployed in the same physical device (such as a server, a notebook, or a desktop), a virtual machine, or a container; alternatively, a distributed deployment manner may be adopted, that is, the resource scheduler 101, the resource demander 102, and the resource provider 103 are distributed and deployed in a plurality of physical devices, virtual machines, containers, or the like. For example, the resource scheduler 101, the resource demander 102, and the resource provider 103 are respectively deployed in three different servers. For another example, the resource scheduler 101 and the resource demander 102 are implemented in one server, and the resource provider 103 is implemented in another server. Of course, the resource scheduler 101, the resource demander 102, or the resource provider 103 may also be deployed in the cloud as needed.
The resource management system 100 provided by the embodiment can be deployed in any application scenario with resource scheduling and management, for example, can be deployed in a computer room system, and can also be deployed in a data center system. The following embodiments will respectively provide a machine room system and a data center system for resource management based on a market bidding mechanism.
Fig. 2 is a schematic diagram illustrating a structure and an operation principle of a machine room system according to an exemplary embodiment of the present application. As shown in fig. 2, the machine room system 200 of the present embodiment includes: the machine room refers to a physical place for storing the machine equipment, and may be, for example, a room or a factory building. The machine room system 200 can be constructed independently or placed in other buildings. Further, as shown in fig. 2, the machine room system 200 further includes: the system comprises at least one physical device 201, a resource scheduling device 202 and a resource application device 203 which are located in a computer room. The number of the physical devices 201 is not limited in this embodiment, and may be one or more.
In the present embodiment, the device form of the physical device 201 is not limited. As shown in fig. 2, the physical device 201 may be an IT-type device in a machine room and a cooling device for cooling the IT-type device, such as an air conditioner. By way of example, the at least one physical device 201 may include, but is not limited to: cabinet equipment, server equipment, terminal equipment, printers, hubs, power supply equipment, storage equipment, network switching equipment, air conditioning equipment, water cooling equipment, and the like. The server device may be, including but not limited to: a conventional server, a server array, or a cloud server, etc. The power supply device may be a battery device, a dry battery device, or an Uninterruptible Power Supply (UPS) or the like. Storage devices may include, but are not limited to: disks, disk arrays, hard disks, network storage devices (NAS), and the like.
Similarly, the present embodiment also does not limit the device forms of the resource scheduling device 202 and the resource applying device 203. The resource scheduling device 202 and the resource application device 203 may be any computer device with certain resource scheduling capability, for example, terminal devices such as a smart phone, a notebook computer, a desktop computer, a tablet computer, or a smart watch, or server devices such as a conventional server, a cloud server, or a server array.
In the present embodiment, from the perspective of resource scheduling, the physical devices 201 in the computer room are divided into at least one schedulable resource and at least one infrastructure. A schedulable resource refers to a resource device, module or unit in a computer room that can provide some service, function or resource (e.g., computing, storage or network) to the outside. For example, the schedulable resource may be a physical device such as a server or a printer in a computer room, or may be a hardware module such as a CPU, a GPU, a memory, a network card, or a hard disk on the server, or may also be a software module or unit such as a virtual machine, a cloud service, and the like running on the physical device. Typically, physical servers are the most common schedulable resource. The infrastructure refers to a facility for providing basic service for schedulable resources in a machine room. The infrastructure may also be differentiated according to schedulable resources, which is not limited. Taking the example where the schedulable resource is a server, the infrastructure may include cabinets to provide support services for the server, air conditioning, fans or water cooling to cool the server, power equipment to power the server, switches to provide network connections for the server, and so on.
The schedulable resource is used as an available resource in the computer room system 200, and the resource scheduling device 202 can reasonably schedule the schedulable resource. The reasonable resource scheduling has great significance for improving the resource utilization efficiency of the machine room system 200, saving energy, improving resource sharing and reducing operation cost. In this embodiment, resource scheduling is a process of allocating schedulable resources to an application that has resource requirements. For scenarios where the resources are overloaded (demand is greater than system capacity), or where demand and capacity may change dynamically over time, the resource scheduling device 202 may dynamically reallocate resources to more efficiently use the available resources. For example, the resource scheduling device 202 may allocate certain applications on the resource demanding side to run on certain or certain schedulable resources. For another example, the resource scheduling device 202 may allocate resources, such as CPU, storage or network bandwidth, which can be provided by one or some schedulable resources, to some application program, and the application program uses the resources according to the actual situation.
In this embodiment, the application program with resource requirement has a broader meaning, and generally refers to any program code written for the application purpose of the user, including but not limited to: system application programs, desktop application programs, driver application programs, network application programs, mobile phone application programs, internet of things application programs and the like. In the product form, the application program with resource requirements may be an APP, a client, a cloud service, an application system, a business system, a certain functional module or unit in the business system, and the like.
The resource application device 203 mainly provides a resource application service for at least one application program. The resource application device 203 may be one or more. For example, the resource application device 203 may run a service, a program, a plug-in, a patch, or the like related to the resource application, thereby providing the resource application service for the application program. In this embodiment, the resource application device 203 and the resource scheduling device 202 cooperate with each other, so that a resource scheduling scheme based on a resource bidding mechanism can be implemented, resource scheduling can be more rationalized, and the improvement of the overall resource utilization rate is facilitated.
The resource application device 203 and the resource scheduling device 202 cooperate with each other, and the resource scheduling process for any application program with resource requirement is the same or similar. In this embodiment, a resource application and a resource scheduling process based on a resource bidding mechanism are described by taking the first application program applying for a schedulable resource as an example. Wherein the first application may be any application that has permission to use the at least one schedulable resource.
For the resource application device 203, a resource bidding request can be generated in response to the resource application requirement, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for the resource; sending the resource bidding request to the resource scheduling device 202, so that the resource scheduling device 202 can bid for the first application program and other application programs according to the first actual bidding value to apply for the target schedulable resource; and receiving the application result of the first application program to the target schedulable resource returned by the resource scheduling device 202. Wherein the target schedulable resource is any one or more schedulable resources in the computer room system 200.
For the resource scheduling device 202, the resource bidding request of the first application program sent by the resource application device 203 may be received, and a first actual bidding value given by the first application program for applying for the resource may be obtained from the resource bidding request; determining other application programs capable of scheduling resources with a bidding application target of the first application program and actual bidding values given by the other application programs for applying the resources; then, determining whether the first application program can apply for the target schedulable resource according to a first actual bidding value given by the first application program for applying for the resource and actual bidding values given by other application programs for applying for the resource; and returns the application result of the first application program for the target schedulable resource to the resource application device 203.
The first actual bidding value represents the cost actually paid by the first application program for applying for the resource; accordingly, other actual bid values represent the cost actually paid for the resource by other applications. In this embodiment, the implementation form of the first actual bid value or other actual bid values is not limited, and may be, for example, virtual funds, actual funds, credit value, points, energy value or equity value in the account.
Further, for the resource application device 203, after receiving the application result of the first application program for the target schedulable resource, the subsequent operation may be performed according to the application result. For example, in case the application result indicates that the first application applies for the target schedulable resource, the resource applying device 203 may notify the first application so that the first application uses the target schedulable resource. The way in which the first application uses the target schedulable resource may vary according to the target schedulable resource. For example, if the target schedulable resource is a computing resource such as a server, the first application may deploy itself to the target schedulable resource to create its running instance and data on the target schedulable resource. In the event that the application result indicates that the first application fails to apply for the target schedulable resource, the resource application device 203 can initiate a new round of resource bidding for the first application to continue applying for the resource for the first application.
Further, as shown in fig. 2, the machine room system 200 further includes: the resource providing device 204. In this embodiment, the device form of the resource providing device 204 is not limited, and may be any computer device with certain processing capability, for example, a terminal device such as a smart phone, a notebook computer, a desktop computer, a tablet computer, or a smart watch, or a server device such as a conventional server, a cloud server, or a server array. The number of the resource providing devices 204 may be one or more.
The resource providing device 204 is mainly configured to collect information of at least one schedulable resource in the computer room system 200, such as an identifier of each schedulable resource, a type of the resource to which the schedulable resource belongs, and determine a base bid value for each schedulable resource, so as to provide a reference for a real bid value given by the resource applying device 203 when applying for the schedulable resource for a corresponding application program. The resource providing device 204 may provide the identifier of the at least one schedulable resource, the type of the resource to which the resource providing device belongs, the benchmark bid value, and the like to the resource scheduling device 202; the resource scheduling device 202 provides information such as an identifier of at least one schedulable resource, a resource type to which the schedulable resource belongs, and a benchmark bid value to the resource application device 203. It should be noted that at least one schedulable resource belongs to at least one resource type, in other words, at least one schedulable resource may belong to the same resource type, or at least one schedulable resource may belong to a plurality of different resource types.
No matter whether at least one schedulable resource belongs to the same resource type or a plurality of different resource types, taking the first application program as an example, the resource application device 203 may respond to the resource application requirement, and on one hand, determine the resource type that the first application program needs to apply for, that is, the target resource type, from at least one resource type to which the at least one schedulable resource belongs; then, according to the resource type to which at least one schedulable resource provided by the resource scheduling device 202 belongs, each schedulable resource under the target resource type can be determined; further, according to the benchmark competitive value of at least one schedulable resource provided by the resource scheduling device 202, the benchmark competitive value of each schedulable resource under the target resource type is determined; on the other hand, the requirement urgency degree of the first application program on the resource can be analyzed; determining a first actual competitive value given by the first application program for the application resource according to the requirement urgency degree of the first application program for the resource and the reference competitive value of each schedulable resource under the target resource type; generating a resource bidding request of a first application program according to the first actual bidding value and the target resource type; then, the resource bidding request is sent to the resource scheduling device 202, so that the resource scheduling device 202 bids for the target schedulable resource for the first application and other applications according to the first actual bidding value.
For the resource scheduling device 202, the resource applying device 203, and the resource providing device 204, which cooperate with each other, the detailed process of performing resource scheduling for the first application based on the resource bidding mechanism and other operations or contents related to resource scheduling can be referred to the foregoing embodiments, and are not described herein again.
In a service scenario, the computer room system 200 provided in this embodiment includes multiple servers, where a part of the servers are used to deploy the K8s system, the resource scheduling service, and the hardware management system, and another part of the servers are schedulable resources. The K8s system includes a Master node (Master), which is deployed on one server and used to manage other servers in the machine room system 200 as schedulable resources, and can perform resource scheduling according to containerized applications deployed in the K8s system. The hardware management system is deployed on one server, can collect the identification and resource type of all servers as schedulable resources, can determine the benchmark competitive value of the servers, and provides the information of the identification, resource type and benchmark competitive value of the servers as the schedulable resources to the master node in the K8s system. The master node in the K8s system acts as a scheduler, applies for server resources to the application with resource scheduling service for containerization, and manages the release of server resources.
It should be noted that the server where the master node in the K8s system is located, the server where the hardware management system is located, and the server where the resource scheduling service is located may be dedicated servers and no longer serve as schedulable resources; of course, if these servers also have remaining resources, these remaining resources may also be schedulable resources.
In the data center system of this embodiment, the resource scheduling and resource bidding mechanism is combined, so that a reasonable actual bidding value can be given according to the resource demand condition of the resource demander to participate in resource bidding, and then the resource scheduling can be performed according to the actual bidding value given by each resource demander, which is beneficial to more reasonably allocating resources, improving the overall resource utilization rate, and further improving the overall energy efficiency.
Fig. 3 is a schematic structural diagram of a data center system according to an exemplary embodiment of the present application. As shown in fig. 3, the data center system 300 includes: at least one machine room 301, a resource scheduling device 302, and a resource application device 303. The data center system 300 may be constructed separately, may be located within other buildings, or may be distributed across different geographic locations. Wherein each room 301 comprises at least one physical device 305. The number of physical devices included in each machine room 301 may be one or more.
The machine room 301 in this embodiment is similar to the machine room in the embodiment shown in fig. 2, and for the related description of the physical device 305 and the machine room 301, reference may be made to the description in the embodiment shown in fig. 2, and details are not repeated here.
In this embodiment, the physical devices 305 in each room 301 are divided into at least one schedulable resource and at least one infrastructure from a resource scheduling perspective. A schedulable resource refers to a resource device, module or unit in a computer room that can provide some service, function or resource (e.g., computing, storage or network) to the outside. For example, the schedulable resource may be a physical device such as a server, a printer, or a switch in a computer room, or may be a hardware module such as a CPU, a GPU, a memory, a network card, or a hard disk on the server, or may also be a software module or unit such as a virtual machine, a cloud service, and the like running on the physical device. The infrastructure refers to a facility for providing basic service for schedulable resources in a machine room. The infrastructure may also be differentiated according to schedulable resources, which is not limited. Taking the example where the schedulable resource is a server, the infrastructure may include a cabinet that provides support services for the server, air conditioning or water cooling equipment that cools the server, power equipment that powers the server, and so on.
The present embodiment differs from the embodiment shown in fig. 2 in that: the resource scheduling device 302 and the resource application device 303 are no longer dedicated to a specific machine room, but serve the entire data center system 300, and resource scheduling needs to be performed on schedulable resources in each machine room 301. Although the resource scheduling device 302 is no longer dedicated to a specific machine room, it may be deployed in a certain machine room or independently deployed outside each machine room in physical deployment.
Similarly, the resource application device 303 of this embodiment mainly provides resource application services for the application programs in each computer room. The resource application device 303 and the resource scheduling device 302 are matched with each other, so that a resource scheduling scheme based on a resource bidding mechanism can be realized, the resource scheduling can be more reasonable, and the improvement of the overall resource utilization rate is facilitated.
Further, the data center system 300 may also include a resource providing device, not shown in fig. 3.
For the detailed process of resource scheduling for any application program with resource requirement and other operations and contents related to resource scheduling, which are performed by the resource application device 303, the resource scheduling device 302, and the resource providing device in cooperation with each other, reference may be made to the foregoing embodiments, and details are not described herein again.
In the data center system of this embodiment, the resource scheduling and resource bidding mechanism is combined, so that a reasonable actual bidding value can be given according to the resource demand condition of the resource demander to participate in resource bidding, and then the resource scheduling can be performed according to the actual bidding value given by each resource demander, which is beneficial to more reasonably allocating resources, improving the overall resource utilization rate, and further improving the overall energy efficiency.
Fig. 4a is a flowchart illustrating a resource scheduling method according to an embodiment of the present application. As shown in fig. 4a, the method comprises:
41a, receiving a resource bidding request of the first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for the resource.
42a, other applications that determine schedulable resources with the first application bidding application target, and the actual bid value the other applications give for applying for the resource.
And 43a, determining whether the first application program can apply for the target schedulable resource according to the first actual bidding value and the actual bidding values given by other application programs for applying for the resource.
And 44a, returning the application result of the first application program to the target schedulable resource to the first application program.
The method of the embodiment is mainly described from the perspective of a resource scheduler or resource scheduling equipment, and mainly describes how to perform resource scheduling for a first application program based on a bidding mechanism according to a resource bidding request of the first application program.
In an alternative embodiment, in step 42a, determining other applications that bid on the application target schedulable resource with the first application comprises: determining a target schedulable resource required to be applied by a first application program, and adding the first application program into a bidding pool of the target schedulable resource; and determining other application programs which are added into the bidding pool of the target schedulable resource within the preset effective time, wherein the other application programs are the application programs which have bidding relations with the first application program.
Further, in an alternative embodiment, the resource bid request of the first application includes, in addition to the first actual bid value: the first application needs the target resource type of the application. Based on this, the step of determining the target schedulable resource that the first application program needs to apply for includes: and a resource scheduler or resource scheduling equipment designates the target schedulable resource required to be applied by the first application program from the schedulable resource under the target resource type. Optionally, in the specifying process, the resource scheduler or the resource scheduling device may specify the target schedulable resource to be applied for the first application program according to the benchmark bid value of each schedulable resource under the target resource type or the attribute information reflected by the benchmark bid value. Wherein the benchmark bid value for the schedulable resource may be determined by the resource provider or the resource providing device. For the relevant contents that the reference bidding value can reflect which attribute information of the schedulable unit and how to determine the reference bidding value of the schedulable unit, reference may be made to the foregoing embodiments, and details are not described herein again.
Further, in another alternative embodiment, the resource bid request of the first application includes, in addition to the first actual bid value: and the target resource identification is used for identifying the schedulable resource which needs to be applied by the first application program. Based on this, the step of determining that the first application can apply for the target schedulable resource includes: and the resource scheduling party or the resource scheduling equipment directly obtains the schedulable resource pointed by the target resource identifier as the target schedulable resource required to be applied by the first application program.
In an alternative embodiment, if the "bid higher than the target value" mechanism is adopted, the step 43a of determining whether the first application can apply for the target schedulable resource according to the first actual bid value and the actual bid values given by the other applications for applying for the resource includes: comparing the first actual bidding value with actual bidding values given by other application programs for applying for resources; if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the highest actual bid value, it is determined that the first application program fails to apply for the target schedulable resource.
In the above alternative embodiment, the "high price and high price" mechanism is taken as an example for description, but is not limited thereto. Mechanisms such as "low cost" and "closest average value" may also be employed. For the implementation of step 43a when the mechanisms such as "low price is obtained" and "closest average value is obtained" are adopted, reference is made to the foregoing embodiments, and details are not repeated here.
In an alternative embodiment, before comparing the first actual bid value with actual bid values given by other applications for the resource application, it may be determined whether the target schedulable resource is being occupied by a second application, where the second application is any application; if the target schedulable resource is being occupied by the second application, determining whether a protection period for the target schedulable resource occupied by the second application has ended; and if the protection period of the target schedulable resource occupied by the second application program is ended, comparing the first actual bidding value with the actual bidding values given by other application programs for applying for the resource. And if the protection period of the second application program occupying the target schedulable resource is not finished, determining that the first application program cannot apply for the target schedulable resource.
Further, if the target schedulable resource is not occupied by the second application, meaning that the target schedulable resource is in an idle state and not used by any application, the operation of comparing the first actual bid value with the actual bid values given by other applications for applying for the resource may be directly performed, and then the target schedulable resource may be allocated to the first application or some other application.
Further, under the condition that the target schedulable resource is occupied by the second application program and the first application program applies for the target schedulable resource, whether the first application program is the same as the second application program can be further judged; if the first application program is different from the second application program, sending a resource release notification to the second application program to notify the second application program to release the target schedulable resource; and receiving a new resource bidding request notified by the second application program according to the resource release, wherein the new resource bidding request represents a processing mode of the second application program on the target schedulable resource.
For the second application, the target schedulable resource may be released, and of course, if necessary, the target schedulable resource may be requested to continue to be occupied. That is, two processes may be performed for the target schedulable resource for the second application after receiving the resource release notification.
In any processing method, in this embodiment, for convenience of implementation, a processing method for the target schedulable resource is fed back by a method of returning a new resource bidding request to the resource scheduler or the resource scheduling device through the resource bidding mechanism. The new resource bid request may reflect the manner in which the second application processes the targeted schedulable resource. In this embodiment, the implementation manner of reflecting the processing manner of the target schedulable resource by the second application program through the new resource bidding request is not limited. For example, a new resource bid request may contain a treatment field, and different values of the field may indicate different treatments. For example, the field takes a value of 1, which indicates that the target schedulable resource is released; the field value is 0, indicating that the request continues to occupy the target schedulable resource. In addition, the new resource bidding request can also carry a new bidding value, and different bidding values represent different processing modes.
In an alternative embodiment, the resource release notification includes a first actual bid value that the first application successfully applies for use with the target schedulable resource. Accordingly, the resource application device or the resource demander can determine a new competitive value representing the processing mode of the resource application device or the resource demander on the target schedulable resource by taking the first actual competitive value as a reference. For example, where a "high priced outstanding" mechanism is employed, a new resource bid request includes: and a second actual bid value higher than the first actual bid value, the second actual bid value indicating that the second application program gives a higher bid value to request to continue to occupy the target schedulable resource. Alternatively, the new resource bid request includes: a third actual bid value, lower than the first actual bid value, indicating that the second application agrees to release the targeted schedulable resource. Alternatively, the third actual bid value may be 0, but is not limited thereto.
In this embodiment, before receiving the resource bidding request of the first application program in step 41a, the method further includes: receiving a benchmark competitive value of at least one schedulable resource reported by a resource providing device; and providing the benchmark competitive value of the at least one schedulable resource to each application program so that each application program can determine the actual competitive value when applying for the resource.
In an alternative embodiment, a benchmark bid value for at least one schedulable resource may be determined in conjunction with a power consumption cost for the at least one schedulable resource. That is, the base bid value for the at least one schedulable resource represents a power consumption cost for the at least one schedulable resource. For a description how to determine the reference bid value of at least one schedulable resource in combination with the power consumption cost of the schedulable resource, reference may be made to the description in the foregoing system embodiment or the following method embodiment, which is not described herein again.
Fig. 4b is a flowchart illustrating a resource application method according to an exemplary embodiment of the present application. As shown in fig. 4b, the method comprises:
and 41b, responding to the resource application requirement, and generating a resource bidding request which comprises a first actual bidding value given by the first application program for applying the resource.
And 42b, sending the resource bidding request to the resource scheduling device, so that the resource scheduling device can bid for the first application program and other application programs to apply for the target schedulable resource according to the first actual bidding value.
And 43b, receiving the application result of the first application program to the target schedulable resource, which is returned by the resource scheduling device.
The method of the embodiment is mainly described from the perspective of a resource demander or a resource application device, and mainly describes how to generate a resource bidding request for a first application program, and apply for schedulable resources to a resource scheduler or a resource scheduling device for the first application program based on the resource bidding request.
In an alternative embodiment, generating a resource bid request in response to a resource application requirement includes: responding to the resource application requirement, and analyzing the requirement urgency degree of the first application program to the resource; and determining a first actual competitive value according to the demand urgency of the first application program on the resource.
Further optionally, determining the first actual bid value according to the urgency of the first application program for the resource includes: determining a target resource type required to be applied by a first application program according to a resource application requirement; and determining a first actual competitive value according to the urgency of the first application program to the resources and the reference competitive value of each schedulable resource under the target resource type.
Further, before determining the first actual bid value, a base bid value of at least one schedulable resource provided by the resource scheduling device may be received, and a data basis may be provided for determining the first actual bid value in combination with the base bid values of the schedulable resources for the target resource type. Wherein the at least one schedulable resource belongs to at least one resource type, the at least one resource type includes a target resource type.
In an alternative embodiment, a benchmark bid value for at least one schedulable resource may be determined in conjunction with a power consumption cost for the at least one schedulable resource. That is, the base bid value for the at least one schedulable resource represents a power consumption cost for the at least one schedulable resource.
In an alternative embodiment, in the case that the application result indicates that the first application applies for the target schedulable resource, it means that there may be a case that the target schedulable resource needs to be released. Then, under the condition that the target schedulable resource is determined to be released, whether the condition that the first application program continues to occupy the target schedulable resource is met or not can be judged; if the condition that the first application program continues to occupy the target schedulable resource is met, determining a second actual competitive value given by the first application program for continuing to occupy the target schedulable resource; and sending a new resource bidding request to the resource scheduling equipment according to the second actual bidding value so as to request to continuously occupy the target schedulable resource. This avoids unnecessary overhead caused by releasing resources.
Judging whether the condition that the first application program continues to occupy the target schedulable resource is met or not, wherein the judging operation comprises at least one of the following judging operations:
judging whether the migration cost for migrating the first application program from the target schedulable resource to other resources is greater than a set cost threshold value;
judging whether the first application program needs to continuously use the resource under the resource type of the target schedulable resource within a certain time in the future;
and if the judgment result of the at least one judgment operation is yes, determining that the condition that the first application program continues to occupy the target schedulable resource is met.
Further, before determining whether the migration cost for migrating the first application from the target schedulable resource to the other resource is greater than the set cost threshold, the method further includes an operation of predicting the migration cost for migrating the first application from the target schedulable resource to the other resource.
Wherein predicting the migration cost of the first application from the target schedulable resource to the other resource includes, but is not limited to, at least one of the following:
predicting the residual running time of the instance deployed on the target schedulable resource by the first application as the migration cost;
predicting migration time required for migrating the instance deployed on the target schedulable resource and the data of the first application program to other resources as migration cost;
and predicting the probability that the instance and the data deployed on the target schedulable resource by the first application program reapply to other schedulable resources as the migration cost.
Further, determining a second actual bid value given by the first application for continuing to occupy the target schedulable resource includes: acquiring a reference bidding value, wherein the reference bidding value represents the resource value of the target schedulable resource in a specified time period; and determining a bidding value larger than the reference bidding value as a second actual bidding value according to the reference bidding value.
In an alternative embodiment, obtaining the reference bid value comprises: requesting the resource scheduling equipment for actual competitive value given by each application program applying for the target schedulable resource in a specified time period; and taking the maximum competitive value in the actual competitive values given by each application program applying for the target schedulable resource in the specified time period as the reference competitive value.
In another alternative embodiment, obtaining a reference bid value comprises: receiving a resource release notice sent by the resource scheduling equipment when the third application program applies for the target schedulable resource; the third application is different from the first application; and analyzing the actual competitive value given by the third application program for the application resource from the resource release notice to serve as the reference competitive value.
The method for determining that the target schedulable resource needs to be released includes at least one of the following modes:
if a resource release notice sent by resource scheduling equipment is received, determining that target schedulable resources need to be released;
if the first application program finishes the use of the target schedulable resource, determining that the target schedulable resource needs to be released;
and the resource release notification is sent by the resource scheduling equipment under the condition that a third application program applies for the target schedulable resource, wherein the third application program is different from the first application program.
Further, if the condition that the first application program continues to occupy the target schedulable resource is not met, determining a third actual competitive value given by the first application program for releasing the target schedulable resource; and sending a new resource bidding request to the resource scheduling device according to the third actual bidding value so as to request to release the target schedulable resource. Wherein the third actual bid value may be obtained in a similar manner as the second actual bid value. In addition, the third actual bid value may also be a preset value, for example, a preset minimum bid value, where the minimum bid value indicates that the corresponding application releases the target schedulable resource and does not participate in the bidding process of the corresponding resource any more. Alternatively, the minimum bid value may be flexibly set according to application requirements, and may be 0, or 1, 5, 10, or 100, for example. In particular, the "competitive value" in the embodiment of the present application is a dimensionless value.
Fig. 4c is a flowchart illustrating a resource pricing method according to an exemplary embodiment of the present application. As shown in fig. 4c, the method comprises:
41c, obtaining the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends.
And 42c, predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure depended by the target schedulable resource.
And 43c, determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
In an alternative embodiment, predicting the power consumption cost of the target schedulable resource based on the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends includes: acquiring the number of schedulable resources currently being served by the infrastructure and the topological relation between the infrastructure and each schedulable resource currently being served by the infrastructure; calculating the power consumption contribution ratio of the infrastructure to the target schedulable resource according to the quantity and the topological relation; and predicting the power consumption cost of the target schedulable resource according to the power consumption contribution ratio, the current power consumption data of the target schedulable resource and the infrastructure.
In this embodiment, the power consumption cost of schedulable resources is combined with resource scheduling based on a resource bidding mechanism, so that resources with lower power consumption cost can be scheduled preferentially, the probability of occurrence of local hot spots can be reduced, and the overall power consumption of the system can be reduced.
It should be noted that, in the embodiments of the present application, if a "bid-high bid" mechanism is adopted, the bid value of the target schedulable resource will be higher and higher. If higher and higher bid values are not desired, a mechanism may be employed in which the actual bid value of the deal is the second bid value, rather than the bid value of the winning bid. That is, if the first actual bid value is the highest bid value, the first application successfully bids on the target schedulable resource, but when the resource is deducted from the account corresponding to the first application, the resource amount represented by the first actual bid value is deducted not directly, but the resource amount represented by the actual bid value ranked from high to low and ranked at the second position is deducted, so that the bid value of the target schedulable resource can be prevented from being higher and higher.
Similarly, if a "low price and high price" mechanism is adopted, the bid value of the target schedulable resource will be lower and lower. If it is not desired that the bid value gets lower, a mechanism may be employed in which the actual bid value of the deal is the second bid value, rather than the bid value of the winning bid. That is, if the first actual bid value is the lowest bid value, the first application program successfully bids to the target schedulable resource, but when the resource is deducted from the account corresponding to the first application program, the resource amount represented by the actual bid value ranked from low to high and then ranked at the second position is deducted instead of directly deducting the resource amount represented by the first actual bid value, so that the bid value of the target schedulable resource can be prevented from being lower and lower.
It should be noted that the execution subjects of the steps of the methods provided in the above embodiments may be the same device, or different devices may be used as the execution subjects of the methods. For example, the execution subjects of steps 41a to 44a may be device a; for another example, the execution subject of steps 41a and 42a may be device a, and the execution subject of steps 43a and 44a may be device B; and so on.
In addition, in some of the flows described in the above embodiments and the drawings, a plurality of operations are included in a specific order, but it should be clearly understood that the operations may be executed out of the order presented herein or in parallel, and the sequence numbers of the operations, such as 41a, 42a, etc., are merely used for distinguishing various operations, and the sequence numbers themselves do not represent any execution order. Additionally, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor limit the types of "first" and "second" to be different.
Fig. 5a is a schematic structural diagram of a resource scheduling apparatus according to an exemplary embodiment of the present application. As shown in fig. 5a, the resource scheduling apparatus includes: a memory 51a and a processor 52 a.
The memory 51a is used for storing computer programs and can be configured to store other various data to support operations on the resource scheduling device. Examples of such data include instructions for any application or method operating on the resource scheduling device, contact data, phonebook data, messages, pictures, videos, and the like.
A processor 52a, coupled to the memory 51a, for executing a computer program for:
receiving a resource bidding request of a first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for resources;
determining other application programs capable of scheduling resources with a bidding application target of the first application program and actual bidding values given by the other application programs for applying the resources;
determining whether the first application program can apply for the target schedulable resource according to the first actual bidding value and the actual bidding values given by other application programs for applying for the resource;
and returning the application result of the first application program to the target schedulable resource to the first application program.
In an alternative embodiment, the processor 52a, when determining other applications that bid on the schedulable resource with the first application for the target application, is specifically configured to: determining a target schedulable resource required to be applied by a first application program, and adding the first application program into a bidding pool of the target schedulable resource; and determining other application programs which are added into the bidding pool of the target schedulable resource within the preset effective time, wherein the other application programs are the application programs which have bidding relations with the first application program.
Further, in an alternative embodiment, the resource bid request of the first application includes, in addition to the first actual bid value: the first application needs the target resource type of the application. Based on this, when determining that the first application needs to apply for the target schedulable resource, the processor 52a is specifically configured to: and from the schedulable resources under the target resource type, the target schedulable resource which needs to be applied by the first application program is specified for the first application program. Optionally, in the specifying process, the processor 52a may specify, for the first application, the target schedulable resource to be applied according to the benchmark bid value of each schedulable resource under the target resource type or the attribute information reflected by the benchmark bid value. Wherein the benchmark bid value for the schedulable resource may be determined by the resource provider or the resource providing device. For the relevant contents that the reference bidding value can reflect which attribute information of the schedulable unit and how to determine the reference bidding value of the schedulable unit, reference may be made to the foregoing embodiments, and details are not described herein again.
Further, in another alternative embodiment, the resource bid request of the first application includes, in addition to the first actual bid value: and the target resource identification is used for identifying the schedulable resource which needs to be applied by the first application program. Based on this, when determining that the first application can apply for the target schedulable resource, the processor 52a is specifically configured to: and the resource scheduling party or the resource scheduling equipment directly obtains the schedulable resource pointed by the target resource identifier as the target schedulable resource required to be applied by the first application program.
In an alternative embodiment, using the "high-priced must" mechanism, the processor 52a, when determining whether the first application can apply for the target schedulable resource, is specifically configured to: comparing the first actual bidding value with actual bidding values given by other application programs for applying for resources; if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource; if the first actual bid value is not the highest actual bid value, it is determined that the first application program fails to apply for the target schedulable resource.
In the above alternative embodiment, the "high price and high price" mechanism is taken as an example for description, but is not limited thereto. Mechanisms such as "low cost" and "closest average value" may also be employed. For the implementation of the processor 52a determining whether the first application can apply for the target schedulable resource when the mechanisms of "low cost best", "closest average value best", etc. are adopted, reference may be made to the foregoing embodiments, and details are not repeated herein.
In an alternative embodiment, processor 52a is further configured to: before comparing the first actual bid value with actual bid values given by other application programs for applying for resources, whether the target schedulable resource is occupied by a second application program can be judged, wherein the second application program is any application program; if the target schedulable resource is being occupied by the second application, determining whether a protection period for the target schedulable resource occupied by the second application has ended; and if the protection period of the target schedulable resource occupied by the second application program is ended, comparing the first actual bidding value with the actual bidding values given by other application programs for applying for the resource. And if the protection period of the second application program occupying the target schedulable resource is not finished, determining that the first application program cannot apply for the target schedulable resource.
Further, the processor 52a is further configured to: if the target schedulable resource is not occupied by the second application program, meaning that the target schedulable resource is in an idle state and is not used by any application program, the operation of comparing the first actual bid value with the actual bid values given by other application programs for applying for the resource can be directly executed, and then the target schedulable resource can be allocated to the first application program or some other application program.
Further, in the case that the target schedulable resource is occupied by the second application and it is determined that the first application applies for the target schedulable resource, the processor 52a is further configured to: judging whether the first application program is the same as the second application program; if the first application program is different from the second application program, sending a resource release notification to the second application program to notify the second application program to release the target schedulable resource; and receiving a new resource bidding request notified by the second application program according to the resource release, wherein the new resource bidding request represents a processing mode of the second application program on the target schedulable resource.
In an alternative embodiment, the resource release notification includes a first actual bid value that the first application successfully applies for use with the target schedulable resource. Accordingly, the resource application device or the resource demander can determine a new bid value representing the processing mode of the resource application device or the resource demander on the target schedulable resource by taking the first actual bid value as a reference. For example, where a "high priced outstanding" mechanism is employed, a new resource bid request includes: and a second actual bid value higher than the first actual bid value, the second actual bid value indicating that the second application program gives a higher bid value to request to continue to occupy the target schedulable resource. Alternatively, the new resource bid request includes: a third actual bid value, lower than the first actual bid value, indicating that the second application agrees to release the targeted schedulable resource. Alternatively, the third actual bid value may be 0, but is not limited thereto.
In this embodiment, the processor 52a is further configured to: receiving a benchmark competitive value of at least one schedulable resource reported by a resource providing device; and providing the benchmark competitive value of the at least one schedulable resource to each application program so that each application program can determine the actual competitive value when applying for the resource.
In an alternative embodiment, a benchmark bid value for at least one schedulable resource may be determined in conjunction with a power consumption cost for the at least one schedulable resource. That is, the base bid value for the at least one schedulable resource represents a power consumption cost for the at least one schedulable resource. For a description how to determine the reference bid value of at least one schedulable resource in combination with the power consumption cost of the schedulable resource, reference may be made to the description in the foregoing system embodiment or the following method embodiment, which is not described herein again.
Further, as shown in fig. 5a, the resource scheduling apparatus further includes: communication component 53a, display 54a, power component 55a, audio component 56a, and the like. Only some of the components are schematically shown in fig. 5a, and it is not meant that the resource scheduling apparatus comprises only the components shown in fig. 5 a. In addition, the components within the dashed box in fig. 5a are optional components, but not required components, and may be determined according to the product form of the resource scheduling apparatus. The resource scheduling device of this embodiment may be implemented as a terminal device such as a desktop computer, a notebook computer, or a smart phone, or may be a server device such as a conventional server, a cloud server, or a server array. If the resource scheduling device of this embodiment is implemented as a terminal device such as a desktop computer, a notebook computer, a smart phone, etc., the resource scheduling device may include components within a dashed line frame in fig. 5 a; if the resource scheduling device of this embodiment is implemented as a server device such as a conventional server, a cloud server, or a server array, the components in the dashed box in fig. 5a may not be included.
Accordingly, the present application further provides a computer readable storage medium storing a computer program, where the computer program is capable of implementing the steps that can be executed by the resource scheduling apparatus in the foregoing method embodiments when executed.
Fig. 5b is a schematic structural diagram of a resource application device according to an exemplary embodiment of the present application. As shown in fig. 5b, the resource application apparatus includes: memory 51b, processor 52b and communication component 53 b.
The memory 51b is used for storing computer programs and may be configured to store other various data to support operations on the resource application device. Examples of such data include instructions for any application or method operating on the resource application device, contact data, phonebook data, messages, pictures, videos, and the like.
A processor 52b, coupled to the memory 51b, for executing a computer program for:
responding to the resource application requirement, and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying for the resource;
sending the resource bidding request to the resource scheduling equipment through the communication assembly, so that the resource scheduling equipment can bid for the first application program and other application programs according to the first actual bidding value to apply for the target schedulable resource;
and receiving the application result of the first application program to the target schedulable resource, returned by the resource scheduling device, through the communication component.
In an alternative embodiment, processor 52b, in generating the resource bid request, is specifically configured to: responding to the resource application requirement, and analyzing the requirement urgency degree of the first application program to the resource; and determining a first actual competitive value according to the demand urgency of the first application program on the resource.
Further optionally, the processor 52b, when determining the first actual bid value, is specifically configured to: determining a target resource type required to be applied by a first application program according to a resource application requirement; and determining a first actual competitive value according to the urgency of the first application program to the resources and the reference competitive value of each schedulable resource under the target resource type.
Further, the processor 52b is further configured to: the reference bid value for at least one schedulable resource provided by the resource scheduling device is received prior to determining the first actual bid value, which may provide a data basis for determining the first actual bid value in combination with the reference bid values for the schedulable resources for the target resource type. Wherein the at least one schedulable resource belongs to at least one resource type, the at least one resource type includes a target resource type.
In an alternative embodiment, a benchmark bid value for at least one schedulable resource may be determined in conjunction with a power consumption cost for the at least one schedulable resource. That is, the base bid value for the at least one schedulable resource represents a power consumption cost for the at least one schedulable resource.
In an alternative embodiment, in the case that the application result indicates that the first application applies for the target schedulable resource, it means that there may be a case that the target schedulable resource needs to be released. Then, the processor 52b is further configured to: under the condition that the target schedulable resource is determined to be released, whether the condition that the first application program continues to occupy the target schedulable resource is met or not can be judged; if the condition that the first application program continues to occupy the target schedulable resource is met, determining a second actual competitive value given by the first application program for continuing to occupy the target schedulable resource; and sending a new resource bidding request to the resource scheduling equipment according to the second actual bidding value so as to request to continuously occupy the target schedulable resource. This avoids unnecessary overhead caused by releasing resources.
When determining whether the condition that the first application continues to occupy the target schedulable resource is satisfied, the processor 52b is specifically configured to perform at least one of the following determination operations:
judging whether the migration cost for migrating the first application program from the target schedulable resource to other resources is greater than a set cost threshold value;
judging whether the first application program needs to continuously use the resource under the resource type of the target schedulable resource within a certain time in the future;
and if the judgment result of at least one judgment operation is yes, determining that the condition that the first application program continues to occupy the target schedulable resource is met.
Further, the processor 52b is further configured to predict a migration cost for migrating the first application from the target schedulable resource to the other resource before determining whether the migration cost for migrating the first application from the target schedulable resource to the other resource is greater than the set cost threshold.
Wherein, the processor 52b is specifically configured to perform, but not limited to, at least one of the following prediction operations when predicting the migration cost for migrating the first application from the target schedulable resource to the other resource:
predicting the residual running time of the instance deployed on the target schedulable resource by the first application as the migration cost;
predicting migration time required for migrating the instance deployed on the target schedulable resource and the data of the first application program to other resources as migration cost;
and predicting the probability that the instance and the data deployed on the target schedulable resource by the first application program reapply to other schedulable resources as the migration cost.
Further, when determining that the first application program provides the second actual bid value for continuing to occupy the target schedulable resource, the processor 52b is specifically configured to: acquiring a reference bidding value, wherein the reference bidding value represents the resource value of the target schedulable resource in a specified time period; and determining a bidding value larger than the reference bidding value as a second actual bidding value according to the reference bidding value.
In an alternative embodiment, the processor 52b, when obtaining the reference bid value, is specifically configured to: requesting the resource scheduling equipment for actual competitive value given by each application program applying for the target schedulable resource in a specified time period; and taking the maximum competitive value in the actual competitive values given by each application program applying for the target schedulable resource in the specified time period as the reference competitive value.
In another alternative embodiment, the processor 52b, when obtaining the reference bid value, is specifically configured to: receiving a resource release notification sent by the resource scheduling equipment when the third application program applies for the target schedulable resource; the third application is different from the first application; and analyzing the actual competitive value given by the third application program for the application resource from the resource release notice to serve as the reference competitive value.
When determining that the target schedulable resource needs to be released, the processor 52b may specifically adopt at least one of the following manners:
if a resource release notice sent by resource scheduling equipment is received, determining that target schedulable resources need to be released;
if the first application program finishes the use of the target schedulable resource, determining that the target schedulable resource needs to be released;
and the resource release notification is sent by the resource scheduling equipment under the condition that a third application program applies for the target schedulable resource, wherein the third application program is different from the first application program.
Further, the processor 52b is further configured to: under the condition that the first application program continues to occupy the target schedulable resource is not met, determining a third actual competitive value given by the first application program for releasing the target schedulable resource; and sending a new resource bidding request to the resource scheduling device according to the third actual bidding value so as to request to release the target schedulable resource. Wherein the third actual bid value may be obtained in a similar manner as the second actual bid value. In addition, the third actual bid value may also be a preset value, for example, a preset minimum bid value, where the minimum bid value indicates that the corresponding application releases the target schedulable resource and does not participate in the bidding process of the corresponding resource any more. Alternatively, the minimum bid value may be flexibly set according to application requirements, and may be 0, or 1, 5, 10, or 100, for example. In particular, the "competitive value" in the embodiment of the present application is a dimensionless value.
Further, as shown in fig. 5b, the resource application apparatus further includes: display 54b, power supply components 55b, audio components 56b, and the like. Only some of the components are schematically shown in fig. 5b, and it is not meant that the resource application apparatus includes only the components shown in fig. 5 b. In addition, the components within the dashed line frame in fig. 5b are optional components, not necessary components, and may be determined according to the product form of the resource application device. The resource application device of this embodiment may be implemented as a terminal device such as a desktop computer, a notebook computer, or a smart phone, or may be a server device such as a conventional server, a cloud server, or a server array. If the resource application device of this embodiment is implemented as a terminal device such as a desktop computer, a notebook computer, a smart phone, etc., the resource application device may include components within a dashed line frame in fig. 5 b; if the resource application device of this embodiment is implemented as a server device such as a conventional server, a cloud server, or a server array, the components in the dashed box in fig. 5b may not be included.
Accordingly, the present application further provides a computer-readable storage medium storing a computer program, where the computer program can implement the steps that can be executed by the resource application device in the foregoing method embodiments when executed.
Fig. 5c is a schematic structural diagram of a resource providing device according to an exemplary embodiment of the present application. As shown in fig. 5c, the resource providing apparatus includes: a memory 51c, a processor 52c and a communication component 53 c.
The memory 51c is used for storing computer programs and may be configured to store other various data to support operations on the resource providing device. Examples of such data include instructions for any application or method operating on the resource providing device, contact data, phonebook data, messages, pictures, videos, and the like.
A processor 52c coupled to the memory 51c for executing a computer program for: acquiring current power consumption data of a target schedulable resource and an infrastructure on which the target schedulable resource depends; predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends; and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
In an optional embodiment, when predicting the power consumption cost of the target schedulable resource, the processor 52c is specifically configured to: acquiring the number of schedulable resources currently being served by the infrastructure and the topological relation between the infrastructure and each schedulable resource currently being served by the infrastructure; calculating the power consumption contribution ratio of the infrastructure to the target schedulable resource according to the quantity and the topological relation; and predicting the power consumption cost of the target schedulable resource according to the power consumption contribution ratio, the current power consumption data of the target schedulable resource and the infrastructure.
Further, as shown in fig. 5c, the resource providing apparatus further includes: display 54c, power supply components 55c, audio components 56c, and the like. Only some of the components are schematically shown in fig. 5c, and it is not meant that the resource providing apparatus includes only the components shown in fig. 5 c. In addition, the components within the dashed box in fig. 5c are optional components, not necessary components, and may be determined according to the product form of the resource providing device. The resource providing device of this embodiment may be implemented as a terminal device such as a desktop computer, a notebook computer, or a smart phone, or may be a server device such as a conventional server, a cloud server, or a server array. If the resource providing device of this embodiment is implemented as a terminal device such as a desktop computer, a notebook computer, a smart phone, etc., the resource providing device may include components within a dashed line frame in fig. 5 c; if the resource providing device of this embodiment is implemented as a server device such as a conventional server, a cloud server, or a server array, the components in the dashed box in fig. 5c may not be included.
Accordingly, the present application further provides a computer-readable storage medium storing a computer program, where the computer program is capable of implementing the steps that can be executed by the resource providing device in the foregoing method embodiments when executed.
The memories of fig. 5 a-5 c may be implemented by any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The communication components of fig. 5 a-5 c described above are configured to facilitate communication between the device in which the communication component is located and other devices in a wired or wireless manner. The device in which the communication component is located may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component may further include a Near Field Communication (NFC) module, Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and the like.
The displays in fig. 5 a-5 c described above include screens, which may include Liquid Crystal Displays (LCDs) and Touch Panels (TPs). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
The power supply components of fig. 5 a-5 c described above provide power to the various components of the device in which the power supply components are located. The power components may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device in which the power component is located.
The audio components of fig. 5 a-5 c described above may be configured to output and/or input audio signals. For example, the audio component includes a Microphone (MIC) configured to receive an external audio signal when the device in which the audio component is located is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may further be stored in a memory or transmitted via a communication component. In some embodiments, the audio assembly further comprises a speaker for outputting audio signals.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (36)

  1. A method for scheduling resources, comprising:
    receiving a resource bidding request of a first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for resources;
    determining other application programs capable of bidding for the resource to be applied by the first application program and the actual bidding value given by the other application programs for the resource to be applied;
    determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource;
    and returning the application result of the first application program to the target schedulable resource to the first application program.
  2. The method of claim 1, wherein determining other applications that bid on a target schedulable resource for the application with the first application comprises:
    determining a target schedulable resource required to be applied by the first application program, and adding the first application program into a bidding pool of the target schedulable resource;
    determining other applications that are added to the bid pool for the target schedulable resource within a preset validity time.
  3. The method of claim 2, wherein the resource bid request further comprises: the target resource type required to be applied by the first application program; then, determining a target schedulable resource that the first application program needs to apply for includes:
    and appointing the target schedulable resource which needs to be applied for the first application program from the schedulable resources under the target resource type.
  4. The method of claim 2, wherein the resource bid request further comprises: identifying a target resource; then, determining a target schedulable resource that the first application program needs to apply for includes:
    and taking the schedulable resource pointed by the target resource identification as the target schedulable resource required to be applied by the first application program.
  5. The method of claim 1, wherein determining whether the first application can apply for the target schedulable resource based on the first actual bid value and actual bid values given by other applications for applying for resources comprises:
    comparing the first actual competitive value with the actual competitive values given by the other application programs for applying resources;
    if the first actual competitive value is the highest actual competitive value, determining that the first application program applies for the target schedulable resource;
    if the first actual bid value is not the highest actual bid value, determining that the first application fails to apply for the targeted schedulable resource.
  6. The method of claim 5, further comprising, prior to comparing the first actual bid value to actual bid values given by the other applications for the application resource:
    determining whether the target schedulable resource is being occupied by a second application, the second application being any application;
    if the target schedulable resource is being occupied by the second application, determining whether a protection period for the second application to occupy the target schedulable resource has ended;
    and if the protection period of the second application program occupying the target schedulable resource is finished, executing the operation of comparing the first actual competitive value with the actual competitive value given by the other application programs for applying for the resource.
  7. The method of claim 6, further comprising:
    if the target schedulable resource is not occupied by a second application program, directly executing the operation of comparing the first actual bidding value with the actual bidding values given by the other application programs for applying the resource;
    and if the protection period of the second application program occupying the target schedulable resource is not finished, determining that the first application program fails to apply for the target schedulable resource.
  8. The method of claim 6, wherein in the event that it is determined that the first application applies for the target schedulable resource, the method further comprises:
    judging whether the first application program is the same as the second application program;
    if the first application program is different from the second application program, sending a resource release notification aiming at the second application program to notify the second application program to release the target schedulable resource; and
    and receiving a new resource bidding request of the second application program, wherein the new resource bidding request represents a processing mode of the second application program on the target schedulable resource.
  9. The method of claim 8, wherein the resource release notification includes the first actual bid value;
    the new resource bid request comprises a second actual bid value that is higher than the first actual bid value, the second actual bid value indicating that the second application request continues to occupy the targeted schedulable resource; alternatively, the new resource bid request includes a third actual bid value that is lower than the first actual bid value, the third actual bid value indicating that the second application agrees to release the targeted schedulable resource.
  10. The method of any of claims 1-9, further comprising, prior to receiving the resource bid request of the first application:
    receiving a benchmark competitive value of at least one schedulable resource reported by a resource providing device;
    and providing the benchmark competitive value of the at least one schedulable resource for each application program so that each application program can determine the actual competitive value when applying for the resource.
  11. The method of claim 10, wherein the base bid value for the at least one schedulable resource represents a power consumption cost for the at least one schedulable resource.
  12. A method for resource application, comprising:
    responding to resource application requirements, and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources;
    sending the resource bidding request to resource scheduling equipment, so that the resource scheduling equipment can bid for the first application program and other application programs according to the first actual bidding value to apply for the target schedulable resource;
    and receiving the application result of the first application program to the target schedulable resource, which is returned by the resource scheduling device.
  13. The method of claim 12, wherein generating a resource bid request in response to a resource application requirement comprises:
    responding to the resource application requirement, and analyzing the requirement urgency degree of the first application program to the resource;
    determining the first actual competitive value according to the requirement urgency degree of the first application program on resources;
    and generating the resource bidding request according to the first actual bidding value.
  14. The method of claim 13, wherein determining the first actual bid value based on the first application's urgency for resources comprises:
    determining a target resource type required to be applied by the first application program according to a resource application requirement;
    and determining the first actual competitive value by combining the reference competitive value of each schedulable resource under the target resource type according to the forcing degree of the first application program to the resource.
  15. The method of claim 14, further comprising, prior to determining the first actual bid value:
    receiving a benchmark bid value of at least one schedulable resource provided by the resource scheduling device; the at least one schedulable resource belongs to at least one resource type, the at least one resource type including the target resource type.
  16. The method according to any of claims 12-15, wherein in case that the application result indicates that the first application applies to the target schedulable resource, the method further comprises:
    under the condition that the target schedulable resource is determined to be required to be released, judging whether the condition that the first application program continues to occupy the target schedulable resource is met;
    if the condition that the first application program continues to occupy the target schedulable resource is met, determining a second actual competitive value given by the first application program for continuing to occupy the target schedulable resource;
    and sending a new resource bidding request to the resource scheduling equipment according to the second actual bidding value so as to request to continuously occupy the target schedulable resource.
  17. The method of claim 16, wherein determining whether the condition that the first application continues to occupy the target schedulable resource is satisfied comprises at least one of:
    judging whether the migration cost for migrating the first application program from the target schedulable resource to other resources is greater than a set cost threshold value;
    judging whether the first application program needs to continuously use the resource under the resource type of the target schedulable resource within a certain time in the future;
    and if the judgment result of the at least one judgment operation is yes, determining that the condition that the first application program continues to occupy the target schedulable resource is met.
  18. The method of claim 17, further comprising at least one of the following prediction operations prior to determining whether a migration cost for migrating the first application from the target schedulable resource to another resource is greater than a set cost threshold:
    predicting a remaining runtime of an instance of the first application deployed on the target schedulable resource as the migration cost;
    predicting migration time required for migrating the instance and data deployed by the first application program on the target schedulable resource to other resources as the migration cost;
    predicting a probability that instances and data deployed by the first application on the target schedulable resource reappear to other schedulable resources as the migration cost.
  19. The method of claim 16, wherein determining a second actual bid value that the first application offers for continuing to seize the target schedulable resource comprises:
    obtaining a reference bid value, wherein the reference bid value represents the resource value of the target schedulable resource in a specified time period;
    and determining the bidding value larger than the reference bidding value as the second actual bidding value according to the reference bidding value.
  20. The method of claim 19, wherein obtaining a reference bid value comprises:
    requesting the resource scheduling equipment for actual competitive value given by each application program applying for the target schedulable resource in a specified time period;
    and taking the maximum competitive value in the actual competitive values given by each application program applying for the target schedulable resource in a specified time period as the reference competitive value.
  21. The method of claim 19, wherein obtaining a reference bid value comprises:
    receiving a resource release notification sent by the resource scheduling device when a third application program applies for the target schedulable resource; the third application is different from the first application;
    and analyzing the actual competitive value given by the third application program for the application resource from the resource release notice to serve as the reference competitive value.
  22. The method of claim 16, wherein determining that the target schedulable resource needs to be released comprises at least one of:
    if a resource release notification sent by the resource scheduling equipment is received, determining that the target schedulable resource needs to be released;
    if the first application program finishes the use of the target schedulable resource this time, determining that the target schedulable resource needs to be released;
    wherein the resource release notification is sent by the resource scheduling device when a third application applies for the target schedulable resource, the third application being different from the first application.
  23. The method of claim 16, further comprising:
    if the condition that the first application program continues to occupy the target schedulable resource is not met, determining a third actual competitive value given by the first application program for releasing the target schedulable resource;
    and sending a new resource bidding request to the resource scheduling equipment according to the third actual bidding value so as to request to release the target schedulable resource.
  24. The method of claim 23, wherein the third actual bid value is a predetermined minimum bid value.
  25. A method of pricing resources, comprising:
    acquiring current power consumption data of a target schedulable resource and an infrastructure on which the target schedulable resource depends;
    predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends;
    and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
  26. The method of claim 25, wherein predicting the power consumption cost of the target schedulable resource based on current power consumption data of the target schedulable resource and of an infrastructure on which the target schedulable resource depends comprises:
    acquiring the number of schedulable resources currently being served by the infrastructure and a topological relation between the infrastructure and each schedulable resource currently being served by the infrastructure;
    calculating the power consumption contribution ratio of the infrastructure to the target schedulable resource according to the quantity and the topological relation;
    and predicting the power consumption cost of the target schedulable resource according to the power consumption contribution ratio, the current power consumption data of the target schedulable resource and the infrastructure.
  27. The method of claim 25 or 26, after determining the benchmark bid value of the target schedulable resource in the resource market, further comprising:
    and providing the benchmark bid value of the target schedulable resource to a resource scheduling device, so that the resource scheduling device provides the benchmark bid value of the target schedulable resource to each application program with resource requirements.
  28. The method of claim 27, wherein providing the benchmark bid value for the target schedulable resource to a resource scheduling device comprises:
    sending a resource bidding request to a resource scheduling device, wherein the resource bidding request comprises the benchmark bidding value of the target schedulable resource, so as to provide the benchmark bidding value of the target schedulable resource to the resource scheduling device.
  29. A resource scheduling apparatus, comprising: a memory and a processor;
    the memory for storing a computer program;
    the processor, coupled with the memory, to execute the computer program to:
    receiving a resource bidding request of a first application program, wherein the resource bidding request comprises a first actual bidding value given by the first application program for applying for resources;
    determining other application programs capable of bidding for the resource to be applied by the first application program and the actual bidding value given by the other application programs for the resource to be applied;
    determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource;
    and returning the application result of the first application program to the target schedulable resource to the first application program.
  30. A resource application apparatus, comprising: a memory, a processor, and a communication component;
    the memory for storing a computer program;
    the processor, coupled with the memory, to execute the computer program to:
    responding to resource application requirements, and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources;
    sending the resource bidding request to a resource scheduling device through the communication component, so that the resource scheduling device can schedule resources for bidding applications of the first application program and other application programs according to the first actual bidding value;
    and receiving the application result of the first application program to the target schedulable resource, returned by the resource scheduling device, through the communication component.
  31. A resource providing apparatus, comprising: a memory and a processor;
    the memory for storing a computer program;
    the processor, coupled with the memory, to execute the computer program to:
    acquiring current power consumption data of a target schedulable resource and an infrastructure on which the target schedulable resource depends;
    predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends;
    and determining the benchmark competitive value of the target schedulable resource in the resource market according to the power consumption cost of the target schedulable resource.
  32. A resource management system, comprising: a resource scheduling party and a resource demanding party;
    the resource demander is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource dispatcher, and receiving a request result of the first application program for the target schedulable resource, which is returned by the resource dispatcher;
    the resource scheduler is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; and returning the application result of the first application program to the target schedulable resource to the resource demand side.
  33. The system of claim 32, further comprising: a resource provider;
    the resource provider is used for predicting the power consumption cost of the target schedulable resource according to the current power consumption data of the target schedulable resource and the infrastructure on which the target schedulable resource depends; determining a benchmark bidding value of the target schedulable resource according to the power consumption cost of the target schedulable resource, and providing the benchmark bidding value of the target schedulable resource to the resource demander through the resource scheduler;
    the resource demander is specifically configured to: and when the resource is applied, determining the first actual competitive value according to the benchmark competitive value of the target schedulable resource.
  34. A machine room system, comprising: at least one schedulable resource, at least one infrastructure, a resource application device, and a resource scheduling device; the at least one infrastructure providing basic services for the at least one schedulable resource;
    the resource application equipment is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource scheduling equipment, and receiving an application result of the first application program to a target schedulable resource, which is returned by the resource scheduling equipment;
    the resource scheduling device is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; returning the application result of the first application program to the target schedulable resource to the resource application device; the target schedulable resource belongs to the at least one schedulable resource.
  35. A data center system, comprising: the system comprises at least one machine room, resource application equipment and resource scheduling equipment; each machine room comprises at least one schedulable resource and at least one infrastructure that provides basic services for the at least one schedulable resource;
    the resource application equipment is used for responding to resource application requirements and generating a resource bidding request, wherein the resource bidding request comprises a first actual bidding value given by a first application program for applying resources; sending the resource bidding request to the resource scheduling equipment, and receiving an application result of the first application program to a target schedulable resource, which is returned by the resource scheduling equipment;
    the resource scheduling device is used for receiving the resource bidding request, and determining other application programs capable of bidding for the resource to be scheduled by the first application program and actual bidding values given by the other application programs for applying for the resource; determining whether the first application program can apply for the target schedulable resource according to the first actual competitive value and the actual competitive value given by the other application programs for applying for the resource; returning the application result of the first application program to the target schedulable resource to the resource application device; the target schedulable resource belongs to a schedulable resource in the at least one machine room.
  36. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, causes the processor to carry out the steps of the method according to any one of claims 1 to 28.
CN201980097832.0A 2019-09-11 2019-09-11 Resource scheduling, application and pricing method, equipment, system and storage medium Active CN114072767B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/105458 WO2021046777A1 (en) 2019-09-11 2019-09-11 Resource scheduling method, device, and system, resource application method, device, and system, resource pricing method, device, and system, and storage medium

Publications (2)

Publication Number Publication Date
CN114072767A true CN114072767A (en) 2022-02-18
CN114072767B CN114072767B (en) 2024-02-27

Family

ID=74866845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980097832.0A Active CN114072767B (en) 2019-09-11 2019-09-11 Resource scheduling, application and pricing method, equipment, system and storage medium

Country Status (2)

Country Link
CN (1) CN114072767B (en)
WO (1) WO2021046777A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886706A (en) * 2023-09-07 2023-10-13 典基网络科技(上海)有限公司 Application program placement method and device, electronic equipment and storage medium
WO2024017286A1 (en) * 2022-07-19 2024-01-25 华为云计算技术有限公司 Public network bandwidth allocation method based on public cloud service, and cloud management platform

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032940B (en) * 2023-10-08 2024-02-13 北京小米移动软件有限公司 System, method and device for scheduling resources, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10240138A1 (en) * 2002-01-18 2003-08-14 Siemens Ag Dynamic resource allocation in radio communications system, exchanges resources and makes changes to unoccupied sub-bands, selecting allocation of highest radio capacity
CN1656778A (en) * 2001-06-07 2005-08-17 康坦夹德控股股份有限公司 Method and apparatus for tracking status of resource in a system for managing use of the resources
CN103516618A (en) * 2012-06-21 2014-01-15 阿里巴巴集团控股有限公司 Information providing method, system and related device
CN107249217A (en) * 2017-05-25 2017-10-13 东南大学 The Joint Task unloading of ad hoc mobile cloud network and resource allocation methods
US20180197234A1 (en) * 2017-01-10 2018-07-12 International Business Machines Corporation Bid advising in resource allocation data analytics frameworks
CN108712480A (en) * 2018-05-02 2018-10-26 上海交通大学 Non- IT resource allocation methods in data center and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392312B2 (en) * 2008-09-24 2013-03-05 Netapp, Inc. Adaptive scheduling of storage operations based on utilization of a multiple client and server resources in a distributed network storage system
CN102831015B (en) * 2012-08-01 2015-09-23 华为技术有限公司 The dispatching method of polycaryon processor and equipment
CN103023963B (en) * 2012-10-31 2017-03-08 浪潮集团有限公司 A kind of method for cloud storage resources configuration optimization
CN109426550B (en) * 2017-08-23 2022-12-06 阿里巴巴集团控股有限公司 Resource scheduling method and equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656778A (en) * 2001-06-07 2005-08-17 康坦夹德控股股份有限公司 Method and apparatus for tracking status of resource in a system for managing use of the resources
DE10240138A1 (en) * 2002-01-18 2003-08-14 Siemens Ag Dynamic resource allocation in radio communications system, exchanges resources and makes changes to unoccupied sub-bands, selecting allocation of highest radio capacity
CN103516618A (en) * 2012-06-21 2014-01-15 阿里巴巴集团控股有限公司 Information providing method, system and related device
US20180197234A1 (en) * 2017-01-10 2018-07-12 International Business Machines Corporation Bid advising in resource allocation data analytics frameworks
CN107249217A (en) * 2017-05-25 2017-10-13 东南大学 The Joint Task unloading of ad hoc mobile cloud network and resource allocation methods
CN108712480A (en) * 2018-05-02 2018-10-26 上海交通大学 Non- IT resource allocation methods in data center and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YOGHITHA RAMAMOORTHI等: "Resource Allocation for CoMP in Cellular Networks With Base Station Sleeping", 《IEEE ACCESS》, pages 12620 - 12633 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024017286A1 (en) * 2022-07-19 2024-01-25 华为云计算技术有限公司 Public network bandwidth allocation method based on public cloud service, and cloud management platform
CN116886706A (en) * 2023-09-07 2023-10-13 典基网络科技(上海)有限公司 Application program placement method and device, electronic equipment and storage medium
CN116886706B (en) * 2023-09-07 2023-11-28 典基网络科技(上海)有限公司 Application program placement method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
WO2021046777A1 (en) 2021-03-18
CN114072767B (en) 2024-02-27

Similar Documents

Publication Publication Date Title
US11487562B2 (en) Rolling resource credits for scheduling of virtual computer resources
US10599466B2 (en) Managed services coordinator
US20200007456A1 (en) Computerized methods and systems for managing cloud computer services
US8938542B2 (en) Fulfillment of requests for computing capacity
US9635103B2 (en) Dynamic virtual resource request rate control for utilizing physical resources
CN116170317A (en) Network system, service providing and resource scheduling method, device and storage medium
CN114072767B (en) Resource scheduling, application and pricing method, equipment, system and storage medium
US20120016721A1 (en) Price and Utility Optimization for Cloud Computing Resources
US20130238780A1 (en) Managing risk in resource over-committed systems
CN113419846B (en) Resource allocation method and device, electronic equipment and computer readable storage medium
CN104301257A (en) Resource distribution method, device and equipment
US11755379B2 (en) Liaison system and method for cloud computing environment
CN109960572B (en) Equipment resource management method and device and intelligent terminal
CN114489978A (en) Resource scheduling method, device, equipment and storage medium
CN112953993B (en) Resource scheduling method, equipment, network system and storage medium
CN114008996B (en) Resource scheduling, application and regulation method, equipment, system and storage medium
KR20160063430A (en) Method for managing and assigning available resourse by reservation of virtual machine
Jain et al. Optimization of resource and task scheduling in cloud using random forest
CN117349000A (en) Resource demand distribution method and device

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