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 PDF

Info

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
Application number
CN201711340244.4A
Other languages
Chinese (zh)
Other versions
CN108108225A (en
Inventor
耿晓中
柯洪昌
于澜
任斌
鲍杰
徐欣欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Institute Technology
Original Assignee
Changchun Institute Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changchun Institute Technology filed Critical Changchun Institute Technology
Priority to CN201711340244.4A priority Critical patent/CN108108225B/en
Publication of CN108108225A publication Critical patent/CN108108225A/en
Application granted granted Critical
Publication of CN108108225B publication Critical patent/CN108108225B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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

A kind of method for scheduling task towards cloud computing platform
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
CN201711340244.4A 2017-12-14 2017-12-14 A kind of method for scheduling task towards cloud computing platform Active CN108108225B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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