CN111506414A - Resource scheduling method, device, equipment, system and readable storage medium - Google Patents

Resource scheduling method, device, equipment, system and readable storage medium Download PDF

Info

Publication number
CN111506414A
CN111506414A CN201910091106.XA CN201910091106A CN111506414A CN 111506414 A CN111506414 A CN 111506414A CN 201910091106 A CN201910091106 A CN 201910091106A CN 111506414 A CN111506414 A CN 111506414A
Authority
CN
China
Prior art keywords
resource
target
application
online
application object
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
CN201910091106.XA
Other languages
Chinese (zh)
Other versions
CN111506414B (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
Priority to CN201910091106.XA priority Critical patent/CN111506414B/en
Publication of CN111506414A publication Critical patent/CN111506414A/en
Application granted granted Critical
Publication of CN111506414B publication Critical patent/CN111506414B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Abstract

The invention discloses a resource scheduling method, a device, equipment, a system and a readable storage medium, wherein the method comprises the following steps: acquiring resource demand information of a target application object, wherein the target application object is one of online application, offline application or platform application; according to the resource demand information of the target application object, distributing target equipment for providing resources to the target application object in a plurality of alternative equipment supporting the provision of the resources, and generating corresponding resource distribution information; and sending the resource allocation information to the target equipment to trigger the target equipment to provide resources for the target application object according to the resource allocation information.

Description

Resource scheduling method, device, equipment, system and readable storage medium
Technical Field
The present invention relates to the field of resource scheduling technologies, and in particular, to a resource scheduling method, apparatus, device, system, and readable storage medium.
Background
An online service cluster includes a plurality of federated devices (e.g., servers) having data processing capabilities that collectively can respond to or process various business requests. With the rapid development of internet and computer technologies, the number of applications providing user-specific application service functions is explosively increased, and resources required by applications are provided by responding to resource requests of a large number of applications through an online service cluster, so that the processing efficiency can be improved.
However, the average utilization rate of processor resources is generally low in the online server cluster due to factors such as difficulty in predicting peak-valley characteristics of traffic flow and preventive disaster recovery.
Disclosure of Invention
An object of the present invention is to provide a new technical solution for resource scheduling.
According to a first aspect of the present invention, there is provided a resource scheduling method, comprising:
acquiring resource demand information of a target application object, wherein the target application object is one of online application, offline application or platform application;
according to the resource demand information of the target application object, distributing target equipment for providing resources to the target application object in a plurality of alternative equipment supporting the provision of the resources, and generating corresponding resource distribution information;
and sending the resource allocation information to the target equipment to trigger the target equipment to provide resources for the target application object according to the resource allocation information.
Preferably, the resource demand information at least includes resource request information, resource forecast information and demand priority of the target application object; the requirement priority comprises an online class priority, an offline class priority and a platform class priority;
the step of obtaining the resource requirement information of the target application object comprises the following steps:
when the target application object is the online application or the offline application, the resource request information and the demand priority are set according to the target application object, and the resource pre-estimation information is obtained according to the resource request information;
and when the target application object is the platform application, setting the resource pre-estimation information and the demand priority according to the target application object, and acquiring the resource request information according to the resource pre-estimation information.
Preferably, when the target application object is the online application or the offline application, the step of obtaining the resource pre-estimation information according to the resource request information includes:
acquiring the resource estimation information according to the resource request information and the minimum guaranteed load and the predicted load of the target application object;
wherein the predicted load is obtained according to historical load information of the target application object.
Preferably, when the target application object is the platform application, the step of obtaining the resource request information according to the resource pre-estimation information includes:
and acquiring the resource request information of the target application object according to the resource pre-estimation information of the target application object, the inherent resource of the device supporting the resource supply and the available resource pre-estimation information of other application objects.
Preferably, the step of allocating a target device for providing the resource to the target application object among the plurality of alternative devices supporting providing the resource includes:
acquiring a resource score of each alternative device according to the resource demand information of the target application object;
and allocating the target equipment according to the descending sorting order of the resource scores of each alternative equipment.
Preferably, the resource demand information at least includes resource request information, resource forecast information and demand priority of the target application object; the requirement priority comprises an online class priority, an offline class priority and a platform class priority;
the step of obtaining the resource score of each alternative device according to the resource demand information of the target application object comprises:
when the requirement priority is an online type priority, acquiring a resource score of the alternative equipment according to the resource request information of the target application object, the resource request information corresponding to other applications on the alternative equipment and a first resource state parameter of the alternative equipment;
the first resource state parameter of the alternative equipment at least comprises a balance index, a resource scarcity index, a preemption cost index, an application diversity index and an application preference index of the alternative equipment;
when the requirement priority is an offline priority or a platform priority, acquiring a resource score of the alternative device according to the resource request information of the target application object, the resource request information corresponding to other applications on the alternative device, and a second resource state parameter of the alternative device;
wherein the second resource state parameter of the candidate device at least includes a balance index and a preemption cost index of the candidate device.
Preferably, the resource allocation information at least includes a resource allocation indication and a service quality configuration parameter of the target application object on each target device;
the step of triggering the target device to provide resources to the target application object according to the resource allocation information includes:
triggering the target equipment to acquire the service quality parameters of the target equipment according to the resource allocation indication and the service quality configuration parameters so as to set the target equipment to provide resources for the target application object;
the service quality parameters at least comprise one of processor service quality parameters, memory service quality parameters, network service quality parameters, read-write service quality parameters and control service quality parameters.
Preferably, the processor service quality parameter at least includes a processing resource limitation indication of an online service group and a processing resource limitation indication of an offline service group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application;
the service quality configuration parameters at least comprise a processing load control indication, a minimum load limit and a processing configuration weight;
the step of obtaining the quality of service parameter of the target device comprises:
indicating the processing resource restriction of the online traffic group as unrestricted;
acquiring the processing resource limit indication according to the processor resource of the target device, the processing load control indication, the minimum load limit and the online processing load of the online service group of the target device;
wherein the online processing load is obtained according to the resource prediction information of the application object included in the online service group, the application processing load, and the processing configuration weight.
Preferably, the memory quality of service parameter at least includes a memory resource limit indication of an online service group and a memory resource limit indication of an offline service group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application;
the service quality configuration parameters at least comprise storage load control instructions;
the step of obtaining the quality of service parameter of the target device comprises:
indicating the storage resource restriction of the online traffic group as unrestricted;
and acquiring the storage resource limitation indication according to the storage resource of the target equipment, the storage load control indication and the online storage load of the online service group of the target equipment.
Preferably, the network quality of service parameters comprise at least a network bandwidth limitation indication and a transmission quality of service indication;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing a control group, an online service group and an offline service group on the target device, and respectively setting the network service quality parameters;
wherein the control group includes control-related tasks; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
Preferably, the read-write quality of service parameter at least includes a read-write restriction indication related to storage;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing an online service group and an offline service group on the target equipment, and respectively setting the read-write service quality parameters;
the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
Preferably, the control quality of service parameters include at least a processor link control indication and a memory bandwidth proportion;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing an online service group and an offline service group on the target equipment, and respectively setting the control service quality parameters;
the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
Preferably, the resource allocation indication at least comprises resource request information and a demand priority of an application object allocated on the target device;
the service quality parameters also comprise an object score of each application object on the target equipment; the object scores of the application objects are used for selecting the application objects with preempted resources when the target equipment is triggered to preempt the resources;
the step of obtaining the quality of service parameter of the target device comprises:
and acquiring the object score of the application object according to the resource request information, the application storage load, the running time length, the requirement priority and the physical storage resource of the target equipment of each application object on the target equipment.
According to a second aspect of the present invention, there is provided a resource scheduling apparatus, comprising:
the system comprises a demand acquisition unit, a processing unit and a processing unit, wherein the demand acquisition unit is used for acquiring resource demand information of a target application object, and the target application object is one of online application, offline application or platform application;
a resource allocation unit, configured to allocate, according to the resource demand information of the target application object, a target device for providing resources to the target application object among multiple candidate devices supporting provision of resources, and generate corresponding resource allocation information;
and the resource providing unit is used for sending the resource allocation information to the target equipment so as to trigger the target equipment to provide resources for the target application object according to the resource allocation information.
According to a third aspect of the present invention, there is further provided a resource scheduling apparatus, including:
a memory for storing executable instructions;
and the processor is used for operating the resource scheduling equipment to execute the resource scheduling method according to the control of the executable instruction.
According to a fourth aspect of the present invention, there is also provided a readable storage medium, wherein the readable storage medium stores a computer program readable and executable by a computer, and the computer program is used for executing the resource scheduling method according to the first aspect of the present invention when the computer program is executed by the computer.
According to a fifth aspect of the present invention, there is provided a resource scheduling system, comprising:
a plurality of devices for providing resources;
the resource scheduling apparatus according to the second aspect of the present invention or the resource scheduling device according to the third aspect of the present invention.
According to an embodiment of the present disclosure, a new technical solution of resource scheduling is provided, in which a target device for providing resources to a target application object is allocated among a plurality of candidate devices supporting provision of resources according to resource demand information of the target application object by obtaining resource demand information of the target application object, corresponding resource allocation information is generated, and the resource allocation information is sent to the target device to trigger the target device to provide resources to the target application object according to the resource allocation information.
Other features of the present invention and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention.
FIG. 1 is a block diagram showing an example of a hardware configuration of a cluster of computers that may be used to implement an embodiment of the present invention.
FIG. 2 is a schematic flow chart diagram of a resource scheduling method according to an embodiment of the present invention;
FIG. 3 is a schematic flow chart diagram of a resource scheduling method according to another embodiment of the present invention;
fig. 4 is a schematic block diagram of a resource scheduling apparatus according to an embodiment of the present invention;
fig. 5 is a block diagram of a hardware configuration of a resource scheduling apparatus according to an embodiment of the present invention;
FIG. 6 is a block diagram of a resource scheduling system according to an embodiment of the present invention;
fig. 7 is a block diagram of a resource scheduling system according to another embodiment of the present invention.
Detailed Description
Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
< hardware configuration >
Fig. 1 shows a block diagram of a hardware configuration that can implement a server cluster according to this embodiment.
As shown in fig. 1, the server cluster of this embodiment includes a plurality of servers 1000, and fig. 1 shows 4 servers 1000, which are a server 1000A, a server 1000B, a server 1000C, and a server 1000D.
In this embodiment, the number of the servers 1000 in the server cluster may be determined according to an actual scenario, and is not limited herein.
In this embodiment, the servers 1000 form a server cluster, each server 1000 may be used as a device for providing resources, a Master component may be arranged in a small number of servers 1000 in the server cluster, and a Slave component may be arranged in each server 1000 in the server cluster.
In this embodiment, any one of the servers 1000 having a Master component in the server cluster may be used as a Master server, the other servers having Slave components in the server cluster are used as Slave servers, and the Master server and the Slave servers cooperate with each other to implement the resource scheduling method of the present invention.
The server 1000 provides a service point for processes, databases, and communications facilities. The server 1000 may be a unitary server or a distributed server across multiple computers or computer data centers. The server may be of various types, such as, but not limited to, a web server, a news server, a mail server, a message server, an advertisement server, a file server, an application server, an interaction server, a database server, or a proxy server. In some embodiments, each server may include hardware, software, or embedded logic components or a combination of two or more such components for performing the appropriate functions supported or implemented by the server. For example, a server, such as a blade server, a cloud server, etc., or may be a server group consisting of a plurality of servers, which may include one or more of the above types of servers, etc.
In one embodiment, the server 1000 may be as shown in fig. 1, including a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, an input device 1600.
In this embodiment, the server 1000 may further include a speaker, a microphone, and the like, which are not limited herein.
The processor 1100 may be a dedicated server processor, or may be a desktop processor, a mobile processor, etc. that meets performance requirements, without limitation, the memory 1200 may include, for example, ROM (read only memory), RAM (random access memory), a non-volatile memory such as a hard disk, etc., the interface device 1300 may include, for example, various bus interfaces such as a serial bus interface (including a USB interface), a parallel bus interface, etc., the communication device 1400 may enable wired or wireless communication, the display device 1500 may be, for example, a liquid crystal display, L ED display touch screen, etc., the input device 1600 may include, for example, a touch screen, a keyboard, etc.
Although a plurality of devices of the server 1000 are illustrated in fig. 1, the present invention may only relate to some of the devices, for example, the server 1000 only relates to the memory 1200, the communication device 1400 and the processor 1100.
The communication network 2000 may be a wireless communication network or a wired communication network, and may be a local area network or a wide area network. In the server cluster shown in fig. 1, a plurality of servers 1000 may communicate with each other via a network 2000. The network 2000 through which the plurality of servers 1000 communicate with each other may be the same or different.
The server clusters shown in fig. 1 are only illustrative and are not intended to limit the present invention, its application or use in any way, and in practical applications, other numbers of server clusters may be included, for example, 2 server clusters, 3 server clusters, 5 server clusters, or even more, and are not limited in any way. In an embodiment of the present invention, the memory 1200 of the server 1000 is configured to store instructions for controlling the processor 1100 to operate to execute any resource scheduling method provided in the embodiment of the present invention. The skilled person can design the instructions according to the disclosed solution. How the instructions control the operation of the processor is well known in the art and will not be described in detail herein.
< first embodiment >
< method >
Fig. 2 is a schematic flow chart diagram of a resource scheduling method according to one embodiment.
Referring to fig. 2, the resource scheduling method of this embodiment may be implemented by a resource scheduling apparatus, or may be implemented by a resource scheduling device, where the resource scheduling apparatus or the resource scheduling device may be distributed on a device providing resources, and the resource scheduling method of this embodiment may include the following steps S2100 to S2300:
step S2100, obtains resource requirement information of the target application object.
The target application object may be an application object that needs to perform resource scheduling, and generally, according to different service types, the target application object may be divided into an online class application, an offline class application, and a platform class application, that is, in this embodiment, the target application object may be one of the online class application, the offline class application, and the platform class application.
The resource demand information of the target application object can at least represent the demand information of the target application object for the required resources, and the resource demand information can be an elastic resource group.
In this embodiment, the resource request information may often include a plurality of types of resources required by the target application object, and here, in order to distinguish different types of resources, the resource request information may carry the type of the required resource, a specific number corresponding to each type of resource, and the like, and correspondingly, the resource prediction information may also carry the type of the required resource, a prediction value corresponding to each type of resource, and the like.
The requirement priorities are used for representing priorities among different target application objects, the requirement priorities comprise online class priorities, offline class priorities and platform class priorities, and when the target application objects are online class applications, the online class priorities correspond to the target application objects; when the target application object is an offline class application, the corresponding offline class priority is; when the target application object is a platform class application, the corresponding is a platform class priority. The requirement priority may be set according to resource pre-estimation information of the resource attribute platform of the target application object itself, resource request information of the non-platform, and the type of the target application object, for example, the online class priority may be higher than the offline class priority, and the offline class priority may be higher than the platform class priority, which is not limited herein.
In one example, the acquiring the resource requirement information of the target application object in step S2100 may include the following steps S2110 to S2120:
step S2110, when the target application object is an online application or an offline application, resource request information and a demand priority are set according to the target application object, and resource estimation information is obtained according to the resource request information.
In this example, when the target application object is an online application, the resource request information and the demand priority corresponding to the online application may be directly set, and the resource estimation information may be calculated according to the resource request information.
In this example, when the target application object is an offline application, the resource request information and the demand priority corresponding to the offline application may also be directly set, and the resource estimation information may be calculated according to the resource request information.
In this example, in a case that the target application object is an online application or an offline application, the step of obtaining the resource prediction information according to the resource request information may include:
and acquiring resource estimation information according to the resource request information and the minimum guaranteed load and the predicted load of the target application object.
In this example, the resource prediction information prediction of the target application object may be calculated according to the following formula:
predict=request*max{g_load,p_load} (1)
wherein max { g _ load, p _ load } represents taking the maximum value between g _ load and p _ load; the request represents resource request information of the target application object; g _ load represents the minimum guaranteed load of the target application object, and may be a constant value set according to engineering experience or experimental simulation results; p _ load represents a predicted load of the target application object, and may be obtained according to historical load information of the target application object, specifically, the p _ load may be a value obtained by weighted averaging based on historical load information according to a preset time unit, when the preset time unit is one hour, the current hour is T1, the historical load information l _ load may include load information load1 of a last hour T2, load information load2 of a current hour T1, load information load3 of a previous next hour T3, and load information load4 of a next hour T4 before 7 days, and the historical load information p _ load may be calculated according to the following formula:
Figure BDA0001963285490000111
wherein, a1、a2、a3、a4The weight values corresponding to load1, load2, load3 and load4 respectively can be set as a according to specific application scenarios1、a2、a3、a4
Step S2120, when the target application object is the platform application, resource pre-estimation information and a demand priority are set according to the target application object, and resource request information is obtained according to the resource pre-estimation information.
In this example, when the target application object is a platform application, the resource pre-estimation information and the requirement priority of the platform application may be directly set, and the resource request information may be calculated according to the resource pre-estimation information.
In this example, when the target application object is a platform application, the step of obtaining the resource request information according to the resource pre-estimation information may include:
and acquiring the resource request information of the target application object according to the resource pre-estimation information of the target application object, the inherent resource of the device supporting the resource supply and the available resource pre-estimation information of other application objects.
The above other application objects may include one or more of other online class applications, other offline class applications, and other platform class applications in addition to the target application object.
In this example, the resource request information request of the target application object may be calculated according to the following formula:
Figure BDA0001963285490000121
wherein the content of the first and second substances,
Figure BDA0001963285490000122
where n denotes the number of online class applications already running on the current device, prod _ predictkResource estimation information of the kth online application which is already running on the current equipment is represented, namely the resource estimation information of all online applications which are already running on the current equipment is calculated;
Figure BDA0001963285490000123
m denotes the number of offline type applications already running on the current device, non _ prod _ predictkResource prediction information of the kth off-line application which is already running on the current equipment is represented, namely the resource prediction information of all off-line applications which are already running on the current equipment is calculated;
Figure BDA0001963285490000124
where l denotes the number of platform class applications already running on the current device, platform _ predictkThe resource prediction information of the kth platform application which is already running on the current equipment is represented, namely the resource prediction information of all platform applications which are already running on the current equipment and the resource prediction information prediction of a target application object to be distributed are calculated; host _ resource denotes an inherent resource supporting a device providing the resource.
In this example, the resource request information request of the platform class application can be calculated again based on the above formula after each target application object allocation is finished, so that the overall resource scoring is more accurate.
After the resource demand information of the target application object is obtained in step S2100, target devices for providing resources to the target application object may be allocated in a plurality of candidate devices supporting provision of resources according to the resource demand information of the target application object in combination with the subsequent steps, and corresponding resource allocation information is generated, and then the resource allocation information is sent to the target devices, so that the target devices provide resources to the target application object according to the resource allocation information, and the resource utilization rate is improved.
After acquiring the resource demand information of the target application object, entering:
step S2200 is to allocate, according to the resource requirement information of the target application object, a target device for providing resources to the target application object among the multiple candidate devices supporting provision of resources, and generate corresponding resource allocation information.
The alternative device supporting providing the resource is a device capable of providing the resource, and the alternative device may be all devices or part of devices in the computer cluster, which is not limited herein.
The target device is a device that finally allocates resources to the target application object, and the target device may be any one or more of alternative devices, which is not limited herein.
The resource allocation information at least comprises a resource allocation indication of the target application object on each target device and a service quality configuration parameter.
In one example, referring to fig. 3, in step S2200, among the plurality of alternative devices supporting providing the resource, the step of allocating the target device for providing the resource to the target application object may include the following steps S2210 to S2220:
step S2210, acquiring a resource score of each alternative device according to the resource demand information of the target application object.
In an example, the resource score of each candidate device may be obtained according to the resource demand information of the target application object, so as to allocate one or more target devices according to the actually required resources of the target application object.
In one example, the step of obtaining the resource score of each candidate device according to the resource requirement information of the target application object in step S2210 may include steps S2211 to S2212:
step S2211, when the requirement priority is the online type priority, obtaining the resource score of the candidate device according to the resource request information of the target application object, the resource request information of other application objects on the candidate device, and the first resource state parameter of the candidate device.
The first resource state parameter of the above alternative device may include at least a balance index, a resource scarcity index, a preemption cost index, an application diversity index, and an application preference index of the alternative device.
In this example, the resource score for the alternative device may be calculated according to the following method:
Figure BDA0001963285490000131
wherein the content of the first and second substances,
Figure BDA0001963285490000132
where n represents the number of online class applications already running on the current device, prod _ requestkThe resource request information of the kth online application which is already running on the current equipment is represented, namely the resource request information of all online applications which are already running on the current equipment and the resource request information of the target application object to be allocated are calculated; the balance represents a balance index of the alternative device, for example, the balance of the CPU resource of the alternative device and/or the storage resource of the alternative device is better, and the balance index of the alternative device is higher; scarcity represents a resource scarcity index of the alternative device, and for example, the resource scarcity index of a small number of alternative devices in a computer cluster may be the resource scarcity index of the small number of alternative devices as long as the small number of alternative devices have a Graphics Processing Unit (GPU) or an FPGAThe higher the target scarcity; the preemption _ cost represents a preemption cost index of the alternative device, and specifically may be a cost after applying a preempted resource on the alternative device, for example, may be how long the resource can be restarted after applying the preempted resource; the priority _ diversity represents an application diversity index of the alternative device, and for example, the more balanced the proportion of applications with different priorities on the alternative device is, the better the application diversity index priority _ diversity of the alternative device is; the reference represents an application preference index of the alternative device, and may be, for example, an association between an application already running on the alternative device and an application to be run, where the association may be, for example, a complementary application, a mutual call, or the like;
Figure BDA0001963285490000141
the function is used to calculate a weighted average of all input parameters as the resource score of the alternative device, specifically, the resource score of the alternative device may be calculated according to the following formula:
Figure BDA0001963285490000142
wherein b in the above formula1、b2、b3、b4、b5、b6Respectively correspond to
Figure BDA0001963285490000143
The weight values of balance, scarcity, prediction _ cost, priority _ diversity, and prediction can be set according to the specific application scenario1、b2、b3、b4、b5、b6
Step S2212, when the requirement priority is the offline class priority or the platform class priority, obtaining the resource score of the candidate device according to the resource request information of the target application object, the resource request information corresponding to other applications on the candidate device, and the second resource state parameter of the candidate device.
The second resource state parameters of the above alternative devices at least include the balance index and the preemption cost index of the alternative devices.
In this example, the resource score for the alternative device may be calculated according to the following:
Figure BDA0001963285490000144
wherein the content of the first and second substances,
Figure BDA0001963285490000145
m represents the number of offline type applications or platform type applications that are already running on the current device, that is, the resource request information including the offline type applications and the platform type applications. The balance represents a balance index of the alternative device, for example, the balance of the CPU resource of the alternative device and/or the storage resource of the alternative device is better, and the balance index of the alternative device is higher; the preemption _ cost represents a preemption cost index of the alternative device, and specifically may be a cost after applying a preempted resource on the alternative device, for example, may be how long the resource can be restarted after applying the preempted resource;
Figure BDA0001963285490000151
the function is used to calculate a weighted average of all input parameters as the resource score of the alternative device, specifically, the resource score of the alternative device may be calculated according to the following formula:
Figure BDA0001963285490000152
wherein, c1、c2、c3Respectively correspond to
Figure BDA0001963285490000153
The weighted values of balance and prediction _ cost can be set according to the specific application scene1、c2、c3
Step S2220, according to the descending order of the resource scores of each alternative device, allocating the target devices.
After the resource score of each candidate device is obtained according to the step S2210, the resource score of each candidate device is sorted in a descending order according to the step S2220 to obtain a descending order, and one or more candidate devices are sequentially selected from the resource score from high to low as target devices according to the types of resources required by the target application object, so that the resource allocation information is sent to the target devices, so that the target devices provide resources to the target application object according to the resource allocation information, and the resource utilization rate is improved.
In this embodiment, according to the above step S2200, according to the resource demand information of the target application object, in a plurality of candidate devices supporting providing resources, a target device for providing resources to the target application object is allocated, and corresponding resource allocation information is generated, and then the resource allocation information is sent to the target device in combination with the subsequent steps, so that the target device provides resources to the target application object according to the resource allocation information, and the resource utilization rate is improved.
After generating the corresponding resource allocation information, entering:
step S2300, sending the resource allocation information to the target device to trigger the target device to provide the resource to the target application object according to the resource allocation information.
The resource allocation information at least comprises a resource allocation indication of the target application object on each target device and a service quality configuration parameter.
In this embodiment, the resource allocation information may be sent to the target device to control the target device to provide the resource to the target application object according to the resource allocation information, or the target device may provide the resource to the target application object according to the resource allocation information after receiving the resource allocation information.
In one example, the triggering of the target device to provide the resource to the target application object according to the resource allocation information in step S2300 may include:
and triggering the target equipment to acquire the service quality parameters of the target equipment according to the resource allocation indication and the service quality configuration parameters so as to set the target equipment to provide resources for the target application object.
The service quality parameters at least comprise one of processor service quality parameters, memory service quality parameters, network service quality parameters, read-write service quality parameters and control service quality parameters.
In this example, after obtaining the qos parameter of the target device, the target device may set the qos parameter of the target device according to Cgroup (control groups), where the Cgroup is a mechanism provided by L inux kernel and capable of limiting, recording, and isolating a physical resource used by a process group, and provides a uniform framework for resource management.
In this example, a calculation cycle may be set, and each calculation cycle is to calculate the service quality parameter of the target device, and collect the current resource status information of the target device to update the resource allocation status.
In one example, the processor quality of service parameter includes at least an indication of a processing resource limit for the online traffic group and an indication of a processing resource limit for the offline traffic group.
The above online service group includes tasks related to online type applications, and the above offline service group includes tasks related to offline type applications and platform type applications.
The quality of service configuration parameters include at least a processing load control indication, a minimum load limit, and a processing configuration weight.
In this example, the processor qos parameter may further include a cpu, shares, which may be a fixed value set according to a specific application scenario or a specific application requirement, for example, the cpu, shares may be 1024, or for example, the cpu, shares may also be 2, which is not limited herein.
In this example, acquiring the quality of service parameter of the target device may include the following steps S2311 to S2312:
step S2311, indicating that the processing resource restriction of the online service group is not restricted.
Step S2312, a processing resource restriction indication is obtained according to the processor resource of the target device, the processing load control indication, the minimum load restriction, and the online processing load of the online service group of the target device.
In this step S2312, a processing resource restriction indication may be calculated according to the following formula:
Figure BDA0001963285490000171
wherein non _ prod _ cpu _ limit represents a processing resource limitation indication of the offline service group; host _ cpu represents a processor resource of the target device; cpu _ ctrl _ load represents a processing load control instruction; m _ limit represents a minimum load limit; the prod _ cpu _ load represents an online processing load of the online service group of the target device, and may be specifically obtained according to resource prediction information, an application processing load, and a processing configuration weight of an application object included in the online service group, and for example, the prod _ cpu _ load of each application may be obtained by calculating a weighted average of the resource prediction information, the Cgoup-fed application processing load, and the processing configuration weight of the application object included in the online service group;
Figure BDA0001963285490000172
where n denotes the number of online class applications already running on the current device, prod _ cpu _ loadkAnd representing the online processing load of the kth online class application on the current device, namely calculating the online processing load of all the online class applications which are already running on the current device.
In one example, the memory quality of service parameter includes at least a memory resource restriction indication for an online traffic group and a memory resource restriction indication for an offline traffic group.
The above online service group includes tasks related to online applications, and the offline service group includes tasks related to offline applications and platform applications.
The quality of service configuration parameters include at least a storage load control indication.
In this example, obtaining the quality of service parameter of the target device may further include the following steps S2321 to S2322:
step S2321, the limitation of the storage resources of the online service group is indicated as unlimited.
Step S2322, according to the memory resource of the target device, the storage load control instruction and the online storage load of the online service group of the target device, the storage resource restriction instruction is obtained.
In step S2322, the storage resource limitation indication may be calculated according to the following formula:
Figure BDA0001963285490000181
wherein the non _ prod _ mem _ limit represents a storage resource limitation indication of the offline service group; host _ mem represents the memory resource of the target device; mem _ ctrl _ load represents a storage load control instruction for avoiding unstable service caused by too high load of the target device; prod _ mem _ load represents the online storage load of the online service group of the target device;
Figure BDA0001963285490000182
where n denotes the number of online class applications already running on the current device, prod _ mem _ loadkAnd representing the online storage load of the kth online class application on the current device, namely calculating the online storage load of all the online class applications which are already running on the current device.
In one example, the network quality of service parameters include at least a network bandwidth limit indication and a transmission quality of service indication.
In this example, acquiring the quality of service parameter of the target device may further include the following step S2330:
step S2330, distinguish the control group, online service group and offline service group on the target device, and set the network quality of service parameters, respectively.
The control group includes control-related tasks.
The online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In this example, it may be that a control group, an online traffic group, and an offline traffic group on the target device are distinguished, and a network bandwidth limitation indication and a transmission quality of service indication of the control group, a network bandwidth limitation indication and a transmission quality of service indication of the online traffic group, and a network bandwidth limitation indication and a transmission quality of service indication of the offline traffic group are respectively set.
The network bandwidth limitation indication may include at least one of a maximum constraint of the network bandwidth, or a minimum constraint of the network bandwidth, where the maximum constraint of the network bandwidth and the minimum constraint of the network bandwidth select a value with a better effect according to an engineering experience or an experimental simulation result in a specific application scenario.
The above transmission qos indication may include gold, silver, bronze, etc. labeled on the network link for distinguishing the transmission qos of the control group, the online traffic group, and the offline traffic group. For example, "gold" may be marked on the network link of the control group as the transmission qos indicator, "silver" may be marked on the network link of the online service group as the transmission qos indicator, and "bronze" may be marked on the network link of the offline service group as the transmission qos indicator, as long as the transmission qos of the control group, the online service group, and the offline service group can be distinguished, which is not limited herein.
In one example, the read-write quality of service parameter includes at least a read-write restriction indication associated with the storage.
In this example, obtaining the quality of service parameter of the target device may further include the following step S2340:
step S2340, distinguishing an online service group and an offline service group on the target device, and setting the read-write quality of service parameters respectively.
The online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In this example, the online service group and the offline service group on the target device may be distinguished, and the read-write restriction instructions related to storage that correspond to each other are respectively set, where the read-write restriction instructions related to storage include at least one of read-write bit rate (bps) and IOPS (Input/Output Operations Per Second) restrictions, and the read-write bit rate and the IOPS restrictions may be set according to a specific storage medium of the target device, which is not limited herein.
In one example, controlling the quality of service parameter includes at least a processor link control indication and a memory bandwidth ratio.
The processor link control indication is used to establish a connection between the target device and the target application object.
The memory bandwidth ratio is the ratio of the amount of information accessed by the memory per unit time.
In this example, obtaining the quality of service parameter of the target device may include the following step S2350:
step S2350, distinguish the online service group and the offline service group on the target device, and set the control service quality parameter respectively.
The online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In this example, the online service group and the offline service group on the target device may be distinguished, and the processor link control indication (CPU LL C) and the memory bandwidth limitation ratio corresponding to each may be set, respectively.
In one example, the resource allocation indication includes at least resource request information and a demand priority of an application object allocated on the target device.
The service quality parameters also comprise an object score of each application object on the target equipment, and the object scores of the application objects are used for selecting the application objects of the preempted resources when the target equipment is triggered to preempt the resources.
In this example, the obtaining of the quality of service parameter of the target device may further include the following step S2360:
step S2360, according to the resource request information, the application storage load, the running time length, the demand priority of each application object on the target device and the physical storage resource of the target device, the object score of the application object is obtained.
In this example, the object score of the application object may be calculated according to the following:
memory_badness=g(mem_load,mem_limit,host_mem,run_time,priority)(10)
wherein, memory _ bandwidth represents the object score of the application object; the mem _ limit represents the resource request information of the application object; the mem _ load represents the application storage load of the application object, and may be the application storage load of the application object obtained by dividing the actual load of the application object by the resource request information of the application object; host _ mem represents the physical storage resource of the target device, run _ time represents the running time of the application object, and priority represents the demand priority of the application object; the g (mem _ load, mem _ limit, host _ mem, run _ time, priority) function is used to calculate a weighted average of all input parameters as the object score of the application object, specifically, the object score memory _ bandwidth of the application object may be calculated according to the following formula:
Figure BDA0001963285490000201
wherein d in the above formula1、d2、d3、d4、d5Respectively, the weight values corresponding to mem _ load, mem _ limit, host _ mem, run _ time, and priority, and d can be set according to the specific application scenario1、d2、d3、d4、d5
In an example, when the application object preempts the resource, the application object that needs to give the resource is selected according to the sorting order of the object scores of the application object, so that the selected application object releases the resource for the preemption of other application objects.
< resource scheduling device >
In this embodiment, a resource scheduling apparatus 4000 is further provided, as shown in fig. 4, the resource scheduling apparatus 4000 includes a requirement obtaining unit 4100, a resource allocating unit 4200, and a resource providing unit 4300, which are used to implement the resource scheduling method provided in this embodiment, and details are not repeated here.
The requirement obtaining unit 4100 is configured to obtain resource requirement information of a target application object, where the target application object is one of an online application, an offline application, and a platform application.
A resource allocating unit 4200, configured to allocate, according to the resource requirement information of the target application object, a target device for providing resources to the target application object among multiple candidate devices supporting provision of resources, and generate corresponding resource allocation information.
A resource providing unit 4300, configured to send the resource allocation information to the target device, so as to trigger the target device to provide a resource to the target application object according to the resource allocation information.
In one embodiment, the resource requirement information at least includes resource request information, resource forecast information and requirement priority of the target application object; the demand priority includes an online class priority, an offline class priority, and a platform class priority.
A requirement obtaining unit 4100, configured to, when the target application object is the online application or the offline application, set the resource request information and the requirement priority according to the target application object, and obtain the resource pre-estimation information according to the resource request information; and when the target application object is the platform application, setting the resource pre-estimation information and the demand priority according to the target application object, and acquiring the resource request information according to the resource pre-estimation information.
In an embodiment, the requirement obtaining unit 4100 is further configured to obtain the resource prediction information according to the resource request information and the minimum guaranteed load and the predicted load of the target application object.
The predicted load is obtained according to historical load information of the target application object.
In one embodiment, the requirement obtaining unit 4100 is further configured to obtain resource request information of the target application object according to resource forecast information of the target application object, inherent resources of devices supporting providing resources, and available resource forecast information of other application objects.
In an embodiment, the resource allocation unit 4200 is further configured to obtain a resource score of each candidate device according to the resource requirement information of the target application object; and allocating the target equipment according to the descending sorting order of the resource scores of each alternative equipment.
In one embodiment, the resource requirement information at least includes resource request information, resource forecast information and requirement priority of the target application object; the demand priority includes an online class priority, an offline class priority, and a platform class priority.
The resource allocating unit 4200 is further configured to, when the requirement priority is an online class priority, obtain a resource score of the candidate device according to the resource request information of the target application object, the resource request information corresponding to the other applications on the candidate device, and the first resource state parameter of the candidate device.
The first resource state parameter of the alternative device at least includes a balance index, a resource scarcity index, a preemption cost index, an application diversity index and an application preference index of the alternative device.
The resource allocating unit 4200 is further configured to, when the requirement priority is an offline class priority or a platform class priority, obtain a resource score of the candidate device according to the resource request information of the target application object, the resource request information corresponding to the other applications on the candidate device, and the second resource state parameter of the candidate device.
The second resource state parameter of the alternative device at least includes a balance index and a preemption cost index of the alternative device.
In one embodiment, the resource allocation information includes at least a resource allocation indication of the target application object on each of the target devices and a quality of service configuration parameter.
The resource providing unit 4300 is further configured to trigger the target device to obtain, according to the resource allocation indication and the qos configuration parameter, a qos parameter of the target device, so as to set the target device to provide a resource to the target application object.
The service quality parameters at least comprise one of processor service quality parameters, memory service quality parameters, network service quality parameters, read-write service quality parameters and control service quality parameters.
In one embodiment, the processor quality of service parameter includes at least a processing resource restriction indication for an online traffic group and a processing resource restriction indication for an offline traffic group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
The quality of service configuration parameters include at least a processing load control indication, a minimum load limit, and a processing configuration weight.
A resource providing unit 4300, further configured to indicate the processing resource limitation of the online service group as not limited; and acquiring the processing resource limit indication according to the processor resource of the target device, the processing load control indication, the minimum load limit and the online processing load of the online service group of the target device.
The online processing load is obtained according to the resource prediction information of the application object included in the online service group, the application processing load and the processing configuration weight.
In one embodiment, the memory quality of service parameter comprises at least a memory resource restriction indication for an online traffic group and a memory resource restriction indication for an offline traffic group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
The quality of service configuration parameters include at least a storage load control indication.
A resource providing unit 4300, configured to indicate the storage resource limitation of the online service group as not limited; and acquiring the storage resource limitation indication according to the storage resource of the target equipment, the storage load control indication and the online storage load of the online service group of the target equipment.
In one embodiment, the network quality of service parameters include at least a network bandwidth limit indication and a transmission quality of service indication.
The resource providing unit 4300 is further configured to distinguish a control group, an online service group, and an offline service group on the target device, and set the network quality of service parameter respectively.
The control group includes control-related tasks; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In one embodiment, the read-write quality of service parameter comprises at least a read-write restriction indication associated with storage.
The resource providing unit 4300 is further configured to distinguish an online service group and an offline service group on the target device, and set the read-write quality of service parameter respectively.
The online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In one embodiment, the control quality of service parameters include at least a processor link control indication and a memory bandwidth ratio.
The resource providing unit 4300 is further configured to distinguish an online service group and an offline service group on the target device, and set the control quality of service parameter respectively.
The online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
In one embodiment, the resource allocation indication comprises at least resource request information and a demand priority of an application object allocated on the target device.
The service quality parameters also comprise an object score of each application object on the target equipment; and the object scores of the application objects are used for selecting the application objects with preempted resources when the target equipment is triggered to preempt the resources.
The resource providing unit 4300 is further configured to obtain an object score of the application object according to the resource request information, the application storage load, the running duration, the requirement priority, and the physical storage resource of the target device of each application object on the target device.
< resource scheduling apparatus >
In this embodiment, a resource scheduling apparatus 5000 is further provided, as shown in fig. 5, including:
a memory 5100 for storing executable instructions;
the processor 5200 is configured to operate the resource scheduling apparatus to execute the resource scheduling method provided in this embodiment according to the control of the executable instruction.
In this embodiment, the resource scheduling apparatus 5000 may be a server. The resource scheduling apparatus 5000 may be, for example, a server 1000 as shown in fig. 1.
The resource scheduling apparatus 5000 may further include other devices, such as a server 1000 shown in fig. 1, and may further include an input device, a communication device, an interface device, a display device, and the like.
< readable storage Medium >
In this embodiment, a readable storage medium is further provided, where the readable storage medium stores a computer program readable and executable by a computer, and the computer program is used for executing the resource scheduling method according to this embodiment when the computer runs the computer.
In this embodiment, the readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. A readable storage medium as used herein is not to be construed as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
< second embodiment >
In this embodiment, a resource scheduling system 6000 is further provided, as shown in fig. 6, including:
a plurality of devices 6100 for providing resources;
the resource scheduling apparatus 4000 or the resource scheduling device 5000 provided in the first embodiment.
The devices 6100 may be, for example, a device 6100A for providing resources and a device 6100B for providing resources, where the multiple devices 6100 for providing resources may be devices in one server cluster, or devices respectively belonging to different server clusters, where the multiple devices 6100 for providing resources are all provided with a Slave component, and at least one of the multiple devices 6100 for providing resources is provided with a Master component.
In this embodiment, the number of devices 6100 for providing resources may be determined according to an actual scenario, and is not limited herein.
The resource scheduling apparatus 4000 or the resource scheduling device 5000 may be distributed on the device 6100 providing the resource.
< example >
The resource scheduling method implemented by the resource scheduling system 6000 provided in this embodiment will be further illustrated below.
In this example, the resource scheduling system 6000 includes a plurality of devices 6100 for providing resources and a resource scheduling apparatus 4000, where the device 6100 may be a server having a Master (Master) component and a Slave (Slave) component, and the resource scheduling apparatus 4000 may be distributed on the plurality of devices 6100, for example, as shown in fig. 7, the device 6100 including the Master component may be selected as a Master device, and the devices 6100 including the Slave component may be selected as Slave devices, a function corresponding to a demand acquisition unit in the resource scheduling apparatus 4000 is implemented by a resource pre-estimation module and a Quality of service configuration (Qos L o configurations) module in the Master device, and a function corresponding to a resource allocation unit in the resource scheduling apparatus 4000 is implemented by a resource matching computation module and a resource allocation over-selling module in the Master device, and a function corresponding to a resource allocation unit in the resource scheduling apparatus 4000 is implemented by a Quality of service (Qos) scheduling module, a hierarchy control (roup) module and a Metric (Metric) acquisition module in the Slave device, and the method for providing the function corresponding to the Slave device 6100 includes steps shown in fig. 7-S scheduling apparatus 208 and the Slave device.
Step S201, the resource pre-estimation module obtains resource demand information of a target application object on the application control device.
The resource demand information can be an elastic resource group, and the resource demand information at least comprises resource request information, resource pre-estimation information and demand priority; the demand priority includes an online class priority, an offline class priority, and a platform class priority.
The target application object is one of an online class application, an offline class application, or a platform class application.
In step S201, the application control device may use a service am (application master) to describe the target application object through an elastic resource group.
Step S202, the resource estimation module judges whether the target application object is an online application or an offline application, if so, the step S203 is executed, otherwise, the step S204 is executed.
Step S203, the resource pre-estimation module sets resource request information and demand priority according to the target application object, and acquires resource pre-estimation information according to the resource request information, the minimum guaranteed load sent by the service quality configuration module and the historical load information sent by the communication module A.
The historical load information sent by the above communication module a is used to determine the predicted load.
Step S204, the resource pre-estimation module sets resource pre-estimation information and demand priority according to the target application object, and acquires resource request information according to the resource pre-estimation information.
Step S205, the resource matching scoring module obtains the resource score of each slave device according to the resource demand information of the target application object.
Step S206, the resource matching and over-selling module allocates target slave devices according to the descending sorting order of the resource scores of each slave device, and generates resource allocation instructions and service quality configuration parameters corresponding to each target slave device.
Step S207, the communication module a communicates with the communication module B, and sends the resource allocation indication and the qos configuration parameters corresponding to each target slave device to the qos scheduling module of the target slave device.
Step S208, the service quality scheduling module obtains the service quality parameters of itself according to the resource allocation indication and the service quality configuration parameters.
Step S209, the hierarchical control module sets the quality of service parameter by setting the corresponding hierarchical Cgroup parameter, and provides the resource to the target application object.
Step S210, the measurement acquisition module acquires new index information and transmits the new index information back to the master device through the communication module B.
The present invention may be a system, method and/or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied therewith for causing a processor to implement various aspects of the present invention.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
Computer program instructions for carrying out operations of the present invention may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including AN object oriented programming language such as Smalltalk, C + +, or the like, as well as conventional procedural programming languages, such as the "C" language or similar programming languages.
Aspects of the present invention are described herein 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 block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, 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/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, by software, and by a combination of software and hardware are equivalent.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (17)

1. A resource scheduling method comprises the following steps:
acquiring resource demand information of a target application object, wherein the target application object is one of online application, offline application or platform application;
according to the resource demand information of the target application object, distributing target equipment for providing resources to the target application object in a plurality of alternative equipment supporting the provision of the resources, and generating corresponding resource distribution information;
and sending the resource allocation information to the target equipment to trigger the target equipment to provide resources for the target application object according to the resource allocation information.
2. The method of claim 1, wherein,
the resource demand information at least comprises resource request information, resource pre-estimation information and demand priority of the target application object; the requirement priority comprises an online class priority, an offline class priority and a platform class priority;
the step of obtaining the resource requirement information of the target application object comprises the following steps:
when the target application object is the online application or the offline application, the resource request information and the demand priority are set according to the target application object, and the resource pre-estimation information is obtained according to the resource request information;
and when the target application object is the platform application, setting the resource pre-estimation information and the demand priority according to the target application object, and acquiring the resource request information according to the resource pre-estimation information.
3. The method of claim 2, wherein, when the target application object is the online application or the offline application, the step of obtaining the resource forecast information according to the resource request information comprises:
acquiring the resource estimation information according to the resource request information and the minimum guaranteed load and the predicted load of the target application object;
wherein the predicted load is obtained according to historical load information of the target application object.
4. The method of claim 2, wherein when the target application object is the platform class application, the step of obtaining the resource request information according to the resource pre-estimation information comprises:
and acquiring the resource request information of the target application object according to the resource pre-estimation information of the target application object, the inherent resource of the device supporting the resource supply and the available resource pre-estimation information of other application objects.
5. The method of claim 1, wherein the step of allocating a target device for providing resources to the target application object among the plurality of alternative devices supporting providing resources comprises:
acquiring a resource score of each alternative device according to the resource demand information of the target application object;
and allocating the target equipment according to the descending sorting order of the resource scores of each alternative equipment.
6. The method of claim 5, wherein,
the resource demand information at least comprises resource request information, resource pre-estimation information and demand priority of the target application object; the requirement priority comprises an online class priority, an offline class priority and a platform class priority;
the step of obtaining the resource score of each alternative device according to the resource demand information of the target application object comprises:
when the requirement priority is an online type priority, acquiring a resource score of the alternative equipment according to the resource request information of the target application object, the resource request information corresponding to other applications on the alternative equipment and a first resource state parameter of the alternative equipment;
the first resource state parameter of the alternative equipment at least comprises a balance index, a resource scarcity index, a preemption cost index, an application diversity index and an application preference index of the alternative equipment;
when the requirement priority is an offline priority or a platform priority, acquiring a resource score of the alternative device according to the resource request information of the target application object, the resource request information corresponding to other applications on the alternative device, and a second resource state parameter of the alternative device;
wherein the second resource state parameter of the candidate device at least includes a balance index and a preemption cost index of the candidate device.
7. The method of claim 1, wherein,
the resource allocation information at least comprises a resource allocation indication and a service quality configuration parameter of the target application object on each target device;
the step of triggering the target device to provide resources to the target application object according to the resource allocation information includes:
triggering the target equipment to acquire the service quality parameters of the target equipment according to the resource allocation indication and the service quality configuration parameters so as to set the target equipment to provide resources for the target application object;
the service quality parameters at least comprise one of processor service quality parameters, memory service quality parameters, network service quality parameters, read-write service quality parameters and control service quality parameters.
8. The method of claim 7, wherein,
the processor service quality parameter at least comprises a processing resource limit indication of an online service group and a processing resource limit indication of an offline service group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application;
the service quality configuration parameters at least comprise a processing load control indication, a minimum load limit and a processing configuration weight;
the step of obtaining the quality of service parameter of the target device comprises:
indicating the processing resource restriction of the online traffic group as unrestricted;
acquiring the processing resource limit indication according to the processor resource of the target device, the processing load control indication, the minimum load limit and the online processing load of the online service group of the target device;
wherein the online processing load is obtained according to the resource prediction information of the application object included in the online service group, the application processing load, and the processing configuration weight.
9. The method of claim 7, wherein,
the memory service quality parameter at least comprises a memory resource limit indication of an online service group and a memory resource limit indication of an offline service group; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application;
the service quality configuration parameters at least comprise storage load control instructions;
the step of obtaining the quality of service parameter of the target device comprises:
indicating the storage resource restriction of the online traffic group as unrestricted;
and acquiring the storage resource limitation indication according to the storage resource of the target equipment, the storage load control indication and the online storage load of the online service group of the target equipment.
10. The method of claim 7, wherein,
the network quality of service parameters at least comprise a network bandwidth limitation indication and a transmission quality of service indication;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing a control group, an online service group and an offline service group on the target device, and respectively setting the network service quality parameters;
wherein the control group includes control-related tasks; the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
11. The method of claim 7, wherein,
the read-write quality of service parameters at least comprise read-write limitation instructions related to storage;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing an online service group and an offline service group on the target equipment, and respectively setting the read-write service quality parameters;
the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
12. The method of claim 7, wherein,
the control quality of service parameters include at least a processor link control indication and a memory bandwidth proportion;
the step of obtaining the quality of service parameter of the target device comprises:
distinguishing an online service group and an offline service group on the target equipment, and respectively setting the control service quality parameters;
the online service group comprises tasks related to the online application, and the offline service group comprises tasks related to the offline application and the platform application.
13. The method of claim 7, wherein,
the resource allocation indication at least comprises resource request information and a demand priority of an application object allocated on the target device;
the service quality parameters also comprise an object score of each application object on the target equipment; the object scores of the application objects are used for selecting the application objects with preempted resources when the target equipment is triggered to preempt the resources;
the step of obtaining the quality of service parameter of the target device comprises:
and acquiring the object score of the application object according to the resource request information, the application storage load, the running time length, the requirement priority and the physical storage resource of the target equipment of each application object on the target equipment.
14. A resource scheduling apparatus, comprising:
the system comprises a demand acquisition unit, a processing unit and a processing unit, wherein the demand acquisition unit is used for acquiring resource demand information of a target application object, and the target application object is one of online application, offline application or platform application;
a resource allocation unit, configured to allocate, according to the resource demand information of the target application object, a target device for providing resources to the target application object among multiple candidate devices supporting provision of resources, and generate corresponding resource allocation information;
and the resource providing unit is used for sending the resource allocation information to the target equipment so as to trigger the target equipment to provide resources for the target application object according to the resource allocation information.
15. A resource scheduling apparatus, comprising:
a memory for storing executable instructions;
a processor, configured to operate the resource scheduling apparatus to perform the resource scheduling method according to the control of the executable instruction, according to claims 1 to 13.
16. A readable storage medium, wherein the readable storage medium stores a computer program readable and executable by a computer, the computer program being for performing the resource scheduling method of claims 1-13 when executed by the computer.
17. A resource scheduling system, comprising:
a plurality of devices for providing resources;
the resource scheduling apparatus of claim 14 or the resource scheduling device of claim 15.
CN201910091106.XA 2019-01-30 2019-01-30 Resource scheduling method, device, equipment, system and readable storage medium Active CN111506414B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910091106.XA CN111506414B (en) 2019-01-30 2019-01-30 Resource scheduling method, device, equipment, system and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910091106.XA CN111506414B (en) 2019-01-30 2019-01-30 Resource scheduling method, device, equipment, system and readable storage medium

Publications (2)

Publication Number Publication Date
CN111506414A true CN111506414A (en) 2020-08-07
CN111506414B CN111506414B (en) 2023-04-25

Family

ID=71863794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910091106.XA Active CN111506414B (en) 2019-01-30 2019-01-30 Resource scheduling method, device, equipment, system and readable storage medium

Country Status (1)

Country Link
CN (1) CN111506414B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703962A (en) * 2021-07-22 2021-11-26 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium
WO2022222755A1 (en) * 2021-04-19 2022-10-27 腾讯科技(深圳)有限公司 Service processing method and apparatus, and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052719A1 (en) * 2006-08-23 2008-02-28 Peter John Briscoe Resource management system
CN102958166A (en) * 2011-08-29 2013-03-06 华为技术有限公司 Resource allocation method and resource management platform
CN103577268A (en) * 2012-08-07 2014-02-12 复旦大学 Self-adaptive resource supply method based on application load
CN107968810A (en) * 2016-10-20 2018-04-27 阿里巴巴集团控股有限公司 A kind of resource regulating method of server cluster, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052719A1 (en) * 2006-08-23 2008-02-28 Peter John Briscoe Resource management system
CN102958166A (en) * 2011-08-29 2013-03-06 华为技术有限公司 Resource allocation method and resource management platform
US20140173620A1 (en) * 2011-08-29 2014-06-19 Huawei Technologies Co., Ltd. Resource allocation method and resource management platform
CN103577268A (en) * 2012-08-07 2014-02-12 复旦大学 Self-adaptive resource supply method based on application load
CN107968810A (en) * 2016-10-20 2018-04-27 阿里巴巴集团控股有限公司 A kind of resource regulating method of server cluster, device and system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PARMINDER SINGH等: "A study on resource provisioning of multi-tier web applications in cloud computing" *
杨忙忙: "Spark数据处理平台中资源动态分配技术研究" *
邓晓衡;关培源;万志文;刘恩陆;罗杰;赵智慧;刘亚军;张洪刚;: "基于综合信任的边缘计算资源协同研究" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222755A1 (en) * 2021-04-19 2022-10-27 腾讯科技(深圳)有限公司 Service processing method and apparatus, and storage medium
CN113703962A (en) * 2021-07-22 2021-11-26 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium
CN113703962B (en) * 2021-07-22 2023-08-22 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111506414B (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US10552161B2 (en) Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation
WO2021036936A1 (en) Method and apparatus for allocating resources and tasks in distributed system, and system
US9213573B2 (en) Management of prioritizing virtual machines in an operating environment
US10880228B2 (en) Proactive channel agent
US11088961B2 (en) Monitoring data streams and scaling computing resources based on the data streams
WO2020258290A1 (en) Log data collection method, log data collection apparatus, storage medium and log data collection system
CN107430528A (en) Opportunistic resource migration is placed with optimizing resource
CN110399213A (en) Determine method, apparatus, electronic equipment and the medium of the resource requirement of application program
CN111694646A (en) Resource scheduling method and device, electronic equipment and computer readable storage medium
CN110782122B (en) Data processing method and device and electronic equipment
JP6993495B2 (en) Scalable statistical and analytical mechanisms in cloud networking
US10031781B2 (en) Estimating job start times on workload management systems
CN111143039A (en) Virtual machine scheduling method and device and computer storage medium
CN111506414B (en) Resource scheduling method, device, equipment, system and readable storage medium
US11144429B2 (en) Detecting and predicting application performance
US20230222004A1 (en) Data locality for big data on kubernetes
US10979531B2 (en) Pessimistic scheduling for topology optimized workload placement
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
WO2022078060A1 (en) Tag-driven scheduling of computing resources for function execution
US11556387B2 (en) Scheduling jobs
US11487750B2 (en) Dynamically optimizing flows in a distributed transaction processing environment
CN108196936A (en) A kind of resource regulating method, equipment and system
US20240020171A1 (en) Resource and workload scheduling
US20230185601A1 (en) User-level threading for simulating multi-core processor
US20220138614A1 (en) Explaining machine learning based time series models

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