CN108108225B - A kind of method for scheduling task towards cloud computing platform - Google Patents
A kind of method for scheduling task towards cloud computing platform Download PDFInfo
- Publication number
- CN108108225B CN108108225B CN201711340244.4A CN201711340244A CN108108225B CN 108108225 B CN108108225 B CN 108108225B CN 201711340244 A CN201711340244 A CN 201711340244A CN 108108225 B CN108108225 B CN 108108225B
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- father
- indicate
- cloud computing
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
The present invention provides a kind of method for scheduling task towards cloud computing platform, comprising: the static priority of each node task is successively calculated in all task nodes in traversal DAG figure;Task is arranged according to static priority descending, task is sequentially placed into task priority queue;For each task in task priority queue, as long as in the case that capable of shifting to an earlier date the Starting Executing Time of current task, and being scheduled for task is not delayed, just replicating father's task of current task, and crucial father's task of current task is not only replicated.Relative to traditional algorithm, it is advanced by the incipient stage of Task Duplication, first Task Duplication, then reselection virtual machine, enables task that it to be made to complete to execute on most fast virtual machine, keep the selection of virtual machine more reasonable.Load balance is considered in the choice phase of virtual machine, the good load equilibrium of cloud computing system is realized, improves the resource utilization of cloud computing system.
Description
Technical field
The invention belongs to cloud computing task scheduling technique fields, and in particular to a kind of task schedule towards cloud computing platform
Method.
Background technique
As a business prototype, how effectively cloud computing needs to handle the set of tasks that a large amount of user group submits,
It is a most important problem that these tasks are dispatched on ground.Cloud computing task scheduling strategy be the key that decision systems performance because
The important guarantee of element and cloud computing service quality.One good method for scheduling task should be able to reduce total execution time of task,
Improve the resource utilization of virtual machine;The load balance that system should be able to be taken into account in task scheduling process, rationally and effectively utilizes
Computing resource, it is ensured that user demand is responded within a short period of time, improves the utilization rate of resource.
For Independent Task Scheduling, the theory and method of some maturations has been widely used, however about inter-related task
Scheduling problem be still one of research hotspot both domestic and external.The scheduling strategy and application angle of current existing classic algorithm
It is different.
List scheduling method in heuritic approach is widely used due to designing simple and easy to accomplish.List scheduling side
The basic thought of method is: constructing task schedule list by distributing one priority of each task, then successively takes out each appoint
Each processor is distributed in business, is kept the Starting Executing Time of current task or deadline earliest, but is not accounted for task
Communication overhead between the concurrency and processor of execution.
HEFT algorithm is the list scheduling method based on insertion, is limited without departing from the priority between task
Task is inserted into and goes to execute in the free time between the task that two have been scheduled, HEFT algorithm is according to from current task
The priority of calculating task is gone to the critical path depth to end task, this method is fairly simple, but is easily trapped into part
It is optimal, and without using Task Duplication technology, hardly result in shorter scheduling time.
HCPFD and HNDP method incorporates list scheduling and Task Duplication technology, and HCPFD only considers to replicate crucial father's task,
HNDP method not only considers to replicate crucial father's task, but also considers to replicate father's task of crucial father's task, shifts to an earlier date as early as possible
At the beginning of current task.However, HCPFD and HNDP method all without effectively dispatch non-critical path on task, because
This affects the overall performance of task schedule.
DDS method, will be crucial under the premise of without prejudice to the constraint relationship between task using the thought optimized afterwards is first dispatched
The free time section that task is dispatched to processor as far as possible goes to run, so as to shorten the execution time of all tasks.But it should
Algorithm does not account for the communication overhead between the key task in different processor, does not account for the load balance of system yet.
Therefore, it is to minimum task schedule length and rationally sharp to be unable to satisfy people for existing all kinds of method for scheduling task
With the demand of virtual resource.
Summary of the invention
In view of the defects existing in the prior art, the present invention provides a kind of method for scheduling task towards cloud computing platform, can
Effectively solve the above problems.
The technical solution adopted by the invention is as follows:
The present invention provides a kind of method for scheduling task towards cloud computing platform, comprising the following steps:
Step 1, initialization task scheduling queue calculates the static priority of each task, according to static priority descending
Task is sequentially placed into task priority queue by arrangement task;
It specifically includes:
Building task DAG figure;DAG figure is made of four-tuple G=(T, E, W, C), and each member definition is as follows:
(1) T indicates the set of tasks in DAG figure, shares n task, T={ T1,T2,…,Tn};
(2) E={ Ei,j|Ti,Tj∈ T } indicate intertask communication side set, Ei,jIt indicates from task TiTo task TjOne
Directed edge;
(3) W is a n*m matrix, indicates that the execution time on m virtual machine, m are that virtual machine is total to n task respectively
Quantity;Virtual machine set P is indicated are as follows: P={ P1,P 2,…,P m};
W(Ti,Pk) indicate task TiIn virtual machine PkOn runing time, Pk∈P;According to formula (1) calculating task Ti's
Average operating time
(4) C is the communication overhead between task, C (Ei,j) indicate directed edge Ei,jOn communication overhead.Assuming that when two tasks
When being assigned on same virtual machine, the communication overhead between task is 0;
(5) task TiPredecessor task set pred (Ti) indicate are as follows: pred (Ti)={ Te|Ee,i∈E};
Task TiSubsequent tasks set succ (Ti) indicate are as follows: succ (Ti)={ Ts|Ei,s∈E};
(6) assume only one starting point in DAG figure, use TstartIt indicates;Only one terminal TendIt indicates;
(7) each task T in DAG figure is calculated according to following formula (2)iStatic priority rank (Ti):
With TendStart node as calculating, with TstartAs end node is calculated, according to from bottom to top, same layer from a left side to
Right principle traverses all task nodes in DAG figure, the static priority of each node task is successively calculated;
Step 2, i=1 is enabled;
Step 3, task T is selectedi;
Step 4, k=1 is enabled;
Step 5, according to formula (3) calculating task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)):
Wherein:
Task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)) refer to: task TiAll predecessor tasks all
It is executed, and virtual machine PkReceive task TiAll predecessor tasks implementing result when, task TiIt can be in PkOn open
Begin the time run:
ava(Pk) indicate virtual machine PkStarting pot life, refer to virtual machine PkReady time or be assigned to recently virtual
Machine PkOn task TiDeadline, indicate are as follows: ava (Pk)=0 or ava (Pk)=ct (Ti,Pk);
ct(Te,Px) indicate task TiPredecessor task remove virtual machine PkWhen outer other correspond to the completion on virtual machines
Between;
Step 6, by task TiFather's task node according to static priority value descending arrange, construction obtain father's task team
Column;F is father's task node quantity in father's task queue;Father's task queue Ti 0It indicates are as follows: Ti 0={ Ti-1 0,Ti-2 0,…,Ti-F 0};
Wherein, Ti-1 0Expression task TiFather's task queue in the highest task of static priority;Ti-2 0Expression task TiFather's task team
The high task of Static prioritization level in column;Ti-F 0Expression task TiFather's task queue in the minimum task of static priority;Father appoints
Be engaged in queue Ti 0In any one father's task presentation be Ti-f 0;
Step 7, f=1 is enabled;
Step 8, virtual machine P is calculated according to formula (5)kRelative to task TiFree time slot (Ti,Pk);Wherein, empty
Quasi- machine PkFree time refer to virtual machine PkIt has been in ready state, but task TiNeed to wait the execution knot of its predecessor task
Fruit;
slot(Ti,Pk)=st (Ti,Pk)-ava(Pk) (5)
Step 9, judge TiFather's task Ti-f 0Whether following rule: 1) slot (T is meti,Pk)≥W(Ti-f 0,Pk) and
ct(Qf,Pk) < st (Ti,Pk);And father's task Ti-f 0Not in virtual machine PkOn executed;Wherein, W (Ti-f 0,Pk) represent father
Task Ti-f 0In virtual machine PkOn runing time;ct(Qf,Pk) indicate father's task Ti-f 0In virtual machine PkOn deadline;
If it is satisfied, then duplication Ti-f 0To virtual machine PkFree time slot (Ti,Pk) on, update current task TiOpen
Begin to execute time (st (Ti,Pk)) and virtual machine PkFree time slot (Ti,Pk);If conditions are not met, executing step 10;
Step 10, f=f+1 is enabled;Judge whether f is greater than F, if it is greater, then executing step 11;If it is not greater, then returning
Receipt row step 9;
Step 11, task TiIn virtual machine PkOn deadline be equal to task TiStarting Executing Time add task Ti
The execution time, it may be assumed that according to formula (4) calculate TiIn PkOn deadline (ct (Ti,Pk)):
ct(Ti,Pk)=st (Ti,Pk)+W(Ti,Pk) (4)
Step 12, k=k+1 is enabled;Judge whether k is greater than m, if it is greater, then executing step 13;If it is not greater, then returning
Receipt row step 5;
Step 13, the virtual machine load balancing criteria deviation L of cloud computing system is calculatedk;
Step 14, task T is distributed according to user demandiTo ct (Ti,Pk)+LkIt is worth small virtual machine to execute up;
Step 15, i=i+1 is enabled;Judge whether i is greater than n, if it is greater, then executing step 16;If it is not greater, then returning
Receipt row step 3;
Step 16, the virtual machine that each task is distributed is exported;Distributed correspondence task is executed by virtual machine.
Preferably, step 13 specifically includes the following steps:
Step 13.1, virtual machine P is calculated according to formula (6)kLoad weight load (Pk):
load(Pk)=w1·r_cpu+w2·r_mem+w3·r_bw (6)
Wherein: r_cpu indicates that cpu busy percentage, r_mem indicate memory usage, and r_bw indicates network bandwidth utilization factor;w1
+w2+w3=1, w1,w2,w3Respectively indicate CPU, memory, bandwidth impact factor;
Step 13.2, the virtual machine average load load of cloud computing system is calculated according to formula (7)ave:
Wherein: load (Pk) indicate virtual machine PkLoad value;
Step 13.3, the virtual machine load balancing criteria deviation L of cloud computing system is calculated according to formula (8)k:
Thus the virtual machine load balancing criteria deviation L of cloud computing system is obtainedk。
A kind of method for scheduling task towards cloud computing platform provided by the invention has the advantage that
(1) as long as the feelings that capable of shifting to an earlier date the Starting Executing Time of current task, and being scheduled for task is not delayed
Under condition, father's task of current task is just replicated, and not only replicates crucial father's task of current task.This method maximally shifts to an earlier date
At the beginning of current task, to be advanced by the deadline of all tasks.
(2) relative to traditional algorithm, it is advanced by the incipient stage of Task Duplication.First Task Duplication, then reselection is virtual
Machine enables task that it to be made to complete to execute on most fast virtual machine, keeps the selection of virtual machine more reasonable.
(3) calculation formula for having modified task priority makes the dispatching method be not easy to fall into local optimum.
(4) load balance is considered in the choice phase of virtual machine, realizes the good load equilibrium of cloud computing system,
Improve the resource utilization of cloud computing system.
Detailed description of the invention
Fig. 1 is a kind of flow diagram of the method for scheduling task towards cloud computing platform provided by the invention.
Fig. 2 is the schematic diagram of task DAG figure.
Specific embodiment
In order to which the technical problems, technical solutions and beneficial effects solved by the present invention is more clearly understood, below in conjunction with
Accompanying drawings and embodiments, the present invention will be described in further detail.It should be appreciated that specific embodiment described herein only to
It explains the present invention, is not intended to limit the present invention.
For convenience of understanding the present invention, rudimentary knowledge is introduced first:
Cloud computing is that a kind of novel business that computing resource is managed collectively and is distributed unitedly calculates mode.Cloud computing
After being virtualized with telescopic, dynamic, dispersion computing resource, it is supplied to user in a manner of payment, uses
Family only needs to submit task to cloud computing center, cloud computing center will according to the corresponding computing resource of demand assignment of task come
Execute these tasks.
Task schedule is the process that cloud computing center assigns the task to computing resource.The task amount faced due to cloud computing
Very huge, computing resource has the factors such as isomerism and dynamic again in cloud, these factors become cloud computing task schedule
Must be more complicated, task schedule is one of core technology of cloud computing.
Key point of the invention is that the comprehensive of Task Duplication and list scheduling technology uses, when by free time using virtual machine
Between replicate current task predecessor task, as far as possible reduction current task and its all father's task between communication overhead, be advanced by
The Starting Executing Time of current task;When selecting virtual machine, the earliest finish time of current task is not only considered, it is also considered that
The load balance of cloud computing system.
Feature of the present invention is as follows:
(1) as long as the feelings that capable of shifting to an earlier date the Starting Executing Time of current task, and being scheduled for task is not delayed
Under condition, father's task of current task is just replicated, and not only replicates crucial father's task of current task.This method maximally shifts to an earlier date
At the beginning of current task, to be advanced by the deadline of general assignment.
(2) relative to traditional algorithm, it is advanced by the incipient stage of Task Duplication.First Task Duplication, then reselection is virtual
Machine enables task that it to be made to complete to execute on most fast virtual machine, keeps the selection of virtual machine more reasonable.
(3) load balance is considered in the choice phase of virtual machine, realizes good load equilibrium, improve cloud meter
The resource utilization of calculation system.
With reference to Fig. 1, the present invention provides a kind of method for scheduling task towards cloud computing platform, is under a kind of cloud computing environment
Improvement method for scheduling task based on priority list and Task Duplication technology, comprising the following steps:
Step 1, initialization task scheduling queue calculates the static priority of each task, according to static priority descending
Task is sequentially placed into task priority queue by arrangement task;
It specifically includes:
Building task DAG figure;As shown in Fig. 2, being a kind of DAG figure specific example;DAG figure is by four-tuple G=(T, E, W, C)
It constitutes, each member definition is as follows:
(1) T indicates the set of tasks in DAG figure, shares n task, T={ T1,T2,…,Tn};For example, in Fig. 2, altogether
There are 12 tasks;
(2) E={ Ei,j|Ti,Tj∈ T } indicate intertask communication side set, Ei,jIt indicates from task TiTo task TjOne
Directed edge;For example, in Fig. 2, task T1To task T2A directed edge be E1,2;
(3) W is a n*m matrix, indicates that the execution time on m virtual machine, m are that virtual machine is total to n task respectively
Quantity;Virtual machine set P is indicated are as follows: P={ P1,P 2,…,P m};
W(Ti,Pk) indicate task TiIn virtual machine PkOn runing time, Pk∈P;According to formula (1) calculating task Ti's
Average operating time
(4) C is the communication overhead between task, C (Ei,j) indicate directed edge Ei,jOn communication overhead.Assuming that when two tasks
When being assigned on same virtual machine, the communication overhead between task is 0;For example, in Fig. 2, if task T1With task T2Not by
It assigns on same virtual machine, then task T1To task T2Communication overhead C (E1,2) it is 5;
(5) task TiPredecessor task set pred (Ti) indicate are as follows: pred (Ti)={ Te|Ee,i∈E};For example, in Fig. 2
In, task T5Predecessor task set pred (T5) it is task T2With task T3;In the present invention, before predecessor task is each meant directly
Drive task;
Task TiSubsequent tasks set succ (Ti) indicate are as follows: succ (Ti)={ Ts|Ei,s∈E};For example, in Fig. 2,
Task T5Subsequent tasks set succ (T5) it is task T7With task T10;In the present invention, subsequent tasks each mean that immediate successor is appointed
Business;
(6) assume only one starting point in DAG figure, use TstartIt indicates;Only one terminal TendIt indicates;For example, scheming
In 2, TstartAs task T1;TendAs task T12;
(7) each task T in DAG figure is calculated according to following formula (2)iStatic priority rank (Ti):
With TendStart node as calculating, with TstartAs end node is calculated, according to from bottom to top, same layer from a left side to
Right principle traverses all task nodes in DAG figure, the static priority of each node task is successively calculated;
Step 2, i=1 is enabled;
Step 3, task T is selectedi;
Step 4, k=1 is enabled;
Step 5, according to formula (3) calculating task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)):
Wherein:
Task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)) refer to: task TiAll predecessor tasks all
It is executed, and virtual machine PkReceive task TiAll predecessor tasks implementing result when, task TiIt can be in PkOn open
Begin the time run:
ava(Pk) indicate virtual machine PkStarting pot life, refer to virtual machine PkReady time or be assigned to recently virtual
Machine PkOn task TiDeadline, indicate are as follows: ava (Pk)=0 or ava (Pk)=ct (Ti,Pk);Wherein, if virtually
Machine PkCurrently empty spare time state, then ava (Pk) it is virtual machine PkReady time, being worth is 0;If virtual machine PkIt is currently non-
Idle state, then ava (Pk) it is to be assigned to virtual machine P recentlykOn task TiDeadline.
ct(Te,Px) indicate task TiPredecessor task remove virtual machine PkWhen outer other correspond to the completion on virtual machines
Between;
Step 6, by task TiFather's task node according to static priority value descending arrange, construction obtain father's task team
Column;F is father's task node quantity in father's task queue;Father's task queue Ti 0It indicates are as follows: Ti 0={ Ti-1 0,Ti-2 0,…,Ti-F 0};
Wherein, Ti-1 0Expression task TiFather's task queue in the highest task of static priority;Ti-2 0Expression task TiFather's task team
The high task of Static prioritization level in column;Ti-F 0Expression task TiFather's task queue in the minimum task of static priority;Father appoints
Be engaged in queue Ti 0In any one father's task presentation be Ti-f 0;
Step 7, f=1 is enabled;
Step 8, virtual machine P is calculated according to formula (5)kRelative to task TiFree time slot (Ti,Pk);Wherein, empty
Quasi- machine PkFree time refer to virtual machine PkIt has been in ready state, but task TiNeed to wait the execution knot of its predecessor task
Fruit;
slot(Ti,Pk)=st (Ti,Pk)-ava(Pk) (5)
Step 9, judge TiFather's task Ti-f 0Whether following rule: 1) slot (T is meti,Pk)≥W(Ti-f 0,Pk) and
ct(Qf,Pk) < st (Ti,Pk);And father's task Ti-f 0Not in virtual machine PkOn executed;Wherein, W (Ti-f 0,Pk) represent father
Task Ti-f 0In virtual machine PkOn runing time;ct(Qf,Pk) indicate father's task Ti-f 0In virtual machine PkOn deadline;
If it is satisfied, then duplication Ti-f 0To virtual machine PkFree time slot (Ti,Pk) on, update current task TiOpen
Begin to execute time (st (Ti,Pk)) and virtual machine PkFree time slot (Ti,Pk);If conditions are not met, executing step 10;
Step 10, f=f+1 is enabled;Judge whether f is greater than F, if it is greater, then executing step 11;If it is not greater, then returning
Receipt row step 9;
Step 11, task TiIn virtual machine PkOn deadline be equal to task TiStarting Executing Time add task Ti
The execution time, it may be assumed that according to formula (4) calculate TiIn PkOn deadline (ct (Ti,Pk)):
ct(Ti,Pk)=st (Ti,Pk)+W(Ti,Pk) (4)
Step 12, k=k+1 is enabled;Judge whether k is greater than m, if it is greater, then executing step 13;If it is not greater, then returning
Receipt row step 5;
Step 13, the virtual machine load balancing criteria deviation L of cloud computing system is calculatedk;
This step specifically includes the following steps:
Step 13.1, virtual machine P is calculated according to formula (6)kLoad weight load (Pk):
load(Pk)=w1·r_cpu+w2·r_mem+w3·r_bw (6)
Wherein: r_cpu indicates that cpu busy percentage, r_mem indicate memory usage, and r_bw indicates network bandwidth utilization factor;w1
+w2+w3=1, w1,w2,w3Respectively indicate CPU, memory, bandwidth impact factor;
Step 13.2, the virtual machine average load load of cloud computing system is calculated according to formula (7)ave:
Wherein: load (Pk) indicate virtual machine PkLoad value;
Step 13.3, the virtual machine load balancing criteria deviation L of cloud computing system is calculated according to formula (8)k:
Thus the virtual machine load balancing criteria deviation L of cloud computing system is obtainedk。
Step 14, task T is distributed according to user demandiTo ct (Ti,Pk)+LkIt is worth small virtual machine to execute up;
Step 15, i=i+1 is enabled;Judge whether i is greater than n, if it is greater, then executing step 16;If it is not greater, then returning
Receipt row step 3;
Step 16, the virtual machine that each task is distributed is exported;Distributed correspondence task is executed by virtual machine.
Conventional method is compared, the present invention has following advantage:
(1) as long as the feelings that capable of shifting to an earlier date the Starting Executing Time of current task, and being scheduled for task is not delayed
Under condition, father's task of current task is just replicated, and not only replicates crucial father's task of current task.This method maximally shifts to an earlier date
At the beginning of current task, to be advanced by the deadline of all tasks.
(2) relative to traditional algorithm, it is advanced by the incipient stage of Task Duplication.First Task Duplication, then reselection is virtual
Machine enables task that it to be made to complete to execute on most fast virtual machine, keeps the selection of virtual machine more reasonable.
(3) calculation formula for having modified task priority makes the dispatching method be not easy to fall into local optimum.
(4) load balance is considered in the choice phase of virtual machine, realizes the good load equilibrium of cloud computing system,
Improve the resource utilization of cloud computing system.
The above is only a preferred embodiment of the present invention, it is noted that for the ordinary skill people of the art
For member, various improvements and modifications may be made without departing from the principle of the present invention, these improvements and modifications are also answered
Depending on protection scope of the present invention.
Claims (2)
1. a kind of method for scheduling task towards cloud computing platform, which comprises the following steps:
Step 1, initialization task scheduling queue calculates the static priority of each task, arranges according to static priority descending
Task is sequentially placed into task priority queue by task;
It specifically includes:
Building task DAG figure;DAG figure is made of four-tuple G=(T, E, W, C), and each member definition is as follows:
(1) T indicates the set of tasks in DAG figure, shares n task, T={ T1,T2,…,Tn};
(2) E={ Ei,j|Ti,Tj∈ T } indicate intertask communication side set, Ei,jIt indicates from task TiTo task TjOne have
Xiang Bian;
(3) W is a n*m matrix, indicates that the execution time on m virtual machine, m are virtual machine total quantity to n task respectively;
Virtual machine set P is indicated are as follows: P={ P1,P2,…,Pm};
W(Ti,Pk) indicate task TiIn virtual machine PkOn runing time, Pk∈P;According to formula (1) calculating task TiBe averaged
Runing time
(4) C is the communication overhead between task, C (Ei,j) indicate directed edge Ei,jOn communication overhead, it is assumed that when two tasks are divided
When on to same virtual machine, the communication overhead between task is 0;
(5) task TiPredecessor task set pred (Ti) indicate are as follows: pred (Ti)={ Te|Ee,i∈E};
Task TiSubsequent tasks set succ (Ti) indicate are as follows: succ (Ti)={ Ts|Ei,s∈E};
(6) assume only one starting point in DAG figure, use TstartIt indicates;Only one terminal TendIt indicates;
(7) each task T in DAG figure is calculated according to following formula (2)iStatic priority rank (Ti):
With TendStart node as calculating, with TstartAs calculating end node, according to from bottom to top, same layer is from left to right
Principle traverses all task nodes in DAG figure, the static priority of each node task is successively calculated;
Step 2, i=1 is enabled;
Step 3, task T is selectedi;
Step 4, k=1 is enabled;
Step 5, according to formula (3) calculating task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)):
Wherein:
Task TiIn virtual machine PkOn Starting Executing Time (st (Ti,Pk)) refer to: task TiAll predecessor tasks all held
It has been gone that, and virtual machine PkReceive task TiAll predecessor tasks implementing result when, task TiIt can be in PkOn start to transport
The capable time:
ava(Pk) indicate virtual machine PkStarting pot life, refer to virtual machine PkReady time or be assigned to virtual machine P recentlyk
On task TiDeadline, indicate are as follows: ava (Pk)=0 or ava (Pk)=ct (Ti,Pk);
ct(Te,Px) indicate task TiPredecessor task remove virtual machine PkOther outer correspond to the deadline on virtual machine;
Step 6, by task TiFather's task node according to static priority value descending arrange, construction obtain father's task queue;F is
Father's task node quantity in father's task queue;Father's task queue Ti 0It indicates are as follows: Ti 0={ Ti-1 0,Ti-2 0,…,Ti-F 0};Wherein,
Ti-1 0Expression task TiFather's task queue in the highest task of static priority;Ti-2 0Expression task TiFather's task queue in
The high task of Static prioritization level;Ti-F 0Expression task TiFather's task queue in the minimum task of static priority;Father's task team
Arrange Ti 0In any one father's task presentation be Ti-f 0;
Step 7, f=1 is enabled;
Step 8, virtual machine P is calculated according to formula (4)kRelative to task TiFree time slot (Ti,Pk);Wherein, virtual machine
PkFree time refer to virtual machine PkIt has been in ready state, but task TiIt needs to wait the implementing result of its predecessor task, appoints
Be engaged in TiIn the waiting time for the implementing result for waiting its predecessor task, as, virtual machine PkFree time;
slot(Ti,Pk)=st (Ti,Pk)-ava(Pk) (4)
Step 9, judge TiFather's task Ti-f 0Whether following rule: slot (T is meti,Pk)≥W(Ti-f 0,Pk) and ct (Qf,
Pk)<st(Ti,Pk);And father's task Ti-f 0Not in virtual machine PkOn executed;Wherein, W (Ti-f 0,Pk) represent father's task Ti-f 0
In virtual machine PkOn runing time;ct(Qf,Pk) indicate father's task Ti-f 0In virtual machine PkOn deadline;
If it is satisfied, then duplication Ti-f 0To virtual machine PkFree time slot (Ti,Pk) on, update current task TiStart hold
Row time (st (Ti,Pk)) and virtual machine PkFree time slot (Ti,Pk);If conditions are not met, executing step 10;
Step 10, f=f+1 is enabled;Judge whether f is greater than F, if it is greater, then executing step 11;It is held if it is not greater, then returning
Row step 9;
Step 11, task TiIn virtual machine PkOn deadline be equal to task TiStarting Executing Time add task TiExecution
Time, it may be assumed that calculate T according to formula (5)iIn PkOn deadline (ct (Ti,Pk)):
ct(Ti,Pk)=st (Ti,Pk)+W(Ti,Pk) (5)
Step 12, k=k+1 is enabled;Judge whether k is greater than m, if it is greater, then executing step 13;It is held if it is not greater, then returning
Row step 5;
Step 13, the virtual machine load balancing criteria deviation L of cloud computing system is calculatedk;
Step 14, task T is distributed according to user demandiTo ct (Ti,Pk)+LkIt is worth small virtual machine to execute up;
Step 15, i=i+1 is enabled;Judge whether i is greater than n, if it is greater, then executing step 16;It is held if it is not greater, then returning
Row step 3;
Step 16, the virtual machine that each task is distributed is exported;Distributed correspondence task is executed by virtual machine.
2. the method for scheduling task according to claim 1 towards cloud computing platform, which is characterized in that step 13 is specifically wrapped
Include following steps:
Step 13.1, virtual machine P is calculated according to formula (6)kLoad weight load (Pk):
load(Pk)=w1·r_cpu+w2·r_mem+w3·r_bw (6)
Wherein: r_cpu indicates that cpu busy percentage, r_mem indicate memory usage, and r_bw indicates network bandwidth utilization factor;w1+w2+
w3=1, w1,w2,w3Respectively indicate CPU, memory, bandwidth impact factor;
Step 13.2, the virtual machine average load load of cloud computing system is calculated according to formula (7)ave:
Wherein: load (Pk) indicate virtual machine PkLoad weight;
Step 13.3, the virtual machine load balancing criteria deviation L of cloud computing system is calculated according to formula (8)k:
Thus the virtual machine load balancing criteria deviation L of cloud computing system is obtainedk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340244.4A CN108108225B (en) | 2017-12-14 | 2017-12-14 | A kind of method for scheduling task towards cloud computing platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340244.4A CN108108225B (en) | 2017-12-14 | 2017-12-14 | A kind of method for scheduling task towards cloud computing platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108225A CN108108225A (en) | 2018-06-01 |
CN108108225B true CN108108225B (en) | 2019-05-24 |
Family
ID=62216931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711340244.4A Active CN108108225B (en) | 2017-12-14 | 2017-12-14 | A kind of method for scheduling task towards cloud computing platform |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108225B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213587B (en) * | 2018-09-12 | 2021-11-09 | 中国人民解放军战略支援部队信息工程大学 | Multi-Stream parallel DAG graph task mapping strategy under GPU platform |
CN109784663B (en) * | 2018-12-20 | 2022-11-25 | 西北大学 | Workflow scheduling method and device |
CN110008026A (en) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | Job scheduling method, device, terminal and the medium divided equally based on additional budget |
CN112306642B (en) * | 2020-11-24 | 2022-10-14 | 安徽大学 | Workflow scheduling method based on stable matching game theory |
CN113064870B (en) * | 2021-03-22 | 2021-11-30 | 中国人民大学 | Big data processing method based on compressed data direct calculation |
CN115080236B (en) * | 2022-06-24 | 2024-04-16 | 西安电子科技大学 | Workflow deployment method based on graph segmentation |
CN117290113B (en) * | 2023-11-22 | 2024-02-13 | 太平金融科技服务(上海)有限公司 | Task processing method, device, system and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970609A (en) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | Cloud data center task scheduling method based on improved ant colony algorithm |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339972A1 (en) * | 2012-06-18 | 2013-12-19 | Zhuoyao Zhang | Determining an allocation of resources to a program having concurrent jobs |
-
2017
- 2017-12-14 CN CN201711340244.4A patent/CN108108225B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970609A (en) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | Cloud data center task scheduling method based on improved ant colony algorithm |
Non-Patent Citations (2)
Title |
---|
云环境下多DAG工作流的调度算法研究;任丰玲;《中国优秀硕士学位论文全文数据库-信息科技辑》;20131015;全文 |
基于多核分布式环境下的任务调度关键技术研究;耿晓中;《中国博士学位论文全文数据库-信息科技辑》;20130815;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN108108225A (en) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108225B (en) | A kind of method for scheduling task towards cloud computing platform | |
Wu et al. | Deadline-constrained cost optimization approaches for workflow scheduling in clouds | |
Lin et al. | A pretreatment workflow scheduling approach for big data applications in multicloud environments | |
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
CN103810023B (en) | The intelligent deployment method of Distributed Application and system in a kind of cloud platform | |
CN103927225B (en) | A kind of internet information processing optimization method of multi-core framework | |
CN105159762B (en) | Heuristic cloud computing method for scheduling task based on Greedy strategy | |
WO2016082370A1 (en) | Distributed node intra-group task scheduling method and system | |
US8843929B1 (en) | Scheduling in computer clusters | |
Zhu et al. | A cost-effective scheduling algorithm for scientific workflows in clouds | |
CN107329815A (en) | A kind of cloud task load equalization scheduling method searched for based on BP Tabu | |
US20160127382A1 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
CN103377407A (en) | Method for processing cloud service, and related device and system of cloud service | |
CN108737462A (en) | A kind of cloud computation data center method for scheduling task based on graph theory | |
Biswas et al. | An auto-scaling framework for controlling enterprise resources on clouds | |
Nair et al. | Efficient resource arbitration and allocation strategies in cloud computing through virtualization | |
CN104035819B (en) | Scientific workflow scheduling method and device | |
CN109062682A (en) | A kind of resource regulating method and system of cloud computing platform | |
Fathalla et al. | Best-KFF: a multi-objective preemptive resource allocation policy for cloud computing systems | |
Singh et al. | A comparative study of various scheduling algorithms in cloud computing | |
CN109976873A (en) | The scheduling scheme acquisition methods and dispatching method of containerization distributed computing framework | |
Biswas et al. | Predictive auto-scaling techniques for clouds subjected to requests with service level agreements | |
CN111913800B (en) | Resource allocation method for optimizing cost of micro-service in cloud based on L-ACO | |
Pastorelli et al. | Practical size-based scheduling for MapReduce workloads |
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 |