CN107239336A - A kind of method and device for realizing task scheduling - Google Patents
A kind of method and device for realizing task scheduling Download PDFInfo
- Publication number
- CN107239336A CN107239336A CN201610181930.0A CN201610181930A CN107239336A CN 107239336 A CN107239336 A CN 107239336A CN 201610181930 A CN201610181930 A CN 201610181930A CN 107239336 A CN107239336 A CN 107239336A
- Authority
- CN
- China
- Prior art keywords
- task
- utility function
- utility
- priority
- resource node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
A kind of method and device for realizing task scheduling, including:Each corresponding total utility function of task is built according to the utility function of the utility function of the corresponding time utility of each task, and/or the utility function of priority effectiveness, and/or the utility function of the corresponding reliability effectiveness of each resource node, and/or the corresponding security effectiveness of each resource node pre-established;To each task, the value of the total utility function of task when traversal calculating task is intended being assigned to virtual machine;It is determined that traversal calculates the maximum occurrences of the corresponding total utility function of each task, virtual machine of the virtual machine that task plan during total utility function value maximum is assigned to as processor active task.Present invention method, task scheduling is carried out according to time effect, reliability effect, security effect etc. by being submitted to user of the task, user is considered to the demand in terms of time, reliability, security, the load balancing of system is realized, improves the service behaviour of processor active task.
Description
Technical Field
The present disclosure relates to, but not limited to, the field of information processing, and more particularly, to a method and apparatus for implementing task scheduling.
Background
Currently, data centers face more and more problems and bottlenecks, for example, the hardware level is generally high, but the resource utilization rate is relatively low; each province network company and the directly affiliated unit respectively build a data center according to the requirements and characteristics of the province network company and the directly affiliated unit, and the difference of service systems is large; deployed applications are relatively dispersed, and data security and cluster system management and maintenance are difficult; the requirements of electric power, refrigeration, networks, machine room spaces and the like are continuously expanded, and the problems affect the harmonious and green development of the data center and cannot meet the requirement of processing mass data in the future.
Cloud computing is an important trend of information technology development, has the advantages of high reliability, high processing capacity and expansibility of mass data, high resource utilization rate of equipment and the like, and becomes a research hotspot in the field of information processing; cloud computing can meet the requirements of next generation data centers on data computing and storage, powerful application services are used as support, the data centers already occupy an important position in cloud computing, real-time performance and reliability are mainly considered for the data centers, when large-scale tasks access a system simultaneously, task requests of the data centers can be rapidly increased in a short time, the service quality of users is reduced, and the data centers are possibly unstable.
The basic requirements of task scheduling of the cloud computing data center are that tasks submitted by users can be optimally scheduled, and the throughput of a cloud environment is improved to the maximum extent; task scheduling methods in the related art aim to minimize task execution time, such as a greedy algorithm, an a star (a star algorithm), a Min-Min (Min-Min) algorithm, a Max-Min (Max-Min) algorithm, a genetic algorithm, and the like, and generally only consider completion time of tasks submitted by users, neglect other requirements of the users on different tasks and load balance of the system in the cloud computing data center, and affect the working performance of the cloud computing data center.
Disclosure of Invention
The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
The embodiment of the invention provides a method and a device for realizing task scheduling, which can be used for scheduling tasks according to related requirements of users on different tasks and improving the working performance of operation tasks.
The embodiment of the invention provides a method for realizing task scheduling, which comprises the following steps:
constructing a total utility function corresponding to each task according to a pre-established time utility function corresponding to each task, and/or a reliability utility function corresponding to each resource node, and/or a safety utility function corresponding to each resource node, and/or a priority utility function corresponding to each task;
for each task submitted by a user, traversing and calculating the value of the total utility function of the task when the task is to be distributed to a virtual machine;
for each task, determining the maximum value of a total utility function corresponding to the task in a traversal calculation mode, and taking a virtual machine to which the task is to be distributed when the value of the total utility function is maximum as a virtual machine of the operation task.
Optionally, when the established total utility function includes a time utility function corresponding to each task, the time utility function corresponding to each task includes:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
when the established total utility function comprises the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines contained in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of the reliability utility as a base number, and using the determined scoreNumber of tasks n allocated to resource nodeTAnd the number n of virtual machines contained in the resource nodeMAs an index parameter, constructing a utility function of the reliability utility;
when the established total utility function comprises the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node comprises:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the established total utility function comprises the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task comprises:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
Optionally, the reliability coefficient is ri=0.9+0.1ra;
The constructed utility function of the reliability utility comprises:
wherein r isaIs uniformly distributed in [0, 1 ]]Random number of intervals.
Optionally, the dividing all the resource nodes into two or more security levels according to the preset level policy includes:
dividing the security level of the resource node into s according to a preset level strategyiFour security levels of {1, 2, 3, 4 };
establishing a utility function for a security utility of a current resource node proportional to a security level comprises:
randomly distributing one security level s of four security levels for current resource nodei(ii) a Establishing a utility function of security utility proportional to security level according to the security level of the randomly allocated current resource node comprises: u shapei(si)=0.25si。
Optionally, the setting the priority of the current task according to the data type included in the current task includes:
dividing data contained in the task into time adoption class data, action record class data and equipment ledger and comprehensive information class data; setting the priority level of a task which contains data as time adoption class data as a first priority; setting the priority level of the task with the contained data as action record class data as a second priority level; setting the priority level of the task containing the data as the equipment ledger and the comprehensive information data as a third priority level;
the set grade coefficient of the first priority grade is smaller than the grade coefficient of the second priority grade, the grade coefficient of the second priority grade is smaller than the grade coefficient of the third priority grade, and the numerical values of the grade coefficient of the first priority grade, the grade coefficient of the second priority grade and the grade coefficient of the third priority grade are used for distinguishing the priority grade of the task corresponding to each kind of data.
Optionally, the value of the total utility function of the traversal calculation task when the task is to be allocated to the virtual machine includes:
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
Optionally, before accumulating the values of the selected utility function, the method further includes:
and respectively setting corresponding weights for the utility function of the corresponding time utility of each task, and/or the utility function of the corresponding reliability utility of each resource node, and/or the utility function of the corresponding security utility of each resource node, and/or the utility function of the corresponding priority utility of each task, which are contained in the total utility function, according to a preset weight strategy.
Optionally, the method further comprises:
and sequencing all tasks submitted by the user according to the high-low sequence of the priority levels of the tasks, and calculating the total utility function of the tasks according to the sequence of the priority levels of the tasks from high to low.
Optionally, the method further includes:
and arranging the virtual machines for operating the tasks submitted by the users in an ascending order according to the size of the average execution speed (MIPS) of the single-length fixed-point instructions.
Optionally, when the task allocated to the virtual machine does not complete the operation within the operation threshold duration, the method further includes:
stopping the virtual machine from continuously calculating the tasks which are not finished in the running threshold duration, and loading the tasks which are stopped in calculation to the tail end of the priority ranking;
and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
Optionally, a greedy algorithm is used to perform traversal calculation of the total utility function corresponding to each task.
Optionally, the method further comprises:
taking the running threshold duration as a resource estimation unit, dividing the size of each task submitted by a user by a quotient obtained by the resource estimation unit, and taking the quotient as an estimation required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks submitted by the user to obtain the computer resources required by the virtual machine for creating and operating the tasks submitted by the user.
Optionally, the method further includes: and monitoring the port flow and/or the connection number of all the resource nodes so as to adjust the port flow and/or the connection number of each resource node according to a preset strategy.
On the other hand, an embodiment of the present invention further provides a device for implementing task scheduling, including: the system comprises a total utility function unit, a traversal calculation unit and a task allocation unit; wherein,
the total utility function unit is used for constructing a total utility function corresponding to each task according to a pre-established utility function of time utility corresponding to each task, and/or a utility function of reliability utility corresponding to each resource node, and/or a utility function of security utility corresponding to each resource node, and/or a utility function of priority utility corresponding to each task;
the traversal calculation unit is used for traversing and calculating the value of the total utility function of each task submitted by the user when the task is to be distributed to the virtual machine;
and the task allocation unit is used for determining the maximum value of the total utility function corresponding to each task by traversal calculation, and taking the virtual machine to which the task is to be allocated when the value of the total utility function is maximum as the virtual machine of the operation task.
Optionally, when the total utility function established by the total utility function unit includes a time utility function corresponding to each task, the time utility function corresponding to each task includes:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
when the total utility function established by the total utility function unit contains the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines contained in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of reliability utility as a base number to determine the number n of tasks allocated to the resource nodeTAnd the number n of virtual machines contained in the resource nodeMAs an index parameter, constructing a utility function of the reliability utility;
when the total utility function established by the total utility function unit contains the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node includes:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the total utility function established by the total utility function unit contains the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task includes:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
Optionally, the traversal calculation unit is specifically configured to,
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
Optionally, the apparatus further comprises a weight setting unit, configured to, before accumulating the values of each selected utility function,
and respectively setting corresponding weights for the utility function of the corresponding time utility of each task, and/or the utility function of the corresponding reliability utility of each resource node, and/or the utility function of the corresponding security utility of each resource node, and/or the utility function of the corresponding priority utility of each task, which are contained in the total utility function, according to a preset weight strategy.
Optionally, the apparatus further includes a task sorting unit, configured to sort all tasks submitted by the user according to a high-low order of priority levels of the tasks, and calculate the total utility function of the tasks according to a sequence from high to low of the task priority levels.
Optionally, the apparatus further includes a virtual machine sorting unit, configured to sort the virtual machines that calculate the tasks submitted by the user in an ascending order according to a size of a single-length fixed-point instruction average execution speed (MIPS).
Optionally, the apparatus further includes an operation adjusting unit, configured to stop the virtual machine from continuing to operate the tasks whose operations are not completed within the operation threshold duration when the tasks allocated to the virtual machine do not complete the operations within the operation threshold duration, and load the tasks whose operations are stopped to a tail end of the priority ranking; and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
Optionally, the apparatus further includes a resource obtaining unit, configured to take the running threshold duration as a resource prediction unit, and divide the size of each task submitted by the user by a quotient obtained by the resource prediction unit, as a resource required for prediction corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks submitted by the user to obtain the computer resources required by the virtual machine for creating and operating the tasks submitted by the user.
Optionally, the apparatus further includes a monitoring unit, configured to monitor port traffic and/or connection number of all the resource nodes, so as to adjust the port traffic and/or connection number of each resource node according to a preset policy.
Compared with the related art, the technical scheme of the application comprises the following steps: constructing a total utility function corresponding to each task according to a pre-established time utility function corresponding to each task, and/or a reliability utility function corresponding to each resource node, and/or a safety utility function corresponding to each resource node, and/or a priority utility function corresponding to each task; for each task submitted by a user, traversing and calculating the value of the total utility function of the task when the task is to be distributed to a virtual machine; for each task, determining the maximum value of a total utility function corresponding to the task in a traversal calculation mode, and taking a virtual machine to which the task is to be distributed when the value of the total utility function is maximum as a virtual machine of the operation task. According to the method provided by the embodiment of the invention, the task submitted by the user is scheduled according to the time effect, the reliability effect, the safety effect and the like, the requirements of the user on the time, the reliability, the safety and the like are considered, the load balance of the system is realized, and the working performance of the operation task is improved.
Other aspects will be apparent upon reading and understanding the attached drawings and detailed description.
Drawings
FIG. 1 is a flowchart of a method for implementing task scheduling according to an embodiment of the present invention;
FIG. 2 is a block diagram of an apparatus for implementing task scheduling according to an embodiment of the present invention;
fig. 3 is a flowchart of a method of an application example of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
Fig. 1 is a flowchart of a method for implementing task scheduling according to an embodiment of the present invention, as shown in fig. 1, including:
step 100, constructing a total utility function corresponding to each task according to a pre-established utility function of time utility corresponding to each task, and/or a utility function of reliability utility corresponding to each resource node, and/or a utility function of security utility corresponding to each resource node, and/or a utility function of priority utility corresponding to each task;
optionally, when the established total utility function includes a time utility function corresponding to each task, the time utility function corresponding to each task includes:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
it should be noted that the preset expected running time of the current task may be determined by receiving an external instruction after the user submits the task; the task submission time may be obtained by reading a task log or by reading system information, as is conventional to those skilled in the art.
When the established total utility function contains the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines included in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of reliability utility as a base number to determine the number n of tasks allocated to the resource nodeTAnd the number n of virtual machines contained in the resource nodeMThe reliability utility is used as an index parameter to construct a utility function of the reliability utility;
when the established total utility function comprises the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node comprises:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the established total utility function comprises the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task comprises the following steps:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
Optionally, the reliability coefficient is ri=0.9+0.1ra;
The constructed utility function of the reliability utility comprises the following steps:
wherein r isaIs uniformly distributed in [0, 1 ]]Random number of intervals.
It should be noted that the reliability coefficient can be adjusted according to actual conditions, and the reliability coefficient is used for assigning probability information whether the resource node is reliable or not, and the reliability coefficient of the method of the embodiment of the invention is only one embodiment obtained according to empirical analysis; in addition, the utility function of the reliability utility can be adjusted as long as the task number n of the resource node can be representedTAnd the number n of virtual machines included in the resource nodeMThe purpose of the utility function calculation is sufficient.
Optionally, dividing all resource nodes into two or more security levels according to a preset level policy includes:
dividing the security level of the resource node into s according to a preset level strategyiFour security levels of {1, 2, 3, 4 };
establishing a utility function for a security utility of a current resource node proportional to a security level comprises:
randomly distributing one security level s of four security levels for current resource nodei(ii) a Establishing a utility function of security utility proportional to security level according to the security level of the randomly allocated current resource node comprises: u shapei(si)=0.25si。
It should be noted that, the method of the embodiment of the present invention divides 4 security levels obtained empirically, and the division of the security levels may be adjusted according to actual applications;
optionally, the setting of the priority of the current task according to the data type included in the current task includes:
dividing data contained in the task into time adoption class data, action record class data and equipment ledger and comprehensive information class data; setting the priority level of a task which contains data as time adoption class data as a first priority; setting the priority level of the task with the contained data as action record class data as a second priority level; setting the priority level of the task containing the data as the equipment ledger and the comprehensive information data as a third priority level;
the set grade coefficient of the first priority grade is smaller than the grade coefficient of the second priority grade, the grade coefficient of the second priority grade is smaller than the grade coefficient of the third priority grade, and the numerical values of the set grade coefficient of the first priority grade, the set grade coefficient of the second priority grade and the set grade coefficient of the third priority grade are used for distinguishing the priority grade of the task corresponding to each kind of data.
It should be noted that, in the method in the embodiment of the present invention, the priority level of the task is a selectable one, and the task may be correspondingly divided according to different definitions of the priority level.
Step 101, traversing and calculating the value of a total utility function of each task submitted by a user when the task is to be distributed to a virtual machine;
optionally, in the method according to the embodiment of the present invention, traversing values of a total utility function of a calculation task when the task is to be allocated to a virtual machine includes:
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
It should be noted that the accumulation here includes: the values of each utility function selected each time are added.
Optionally, before accumulating the values of the selected utility function, the method further includes:
setting corresponding weights for establishing a time utility function corresponding to each task contained in the total utility function, and/or a reliability utility function corresponding to each resource node, and/or a security utility function corresponding to each resource node, and/or a priority utility function corresponding to each task according to a preset weight strategy;
here, the sum of the weight values of the utility functions included in the total utility function may be set to 1.
It should be noted that, the setting of the weight is mainly used for considering the factors referred to when performing task scheduling, and theoretically, when the user pays attention to the time utility, the weight of the utility function of the time utility is larger than that of other utility functions; similarly, if the user has a high requirement for reliability, the utility function of the reliability utility has a higher weight relative to other utility functions.
Optionally, a greedy algorithm is used to perform traversal calculation of the total utility function corresponding to each task.
It should be noted that the greedy algorithm is only an optional embodiment of the present invention, and if the algorithm is improved and other algorithms can implement fast traversal calculation, other algorithms may also be applied to the embodiment of the present invention.
And 102, for each task, determining the maximum value of a total utility function corresponding to the task in a traversal calculation mode, and taking a virtual machine to which the task is to be distributed when the total utility function value is maximum as a virtual machine of an operation task.
Optionally, before the method in the embodiment of the present invention, the method further includes:
and sequencing all tasks submitted by the user according to the high-low sequence of the priority levels of the tasks, and calculating the total utility function of the tasks according to the sequence of the priority levels of the tasks from high to low.
Optionally, the method in the embodiment of the present invention further includes:
and arranging the virtual machines for operating the tasks submitted by the users in an ascending order according to the size of the average execution speed (MIPS) of the single-length fixed-point instructions.
It should be noted that, for the virtual machines arranged in ascending order according to the MIPS size, the MIPS is an index for measuring the CPU performance of the virtual machines, and is used to measure the virtual machine performance, and after the virtual machines arranged in ascending order according to the MIPS, the virtual machine performance of the last column is the best; when the tasks are to be distributed to the virtual machines, the virtual machines with the best performance are subjected to the virtual distribution according to the sequence, and the value of the total utility function of the tasks is calculated on the basis.
Optionally, when the task allocated to the virtual machine does not complete the operation within the operation threshold duration, the method according to the embodiment of the present invention further includes:
stopping the tasks which are not finished in operation within the continuous operation threshold duration of the virtual machine, and loading the tasks which are stopped in operation to the tail end of the priority ranking;
and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
It should be noted that the operation threshold duration is a duration required by the general task operation determined by a person skilled in the art according to empirical analysis, and if the operation threshold duration task is not completed, it indicates that the task is a longer task, and the operation of continuing the task may affect the timely completion of the subsequent task.
Optionally, the method in the embodiment of the present invention further includes: using the operation threshold duration as the resource estimation unit,
dividing the size of each task submitted by a user by a quotient obtained by a resource estimation unit to serve as an estimation required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks to obtain the computer resources required by the virtual machine for creating and calculating the tasks submitted by the user.
It should be noted that the size of each task may be determined by the number of VCPUs, the size of the memory, and the like required for computing the task.
Optionally, the method in the embodiment of the present invention further includes: and monitoring the port flow and/or the connection number of all the resource nodes so as to adjust the port flow and/or the connection number of each resource node according to a preset strategy.
It should be noted that, the port traffic and/or the connection number of the resource node are adjusted by the resource manager, so the port traffic and/or the connection number of the resource node monitored by the method of the embodiment of the present invention may be fed back to the task manager.
The method of the embodiment of the invention can be implemented by a device for task scheduling in the related art, such as a task manager. Traversal computation of utility functions, assignment of tasks to virtual machines, and the like may be performed by a central processor of a device performing task scheduling, and related information may be stored in a storage medium.
According to the method provided by the embodiment of the invention, the task submitted by the user is scheduled according to the time effect, the reliability effect, the safety effect and the like, the requirements of the user on the time, the reliability, the safety and the like are considered, the load balance of the system is realized, and the working performance of the operation task is improved.
Fig. 2 is a block diagram of a device for implementing task scheduling according to an embodiment of the present invention, as shown in fig. 2, including: the system comprises a total utility function unit, a traversal calculation unit and a task allocation unit; wherein,
the total utility function unit is used for constructing a total utility function corresponding to each task according to a pre-established utility function of time utility corresponding to each task, and/or a utility function of reliability utility corresponding to each resource node, and/or a utility function of security utility corresponding to each resource node, and/or a utility function of priority utility corresponding to each task;
optionally, when the total utility function established by the total utility function unit includes a time utility function corresponding to each task, the time utility function corresponding to each task includes:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
when the total utility function established by the total utility function unit contains the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines included in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of reliability utility as a base number to determine the number n of tasks allocated to the resource nodeTAnd the number n of virtual machines contained in the resource nodeMThe reliability utility is used as an index parameter to construct a utility function of the reliability utility;
when the total utility function established by the total utility function unit contains the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node includes:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the total utility function established by the total utility function unit contains the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task comprises:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
The traversal calculation unit is used for traversing and calculating the value of the total utility function of each task submitted by the user when the task is to be distributed to the virtual machine;
optionally, the traversal calculation unit is specifically configured to,
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
And the task allocation unit is used for determining the maximum value of the total utility function corresponding to each task by traversal calculation, and taking the virtual machine to which the task is to be allocated when the value of the total utility function is maximum as the virtual machine of the operation task.
Optionally, the apparatus in this embodiment of the present invention further includes a weight setting unit, configured to, before accumulating the values of each selected utility function,
and respectively setting corresponding weights for establishing a time utility function corresponding to each task contained in the total utility function, and/or a reliability utility function corresponding to each resource node, and/or a safety utility function corresponding to each resource node, and/or a priority utility function corresponding to each task according to a preset weight strategy.
Optionally, the apparatus in this embodiment of the present invention further includes a task sorting unit, configured to sort all tasks submitted by the user according to a high-low order of priority levels of the tasks, and calculate a total utility function of the tasks according to a sequence from high to low priority levels of the tasks.
Optionally, the apparatus in this embodiment of the present invention further includes a virtual machine sorting unit, configured to sort, in an ascending order, the virtual machines that calculate the tasks submitted by the user according to a size of a single-length fixed-point instruction average execution speed (MIPS).
Optionally, the apparatus in this embodiment of the present invention further includes an operation adjusting unit, configured to stop the virtual machine from continuing to operate the tasks whose operations are not completed within the operation threshold duration when the tasks allocated to the virtual machine do not complete the operations within the operation threshold duration, and load the tasks whose operations are stopped to the end of the priority ranking; and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
Optionally, the apparatus in this embodiment of the present invention further includes a resource obtaining unit, configured to use the running threshold duration as a resource estimation unit, and use a quotient obtained by dividing the size of each task submitted by the user by the resource estimation unit as an estimated required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks submitted by the user to obtain the computer resources required by the virtual machine for creating and operating the tasks submitted by the user.
Optionally, the apparatus in this embodiment of the present invention further includes a monitoring unit, configured to monitor port traffic and/or connection number of all resource nodes, so as to adjust the port traffic and/or connection number of each resource node according to a preset policy.
The method of the present invention is described in detail below by way of application examples, which are only used to illustrate embodiments of the present invention and are not intended to limit the scope of the present invention.
Application example
Fig. 3 is a flowchart of an exemplary method of the present invention, as shown in fig. 3, including:
step 300, generating a task queue according to tasks submitted by a user;
step 301, determining computer resources required by a virtual machine for computing a task submitted by a user;
the application example includes:
taking the running threshold duration as a resource estimation unit, dividing the size of each task submitted by a user by a quotient obtained by the resource estimation unit, and taking the quotient as an estimation required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks to obtain the computer resources required by the virtual machine for creating and calculating the tasks submitted by the user.
It should be noted that the size of the task can be determined by the number of Virtual Central Processing Units (VCPUs), the size of the memory, and other computer hardware resources required for computing the task;
optionally, the computer resource required for operating the virtual machine to which the user submits the task may be calculated by the following formula:
wherein Q isiIndicates the size of the ith task,representing the running threshold duration, i.e. the unit of resource estimate, nTThe number of tasks submitted for the user;
step 302, creating a virtual machine according to the determined computer resources required by the virtual machine for the operation user to submit the task;
it should be noted that creating a virtual machine is a conventional technical means for those skilled in the art;
step 303, arranging the virtual machines for calculating the tasks submitted by the user in an ascending order according to the average execution speed of single-length fixed-point instructions (MIPS).
Step 304, sequencing all tasks submitted by the user according to the sequence of the priority levels of the tasks;
and 305, calculating the total utility function of the tasks according to the sequence of the task priorities from high to low.
It should be noted that, calculating a total utility function of a task requires that the task is to be allocated to a virtual machine, and determining a utility function of reliability utility of a resource node where the virtual machine to which the task is to be allocated is located and a utility function of security utility of the resource node where the virtual machine to which the task is to be allocated is located by the virtual machine to be allocated;
in the step, for each task submitted by a user, traversing and calculating the value of the total utility function of the task when the task is to be distributed to a virtual machine;
optionally, the value of the total utility function of the task when the traversal calculation task is to be allocated to the virtual machine includes:
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
It should be noted that the accumulation here includes: the values of each utility function selected each time are added. Each utility function contained in the total utility function respectively takes a value obtained by one-time calculation each time, and the traversing is carried out by adopting a combination mode, so that all values which can be obtained by the total utility function can be obtained;
and step 306, for each task, determining the maximum value of the total utility function corresponding to the task in a traversal calculation mode, and taking the virtual machine to which the task is to be distributed when the total utility function value is maximum as the virtual machine of the operation task.
Step 307, when the task allocated to the virtual machine does not finish the operation within the operation threshold duration, stopping the virtual machine from continuing to operate the task which does not finish the operation within the operation threshold duration, and loading the task which stops the operation to the tail end of the priority ranking;
and 308, after the operation of other tasks except the task of stopping operation is completed, the task of stopping operation arranged at the tail end of the priority level sequence is operated.
Step 309, releasing the virtual machine when the operation of the task submitted by the user is completed.
Optionally, the present application example further includes: and monitoring the port flow and/or the connection number of all the resource nodes so as to adjust the port flow and/or the connection number of each resource node according to a preset strategy.
It should be noted that, the port traffic and/or the connection number of the resource node are adjusted by the resource manager, so the port traffic and/or the connection number of the resource node monitored by the method of the embodiment of the present invention may be fed back to the task manager.
It will be understood by those skilled in the art that all or part of the steps of the above methods may be implemented by a program instructing associated hardware (e.g., a processor) to perform the steps, and the program may be stored in a computer readable storage medium, such as a read only memory, a magnetic or optical disk, and the like. Alternatively, all or part of the steps of the above embodiments may be implemented using one or more integrated circuits. Accordingly, each module/unit in the above embodiments may be implemented in hardware, for example, by an integrated circuit to implement its corresponding function, or in software, for example, by a processor executing a program/instruction stored in a memory to implement its corresponding function. The present invention is not limited to any specific form of combination of hardware and software. ".
Although the embodiments of the present invention have been described above, the above description is only for the convenience of understanding the present invention, and is not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (22)
1. A method for implementing task scheduling, comprising:
constructing a total utility function corresponding to each task according to a pre-established time utility function corresponding to each task, and/or a reliability utility function corresponding to each resource node, and/or a safety utility function corresponding to each resource node, and/or a priority utility function corresponding to each task;
for each task submitted by a user, traversing and calculating the value of the total utility function of the task when the task is to be distributed to a virtual machine;
for each task, determining the maximum value of a total utility function corresponding to the task in a traversal calculation mode, and taking a virtual machine to which the task is to be distributed when the value of the total utility function is maximum as a virtual machine of the operation task.
2. The method of claim 1,
when the established total utility function comprises the utility function of the time utility corresponding to each task, the utility function of the time utility corresponding to each task comprises:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
when the established total utility function comprises the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines contained in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of reliability utility as a base number to determine the number n of tasks allocated to the resource nodeTAnd the number n of virtual machines contained in the resource nodeMAs an index parameter, constructing a utility function of the reliability utility;
when the established total utility function comprises the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node comprises:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the established total utility function comprises the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task comprises:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
3. The method of claim 2,
the reliability coefficient is ri=0.9+0.1ra;
The constructed utility function of the reliability utility comprises:
wherein r isaIs uniformly distributed in [0, 1 ]]Random number of intervals.
4. The method of claim 2, wherein the dividing all resource nodes into two or more security levels according to the predetermined level policy comprises:
dividing the security level of the resource node into s according to a preset level strategyiFour security levels of {1, 2, 3, 4 };
establishing a utility function for a security utility of a current resource node proportional to a security level comprises:
randomly distributing one security level s of four security levels for current resource nodei(ii) a Establishing a utility function of security utility proportional to security level according to the security level of the randomly allocated current resource node comprises: u shapei(si)=0.25si。
5. The method of claim 2, wherein the setting the priority of the current task according to the data type contained in the current task comprises:
dividing data contained in the task into time adoption class data, action record class data and equipment ledger and comprehensive information class data; setting the priority level of a task which contains data as time adoption class data as a first priority; setting the priority level of the task with the contained data as action record class data as a second priority level; setting the priority level of the task containing the data as the equipment ledger and the comprehensive information data as a third priority level;
the set grade coefficient of the first priority grade is smaller than the grade coefficient of the second priority grade, the grade coefficient of the second priority grade is smaller than the grade coefficient of the third priority grade, and the numerical values of the grade coefficient of the first priority grade, the grade coefficient of the second priority grade and the grade coefficient of the third priority grade are used for distinguishing the priority grade of the task corresponding to each kind of data.
6. The method according to any one of claims 1 to 5, wherein traversing the value of the total utility function of a task when the task is to be assigned to a virtual machine comprises:
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
7. The method of claim 6, wherein prior to accumulating the values of the selected utility function, the method further comprises:
and respectively setting corresponding weights for the utility function of the corresponding time utility of each task, and/or the utility function of the corresponding reliability utility of each resource node, and/or the utility function of the corresponding security utility of each resource node, and/or the utility function of the corresponding priority utility of each task, which are contained in the total utility function, according to a preset weight strategy.
8. The method according to any one of claims 1 to 5, further comprising, prior to the method:
and sequencing all tasks submitted by the user according to the high-low sequence of the priority levels of the tasks, and calculating the total utility function of the tasks according to the sequence of the priority levels of the tasks from high to low.
9. The method according to any one of claims 1 to 5, further comprising: and arranging the virtual machines for operating the tasks submitted by the users in an ascending order according to the size of the average execution speed (MIPS) of the single-length fixed-point instructions.
10. The method of any one of claims 1 to 5, wherein when a task assigned to a virtual machine does not complete an operation within a running threshold length of time, the method further comprises:
stopping the virtual machine from continuously calculating the tasks which are not finished in the running threshold duration, and loading the tasks which are stopped in calculation to the tail end of the priority ranking;
and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
11. The method according to any one of claims 1 to 5, wherein a greedy algorithm is adopted to perform traversal calculation of the total utility function corresponding to each task.
12. The method according to any one of claims 1 to 5, further comprising, prior to the method:
taking the running threshold duration as a resource estimation unit, dividing the size of each task submitted by a user by a quotient obtained by the resource estimation unit, and taking the quotient as an estimation required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks submitted by the user to obtain the computer resources required by the virtual machine for creating and operating the tasks submitted by the user.
13. The method according to any one of claims 1 to 5, further comprising: and monitoring the port flow and/or the connection number of all the resource nodes so as to adjust the port flow and/or the connection number of each resource node according to a preset strategy.
14. An apparatus for implementing task scheduling, comprising: the system comprises a total utility function unit, a traversal calculation unit and a task allocation unit; wherein,
the total utility function unit is used for constructing a total utility function corresponding to each task according to a pre-established utility function of time utility corresponding to each task, and/or a utility function of reliability utility corresponding to each resource node, and/or a utility function of security utility corresponding to each resource node, and/or a utility function of priority utility corresponding to each task;
the traversal calculation unit is used for traversing and calculating the value of the total utility function of each task submitted by the user when the task is to be distributed to the virtual machine;
and the task allocation unit is used for determining the maximum value of the total utility function corresponding to each task by traversal calculation, and taking the virtual machine to which the task is to be allocated when the value of the total utility function is maximum as the virtual machine of the operation task.
15. The apparatus of claim 14,
when the total utility function established by the total utility function unit contains the utility function of the time utility corresponding to each task, the utility function of the time utility corresponding to each task includes:
calculating the time difference between the preset expected running time of the current task and the task submitting time, and taking the time difference obtained by calculation as a task execution deadline; determining that the utility function value of the time utility is 1 when the task is completed within the task execution time limit; determining that the utility function value of the time utility is 0 when the task is not completed within the task execution deadline;
when the total utility function established by the total utility function unit contains the utility function of the reliability utility corresponding to each resource node, the utility function of the reliability utility of the resource node corresponding to each resource node comprises:
determining the number of tasks n allocated to a resource nodeTAnd the number n of virtual machines contained in the resource nodeM(ii) a Using a preset reliability coefficient as a utility function of reliability utility as a base number to determine the number n of tasks allocated to the resource nodeTAnd the number n of virtual machines contained in the resource nodeMAs an index parameter, constructing a utility function of the reliability utility;
when the total utility function established by the total utility function unit contains the utility function of the security utility corresponding to each resource node, the utility function of the security utility of the resource node corresponding to each resource node includes:
dividing all resource nodes into two or more security levels according to a preset level strategy; randomly distributing a security level from two or more than two divided security levels for the current resource node;
establishing a utility function of the security utility of the current resource node, which is in direct proportion to the security level, according to the security level randomly allocated to the current resource node;
when the total utility function established by the total utility function unit contains the utility function of the priority utility corresponding to each task, the utility function of the priority utility corresponding to each task includes:
setting the priority of the current task according to the data type contained in the current task; setting a grade coefficient corresponding to each priority grade according to the set priority grade of the current task, and taking the set grade coefficient as a utility function of the priority utility of the current task;
the grade coefficient is used for distinguishing the priority of the task corresponding to each kind of data;
the reliability coefficient is a number greater than 0 and less than 1.
16. The apparatus according to claim 11 or 15, wherein the traversal calculation unit is specifically configured to,
for each task submitted by a user, calculating all values of a utility function of time utility corresponding to the task, and/or all values of a utility function of reliability utility of a resource node where a virtual machine is located and/or all values of a utility function of security utility of a resource node where a virtual machine is located and/or all values of a utility function of priority utility;
selecting one value of all values of the utility function of each category when calculating the total utility function each time according to a combination mode for the utility function of each category contained in the total utility function;
and accumulating the values of each selected utility function for all combinations selected according to the combination mode to obtain the value of the total utility function.
17. The apparatus of claim 16, further comprising a weighting unit configured to, prior to accumulating the values of each selected utility function,
and respectively setting corresponding weights for the utility function of the corresponding time utility of each task, and/or the utility function of the corresponding reliability utility of each resource node, and/or the utility function of the corresponding security utility of each resource node, and/or the utility function of the corresponding priority utility of each task, which are contained in the total utility function, according to a preset weight strategy.
18. The apparatus according to claim 14 or 15, further comprising a task sorting unit for sorting all the tasks submitted by the user in the order of the priority levels of the tasks, wherein the overall utility function of the tasks is calculated according to the order of the priority levels of the tasks from high to low.
19. The apparatus of claim 14 or 15, further comprising a virtual machine sorting unit for sorting virtual machines for computing a task submitted by a user in an ascending order of magnitude of a single-length fixed point instruction average execution speed (MIPS).
20. The apparatus according to claim 14 or 15, further comprising a calculation adjusting unit, configured to, when a task assigned to a virtual machine does not complete a calculation within a running threshold duration, stop the virtual machine from continuing to calculate tasks that do not complete a calculation within the running threshold duration, and load the tasks whose calculation is stopped to an end of the priority ranking; and after the operation of other tasks except the task of stopping the operation is finished, the task of stopping the operation arranged at the tail end of the priority level sequence is operated.
21. The apparatus according to claim 14 or 15, further comprising a resource obtaining unit, configured to take a running threshold duration as a resource pre-estimation unit, and take a quotient obtained by dividing a size of each task submitted by a user by the resource pre-estimation unit as a pre-estimation required resource corresponding to the task;
and accumulating the pre-estimated required resources corresponding to all the tasks submitted by the user to obtain the computer resources required by the virtual machine for creating and operating the tasks submitted by the user.
22. The apparatus according to claim 14 or 15, further comprising a monitoring unit, configured to monitor port traffic and/or a connection number of all the resource nodes, so as to adjust the port traffic and/or the connection number of each resource node according to a preset policy.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610181930.0A CN107239336B (en) | 2016-03-28 | 2016-03-28 | Method and device for realizing task scheduling |
| PCT/CN2017/076934 WO2017167025A1 (en) | 2016-03-28 | 2017-03-16 | Method and device for realizing task scheduling, and computer storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610181930.0A CN107239336B (en) | 2016-03-28 | 2016-03-28 | Method and device for realizing task scheduling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN107239336A true CN107239336A (en) | 2017-10-10 |
| CN107239336B CN107239336B (en) | 2022-09-09 |
Family
ID=59963418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610181930.0A Active CN107239336B (en) | 2016-03-28 | 2016-03-28 | Method and device for realizing task scheduling |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN107239336B (en) |
| WO (1) | WO2017167025A1 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107885589A (en) * | 2017-11-22 | 2018-04-06 | 链家网(北京)科技有限公司 | A kind of job scheduling method and device |
| CN108287666A (en) * | 2018-01-16 | 2018-07-17 | 中国人民公安大学 | Date storage method and device for cloud storage environment |
| CN108920269A (en) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | The dispatching method and device of the I/O transformation task of container |
| CN111143037A (en) * | 2019-12-31 | 2020-05-12 | 联想(北京)有限公司 | Virtual machine resource allocation method, equipment, system and storage medium |
| CN113992691A (en) * | 2021-12-24 | 2022-01-28 | 苏州浪潮智能科技有限公司 | Method, device and equipment for distributing edge computing resources and storage medium |
| CN114217929A (en) * | 2021-12-16 | 2022-03-22 | 贝壳找房网(北京)信息技术有限公司 | Task distribution method, storage medium, and computer program product |
| CN115168017A (en) * | 2022-09-08 | 2022-10-11 | 天云融创数据科技(北京)有限公司 | Task scheduling cloud platform and task scheduling method thereof |
| CN115686865A (en) * | 2022-11-18 | 2023-02-03 | 天河超级计算淮海分中心 | Super-computation node resource allocation system based on multi-scenario application |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108595249A (en) * | 2018-05-02 | 2018-09-28 | 联想(北京)有限公司 | A kind of virtual machine method for scheduling task and electronic equipment |
| CN110008026A (en) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | Job scheduling method, device, terminal and medium based on extra budget equal share |
| CN110717662B (en) * | 2019-09-27 | 2022-10-28 | 苏州达家迎信息技术有限公司 | Task allocation method, device, equipment and storage medium |
| CN111124832A (en) * | 2019-12-25 | 2020-05-08 | 青梧桐有限责任公司 | Data monitoring method and device, electronic equipment and storage medium |
| CN111309373B (en) * | 2020-01-19 | 2023-10-17 | 北京戴纳实验科技有限公司 | Method for flexibly configuring personage rights, business processes and roles |
| CN111585818B (en) * | 2020-05-11 | 2021-05-04 | 苏州乐米凡电气科技有限公司 | A system and method for user information allocation coefficient based on quality of service |
| CN112130978A (en) * | 2020-09-29 | 2020-12-25 | 中国船舶重工集团公司第七二四研究所 | Unmanned platform-borne multifunctional radar task comprehensive priority calculation method |
| CN113760493B (en) * | 2020-11-05 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | Job scheduling method and device |
| CN112954022A (en) * | 2020-12-29 | 2021-06-11 | 广东电网有限责任公司电力科学研究院 | Multi-concurrency real-time communication method and device based on intelligent substation |
| CN112732437B (en) * | 2020-12-30 | 2023-08-22 | 科来网络技术股份有限公司 | Efficient dynamic equilibrium distributed task scheduling method and system |
| CN117687873B (en) * | 2023-12-20 | 2024-04-30 | 中安华邦(北京)安全生产技术研究院股份有限公司 | AI-based safety information construction method and system |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101692208A (en) * | 2009-10-15 | 2010-04-07 | 北京交通大学 | Task scheduling method and task scheduling system for processing real-time traffic information |
| CN102780759A (en) * | 2012-06-13 | 2012-11-14 | 合肥工业大学 | Cloud computing resource scheduling method based on scheduling object space |
| CN102904963A (en) * | 2012-10-25 | 2013-01-30 | 上海电机学院 | A management method and system for cloud service based on cloud model |
| CN103218737A (en) * | 2013-04-19 | 2013-07-24 | 湖南大学 | Multi-dimensional resource pricing method in mobile cloud computing environment based on bilateral market |
| US8875143B2 (en) * | 2009-12-31 | 2014-10-28 | Bmc Software, Inc. | Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment |
| CN104143042A (en) * | 2014-06-28 | 2014-11-12 | 中国人民解放军国防科学技术大学 | A Decision-Making Method for Agile Satellite Earth Observation Mission Preprocessing Scheme |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060168587A1 (en) * | 2005-01-24 | 2006-07-27 | Shahzad Aslam-Mir | Interoperable communications apparatus and method |
| CN103699446B (en) * | 2013-12-31 | 2017-02-15 | 南京信息工程大学 | Quantum-behaved particle swarm optimization (QPSO) algorithm based multi-objective dynamic workflow scheduling method |
-
2016
- 2016-03-28 CN CN201610181930.0A patent/CN107239336B/en active Active
-
2017
- 2017-03-16 WO PCT/CN2017/076934 patent/WO2017167025A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101692208A (en) * | 2009-10-15 | 2010-04-07 | 北京交通大学 | Task scheduling method and task scheduling system for processing real-time traffic information |
| US8875143B2 (en) * | 2009-12-31 | 2014-10-28 | Bmc Software, Inc. | Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment |
| CN102780759A (en) * | 2012-06-13 | 2012-11-14 | 合肥工业大学 | Cloud computing resource scheduling method based on scheduling object space |
| CN102904963A (en) * | 2012-10-25 | 2013-01-30 | 上海电机学院 | A management method and system for cloud service based on cloud model |
| CN103218737A (en) * | 2013-04-19 | 2013-07-24 | 湖南大学 | Multi-dimensional resource pricing method in mobile cloud computing environment based on bilateral market |
| CN104143042A (en) * | 2014-06-28 | 2014-11-12 | 中国人民解放军国防科学技术大学 | A Decision-Making Method for Agile Satellite Earth Observation Mission Preprocessing Scheme |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107885589A (en) * | 2017-11-22 | 2018-04-06 | 链家网(北京)科技有限公司 | A kind of job scheduling method and device |
| CN108287666A (en) * | 2018-01-16 | 2018-07-17 | 中国人民公安大学 | Date storage method and device for cloud storage environment |
| CN108287666B (en) * | 2018-01-16 | 2021-01-26 | 中国人民公安大学 | Data storage method and device for cloud storage environment |
| CN108920269A (en) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | The dispatching method and device of the I/O transformation task of container |
| CN111143037A (en) * | 2019-12-31 | 2020-05-12 | 联想(北京)有限公司 | Virtual machine resource allocation method, equipment, system and storage medium |
| CN111143037B (en) * | 2019-12-31 | 2023-11-21 | 联想(北京)有限公司 | Virtual machine resource allocation method, device, system and storage medium |
| CN114217929A (en) * | 2021-12-16 | 2022-03-22 | 贝壳找房网(北京)信息技术有限公司 | Task distribution method, storage medium, and computer program product |
| CN113992691A (en) * | 2021-12-24 | 2022-01-28 | 苏州浪潮智能科技有限公司 | Method, device and equipment for distributing edge computing resources and storage medium |
| CN115168017A (en) * | 2022-09-08 | 2022-10-11 | 天云融创数据科技(北京)有限公司 | Task scheduling cloud platform and task scheduling method thereof |
| CN115686865A (en) * | 2022-11-18 | 2023-02-03 | 天河超级计算淮海分中心 | Super-computation node resource allocation system based on multi-scenario application |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017167025A1 (en) | 2017-10-05 |
| CN107239336B (en) | 2022-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107239336B (en) | Method and device for realizing task scheduling | |
| US20200287961A1 (en) | Balancing resources in distributed computing environments | |
| CN106233276B (en) | Coordinated Admission Control for Network Accessible Block Storage Devices | |
| US10089140B2 (en) | Dynamically adaptive, resource aware system and method for scheduling | |
| CN108009016B (en) | A resource load balancing control method and cluster scheduler | |
| CN106790726B (en) | Priority queue dynamic feedback load balancing resource scheduling method based on Docker cloud platform | |
| CN112988390B (en) | Computing power resource allocation method and device | |
| US9218213B2 (en) | Dynamic placement of heterogeneous workloads | |
| CN102185779B (en) | Method and device for realizing data center resource load balance in proportion to comprehensive allocation capability | |
| CN112153700A (en) | A network slice resource management method and device | |
| CN102780759A (en) | Cloud computing resource scheduling method based on scheduling object space | |
| CN108924214A (en) | A kind of load-balancing method of computing cluster, apparatus and system | |
| CN112817728A (en) | Task scheduling method, network device and storage medium | |
| CN115167984B (en) | Virtual machine load balancing placement method considering physical resource competition based on cloud computing platform | |
| Monil et al. | QoS-aware virtual machine consolidation in cloud datacenter | |
| CN107562537A (en) | A kind of cloud computing method for scheduling task based on gravitation search | |
| CN119557067A (en) | Method, device and storage medium for collaborative scheduling of computing resources in multi-cloud scenarios | |
| CN120429109A (en) | Distributed computing power scheduling method and system based on dynamic load balancing | |
| CN103997515A (en) | Distributed cloud computing center selection method and application thereof | |
| Li et al. | PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters | |
| CN107203256B (en) | Energy-saving distribution method and device under network function virtualization scene | |
| Kumar et al. | Load balancing algorithm to minimize the makespan time in cloud environment | |
| CN113568759B (en) | Cloud computing-based big data processing method and system | |
| CN119094475A (en) | A data center network bandwidth allocation and traffic optimization method based on spatial game | |
| WO2024181010A1 (en) | Information processing device, information processing method, and program |
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 |