CN111026533A - Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment - Google Patents

Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment Download PDF

Info

Publication number
CN111026533A
CN111026533A CN201911259945.4A CN201911259945A CN111026533A CN 111026533 A CN111026533 A CN 111026533A CN 201911259945 A CN201911259945 A CN 201911259945A CN 111026533 A CN111026533 A CN 111026533A
Authority
CN
China
Prior art keywords
virtual machine
task
time
machine instance
individual
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.)
Withdrawn
Application number
CN201911259945.4A
Other languages
Chinese (zh)
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.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
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 Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201911259945.4A priority Critical patent/CN111026533A/en
Publication of CN111026533A publication Critical patent/CN111026533A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/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

Abstract

The invention discloses a workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment, which comprises the following steps: acquiring information required by executing optimization; calculating a level value of the task; initializing a contemporary population; decoding the improved contemporary population, calculating the fitness value of the contemporary population, and storing the optimal individuals; constructing an elite population, updating a probability model, sampling the probability model to generate a new contemporary population, and outputting an execution optimization result until a termination condition is met; compared with the traditional method, the method and the strategy are adopted, wherein the method and the strategy are based on topological sorting and continuous biased coding, initial individual generation based on hierarchy and benefit ratio, serial individual decoding based on insertion mode, individual improvement based on forward and backward, new individual generation based on sampling, optimal individual storage and the like, and the optimization capability and the search efficiency of the algorithm are improved.

Description

Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment
Technical Field
The invention relates to the field of computer technology, information technology and system engineering, in particular to a cloud workflow execution optimization method, and more particularly relates to a workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment.
Background
The workflow under the cloud computing environment, called 'cloud workflow' for short, is the integration of cloud computing and workflow related technologies, and is used for scientific computing and cross-organization business cooperation requiring high-efficiency computing performance and large-scale storage support, such as: the system has wide application prospect in the fields of e-commerce, emergency management, supply chain management, health care and the like. In a cloud workflow, there are multiple types of computing resources and multiple tasks, and there are timing constraints between tasks, and a virtual machine is generally responsible for receiving and processing these tasks as a minimum allocation unit of computing resources during execution. Cloud workflow execution or scheduling optimization refers to how to reasonably configure virtual machines under the constraint of meeting the workflow task timing and user requirements, how to allocate workflow tasks to proper virtual machines and determine the execution sequence of the workflow tasks to optimize certain performance indexes such as: cost of implementation, response time, etc. The performance of the whole cloud workflow system is directly determined by cloud workflow execution optimization, and with the rapid increase of process automation requirements in a cloud computing environment, particularly requirements of large-scale assistance and distributed e-commerce and scientific computing applications, the cloud workflow execution optimization has become an important research content.
When cloud workflow execution optimization is performed, the optimization is generally performed only from the perspective of resource configuration or task scheduling, and collaborative optimization research on the resource configuration and the task scheduling is lacked. In fact, the resource allocation and the task scheduling of the cloud workflow are interacted as two optimization stages, the performance index of the cloud workflow execution is influenced together, and the execution performance of the cloud workflow can be effectively improved through collaborative optimization research aiming at the two optimization stages.
Therefore, with the increase of the complexity of the cloud workflow and the application requirements thereof, it is urgently needed to design a more efficient integrated collaborative optimization method to solve the problems of resource allocation and task scheduling optimization of the cloud workflow and improve the performance of cloud workflow execution.
Disclosure of Invention
Aiming at the defects that the cloud workflow execution optimization is usually performed only from the perspective of resource configuration or task scheduling before, an integrated collaborative optimization method of the resource configuration and the task scheduling is lacked, the cloud workflow execution performance is low and the like, the invention provides the workflow execution optimization method based on the distributed estimation algorithm in the cloud computing environment, and the cloud workflow execution performance is effectively improved.
The technical scheme adopted by the invention for solving the technical problems is as follows: a workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment comprises the following steps:
step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,…,tI},tiRepresenting a task i, namely a task with the number i; wherein I is the number of tasks to be scheduled;
acquiring a time sequence relation between tasks: parent task set PR of task iiSubstask set SC for task iiWherein I is 1, …, I;
Figure BDA0002311345390000021
acquiring task related parameters: length len of task iiI.e. the number of instructions that need to be consumed when task i is processed by the virtual machine, the list of input files IFL that is needed when task i is processedi
Figure BDA0002311345390000022
Output file list OFL generated after task i is processedi
Figure BDA0002311345390000023
And the size of the file in the file list, wherein: i is 1, …, I; task i is task i+The requirements of the parent task are as follows: there is a file that is the output file of task i and is also task i+The input file of (a), namely:
Figure BDA0002311345390000024
file∈OFLi∧file∈IFLi+
obtaining a virtual machine type set VM ═ VM in a cloud computing environment1,vm2,…,vmJWhere J is the number of types of virtual machines, vmjRepresenting a j-class virtual machine;
acquiring related parameters of the virtual machine: class jComputing power ps of virtual machinejBandwidth bw of class j virtual machinesjCost per unit time vc for class j virtual machinesjFixed lease-starting cost fc of j-class virtual machinejMinimum billing time unit ut for class j virtual machinesjMinimum lease-on time ft of class j virtual machinej(ii) a The cost of renting a class j virtual machine is calculated as follows:
Figure BDA0002311345390000025
wherein: lt is lease time, J is 1,2 …, J;
acquiring cost constraint Budget and time constraint Deadline executed by a workflow in a cloud computing environment; if no cost constraint exists, setting Budget as MBV, and if no time constraint exists, setting Deadline as MDV; wherein: MBV is the upper cost limit, and MDV is the upper time limit;
step 2: calculating a level value of the task;
for a starting task i without a parent task, the hierarchy value is:
lvli=1 (1)
the hierarchy values of other tasks are calculated using the following recursive formula:
Figure BDA0002311345390000026
and step 3: initializing the contemporary population, and making BtCh equal to Null;
generating 1 individual based on the level and the benefit ratio, and sampling the initial probability model for N-1 times to generate N-1 individuals to form an initial current generation population; wherein N is the population size;
the individual encoding method is as follows: ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIWhere { gr1,…,grIThe scheduling order list is a topological order of task numbers; { gs1,…,gsIIs the virtual machine allocation list, gsiA virtual machine instance number representing an assignment to an ith scheduled task, wherein: gs is1=1,gsi≤max{gs1,…,gsi-1}+1;{gt1,…,gtIIs a list of virtual machine types, gtiType of virtual machine instance denoted i, gt1,…,gtIIs an integer value between 1 and J;
the step of generating 1 individual based on the hierarchy and the benefit ratio comprises the following steps:
step A1: randomly arranging the tasks according to the level values of the tasks from small to large, namely randomly arranging the tasks with the level values of small in front of large and with the same level values to form an individual task scheduling sequence list { gr1,…,grI};
Step A2: generating individual virtual machine allocation list { gs) based on benefit ratio1,…,gsIAnd list of virtual machine types { gt1,…,gtI}; obtaining the execution time and the completion time of all tasks: et ali、fi,i=1,…,I;
Step A3: output an individual ch1={gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et ali、fiI-1, 2 …, I, and calculating its workflow response time rs1And the operation is finished;
the probability model comprises a task scheduling sequence probability model PMS (g), a virtual machine allocation probability model PMA (g) and a virtual machine type probability model PMT (g);
Figure BDA0002311345390000031
β thereini,i′(g) Indicating that the task scheduled in the ith' generation is tiThe probability of (a) of (b) being,
Figure BDA0002311345390000032
Figure BDA0002311345390000033
α thereini,k(g) Representing the probability of assigning a virtual machine instance numbered k to the ith scheduled task in the g-th generation,
Figure BDA0002311345390000034
Figure BDA0002311345390000035
wherein deltak,j(g) Representing the probability that the type of the virtual machine instance with the g generation number k is j;
Figure BDA0002311345390000041
k=1,…,I;
the probability model of the initial task scheduling sequence is as follows:
Figure BDA0002311345390000042
wherein: STSρ={tii<ρ≤I-ζiIs a set of tasks, ζ, that can be scheduled for scheduling at the ρ -thiIs the number of descendant tasks of task i, ξiIs the number of ancestor tasks of task i;
Figure BDA0002311345390000043
the definition of the descendant task and the ancestor task is described as follows: if there is a task sequence
Figure BDA0002311345390000044
Satisfy the requirement of
Figure BDA0002311345390000045
Is that
Figure BDA0002311345390000046
Where 1 is not more than k<n is then
Figure BDA0002311345390000047
Is that
Figure BDA0002311345390000048
The task of the ancestor of (c),
Figure BDA0002311345390000049
is that
Figure BDA00023113453900000410
The descendant task of (2);
the initial virtual machine distribution probability model is as follows:
Figure BDA00023113453900000411
the initial virtual machine type probability model is as follows:
Figure BDA00023113453900000412
j is the number of types of virtual machines;
the probability models PMS (g), PMA (g) and PMT (g) are sampled for 1 time to generate 1 individual, and the method comprises the following steps:
step B1: sampling of virtual machine types:
step B1.1: let variable k be 1;
step B1.2: obtaining a probability A that the type of the virtual machine instance numbered k is jk,j=δk,j(g) J is 1, …, J; calculating the cumulative probability:
Figure BDA00023113453900000413
step B1.3: generating 1 random number λ ∈ [0,1) if
Figure BDA00023113453900000414
Then select type j, let gtk=j;
Step B1.4: let k be k + 1; if k is less than or equal to I, turning to step B1.2, otherwise, obtaining a virtual machine type list, and turning to step B2;
step B2: initializing a system state:
step B2.1: make all virtual machines available a time period list vatlk={[0,∞]},k=1,…,I;
Step B2.2: let ready time rt of taskiTask set P (t) 0i)=PRiI is 1, …, I; order task set
Figure BDA0002311345390000051
The task set UT is T;
step B2.3: in UT
Figure BDA0002311345390000052
T ofiMoving to RT; let the variable q be 1 and the variable MI be 1;
step B3 according to [ β ]1,q(g) … βI,q(g)]TRandomly selecting a task from RT by roulette, not setting ti(ii) a Let grq=i;
Step B4 according to [ α ]q,1(g) … αq,I(g)]Using roulette in [1, MI]Randomly selecting a virtual machine instance number between the two, setting the number as k, and enabling gsqK is; if k is MI, then MI is MI + 1;
step B5: handle tiAssigned to virtual machine instance numbered k:
step B5.1: calculating tiExecution time of
Figure BDA0002311345390000053
Step B5.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step B5.3: t is tiStart time s ofi=max{νk,rti},tiEnd time f ofi=si+eti
Step B5.4: updating tiReady time of subtask of (2)
Figure BDA0002311345390000054
Step B5.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step B5.6: in all of
Figure BDA0002311345390000055
Deletion of tiDeleting t in RTi
Step B5.7: in UT
Figure BDA0002311345390000056
T ofiMoving to RT;
step B6: if RT is not null, then q ═ q +1, go to step B3, otherwise go to step B7;
step B7: obtaining an individual chn={gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et ali、fiI1, 2 …, I, whose workflow response time rs is calculatednN belongs to {2, …, N }, and the operation is finished; and 4, step 4: employing FBI for each individual in contemporary populations&D, decoding and improving to obtain the workflow execution cost and response time of each individual, and then calculating the relative fitness value of all the infeasible individuals and the absolute fitness value of the feasible individuals; replacing the content stored in BtCh with the optimal individual if BtCh ═ Null or the optimal individual in the contemporary population is better than the individual stored in BtCh;
for each individual ch in the populationn={gr1,…,grI;gs1,…,gsI;gt1,…,gtI1, …, N; the FBI&D comprises the following steps:
step C1: form a reverse body
Figure BDA0002311345390000061
Step C1.1: according to task completion time fiRearranging the task scheduling order list from large to small { gr1,…,grISetting the ith gene value in the task scheduling sequence list as the serial number of the task finished by the I-th time, wherein I is 1, … and I; form a
Figure BDA0002311345390000062
Step C1.2: in order to maintain the validity of the original resource configuration scheme and codes, the virtual machine instance list { gs is adjusted1,…,gsIAnd list of virtual machine types { gt1,…,gtIIs formed by
Figure BDA0002311345390000063
Step C1.2.1: let variable epsilon be 1 and variable delta be 1; let the flag value flg1=…=flgI0; order to
Figure BDA0002311345390000064
k=max{gs1,…,gsI}+1,…,I;
Step C1.2.2: if flgεIf 0, go to step C1.2.3; otherwise go to step C1.2.5:
step C1.2.3: finding tasks
Figure BDA0002311345390000065
In { gr1,…,grIThe scheduling order in (1) is not set to
Figure BDA0002311345390000066
In chnFind out the use number as
Figure BDA0002311345390000067
Task number set of virtual machine instance
Figure BDA0002311345390000068
In that
Figure BDA0002311345390000069
Find out the scheduling sequence set of the corresponding task in ST
Figure BDA00023113453900000610
Step C1.2.4: for all i ∈ SI, let
Figure BDA00023113453900000611
flgi1 is ═ 1; order to
Figure BDA00023113453900000612
Let δ be δ + 1;
step C1.2.5: let epsilon equal to epsilon + 1; if ε ≦ I, go to step C1.2.2, otherwise go to step C2;
step C2: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure BDA00023113453900000613
Decoding to obtain the reverse completion time of all tasks
Figure BDA00023113453900000614
And its workflow reverse response time
Figure BDA00023113453900000615
If it is
Figure BDA00023113453900000616
Less than rsnGo to step C3, otherwise go to step C5;
step C3: form positive individual chn={gr1,…,grI;gs1,…,gsI;gt1,…,gtI}:
Step C3.1: according to task reverse completion time
Figure BDA0002311345390000071
Rearranging task scheduling order list from large to small
Figure BDA0002311345390000072
Setting the ith gene value in the task scheduling sequence list as the serial number of the last ith completed task, wherein I is 1, … and I; form { gr1,…,grI};
Step C3.2: adjusting virtual machine instance list to maintain original resource configuration scheme and code validity
Figure BDA0002311345390000073
And virtual machine type list
Figure BDA0002311345390000074
Form { gs1,…,gsI}、{gt1,…,gtI}:
Step C3.2.1: let variable epsilon be 1 and variable delta be 1; let the flag value flg1=…=flgI0; order to
Figure BDA0002311345390000075
Figure BDA0002311345390000076
Step C3.2.2: if flgεIf 0, go to step C3.2.3; otherwise go to step C3.2.5:
step C3.2.3: finding task grεIn that
Figure BDA0002311345390000077
In the scheduling order of (1), do not set to
Figure BDA0002311345390000078
In that
Figure BDA0002311345390000079
Find out the use number as
Figure BDA00023113453900000710
Task number set of virtual machine instance
Figure BDA00023113453900000711
In { gr1,…,grIFinding out the scheduling sequence set SI ═ i | gr of the corresponding task in STi∈ST};
Step C3.2.4: let gs be the same for all i ∈ SIi=δ、flgi1 is ═ 1; order to
Figure BDA00023113453900000712
Let δ be δ + 1;
step C3.2.5: let epsilon equal to epsilon + 1; if ε ≦ I, go to step C3.2.2, otherwise go to step C4;
step C4: adopting serial forward individual decoding method based on insertion mode to forward individual chnDecoding is carried out to obtain the completion time f of all tasks1,…,fIAnd its workflow response time rsn(ii) a If rsnIs less than
Figure BDA00023113453900000713
Go to step C1, otherwise, go to step C5;
step C5: output forward individual chnAnd its workflow response time rsnCalculating its workflow execution cost ctnAnd the operation is finished;
the serial reverse individual decoding method based on the insertion mode is used for decoding reverse individuals
Figure BDA00023113453900000714
The decoding comprises the following steps:
step D1: make reverse ready time of all tasks
Figure BDA00023113453900000715
Figure BDA00023113453900000716
Is a task
Figure BDA00023113453900000717
Output filesets exported to a shared database, i.e.
Figure BDA00023113453900000718
I is 1, …, I; make virtual machine available a time period list vatlk={[0,∞]},
Figure BDA00023113453900000719
Let the variable ε be 1;
step D2: choose the serial number as
Figure BDA00023113453900000720
The task of (1);
step D3: assigning task i to a number of
Figure BDA0002311345390000081
The virtual machine instance of (2):
step D3.1: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd
Figure BDA0002311345390000082
step D3.2: calculating a reverse start time for task i
Figure BDA0002311345390000083
Reverse completion time
Figure BDA0002311345390000084
Step D3.3: updating the reverse ready time of the parent task of task i
Figure BDA0002311345390000085
Step D3.4: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]With an insertion interval length greater than 0
Figure BDA0002311345390000086
And
Figure BDA0002311345390000087
step D4: let epsilon be epsilon +1, if epsilon is less than or equal to I, go to step D2, otherwise step D5;
step D5: obtaining reverse completion times for all tasks
Figure BDA0002311345390000088
I-1, …, I, and its workflow reversal response time
Figure BDA0002311345390000089
Finishing the operation;
the serial forward individual decoding method based on the insertion mode is used for forward individual chnThe decoding comprises the following steps:
step E1: let ready times rt of all tasksi0, I-1, …, I; let the variable ε be 1; make available time period list of all virtual machine instances vatlk={[0,∞]},k=1,…,max{gs1,…,gsI};
Step E2: selecting the serial number i-grεThe task of (1);
step E3: assigning task i to a number k-gs based on an insertion patternεThe virtual machine instance of (1);
step E3.1: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step E3.2: calculating the start time s of task ii=max{νk,rtiH, completion time fi=si+eti
Step E3.3: updating the Ready time of a subtask of task i
Figure BDA00023113453900000810
Step E3.4: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step E4: let ε equal to ε +1, if ε ≦ I, go to step E2, otherwise step E5;
step E5: obtaining the end time f of all tasksiI1, …, I, whose workflow response time rs is calculatednAnd the operation is finished;
and 5: if the termination condition is not met, go to step 6; otherwise go to step 8;
the termination condition is that the optimal individuals stored in BtCh are not improved after iteration to a designated generation TG or continuous iteration GG generation;
step 6: constructing an elite population and updating a probability model;
selecting from the best to the bad of the contemporary population
Figure BDA00023113453900000911
Individuals as the current generation elite population POPeWherein: n is a radical ofeFor elite population size, reE (0,1) is the elite rate;
the method for updating the probability model comprises the following steps:
Figure BDA0002311345390000091
marking value
Figure BDA0002311345390000092
Individual ch of generationnThe ith scheduled task is distributed to the virtual machine instance with the number of k
Figure BDA0002311345390000093
Marking value
Figure BDA0002311345390000094
Individual ch of generationnThe ith' scheduling of task i
Figure BDA0002311345390000095
Marking value
Figure BDA0002311345390000096
Individual ch of generationnThe type of the virtual machine instance with the middle number of k is j
Figure BDA0002311345390000097
Respectively allocating the updating rates of a probability model, a task scheduling sequence probability model and a virtual machine type probability model to the virtual machine;
and 7: sampling the current probability models PMS (g), PMA (g) and PMT (g) for N times to generate N individuals, forming a new population, and enabling the new population to be a current generation population; turning to step 4;
and 8: if the feasible individuals are stored in the BtCh, outputting the corresponding execution scheme as an optimization scheme; otherwise, there is no feasible implementation.
Further, a specific calculation method of the MBV and MDV is as follows:
Figure BDA0002311345390000098
Figure BDA0002311345390000099
wherein:
Figure BDA00023113453900000910
is tiThe maximum execution time.
Further, in the step a2, an individual virtual machine allocation list { gs is generated based on the benefit ratio1,…,gsIAnd list of virtual machine types { gt1,…,gtIThe concrete steps are as follows:
step A2.1: order virtual machineExample set
Figure BDA0002311345390000101
Let gs1=gs2=…=gsI=0,gt1=gt2=…=gtI0; let ready times rt of all tasks1=rt2=…=rtI0; let the variable ε be 1;
step A2.2: let variable i become grεThe variable K is INS, the variable K is 1, the variable η is 1, the calculation is carried out on the tiThe comprehensive benefit ratio after being respectively allocated to each potential virtual machine instance is as follows:
step A2.2.1: if K is less than or equal to K, go to step A2.2.2, otherwise, go to step A2.2.6;
step A2.2.2: calculating tiExecution time after assignment to virtual machine instance numbered k
Figure BDA0002311345390000102
Wherein:
Figure BDA0002311345390000103
is a handle tiThe processing time of the task when the virtual machine instance with the number k is processed,
Figure BDA0002311345390000104
Figure BDA0002311345390000105
is the processing power of the virtual machine instance numbered k;
Figure BDA0002311345390000106
is a handle tiThe virtual machine instance with the number k needs to obtain the file transfer time of the input file from other virtual machines when processing,
Figure BDA0002311345390000107
k-is to treat
Figure BDA0002311345390000108
The number of the virtual machine instance of (c),
Figure BDA0002311345390000109
and
Figure BDA00023113453900001010
is numbered k and k-Bandwidth of the virtual machine instance of (1);
Figure BDA00023113453900001011
is a handle tiThe virtual machine instance with number k needs to obtain the file transfer time of the input file from the shared database when processing,
Figure BDA00023113453900001012
step A2.2.3: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥eti,kAnd upsilonk-eti,k≥rti
Step A2.2.4: calculating tiStarting time s after assigning to virtual machine instance numbered ki,k=max{νk,rtiH, completion time fi,k=si,k+eti,k
Step A2.2.5, calculating the comprehensive benefit ratio ξi,k
Figure BDA00023113453900001013
Wherein: theta epsilon [0,1] is a weight coefficient, mu >0 is a coordination coefficient of cost and time,
Figure BDA00023113453900001014
is tiLease time, lt ', assigned to virtual machine instance numbered k after virtual machine instance numbered k'k=Rnt′k-Hrt′kIs tiNot yet assigned to virtual machine instance numbered kThe lease time of the virtual machine instance numbered k,
Figure BDA0002311345390000111
is tiThe return time of the virtual machine instance with the number of k before the virtual machine instance with the number of k is not distributed;
Figure BDA0002311345390000112
is tiA start lease time for a virtual machine instance numbered k before a virtual machine instance numbered k has not yet been assigned; making k equal to k +1, and going to step a2.2.1;
a2.2.6, if η is not more than J, go to A2.2.7, otherwise go to A2.3;
step A2.2.7: calculating tiExecution time after allocation to a new type η virtual machine instance
Figure BDA0002311345390000113
Wherein: omegai,ηIs a type η virtual machine instance process tiTime of (a), ωi,η=leni/psη
Figure BDA0002311345390000114
Is a handle tiThe file transfer time allocated to the virtual machine instance of type η that needs to obtain the input file from the other virtual machine when processing,
Figure BDA0002311345390000115
k-is to treat
Figure BDA0002311345390000116
The virtual machine instance number of (a); tau isi,ηIs a handle tiThe file transfer time allocated to the processing of the type η virtual machine instance required to obtain the input file from the shared database,
Figure BDA0002311345390000117
step A2.2.8: calculating tiAssigned to this new typeStart time s after virtual machine instance of ηi,K+η=rtiCompletion time fi,K+η=si,K+η+eti,K+η
Step A2.2.9, calculating the comprehensive benefit ratio ξi,K+η
Figure BDA0002311345390000118
Wherein
Figure BDA0002311345390000119
Is tiAfter allocating the new virtual machine instance with type η, the lease time of the new virtual machine instance with type η is reached, so that η is η +1, go to step A2.2.6;
step A2.3 from ξi,1,…,ξi,K+JFind a minimum among them, do not set as
Figure BDA00023113453900001110
If the subscript value
Figure BDA00023113453900001111
Then order
Figure BDA00023113453900001112
Otherwise, let gsε=K+1、
Figure BDA00023113453900001113
Adding a virtual machine instance ins numbered K +1K+1I.e., INS ∪ INSK+1,vatlK+1={[0,∞]};
Step A2.4: change task i to grεAssigning to a virtual machine instance k-gsε
Step A2.4.1: calculating a start time of a task
Figure BDA0002311345390000121
End time
Figure BDA0002311345390000122
Execution time eti=fi-si
Step A2.4.2: updating the Ready time of a subtask of task i
Figure BDA0002311345390000123
Step A2.4.3: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step A2.4.4: in vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step A2.5: let epsilon equal to epsilon + 1; if epsilon is less than or equal to I, go to step A2.2, otherwise go to step A2.6;
step A2.6: let K be | INS |, if K<I, then I-K random integers between 1 and J are generated, which are not set to: piK+1,……,πI(ii) a Order: gtK+1=πK+1,……,gtI=πI
Step A2.7: obtaining an individual { gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et aliAnd fiI is 1,2 …, I, and the operation ends.
Further, for individual chnThe workflow response time rsnAnd an execution cost ctnThe specific calculation method is as follows:
Figure BDA0002311345390000124
wherein:
Figure BDA0002311345390000125
is a task griThe response time of (a) is set,
Figure BDA0002311345390000126
Figure BDA0002311345390000127
wherein:
Figure BDA0002311345390000128
is the fixed lease start cost for the virtual machine instance numbered k,
Figure BDA0002311345390000129
is the cost per unit time of the virtual machine instance numbered k,
Figure BDA00023113453900001210
is the minimum billing time unit for the virtual machine instance numbered k,
Figure BDA00023113453900001211
is the minimum lease-on time for the virtual machine instance numbered k,
Figure BDA00023113453900001212
is the bandwidth of the virtual machine instance numbered k, ltk=Rntk-HrtkIs the lease time, Hrt, of the virtual machine instance numbered kkThe start lease time of the virtual machine instance numbered k; rntkThe return time of the virtual machine instance with the number of k is obtained;
Figure BDA00023113453900001213
Figure BDA00023113453900001214
is to complete
Figure BDA00023113453900001215
If the maximum time at which the file in (1) is output to the corresponding recipient is reached
Figure BDA00023113453900001216
Without exporting files to the shared database
Figure BDA00023113453900001217
Then the corresponding recipient is processing
Figure BDA00023113453900001218
If the virtual machine of the subtask
Figure BDA00023113453900001219
Without subtasks, i.e.
Figure BDA00023113453900001220
The respective recipient is a shared database, otherwise if
Figure BDA0002311345390000131
With both file output to the shared database and subtasks
Figure BDA0002311345390000132
Then the corresponding recipient is processing
Figure BDA0002311345390000133
The virtual machines and the shared database of the subtasks,
Figure BDA0002311345390000134
further, for individual ch in the populationnN is 1,2 …, N if ctn≤Budget∨rsnWhen the adaline is not more than the preset value, ch isnAs viable individuals, otherwise chnIs an infeasible individual;
the specific calculation method of the relative fitness value of the infeasible individual is as follows:
Figure BDA0002311345390000135
the specific calculation method of the absolute fitness value of the feasible individual is as follows: afitn=θ×μ×ctn+(1-θ)×rsn
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
when the individual quality is compared, the feasible individual is superior to the infeasible individual; for all feasible individuals, the smaller the absolute fitness value is, the better the individual is; for all infeasible individuals, the smaller the relative fitness value, the better the individual.
Further, in the step B3, the sequence is according to [ β ]1,q(g) … βI,q(g)]TThe specific steps of selecting a task from the RT using roulette are as follows:
step B3.1: calculate each t in RTiProbability of being selected
Figure BDA0002311345390000136
Step B3.2: calculating the cumulative probability:
Figure BDA0002311345390000137
step B3.3: generating 1 random number λ ∈ [0,1) if
Figure BDA0002311345390000138
Then t is selectediAnd the task selection operation is ended.
Further, in the step B4, the sequence is according to [ α ]q,1(g) … αq,I(g)]Using roulette in [1, MI]The specific steps of randomly selecting a virtual machine instance number are as follows:
step B4.1: calculate the probability that the various possible numbers are chosen: a. thek=αq,k(g),k=1,…,MI-1;
Figure BDA0002311345390000139
Step B4.2: calculating the cumulative probability:
Figure BDA0002311345390000141
step B4.3: generating 1 random number λ ∈ [0,1) if
Figure BDA0002311345390000142
Then number k is selected and the virtual machine instance numbering operation ends.
The invention has the beneficial effects that:
(1) compared with the existing workflow execution or scheduling optimization method in the cloud computing environment, the method provided by the invention considers resource allocation and task scheduling at the same time, and realizes integrated collaborative optimization of the resource allocation and the task scheduling.
(2) Compared with a heuristic method, a semi-intelligent calculation method combined with the heuristic method and an existing intelligent calculation method based on hierarchical coding, the method adopts an integer coding method, and any execution scheme can have an individual corresponding to the integer coding method, so that the search space is complete, and the global search can be realized.
(3) Compared with a common coding mode based on priority, the task scheduling sequence list adopts an integer coding method based on topological sorting, and the time sequence relation among tasks is considered, so that the decoding is simpler, the decoding efficiency can be effectively improved, and the overall efficiency of the algorithm is further improved.
(4) Compared with a general full-sequence unbiased coding mode, the invention adopts a continuous biased coding mode from small to large according to the task scheduling sequence to the virtual machine instance list, effectively reduces the coding search space on the premise of ensuring the completeness of the search space, and further improves the overall efficiency of the algorithm.
(5) Compared with the traditional non-insertion mode and parallel decoding methods, the serial individual decoding method which is used for arranging the task execution as early as possible based on the insertion mode can generally find a better corresponding scheduling scheme.
(6) Compared with the common one-way decoding method, the forward and backward individual decoding and improvement strategy FBI & D adopted by the design of the invention enhances the neighborhood optimizing capability of the individual, thereby improving the optimizing capability and the searching efficiency of the whole algorithm.
(7) The invention adopts the optimal individual storage strategy, can ensure that the optimal individual is not damaged, and leads the algorithm to be monotonous and convergent.
(8) Compared with the traditional intelligent calculation methods such as GA and the like, the algorithm designed by the invention uses sampling to replace genetic operation to generate new individuals, and the algorithm is more concise.
(9) Compared with the traditional random initialization method, the invention broadcasts an individual generated based on the hierarchy and benefit ratio method in the initialization population, so that the algorithm starts to search at a higher starting point, thereby improving the search efficiency and shortening the search time.
(10) The invention designs a new individual fitness value calculation and quality comparison method for optimizing the workflow execution cost and the response time in a cloud computing environment, and can quickly and conveniently realize the quality comparison among individuals.
(11) The invention designs a universal virtual machine renting charging model which is suitable for charging rules of all IaaS platforms such as Amazon EC2, Microsoft Azure, Google cloud, Array cloud, Tencent cloud and the like.
Drawings
Fig. 1 is a schematic flow chart of a workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment according to the present invention.
FIG. 2 is a timing diagram of tasks of a Montage workflow according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to fig. 1 and 2 and examples, but the present invention is not limited to the examples.
Suppose that there are 5 virtual machine types vm numbered 1 to 5 under a cloud computing service provider, i.e., a cloud computing environment1、vm2、vm3、vm4、vm5The computing power, bandwidth, unit time cost, fixed lease initiation cost, minimum billing time unit and minimum lease initiation time of various virtual machine types are shown in table 1; the time sequence relationship between one Montage workflow task is shown in FIG. 2, which is composed of 15 tasks t numbered from 1 to 151、t2、…、t15Composition, length of execution of each task, input files required for processing, and processed outputThe names and lengths of the files are shown in table 2.
Figure BDA0002311345390000151
TABLE 1
Figure BDA0002311345390000152
Figure BDA0002311345390000161
TABLE 2
For the above case, as shown in fig. 1, a workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment includes the following implementation steps:
executing the step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15};
Obtaining the time sequence relation between tasks, namely a parent task set PR of the task iiAnd a set of subtasks SCi
Figure BDA0002311345390000162
Figure BDA0002311345390000163
PR4={t1},PR5={t1,t2},PR6={t1,t3},PR7={t4,t5,t6},PR8={t7},PR9={t1,t8},PR10={t2,t8},PR11={t3,t8},PR12={t9,t10,t11},PR13={t12},PR14={t13},PR15={t14};
SC1={t4,t5,t6,t9},SC2={t5,t10},SC3={t6,t11},SC4={t7},SC5={t7},SC6={t7},SC7={t8},SC8={t9,t10,t11},SC9={t12},SC10={t12},SC11={t12},SC12={t13},SC13={t14},SC14={t15},
Figure BDA0002311345390000164
Acquiring relevant parameters of the task: len (a)1=42×107MI,IFL1={fd1,fd2},OFL1={f1-1,f1-2};
len2=36×107MI,IFL2={fd1,fd3},OFL2={f2-1,f2-2};len3=63×107MI,IFL3={fd1,fd4},OFL3={f3-1,f3-2};len4=46×107MI,IFL4={fd1,f1-1,f1-2},OFL4={f4-1,f4-2};……;
len15=48×107MI,IFL15={f14-1},OFL15={f15-1};fd1.size=36000MB,fd2.size=43200MB,f1-1.size=39600MB,f1-2.size=39600MB,……,f14-1.size=356000MB,f15-1.size=42000MB;
Acquiring a virtual machine type set in a cloud computing environment: VM ═ VM1,vm2,vm3,vm4,vm5};
Acquiring related parameters of the virtual machine: ps is1=10000MI/s,bw1=200Mbit/s,vc10.5-membered, fc13 yuan, ut1=600s,ft1=7200s;ps2=20000MI/s,bw2=200Mbit/s,vc20.8 membered, fc24 yuan, ut2=600s,ft2=7200s;ps3=40000MI/s,bw3=300Mbit/s,vc31.4-membered, fc36 yuan, ut3=600s,ft3=7200s;ps4=40000MI/s,bw4=400Mbit/s,vc41.7 membered, fc47 yuan, ut4=600s,ft4=7200s;ps5=60000MI/s,bw5=400Mbit/s,vc52.1 yuan, fc58 Yuan, ut5=600s,ft5=7200s;
Acquiring cost constraint Budget and time constraint Deadline of workflow execution under a cloud computing environment, wherein the cost constraint Budget is 1100 yuan, and the time constraint Deadline is 140000 s;
and (3) executing the step 2: calculating a level value of the task;
if task 1, task 2 and task 3 have no parent task, lvl1=lvl2=lvl3=1;
Task 4 has only one parent task 1, then
Figure BDA0002311345390000171
Similarly, the hierarchy values of other tasks may be obtained: lvl5=lvl6=2;lvl7=3;lvl8=4;lvl9=lvl10=lvl11=5;lvl12=6;lvl13=7;lvl14=8;lvl15=9。
And (3) executing the step: initializing the contemporary population, and making BtCh equal to Null;
taking the population scale N as 10, the weight coefficient theta as 0.4 and the coordination coefficient mu of the cost and the time as 250;
generating 1 individual based on the hierarchy and the benefit ratio, and then sampling the initial probability model for 9 times to generate 9 individuals to form an initial current generation population;
the specific implementation process for generating 1 individual based on the hierarchy and the benefit ratio is as follows:
step a1 is executed: randomly arranging tasks according to the task hierarchy value from small to large, and randomly arranging the tasks with the hierarchy value of 1, wherein the tasks are 1,3 and 2; randomly arranging tasks with a hierarchy value of 2, wherein the tasks are 6,5 and 4; the task of the level value 3 is only 7; the task with the hierarchy value of 4 is only 8; randomly arranging the tasks with the hierarchy value of 5, wherein the tasks are 9,11 and 10; the task for the hierarchy value 6 is only 12; the task for the level value 7 is only 13; the task of the level value 8 is only 14; the task for the hierarchy value 9 is only 15; sequentially connecting the arrangements according to the hierarchy values from small to large to form an individual task scheduling sequence list {1,3,2,6,5,4,7,8,9,11,10,12,13,14,15 };
step a2 is executed: generating an individual virtual machine allocation list and a virtual machine type list, which are {1,2,3,2,1,3,1,1,1,4,4,4,4,4,4} and {5,5,5,5,3,4,5,4,2,2,1,4,3,2,3}, respectively, based on the benefit ratio; obtaining the execution time and the completion time of all tasks: et ali、fi,i=1,…,15;
I.e. step a 2.1: order virtual machine instance set
Figure BDA0002311345390000181
gs1=…=gs15=0;gt1=…=gt150; ready time rt of all tasks1=…=rt15=0;ε=1;
Step a2.2 is performed: i-grε=gr11, K-INS-0, K-1, η -1, and calculating t1The comprehensive benefit ratio after each potential virtual machine instance is respectively distributed: namely, step A2.2.1 is executed: since k is 1>K is 0, go to A2.2.6, execute step A2.2.6, go to A2.2.7 because η is equal to 1 and J is equal to 5, execute step A2.2.7, calculate t1Execution time after allocation to a new type 1 virtual machine instance
Figure BDA0002311345390000182
Step a2.2.8 is performed: calculating t1The start time s after the assignment of this new type 1 virtual machine instance1,1=rt10, completion time f1,1=s1,1+et1,145168+ 45168; execution of step A2.2.9: calculating the comprehensive benefit ratio:
Figure BDA0002311345390000183
Figure BDA0002311345390000184
(ii) a Wherein lt ″)145168+8 × (39600+39600)/200-0 ═ 48336, η ═ 1+1 ═ 2, go to step A2.2.6;
step A2.2.6 is executed by proceeding to step A2.2.7 because η ≦ J ≦ 5, and step A2.2.7 is executed by calculating t1Execution time after allocation to a new type 2 virtual machine instance
Figure BDA0002311345390000185
Step a2.2.8 is performed: calculating t1The start time s after the virtual machine instance of type 2 is allocated to this new instance1,2=rt10, completion time f1,2=s1,2+et1,224168, executing step A2.2.9, calculating comprehensive benefit ratio ξ1,220481.6, η + 2+ 1-3, go to A2.2.6 and … …, and repeatedly execute the steps A2.2.6 to A2.2.9 until η is 6>J is 5, and the obtained comprehensive benefit ratio is ξ1,3=12934.4,ξ1,4=12810.8,ξ1,5=10470.8;
Step A2.3 Slave ξ1,1,…,ξ1,5Find a minimum of ξ1,5(ii) a Since delta is 5>K=0,gs1=0+1=1,gt15-0-5; adding a virtual machine instance ins numbered 11I.e., INS ∪ INS1={ins1},vatl1={[0,∞]};
Step a2.4 is performed: assigning task 1 to virtual machine instance k-gs11: step A2.4.1 is executed: calculating the start time s of a task1=s1,50, end time f1=f1,58584, execution time et1=f1-s18584; execution of step A2.4.2: updating the Ready time rt of a subtask of task 14=max{rt4,f1}=max{0,8584}=8584,rt5=8584,rt6=8584,rt98584; execution of step A2.4.3: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et18584 and ∞ -8584 ≧ rt10; execution of step A2.4.4: in vatl1Deletion of [0, ∞]Insertion interval length of [8584, ∞ ] of more than 0]Then, vall1={[8584,∞]};
Step a2.5 is performed: epsilon is 1+1 is 2; as ∈ 2 ≦ I ≦ 15, go to step a 2.2;
step a2.2 is performed: i-gr23, K-INS-1, K-1, η -1, and calculating t3The comprehensive benefit ratio after each potential virtual machine instance is respectively distributed: namely, step A2.2.1 is executed: if K is 1 ≦ K is 1, go to step A2.2.2; execution of step A2.2.2: calculating t3Execution time after assignment to virtual machine instance number 1
Figure BDA0002311345390000191
Execution of step A2.2.3: in vatl1Finding an idle period [8584, ∞ from the morning to the evening]Satisfies ∞ -8584 ≥ et3,112084 and infinity-12084 ≧ rt30; execution of step A2.2.4: calculating t3Starting time s after virtual machine instance number 1 is assigned3,1Max {8584,0} -8584, completion time f3,1=s3,1+et3,120668; execution of step A2.2.5: calculating the comprehensive benefit ratio: hrt'1=min{s1}=0,Rnt′1=max{8584+8×(39600+39600)/400}=10168;lt′1=Rnt′1-Hrt′1=10168;
Figure BDA0002311345390000192
This gives:
Figure BDA0002311345390000193
k 1+ 1-2, go to step +0.6 × (20668+8 × (38400+38400)/400-0) ═ 4410+13322.4 ═ 17732.4
A2.2.1; step a2.2.1 is performed: since k is 2>K1, go to A2.2.6, execute step A2.2.6, go to step A2.2.7 because η is equal to 1 and J is equal to 5, execute step A2.2.7, calculate t3Execution time after allocation to a new type 1 virtual machine instance
Figure BDA0002311345390000194
Step a2.2.8 is performed: calculating t3The start time s after the assignment of this new type 1 virtual machine instance3,2=rt30, completion time f3,2=s3,2+et3,266168, executing A2.2.9 calculating the comprehensive benefit ratio ξ3,247644, η + 1+ 2, go to step A2.2.6, … …, and repeat steps A2.2.6-A2.2.9 to obtain a total benefit ratio of ξ3,3=28084,ξ3,4=17306,ξ3,5=17462,ξ3,6=13802;
Step A2.3 Slave ξ3,1,…,ξ3,6Find a minimum of ξ3,6(ii) a Because delta is 6>K is 1, so gs2=1+1=2,gt26-1-5; adding a virtual machine instance ins numbered 22I.e., INS ∪ INS2={ins1,ins2},vatl2={[0,∞]};
Step a2.4 is performed: assigning task 3 to virtual machine instance k-gs22: step A2.4.1 is executed: calculating the start time of the task: s3=s3,60, end time: f. of3=f3,612084; execution time: et al312084; execution of step A2.4.2: furthermore, the utility modelReady time rt of a subtask of a new task 36=12084,rt1112084; execution of step A2.4.3: in vatl2Finding out an idle time period [0, ∞ from morning to evening]The conditions that ∞ -0 is more than or equal to 12084 and ∞ -12084 is more than or equal to 0 are met; execution of step A2.4.4: in vatl2Deletion of [0, ∞]Insertion interval length of [12084, ∞ ] of more than 0];
Step a2.5 is performed: 2+1 ═ 3; as ∈ 3 ≦ I ≦ 15, go to step a 2.2;
step a2.2 to step a2.5 are thus continuously executed until ∈ 16>I is 15, in which case INS is [ INS ]1,ins2,ins3,ins4]The virtual machine allocation list and the virtual machine type list are respectively as follows: {1,2,3,2,1,3,1,1,1,4,4,4,4, 4} and {5,5,5,5,0,0,0,0,0, 0}, go to step a 2.6;
step a2.6 is performed: since K | INS | ≦ 4 ≦ I ≦ 15, 11 random integers between 1 and 5 are generated: pi5、π6、π7、π8、π9、π10、π11、π12、π13、π14、π15It is as follows: 3.4, 5,4,2,1, 4,3,2, 3; order: gt5=π5=3,…,gt15=π15=3;
Step a2.7 is performed: obtaining an individual
{1,3,2,6,5,4,7,8,9,11,10,12,13,14, 15; 1,2,3,2,1,3,1,1, 4,4,4,4,4, 4; 5,5,5,5,3,4,5,4,2,2,1,4,3,2,3} and the execution time and completion time of all tasks thereof: et al1=8584、et2=7584、et3=12084、et4=9970.67、et5=10818.67、et6=10870.67、et7=16186.67、et8=10626.67、et9=13566.67、et10=7445.33、et11=8816、et12=24866.67、et13=8720、et14=11666.67、et15=8000,f1=8584,f2=7584,f3=12084,f4=18554.67,f5=19402.67,f6=22954.67,f7=39141.33,f8=49768,f9=63334.67,f10=66029.33,f11=58584,f12=90896,f13=99616,f14=111282.67,f15When 119282.67, the operation ends.
Step a3 is executed: output an individual ch11,3,2,6,5,4,7,8,9,11,10,12,13,14, 15; 1,2,3,2,1,3,1,1, 4,4,4,4,4, 4; 5,5,5,5,3,4,5,4,2,2,1,4,3,2,3}, and the execution time and completion time of all tasks thereof: et al1=8584、et2=7584、et3=12084、et4=9970.67、et5=10818.67、et6=10870.67、et7=16186.67、et8=10626.67、et9=13566.67、et10=7445.33、et11=8816、et12=24866.67、et13=8720、et14=11666.67、et15=8000,f1=8584,f2=7584,f3=12084,f4=18554.67,f5=19402.67,f6=22954.67,f7=39141.33,f8=49768,f9=63334.67,f10=66029.33,f11=58584,f12=90896,f13=99616,f14=111282.67,f15119282.67; calculating workflow response time: due to the fact that
Figure BDA0002311345390000211
And SFL15={f15-1Get the results
Figure BDA0002311345390000212
Finishing the operation;
the specific implementation process of the initialized task scheduling order probability model PMS (1) is as follows:
according to the time sequence relation among tasks, the following steps are known: t is t1Without ancestor task, its descendant task is t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15Therefore, ξ1=0,ζ1ξ on the same principle as 122=0,ζ2=10,ξ3=0,ζ3=10,ξ4=1,ζ4=9,ξ5=2,ζ5=9,ξ6=2,ζ6=9,ξ7=6,ζ7=8,ξ8=7,ζ8=7,ξ9=8,ζ9=4,ξ10=8,ζ10=4,ξ11=8,ζ11=4,ξ12=11,ζ12=3,ξ13=12,ζ13=2,ξ14=13,ζ14=1,ξ15=14,ζ15=0;
From ξi,ζiAvailable STS1={t1,t2,t3H, then β1,1(1)=γ1,1/|STS1|=1/3=0.33,β2,1(1)=γ2,1/|STS1|=1/3=0.33,β3,1(1)=1/3=0.33,β4,1(1)=γ4,1/|STS1|=0/3=0.00,β5,1(1)=0/3,……;
From ξi,ζiAvailable STS2={t1,t2,t3,t4H, then β1,2(1)=γ1,2/|STS2|=1/4=0.25,β2,2(1)=γ2,2/|STS2|=1/4=0.25,β3,2(1)=0.25,β4,2(1)=0.25,β5,2(1)=0.00,β6,2(1)=0.00,……;
From ξi,ζiAvailable STS3={t1,t2,t3,t4,t5,t6H, then β1,3(1)=γ1,3/|STS3|=1/6=0.17,β2,3(1)=1/6=0.17,β3,3(1)=1/6=0.17,β4,3(1)=0.17,β5,3(1)=0.17,β6,3(1)=0.17,β7,3(1)=0.00,β8,3(1)=0.00,……;
Similarly, the remaining β can be obtainedi,i′(1) I 1, …,15, i' 4, …,15, the final product can be:
Figure BDA0002311345390000221
the virtual machine assignment probability model PMA (1) is initialized as follows:
Figure BDA0002311345390000222
the process of initializing the virtual machine type probability model PMT (1) is as follows:
δ1,1(1)=1/5=0.2,δ1,2(1)=1/5=0.2,…,δ1,5(1)=1/5=0.2;
δ2,1(1)=1/5=0.2,δ2,2(1)=1/5=0.2,…,δ2,5(1)=1/5=0.2;
in the same way, the residual delta can be obtainedi,k(1) I-3, …,15, k-1, …,5, ultimately yields:
Figure BDA0002311345390000231
the concrete implementation process of generating 1 individual by sampling probability models PMS (1), PMA (1) and PMT (1) for 1 time is as follows:
step B1 is executed: sampling of virtual machine types: namely, step B1.1 is executed: let k equal to 1; step B1.2 is performed: obtaining probabilities that the type of virtual machine instance with the number k ═ 1 is 1,2,3,4,5 respectively: a. the1,1=δ1,1(1)=0.2、A1,2=0.2、A1,3=0.2、A1,4=0.2、A1,50.2; calculating the cumulative probability:
Figure BDA0002311345390000232
Figure BDA0002311345390000233
in the same way, the method for preparing the composite material,
Figure BDA0002311345390000234
step B1.3 is performed: 1 random number is generated, which is λ 0.69, since
Figure BDA0002311345390000235
So type 4 is selected, i.e. command14; step B1.4 is executed: k is 1+1 is 2; since k is 2 ≤ I is 15, go to step B1.2; step B1.2 is performed: obtaining probabilities that the type of virtual machine instance with the number k-2 is 1,2,3,4,5, respectively: a. the2,1=δ2,1(1)=0.2、A2,2=0.2、A2,3=0.2、A2,4=0.2、A2,50.2; calculating the cumulative probability:
Figure BDA0002311345390000236
Figure BDA0002311345390000237
step B1.3 is performed: 1 random number is generated, which is λ 0.56, since
Figure BDA0002311345390000238
So type 3 is selected, i.e. command23; step B1.4 is executed: k is 2+1 is 3; since k is 3 ≤ I is 15, go to step B1.2; ….; this is repeated from step B1.2 to step B1.4 until k is 16>Obtaining a virtual machine type list {4,3,1,3,5,4,5,1,3,5,1,1,5,3,3 }; go to step B2;
step B2 is executed: initializing a system state: i.e. step B2.1: make all virtual machines available a time period list vatl1={[0,∞]},vatl2={[0,∞]},……,vatl15={[0,∞]}; and B2.2: let ready times rt of all tasks1=0,rt2=0,……,rt15=0;
Figure BDA0002311345390000241
P(t4)={t1},P(t5)={t1,t2},P(t6)={t1,t3},P(t7)={t4,t5,t6},P(t8)={t7},P(t9)={t1,t8},P(t10)={t2,t8},P(t11)={t3,t8},P(t12)={t9,t10,t11},P(t13)={t12},P(t14)={t13},P(t15)={t14};
Figure BDA0002311345390000242
UT=T={t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15}; and step B2.3 is executed: in UT
Figure BDA0002311345390000243
T of1、t2、t3Moving to RT, RT ═ t1,t2,t3},UT={t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15};q=1,MI=1;
Step B3 is performed according to [ β ]1,1(1) … β15,1(1)]TFrom RT to t using roulette1,t2,t3Randomly taking out a task, namely executing the step B3.1: calculating the probability of each task being selected in the RT:
Figure BDA0002311345390000244
thus t1The probability of being selected is:
Figure BDA0002311345390000245
in the same way, A2=0.33、A3=0.33;And step B3.2 is executed: calculating the cumulative probability:
Figure BDA0002311345390000246
step B3.3 is performed: generate 1 random number, which is λ 0.84, because
Figure BDA0002311345390000247
Thus selecting t3The task selection operation is finished; let gr1=3;
Step B4 is performed according to [ α ]1,1(1) … α1,15(1)]Using roulette in [1, 1]]Randomly selects a virtual machine instance number between which is k 1, and makes gsq=gs1K is 1; since k is 1 ═ MI, then MI ═ MI +1 ═ 2;
step B5 is executed: handle t3To the virtual machine instance numbered 1: i.e. step B5.1: calculating t3Execution time of
Figure BDA0002311345390000248
And B5.2: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et317334 and ∞ -17334 ≧ rt30; and executing the step B5.3: t is t3Start time s of3=max{0,0}=0,t3End time f of3=s3+et317334; and executing the step B5.4: updating t3Rt of the subtask of (2)6=max{rt6,f3}=17334,rt1117334; and executing the step B5.5: list of time slots available in virtual machine, vatl1Deletion of [0, ∞]Insertion interval length of [17334, ∞ ] greater than 0](ii) a And step B5.6 is executed: at P (t)6)、P(t11) Deletion of t3Then P (t)6)={t1},P(t11)={t8}; deleting t in RT3,RT={t1,t2}; step B5.7 is performed: since UT is t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15Is absent in
Figure BDA0002311345390000249
So RT, UT are not changed;
step B6 is executed: since RT ═ t1,t2Q is not null, so q + 1+ 2, go to step B3;
step B3 is performed according to [ β ]1,2(1) … β15,2(1)]TFrom RT to t using roulette1,t2Randomly choose a task, which is t2Let gr be2=2;
Step B4 is performed according to [ α ]2,1(1) … α2,15(1)]Using roulette in [1,2 ]]Randomly selecting a virtual machine instance number, namely executing the step B4.1: calculate the probability that the various possible numbers are chosen: a. the1=α2,1(1)=0.07,A2=1-A10.93; and step B4.2 is executed: calculating the cumulative probability:
Figure BDA0002311345390000251
and executing the step B4.3: 1 random number λ is generated to be 0.24, since
Figure BDA0002311345390000252
Therefore, the number 2 is selected, and the virtual machine instance number selection operation is finished; let gs22; since 2 ═ MI, then MI ═ MI +1 ═ 3;
step B5 is executed: handle t2To virtual machine instance number 2: i.e. step B5.1: calculating t2Execution time et of211112; and B5.2: in vatl2Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et211112 and ∞ -11112 ≧ rt20; and executing the step B5.3: t is t2Start time s of2=0,t2End time f of2=s2+et211112; and executing the step B5.4: updating t2Rt of the subtask of (2)5=11112,rt1011112; and executing the step B5.5: listing time periods available in virtual machinesvatl2Deletion of [0, ∞][11112, ∞ with an insertion interval length greater than 0](ii) a And step B5.6 is executed: at P (t)5)、P(t10) Deletion of t2Deleting t in RT2Then RT ═ t1}; step B5.7 is performed: since UT is t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15Is absent in
Figure BDA0002311345390000253
So RT, UT are not changed;
step B6 is executed: since RT ═ t1Q is not null, so q + 2+1 is 3, go to step B3;
……
the steps B3 to B6 are repeatedly executed until RT is empty, and then the step B7 is executed;
step B7 is executed: obtaining an individual
ch21, {3,2,1,5,4,6,7,8,11,10,9,12,13,14, 15; 1,2,3,4,5,5,2,2,4,1,2,4,2,5, 1; 4,3,1,3,5,4,5,1,3,5,1,1,5,3,3} and the execution time and completion time of all tasks thereof: et al1=45168、et2=11112、et3=17334、et4=11554.67、et5=19004、et6=13990.67、et7=36160、et8=15780、et9=23518、et10=10816、et11=12888、et12=43140、et13=15520、et14=30866.67、et15=19120,f1=45168,f2=11112,f3=17334,f4=56722.67,f5=64172,f6=70713.33,f7=106873.33,f8=122653.33,f9=146171.33,f10=133469.33,f11=135541.33,f12=189311.33,f13=204831.33,f14=235698,f15254818; calculate its workflow response time rs2255658, the operation ends;
similarly, other individuals in the population are generated by sampling the initial probability model as follows:
ch3={3,1,4,2,5,6,7,8,10,9,11,12,13,14,15;1,1,1,1,2,2,2,3,2,4,3,4,5,2,5;4,2,4,2,2,4,3,3,5,1,2,5,3,1,4}
ch4={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;1,2,3,1,4,5,6,7,8,9,9,2,4,1,10;5,5,2,1,5,3,4,1,4,2,5,3,1,2,1}
ch5={1,2,3,5,4,6,7,8,9,11,10,12,13,14,15;1,2,3,2,4,5,3,6,1,7,2,2,8,3,6;4,4,2,4,5,2,3,5,4,2,4,4,1,5,1}
ch6={1,2,4,3,5,6,7,8,9,10,11,12,13,14,15;1,1,1,1,2,2,2,1,3,4,3,5,2,6,2;5,4,2,1,3,3,5,3,2,4,5,4,1,1,3}
ch7={1,2,5,4,3,6,7,8,10,9,11,12,13,14,15;1,2,3,4,5,6,3,7,6,8,8,9,2,9,2;2,3,4,3,4,2,2,4,3,1,1,5,2,2,2}
ch8={2,3,1,6,4,5,7,8,10,9,11,12,13,14,15;1,2,3,4,5,6,7,8,9,10,4,5,5,2,7;4,3,5,2,4,3,5,2,2,2,5,3,2,1,4}
ch9={3,2,1,5,4,6,7,8,9,11,10,12,13,14,15;1,2,3,4,2,5,3,5,6,7,7,1,6,8,8;4,4,2,4,1,3,1,3,3,4,1,2,5,1,3}
ch10={3,1,4,2,6,5,7,8,10,11,9,12,13,14,15;1,2,3,4,5,2,3,6,5,7,8,9,10,7,6;5,5,2,1,5,4,4,2,5,1,2,4,4,2,1}
the workflow response time is respectively as follows: rs3=419882,rs4=341793.33,rs5=321114,rs6=293148.67,rs7=284975.33,rs8=296870,rs9=414570.67,rs10=340553.33;
And (4) executing: decoding and improving each individual in the contemporary population by adopting FBI & D to obtain the workflow execution cost and response time of each individual, and then calculating the relative fitness value of all infeasible individuals and the absolute fitness value of feasible individuals; replacing the content stored in BtCh with the optimal individual if BtCh ═ Null or the optimal individual in the contemporary population is better than the individual stored in BtCh;
use of FBI on individuals in contemporary populations&D method modifications, e.g. to ch in subgroup 13={3,1,4,2,5,6,7,8,10,9,11,12,13,14,15;1,1,1,1,2,2,2,3,2,4,3,4,5,2,5;4,2,4,2,2,4,3,3,5,1,2,5,3,1,4}
The execution times of all its tasks have been obtained during the sampling process: et al1=12084、et2=10584、et3=17334、et4=12220、et5=33272、et6=33380、et7=34880、et8=17860、et9=44828、et10=20224、et11=11736、et12=70440、et13=29280、et14=63800、et1538240; and completion time: f. of1=29418,f2=52222,f3=17334,f4=41638,f5=85494,f6=118874,f7=153754,f8=171614,f9=216442,f10=191838,f11=183350,f12=286882,f13=316162,f14=379962,f15418202; using FBI&The improved process of the method D is as follows:
step C1 is executed: form a reverse body
Figure BDA0002311345390000271
Namely, step C1.1 is executed: according to task completion time fiRearranging the task scheduling sequence list {3,1,4,2,5,6,7,8,10,9,11,12,13,14,15} from large to small, namely setting the ith gene value in the task scheduling sequence list as the ith-last completed task number, wherein i is 1, …, 15; form {15,14,13,12,9,10,11,8,7,6,5,2,4,1,3 };
step C1.2 is performed: in order to maintain the validity of the original resource configuration scheme and the codes, the virtual machine instance list and the virtual machine type list are adjusted: step C1.2.1 is executed: epsilon is 1; δ is 1; flg1=...=flg15=0;
Figure BDA0002311345390000272
k 6 …, 15; execution of step C1.2.2: due to flgε=flg1Go to step C1.2.3, so go to 0: execution of step C1.2.3: find task 15 is in { gr1,…,gr15The scheduling order in (1) }, which is 15, at ch3Find out the usage number gs15The task number set ST of the virtual machine instance of 5 is 13,15, where
Figure BDA0002311345390000273
Finding out a scheduling sequence set SI (1, 3) of a corresponding task in ST; execution of step C1.2.4: order to
Figure BDA0002311345390000274
flg1=1、flg3=1;
Figure BDA0002311345390000275
δ 1+1 — 2; execution of step C1.2.5: epsilon is 1+1 is 2; if e is 2 ≦ I ≦ 15, go to step C1.2.2; execution of step C1.2.2: due to flgε=flg2Go to step C1.2.3, so go to 0: execution of step C1.2.3: finding tasks
Figure BDA0002311345390000276
In { gr1,…,gr15The scheduling order in (1) }, which is 14, at ch3Find out the usage number gs14The task number set ST of the virtual machine instance of 2 is 5,6,7,10,14, where
Figure BDA0002311345390000277
Finding out a scheduling sequence set SI of the corresponding task in ST as {2,6,9,10,11 }; execution of step C1.2.4: order to
Figure BDA0002311345390000278
flg2=1、flg6=1、flg9=1、flg10=1、flg11=1;
Figure BDA0002311345390000279
δ 2+1 — 3; execution of step C1.2.5: epsilon ═2+1 ═ 3; if e is 3 ≦ I ≦ 15, go to step C1.2.2; … …, respectively; the steps C1.2.2 to C1.2.5 are repeated until ∈ 16>Obtaining an adjusted virtual machine instance list {1,2,1,3,3,2,4,4,2,2,2,5,5, 5} and a virtual machine type list: {2,2,2,4,4,4,3,3,5,1,2,5,3,1,4}, which ultimately form an inverted individual
Figure BDA00023113453900002710
Go to step C2;
step C2 is executed: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure BDA00023113453900002711
Decoding is carried out, and reverse completion time of all tasks is obtained:
Figure BDA00023113453900002712
Figure BDA00023113453900002713
Figure BDA0002311345390000281
and its workflow reverse response time
Figure BDA0002311345390000282
Due to the fact that
Figure BDA0002311345390000283
Less than rs3When the result is 419882, go to step C3;
step C3 is executed: form positive individual ch3
Step C3.1 is performed: according to task reverse completion time
Figure BDA0002311345390000284
Rearranging the task scheduling order list {15,14,13,12,9,10,11,8,7,6,5,2,4,1,3} from large to small, namely setting the ith gene value in the task scheduling order list to be the penultimate gene valuei number of completed tasks, i ═ 1, …, 15; form {1,2,5,3,6,4,7,8,9,10,11,12,13,14,15 };
step C3.2 is performed: in order to maintain the validity of the original resource configuration scheme and the codes, the virtual machine instance list and the virtual machine type list are adjusted: step C3.2.1 is executed: epsilon is 1; δ is 1; flg1=...=flgI=0;
Figure BDA0002311345390000285
k is 6, …, 15; execution of step C3.2.2: due to flgε=flg1Go to step C3.2.3, so it is 0; execution of step C3.2.3: finding task gr11 is in
Figure BDA0002311345390000286
In a scheduling order of 14, in
Figure BDA0002311345390000287
Find out the use number as
Figure BDA0002311345390000288
Is given as 1,2,3,4, in { gr1,…,gr15Finding out a scheduling sequence set SI of a corresponding task in ST from {1,2,5,3,6,4,7,8,9,10,11,12,13,14,15} - {1,2,4,6 }; execution of step C3.2.4: let gs1=1、gs2=1、gs4=1、gs6=1,flg1=1、flg2=1、flg4=1、flg6=1;
Figure BDA0002311345390000289
δ 1+1 — 2; execution of step C3.2.5: epsilon is 1+1 is 2; since ∈ 2 ≦ I ≦ 15, go to step C3.2.2; execution of step C3.2.2: due to flgε=flg2Go to step C3.2.5 for 1; execution of step C3.2.5: 2+1 ═ 3; if e is 3 ≦ I ≦ 15, go to step C3.2.2; execution of step C3.2.2: due to flgε=flg3Go to step C3.2.3, so it is 0; execution of step C3.2.3: finding task gr3Is 5 at
Figure BDA00023113453900002810
In a scheduling order of 11, in
Figure BDA00023113453900002811
Find out the use number as
Figure BDA00023113453900002812
Is given as the task number set ST of the virtual machine instance of (1) {5,6,7,10,14}, in { gr1,…,gr15Finding out a scheduling sequence set SI of a corresponding task in ST from {1,2,5,3,6,4,7,8,9,10,11,12,13,14,15} - {3,5,7,10,14 }; execution of step C3.2.4: let gs3=δ=2、gs5=2、gs7=2、gs10=2、gs14=2,flg3=1、flg5=1、flg7=1、flg10=1、flg14=1;
Figure BDA00023113453900002813
δ 2+1 — 3; execution of step C3.2.5: epsilon is 3+1 is 4; if e is 4 ≦ I ≦ 15, go to step C3.2.2; … …, respectively; the steps C3.2.2 to C3.2.5 are repeated until ∈ 16>Obtaining an adjusted virtual machine instance list (I-15)
{1,1,2,1,2,1,2,3,4,2,3,4,5,2,5} and list of virtual machine types: {4,2,4,2,2,4,3,3,5,1,2,5,3,1,4}, which ultimately form a positive individual
ch 31,2,5,3,6,4,7,8,9,10,11,12,13,14, 15; 1,1,2,1,2,1,2,3,4,2,3,4,5,2, 5; 4,2,4,2,2,4,3,3,5,1,2,5,3,1,4}, go to step C4;
step C4 is executed: adopting serial individual decoding method based on insertion mode to forward individual ch3Decoding is carried out, and the completion time of all tasks is obtained: f. of1=12084,f2=22668,f3=40002,f4=52222,f5=55940,f6=89320,f7=124200,f8=142060,f9=186888,f10=162284,f11=153796,f12=257328,f13=286608,f14=350408,f15388648, and its workflow response time rs3390328; due to rs3390328 equal to
Figure BDA0002311345390000291
So go to step C5;
step C5 is executed: outputting positive individuals
ch 31,2,5,3,6,4,7,8,9,10,11,12,13,14, 15; 1,1,2,1,2,1,2,3,4,2,3,4,5,2, 5; 4,2,4,2,2,4,3,3,5,1,2,5,3,1,4} and its workflow response time rs3390328, its workflow execution cost is calculated due to f1=12084,f2=22668,f3=40002,f4=52222,f5=55940,f6=89320,f7=124200,f8=142060,f9=186888,f10=162284,f11=153796,f12=257328,f13=286608,f14=350408,f15=388648;s1=0,s2=12084,s3=22668,s4=40002,s5=22668,s6=55940,s7=89320,s8=124200,s9=142060,s10=142060,s11=142060,s12=186888,s13=257328,s14=286608,s15=350408;
Figure BDA0002311345390000292
Figure BDA0002311345390000293
Therefore, it is
Figure BDA0002311345390000294
For the same reason, tf2=145324,tf3=146092,tf4=89320,tf5=89320,tf6=89320,tf7=126600,tf8=145324,tf9=230888,tf10=230888,tf11=230888,tf12=261168,tf13=286608,tf14364648; due to the fact that
Figure BDA0002311345390000295
Therefore, it is
Figure BDA0002311345390000296
Rnt1=max{tf1,tf2,tf3,tf4}=146188,Hrt1=min{s1,s2,s3,s4}=0,lt1=Rnt1-Hrt1146188; in a similar way, lt2=341980,lt3=106688,lt4=119108,lt5=133000;
Figure BDA0002311345390000297
Finishing the operation;
with the above-mentioned individuals
Figure BDA0002311345390000298
For example, the serial reverse individual decoding method based on the insertion mode is implemented as follows:
step D1 is executed: due to SFL15={f15-1Get the results
Figure BDA0002311345390000301
Due to the fact that
Figure BDA0002311345390000302
Therefore, it is
Figure BDA0002311345390000303
Epsilon is 1; make virtual machine available a time period list vatl1={[0,∞]},vatl2={[0,∞]},……,vatl5={[0,∞]};
Step D2 is executed: choose the serial number as
Figure BDA0002311345390000304
The task of (1);
step D3 is executed: assignment of tasks 15 to numbers of
Figure BDA0002311345390000305
The virtual machine instance of (2): i.e. step D3.1 is performed: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1538240 and
Figure BDA0002311345390000306
step D3.2 is performed: calculating the reverse start time of task 15
Figure BDA0002311345390000307
Reverse completion time
Figure BDA0002311345390000308
Step D3.3 is performed: updating the reverse ready time of the parent task of task 15
Figure BDA0002311345390000309
Step D3.4 is performed: list of time slots available in virtual machine, vatl1Deletion of [0, ∞]Insertion interval length greater than 0 [0,1680]And [39920, ∞];
Step D4 is executed: if e is 1+1 ═ 2, and since e is 2 ≦ I ≦ 15, go to step D2;
step D2 is executed: choose the serial number as
Figure BDA00023113453900003010
The task of (1);
step D3 is executed: assignment of tasks 14 to numbers of
Figure BDA00023113453900003011
The virtual machine instance of (2): i.e. step D3.1 is performed: in vatl2Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et1463800 and
Figure BDA00023113453900003012
step D3.2 is performed: calculating the reverse start time of task 14
Figure BDA00023113453900003013
Reverse completion time
Figure BDA00023113453900003014
Step D3.3 is performed: updating the reverse ready time of the parent task of task 14
Figure BDA00023113453900003015
Step D3.4 is performed: list of time slots available in virtual machine, vatl2Deletion of [0, ∞]Insertion interval length greater than 0 [0,39920]And [103720, ∞];
Step D4 is executed: if e is 2+1 ═ 3, and since e is 3 ≦ I ≦ 15, go to step D2;
……
the steps D2 to D4 are repeated until ∈ 16> I ═ 15, and the process goes to step D5
Step D5 is executed: obtaining reverse completion times for all tasks:
Figure BDA00023113453900003016
Figure BDA00023113453900003017
Figure BDA00023113453900003018
and its workflow reverse response time
Figure BDA0002311345390000311
Finishing the operation;
in the above-mentioned positive direction
ch 31,2,5,3,6,4,7,8,9,10,11,12,13,14, 15; 1,1,2,1,2,1,2,3,4,2,3,4,5,2, 5; 4,2,4,2,2,4,3,3,5,1,2,5,3,1,4} decoding as an example, the serial forward individual decoding method based on the insertion mode is implemented as follows:
executeStep E1: let ready times for all tasks: rt is an integer of1=0,rt2=0,……,rt150; epsilon is 1; let list of available slots for all virtual machine instances: vatl1={[0,∞]},vatl2={[0,∞]},……,vatl5={[0,∞]};
Step E2 is executed: selecting the serial number i-gr11 as a task;
step E3 is executed: assignment of task 1 to a number k-gs based on insertion pattern1A virtual machine instance of 1; i.e. step E3.1 is performed: in vatl1Finding out an idle time period [0, ∞ from morning to evening]Satisfy ∞ -0 ≥ et112084 and infinity-12084 ≧ rt10; step E3.2 is performed: calculating the start time s of task 11Max {0,0}, 0, completion time f1=s1+et112084; step E3.3 is performed: updating the Ready time rt of a subtask of task 14=max{rt4,f1}=12084,rt5=12084,rt6=12084,rt912084; step E3.4 is performed: list of time slots available in virtual machine, vatl1Deletion of [0, ∞]Insertion interval length of [12084, ∞ ] of more than 0];
Step E4 is executed: e, if E is 1+1 ═ 2, and since E is 2 ≦ I ≦ 15, go to step E2;
step E2 is executed: selecting the serial number i-gr2A task of 2;
step E3 is executed: assignment of task 2 to a number k-gs based on the insertion pattern2A virtual machine instance of 1; i.e. step E3.1 is performed: in vatl1Finding an idle period [12084, ∞ from morning to evening]Satisfies ∞ -12084 ≥ et210584 and ∞ -10584 ≧ rt20; step E3.2 is performed: calculating the start time s of task 22Max 12084,0 12084, completion time f2=s2+et222668; step E3.3 is performed: updating the Ready time rt of a subtask of task 25=max{rt5,f2}=max{12084,22668}=22668,rt1022668; step E3.4 is performed: listing time periods available in virtual machinesvatl1Deletion in [12084, ∞]Insertion interval length of more than 0 [22668, ∞];
Step E4 is executed: e, if E is 2+1 ═ 3, and since E is 3 ≦ I ≦ 15, go to step E2;
……
the steps E2 to E4 are repeated until ∈ 16> I ═ 15, and then the process goes to step E5;
step E5 is executed: acquiring the end time of all tasks; f. of1=12084,f2=22668,f3=40002,f4=52222,f5=55940,f6=89320,f7=124200,f8=142060,f9=186888,f10=162284,f11=153796,f12=257328,f13=286608,f14=350408,f15388648, its workflow response time rs is calculated3390328, the operation ends;
individuals in the contemporary population become, after the improvement of the FBI & D method:
ch1={1,3,2,6,5,4,7,8,9,11,10,12,13,14,15;1,2,3,2,1,3,1,1,1,4,4,4,4,4,4;5,5,5,5,3,4,5,4,2,2,1,4,3,2,3}
ch3={3,2,1,5,4,6,7,8,11,10,9,12,13,14,15;1,2,3,4,5,5,2,2,4,1,2,4,2,5,1;4,3,1,3,5,4,5,1,3,5,1,1,5,3,3}
ch3={1,2,5,3,6,4,7,8,9,10,11,12,13,14,15;1,1,2,1,2,1,2,3,4,2,3,4,5,2,5;4,2,4,2,2,4,3,3,5,1,2,5,3,1,4}
ch4={2,3,1,6,4,5,7,8,10,11,9,12,13,14,15;1,2,3,1,4,5,6,7,8,9,9,2,4,1,10;5,5,2,1,5,3,4,1,4,2,5,3,1,2,1}
ch5={1,2,3,5,4,6,7,8,9,11,10,12,13,14,15;1,2,3,2,4,5,3,6,1,7,2,2,8,3,6;4,4,2,4,5,2,3,5,4,2,4,4,1,5,1}
ch6={1,2,5,3,6,4,7,8,9,10,11,12,13,14,15;1,1,2,1,2,1,2,1,3,4,3,5,2,6,2;5,4,2,1,3,3,5,3,2,4,5,4,1,1,3}
ch7={1,2,5,4,3,6,7,8,10,9,11,12,13,14,15;1,2,3,4,5,6,3,7,6,8,8,9,2,9,2;2,3,4,3,4,2,2,4,3,1,1,5,2,2,2}
ch8={2,3,1,6,4,5,7,8,10,9,11,12,13,14,15;1,2,3,4,5,6,7,8,9,10,4,5,5,2,7;4,3,5,2,4,3,5,2,2,2,5,3,2,1,4}
ch9={3,2,1,5,4,6,7,8,9,11,10,12,13,14,15;1,2,3,4,2,5,3,5,6,7,7,1,6,8,8;4,4,2,4,1,3,1,3,3,4,1,2,5,1,3}
ch10={3,1,4,2,6,5,7,8,10,11,9,12,13,14,15;1,2,3,4,5,2,3,6,5,7,8,9,10,7,6;5,5,2,1,5,4,4,2,5,1,2,4,4,2,1}
the individual workflow response times are respectively: rs1=120122.67,rs2=255658,rs3=390328,rs4=341793.33,rs5=321114,rs6=289314,rs7=284975.33,rs8=296870,rs9=414570.67,rs10=340553.33;
The individual workflow execution costs are respectively: ct1=985.4,ct2=2422.3,ct3=1536.2,ct4=2927.1,ct5=2318,ct6=1714.6,ct7=2328.1,ct8=3649,ct9=3114.3,ct10=3418.8;
Calculating the relative fitness value of all the infeasible individuals and the absolute fitness value of the feasible individuals in the population:
because the cost constraint Budget is 1100, the time constraint Deadline is 140000; therefore ch1As feasible individual, ch2、ch3、ch4、ch5、ch6、ch7、ch8、ch9、ch10Is an infeasible individual;
for infeasible subject ch2、ch3、ch4、ch5、ch6、ch7、ch8、ch9、ch10Calculating a relative fitness value:
Figure BDA0002311345390000321
in the same way, rfit3=4.18、rfit4=5.1、rfit5=4.4、rfit6=3.63、rfit7=4.15、rfit8=5.44、rfit9=5.79、rfit10=5.54;
For feasible individual ch1Calculating an absolute fitness value:
afit1=0.4×250×985.4+0.6×120122.67=170613.60
since BtCh ═ Null, the best individual in the contemporary population is ch 11,3,2,6,5,4,7,8,9,11,10,12,13,14, 15; 1,2,3,2,1,3,1,1, 4,4,4,4,4, 4; 5,5,5,5,3,4,5,4,2,2,1,4,3,2,3}, so that BtCh ═ ch1
And 5, executing the step: if the termination condition is not met, go to step 6; otherwise go to step 8;
the termination condition is set as that iteration is carried out until a specified algebraic TG is 200; the current iteration is performed for 1 generation, so that the termination condition is not met, and the step 6 is carried out;
and 6, executing the step: constructing an elite population and updating a probability model;
rate of taking elite re=0.2,
Figure BDA0002311345390000331
Selecting N from the current generation population from good to bade2 individuals ch1={1,3,2,6,5,4,7,8,9,11,10,12,13,14,15;1,2,3,2,1,3,1,1,1,4,4,4,4,4,4;5,5,5,5,3,4,5,4,2,2,1,4,3,2,3}ch 61,2,5,3,6,4,7,8,9,10,11,12,13,14, 15; 1,1,2,1,2,1,2,1,3,4,3,5,2,6, 2; 5,4,2,1,3,3,5,3,2,4,5,4,1,1,3} as the current generation elite population POPe={ch1,ch6};
Updating rate of virtual machine distribution probability model
Figure BDA0002311345390000334
The specific implementation process of the virtual machine distribution probability model updating is as follows:
in the current generation elite population POPeIn the above description, the 1 st scheduled task is assigned to the virtual machine instance numbered 1,there were 2 times in total, so:
Figure BDA0002311345390000332
then according to equation (9) there is:
Figure BDA0002311345390000333
Figure BDA0002311345390000341
similarly, other α s are availablei,k(2) I is 2, …,15, k is 1, …,15, and the final updated virtual machine assignment probability model is:
Figure BDA0002311345390000342
updating rate of probability model of task scheduling sequence
Figure BDA0002311345390000343
The specific implementation process of the task scheduling order probability model updating is as follows:
in the current generation elite population POPeIn the above, the 1 st scheduled task is task 1, and there are 2 times, so there are:
Figure BDA0002311345390000344
Figure BDA0002311345390000345
then according to equation (10) there is:
Figure BDA0002311345390000346
similarly, other β s are availablei,i′(2) I is 1, …,15, i' is 2, …,15, and the probability model of the task scheduling order after updating is finally obtained as follows:
Figure BDA0002311345390000351
taking the update rate of the virtual machine type probability model
Figure BDA0002311345390000352
The specific implementation process of the virtual machine type probability model updating is as follows:
in the current generation elite population POPeIn the example number 1, the virtual machine types are all 5, and there are 2 times, so:
Figure BDA0002311345390000353
then according to equation (11) there is:
Figure BDA0002311345390000354
in the same way, other deltas can be obtainedk,j(2) And k is 2, …,15, j is 1, …,5, and the final updated probability model of the virtual machine type is:
Figure BDA0002311345390000361
and 7, executing the step: sampling the current probability models PMS (g), PMA (g) and PMT (g) for N times to generate N individuals, forming a new population, and enabling the new population to be a current generation population; turning to step 4;
the current probability models PMS (2), PMA (2) and PMT (2) were sampled 10 times, and 10 individuals were generated as follows:
ch′1={2,3,1,5,4,6,7,8,10,11,9,12,13,14,15;1,2,3,4,5,6,3,1,6,2,7,8,1,9,2;4,4,2,1,2,1,3,2,2,4,5,2,3,1,5}
ch′2={1,3,6,2,5,4,7,8,9,11,10,12,13,14,15;1,2,3,4,5,6,2,7,8,9,10,4,7,4,7;1,5,1,4,4,2,1,3,5,2,5,3,1,1,3}
ch′3={3,1,2,5,6,4,7,8,11,10,9,12,13,14,15;1,2,3,4,1,3,5,6,6,7,1,4,2,4,1;1,1,4,3,4,1,2,4,2,2,5,4,1,4,3}
ch′4={1,2,5,3,6,4,7,8,10,11,9,12,13,14,15;1,2,1,3,3,1,4,1,2,5,6,7,4,8,9;3,4,1,5,3,1,5,1,1,5,5,4,5,5,4}
ch′5={1,4,3,6,2,5,7,8,9,11,10,12,13,14,15;1,2,3,4,1,1,1,4,5,6,3,5,4,7,4,;4,3,2,4,2,4,1,1,4,4,3,4,5,2,2}
ch′6={1,3,2,5,6,4,7,8,10,9,11,12,13,14,15;1,2,3,4,5,1,5,6,7,4,7,2,8,2,8;5,1,4,3,2,2,4,1,4,3,1,5,2,3,3}
ch′7={3,2,1,6,4,5,7,8,9,10,11,12,13,14,15;1,2,1,3,2,4,5,1,6,7,4,6,3,7,8;3,4,3,1,3,4,4,4,5,1,5,3,1,2,1}
ch′8={3,2,1,5,4,6,7,8,10,11,9,12,13,14,15;1,2,3,4,5,5,6,1,3,6,6,7,5,8,1;3,5,5,1,3,3,5,1,4,5,5,4,1,3,3}
ch′9={1,3,6,4,2,5,7,8,9,10,11,12,13,14,15;1,2,3,2,4,1,5,6,3,7,8,4,2,9,4;4,4,1,5,3,3,5,1,5,3,1,2,2,1,3}
ch′10={1,2,5,4,3,6,7,8,9,11,10,12,13,14,15;1,2,3,1,4,5,6,1,7,8,4,9,7,10,8;4,1,4,1,3,5,4,1,2,4,5,2,1,3,3}
making the new population formed by the 10 individuals be a current generation population; turning to step 4;
and (4) executing: decoding and improving each individual in the contemporary population by adopting FBI & D to obtain the workflow execution cost and response time of each individual, and then calculating the relative fitness value of all infeasible individuals and the absolute fitness value of feasible individuals; replacing the content stored in BtCh with the optimal individual if BtCh ═ Null or the optimal individual in the contemporary population is better than the individual stored in BtCh;
after FBI & D decoding and improvement, individuals in contemporary populations become:
ch1={2,3,1,5,4,6,7,8,10,11,9,12,13,14,15;1,2,3,4,5,6,3,1,6,2,7,8,1,9,2;4,4,2,1,2,1,3,2,2,4,5,2,3,1,5}
ch2={1,3,6,2,5,4,7,8,9,11,10,12,13,14,15;1,2,3,4,5,6,2,7,8,9,10,4,7,4,7;1,5,1,4,4,2,1,3,5,2,5,3,1,1,3}
ch3={3,1,2,5,6,4,7,8,11,10,9,12,13,14,15;1,2,3,4,1,3,5,6,6,7,1,4,2,4,1;1,1,4,3,4,1,2,4,2,2,5,4,1,4,3}
ch4={1,2,5,3,6,4,7,8,10,11,9,12,13,14,15;1,2,1,3,3,1,4,1,2,5,6,7,4,8,9;3,4,1,5,3,1,5,1,1,5,5,4,5,5,4}
ch5={1,4,3,6,2,5,7,8,9,11,10,12,13,14,15;1,2,3,4,1,1,1,4,5,6,3,5,4,7,4;4,3,2,4,2,4,1,1,4,4,3,4,5,2,2}
ch6={1,3,2,5,6,4,7,8,10,9,11,12,13,14,15;1,2,3,4,5,1,5,6,7,4,7,2,8,2,8;5,1,4,3,2,2,4,1,4,3,1,5,2,3,3}
ch7={1,2,5,3,6,4,7,8,11,9,10,12,13,14,15;1,2,3,1,4,2,5,1,3,6,7,6,4,7,8;3,4,1,3,3,4,4,4,5,1,5,3,1,2,1}
ch8={3,2,1,5,4,6,7,8,10,11,9,12,13,14,15;1,2,3,4,5,5,6,1,3,6,6,7,5,8,1;3,5,5,1,3,3,5,1,4,5,5,4,1,3,3}
ch9={1,3,6,4,2,5,7,8,9,10,11,12,13,14,15;1,2,3,2,4,1,5,6,3,7,8,4,2,9,4;4,4,1,5,3,3,5,1,5,3,1,2,2,1,3}
ch10={1,2,5,4,3,6,7,8,9,11,10,12,13,14,15;1,2,3,1,4,5,6,1,7,8,4,9,7,10,8;4,1,4,1,3,5,4,1,2,4,5,2,1,3,3}
the individual workflow response times are respectively: rs1=396332,rs2=439099.33,rs3=538904,rs4=481070.67,rs5=349182,rs6=560492,rs7=290336,rs8=347732.67,rs9=328615.33,rs10=375500.67;
The individual workflow execution costs are respectively: ct1=3109,ct2=2955.2,ct3=2994.1,ct4=2861.6,ct5=2087.5,ct6=2584.3,ct7=2238.9,ct8=3123.6,ct9=3366.7,ct10=2116.8;
All individuals were infeasible and their relative fitness values were: rfit1=5.66,rfit2=5.82,rfit3=6.57,rfit4=6.04,rfit5=4.39,rfit6=6.35,rfit7=4.11,rfit8=5.32,rfit9=5.41,rfit10=4.61;
Since the feasible individual absolute fitness value in BtCh is rfitBtCh170613.6, the best individuals in the contemporary population are not superior to those stored in BtCh and therefore do not replace the content of BtCh;
and 5, executing the step: if the termination condition is not met, go to step 6; otherwise go to step 8;
the termination condition is iterated to a specified generation TG being 200 generations; as the current iteration is carried out for 2 generations and does not meet the termination condition, the step 6 is carried out;
……
the steps 6,7, 4 and 5 are repeatedly executed until the specified generation TG is 200 generations, and the current generation population becomes:
ch1={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch2={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch3={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch4={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,3,1,2}
ch5={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch6={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch7={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
ch8={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,3,1,2}
ch9={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,4,4,4;5,5,5,5,4,3,4,2,3,5,1,3,3,1,2}
ch10={3,1,4,2,5,6,7,8,11,9,10,12,13,14,15;1,2,3,2,2,1,2,2,2,2,2,2,1,4,4;5,5,5,5,4,3,4,2,3,5,1,3,2,1,2}
the individual workflow response times are respectively: rs1=125977.33,rs2=125977.33,rs3=125977.33,rs4=125977.33,rs5=125977.33,rs6=125977.33,rs7=125977.33,rs8=125977.33,rs9=125977.33,rs10=140377.33;
The individual workflow execution costs are respectively: ct1=756.5,ct2=756.5,ct3=756.5,ct4=756.5,ct5=756.5,ct6=756.5,ct7=756.5,ct8=756.5,ct9=756.5,ct10=1008.5;
The relative fitness values of the infeasible individuals are respectively as follows: rfit10=1.92;
The absolute fitness values of feasible individuals are respectively as follows: afit1=151236.4,afit2=151236.4,afit3=151236.4,afit4=151236.4,afit5=151236.4,afit6=151236.4,afit7=151236.4,afit8=151236.4,
afit9=151236.4;
BtCh ═ 3,1,4,2,5,6,7,8,11,9,10,12,13,14, 15; 1,2,3,2,2,1,2,2,2,2,2, 4,4, 4; 5,5,5,5,4,3,4,2,3,5,1,3,2,1,2 }; individual workflow response time rsBtCh125977.33, execution cost ctBtCh756.5, absolute fitness value afitBtCh=151236.4。
And step 8 is executed: if the feasible individuals are stored in the BtCh, outputting the corresponding execution scheme as an optimization scheme; otherwise, there is no feasible implementation.
Since {3,1,4,2,5,6,7,8,11,9,10,12,13,14, 15; 1,2,3,2,2,1,2,2,2,2,2, 4,4, 4; 5,5,5,5,4,3,4,2,3,5,1,3,2,1,2} are feasible individuals, so the corresponding execution schemes are output as optimization schemes, as shown in table 3.
Execution order Task numbering Example numbering Starting time Execution time End time Virtual machine type numbering
1 3 1 0 12084 12084 5
2 1 2 0 8584 8584 5
3 4 3 8584 9970.67 18554.67 5
4 2 2 8584 7584 16168 5
5 5 2 16168 9186.67 25354.67 5
6 6 1 12084 10870.67 22954.67 5
7 7 2 25354.67 16186.67 41541.33 5
8 8 2 41541.33 10626.67 52168 5
9 11 2 52168 8336 60504 5
10 9 2 60504 13566.67 74070.67 5
11 10 2 74070.67 5333.33 79404 5
12 12 2 79404 15426.67 94830.67 5
13 13 4 94830.67 10640 105470.67 5
14 14 4 105470.67 11666.67 117137.33 5
15 15 4 117137.33 8000.00 125137.33 5
TABLE 3
The above embodiments are only preferred embodiments of the present invention, and are not intended to limit the technical solutions of the present invention, so long as the technical solutions can be realized on the basis of the above embodiments without creative efforts, which should be considered to fall within the protection scope of the patent of the present invention.

Claims (7)

1. A workflow execution optimization method based on a distributed estimation algorithm in a cloud computing environment is characterized by comprising the following steps: the method comprises the following steps:
step 1: acquiring information required by executing optimization of the cloud workflow;
get task set T ═ T1,...,tI},tiRepresenting a task i, namely a task with the number i; wherein I is the number of tasks to be scheduled;
acquiring a time sequence relation between tasks: parent task set PR of task iiSubstask set SC for task iiWherein I is 1, …, I;
Figure FDA0002311345380000011
acquiring task related parameters: length len of task iiI.e. the number of instructions that need to be consumed when task i is processed by the virtual machine, the list of input files IFL that is needed when task i is processedi
Figure FDA0002311345380000012
Output file list OFL generated after task i is processedi
Figure FDA0002311345380000013
And the size of the file in the file list, wherein: i is 1, …, I; task i is task i+The requirements of the parent task are as follows: there is a file that is the output file of task i and is also task i+The input file of (a), namely:
Figure FDA0002311345380000014
obtaining a virtual machine type set VM ═ VM in a cloud computing environment1,vm2,…,vmJWhere J is the number of types of virtual machines, vmjRepresenting a j-class virtual machine;
acquiring related parameters of the virtual machine: computing power ps of class j virtual machinesjBandwidth bw of class j virtual machinesjClass j virtualUnit time cost vc of a machinejFixed lease-starting cost fc of j-class virtual machinejMinimum billing time unit ut for class j virtual machinesjMinimum lease-on time ft of class j virtual machinej(ii) a The cost of renting a class j virtual machine is calculated as follows:
Figure FDA0002311345380000015
wherein: lt is lease time, J is 1,2 …, J;
acquiring cost constraint Budget and time constraint Deadline executed by a workflow in a cloud computing environment; if no cost constraint exists, setting Budget as MBV, and if no time constraint exists, setting Deadline as MDV; wherein: MBV is the upper cost limit, and MDV is the upper time limit;
step 2: calculating a level value of the task;
for a starting task i without a parent task, the hierarchy value is:
lvli=1 (1)
the hierarchy values of other tasks are calculated using the following recursive formula:
Figure FDA0002311345380000021
and step 3: initializing the contemporary population, and making BtCh equal to Null;
generating 1 individual based on the level and the benefit ratio, and sampling the initial probability model for N-1 times to generate N-1 individuals to form an initial current generation population; wherein N is the population size;
the individual encoding method is as follows: ch ═ gr1,…,grI;gs1,…,gsI;gt1,…,gtIWhere { gr1,…,grIThe scheduling order list is a topological order of task numbers; { gs1,…,gsIIs the virtual machine allocation list, gsiA virtual machine instance number representing an assignment to an ith scheduled task, wherein: gs is1=1,gsi≤max{gs1,…,gsi-1}+1;{gt1,…,gtIIs the virtual machine typeList, gtiType of virtual machine instance denoted i, gt1,…,gtIIs an integer value between 1 and J;
the step of generating 1 individual based on the hierarchy and the benefit ratio comprises the following steps:
step A1: randomly arranging the tasks according to the level values of the tasks from small to large, namely randomly arranging the tasks with the level values of small in front of large and with the same level values to form an individual task scheduling sequence list { gr1,…,grI};
Step A2: generating individual virtual machine allocation list { gs) based on benefit ratio1,…,gsIAnd list of virtual machine types { gt1,…,gtI}; obtaining the execution time and the completion time of all tasks: et ali、fi,i=1,…,I;
Step A3: output an individual ch1={gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et ali、fiI-1, 2 …, I, and calculating its workflow response time rs1And the operation is finished;
the probability model comprises a task scheduling sequence probability model PMS (g), a virtual machine allocation probability model PMA (g) and a virtual machine type probability model PMT (g);
Figure FDA0002311345380000022
β thereini,i′(g) Indicating that the task scheduled in the ith' generation is tiThe probability of (a) of (b) being,
Figure FDA0002311345380000023
Figure FDA0002311345380000024
α thereini,k(g) Indicating assignment of tasks to ith schedule at the g-th generationThe probability of the virtual machine instance numbered k,
Figure FDA0002311345380000031
Figure FDA0002311345380000032
wherein deltak,j(g) Representing the probability that the type of the virtual machine instance with the g generation number k is j;
Figure FDA0002311345380000033
Figure FDA0002311345380000034
the probability model of the initial task scheduling sequence is as follows:
Figure FDA0002311345380000035
wherein: STSρ={tii<ρ≤I-ζiIs a set of tasks, ζ, that can be scheduled for scheduling at the ρ -thiIs the number of descendant tasks of task i, ξiIs the number of ancestor tasks of task i;
marking value
Figure FDA0002311345380000036
The definition of the descendant task and the ancestor task is described as follows: if there is a task sequence
Figure FDA0002311345380000037
Satisfy the requirement of
Figure FDA0002311345380000038
Is that
Figure FDA0002311345380000039
Where 1 is not more than k<n is then
Figure FDA00023113453800000310
Is that
Figure FDA00023113453800000311
The task of the ancestor of (c),
Figure FDA00023113453800000312
is that
Figure FDA00023113453800000313
The descendant task of (2);
the initial virtual machine distribution probability model is as follows:
Figure FDA00023113453800000314
the initial virtual machine type probability model is as follows:
Figure FDA00023113453800000315
j is the number of types of virtual machines;
the probability models PMS (g), PMA (g) and PMT (g) are sampled for 1 time to generate 1 individual, and the method comprises the following steps:
step B1: sampling of virtual machine types:
step B1.1: let variable k be 1;
step B1.2: obtaining a probability A that the type of the virtual machine instance numbered k is jk,j=δk,j(g) J is 1, …, J; calculating the cumulative probability:
Figure FDA0002311345380000041
step B1.3: generating 1 random number λ ∈ [0,1) if
Figure FDA0002311345380000042
Then select type j, let gtk=j;
Step B1.4: let k be k + 1; if k is less than or equal to I, turning to step B1.2, otherwise, obtaining a virtual machine type list, and turning to step B2;
step B2: initializing a system state:
step B2.1: make all virtual machines available a time period list vatlk={[0,∞]},k=1,…,I;
Step B2.2: let ready time rt of taskiTask set P (t) 0i)=PRiI is 1, …, I; order task set
Figure FDA0002311345380000043
The task set UT is T;
step B2.3: in UT
Figure FDA0002311345380000044
T ofiMoving to RT; let the variable q be 1 and the variable MI be 1;
step B3 according to [ β ]1,q(g)…βI,q(g)]TRandomly selecting a task from RT by roulette, not setting ti(ii) a Let grq=i;
Step B4 according to [ α ]q,1(g)…αq,I(g)]Using roulette in [1, MI]Randomly selecting a virtual machine instance number between the two, setting the number as k, and enabling gsqK is; if k is MI, then MI is MI + 1;
step B5: handle tiAssigned to virtual machine instance numbered k:
step B5.1: calculating tiExecution time of
Figure FDA0002311345380000045
Step B5.2: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step B5.3: t is tiStart time s ofi=max{νk,rti},tiEnd time f ofi=si+eti
Step B5.4: updating tiReady time of subtask of (2)
Figure FDA0002311345380000046
Step B5.5: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step B5.6: in all of
Figure FDA0002311345380000047
Deletion of tiDeleting t in RTi
Step B5.7: in UT
Figure FDA0002311345380000051
T ofiMoving to RT;
step B6: if RT is not null, then q ═ q +1, go to step B3, otherwise go to step B7;
step B7: obtaining an individual chn={gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et ali、fiI1, 2 …, I, whose workflow response time rs is calculatednN belongs to {2, …, N }, and the operation is finished; and 4, step 4: employing FBI for each individual in contemporary populations&D, decoding and improving to obtain the workflow execution cost and response time of each individual, and then calculating the relative fitness value of all the infeasible individuals and the absolute fitness value of the feasible individuals; replacing the content stored in BtCh with the optimal individual if BtCh ═ Null or the optimal individual in the contemporary population is better than the individual stored in BtCh;
for each of the populationIndividual chn={gr1,…,grI;gs1,…,gsI;gt1,…,gtI1, …, N; the FBI&D comprises the following steps:
step C1: form a reverse body
Figure FDA0002311345380000052
Step C1.1: according to task completion time fiRearranging the task scheduling order list from large to small { gr1,…,grISetting the ith gene value in the task scheduling sequence list as the serial number of the task finished by the I-th time, wherein I is 1, … and I; form a
Figure FDA0002311345380000053
Step C1.2: in order to maintain the validity of the original resource configuration scheme and codes, the virtual machine instance list { gs is adjusted1,…,gsIAnd list of virtual machine types { gt1,…,gtIIs formed by
Figure FDA0002311345380000054
Step C1.2.1: let variable epsilon be 1 and variable delta be 1; let the flag value flg1=…=flgI0; order to
Figure FDA0002311345380000055
k=max{gs1,…,gsI}+1,…,I;
Step C1.2.2: if flgεIf 0, go to step C1.2.3; otherwise go to step C1.2.5:
step C1.2.3: finding tasks
Figure FDA0002311345380000056
In { gr1,…,grIThe scheduling order in (1) is not set to
Figure FDA0002311345380000057
In chnFind out the use number as
Figure FDA0002311345380000058
Task number set of virtual machine instance
Figure FDA0002311345380000059
In that
Figure FDA00023113453800000510
Find out the scheduling sequence set of the corresponding task in ST
Figure FDA00023113453800000511
Step C1.2.4: for all i ∈ SI, let
Figure FDA00023113453800000512
flgi1 is ═ 1; order to
Figure FDA00023113453800000513
Let δ be δ + 1;
step C1.2.5: let epsilon equal to epsilon + 1; if ε ≦ I, go to step C1.2.2, otherwise go to step C2;
step C2: method for decoding reverse individuals by adopting serial reverse individuals based on insertion mode
Figure FDA0002311345380000061
Decoding to obtain the reverse completion time of all tasks
Figure FDA0002311345380000062
And its workflow reverse response time
Figure FDA0002311345380000063
If it is
Figure FDA0002311345380000064
Less than rsnGo to step C3, otherwise go to step C5;
step C3: form positive individual chn={gr1,…,grI;gs1,…,gsI;gt1,…,gtI}:
Step C3.1: according to task reverse completion time
Figure FDA0002311345380000065
Rearranging task scheduling order list from large to small
Figure FDA0002311345380000066
Setting the ith gene value in the task scheduling sequence list as the serial number of the last ith completed task, wherein I is 1, … and I; form { gr1,…,grI};
Step C3.2: adjusting virtual machine instance list to maintain original resource configuration scheme and code validity
Figure FDA0002311345380000067
And virtual machine type list
Figure FDA0002311345380000068
Form { gs1,…,gsI}、{gt1,…,gtI}:
Step C3.2.1: let variable epsilon be 1 and variable delta be 1; let the flag value flg1=...=flgI0; order to
Figure FDA0002311345380000069
Figure FDA00023113453800000610
Step C3.2.2: if flgεIf 0, go to step C3.2.3; otherwise go to step C3.2.5:
step C3.2.3: finding task grεIn that
Figure FDA00023113453800000611
In the scheduling order of (1), do not set to
Figure FDA00023113453800000612
In that
Figure FDA00023113453800000613
Find out the use number as
Figure FDA00023113453800000614
Task number set of virtual machine instance
Figure FDA00023113453800000615
In { gr1,…,grIFinding out the scheduling sequence set SI ═ i | gr of the corresponding task in STi∈ST};
Step C3.2.4: let gs be the same for all i ∈ SIi=δ、flgi1 is ═ 1; order to
Figure FDA00023113453800000616
Let δ be δ + 1;
step C3.2.5: let epsilon equal to epsilon + 1; if ε ≦ I, go to step C3.2.2, otherwise go to step C4;
step C4: adopting serial forward individual decoding method based on insertion mode to forward individual chnDecoding is carried out to obtain the completion time f of all tasks1,…,fIAnd its workflow response time rsn(ii) a If rsnIs less than
Figure FDA00023113453800000617
Go to step C1, otherwise, go to step C5;
step C5: output forward individual chnAnd its workflow response time rsnCalculating its workflow execution cost ctnAnd the operation is finished;
the serial reverse individual decoding method based on the insertion modeFor reverse individuals
Figure FDA00023113453800000618
The decoding comprises the following steps:
step D1: make reverse ready time of all tasks
Figure FDA00023113453800000619
Figure FDA00023113453800000620
Is a task
Figure FDA0002311345380000071
Output filesets exported to a shared database, i.e.
Figure FDA0002311345380000072
Making a list of time periods available to a virtual machine
Figure FDA0002311345380000073
Let the variable ε be 1;
step D2: choose the serial number as
Figure FDA0002311345380000074
The task of (1);
step D3: assigning task i to a number of
Figure FDA0002311345380000075
The virtual machine instance of (2):
step D3.1: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd
Figure FDA0002311345380000076
step D3.2: calculating a reverse start time for task i
Figure FDA0002311345380000077
Reverse completion time
Figure FDA0002311345380000078
Step D3.3: updating the reverse ready time of the parent task of task i
Figure FDA0002311345380000079
Step D3.4: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]With an insertion interval length greater than 0
Figure FDA00023113453800000710
And
Figure FDA00023113453800000711
step D4: let epsilon be epsilon +1, if epsilon is less than or equal to I, go to step D2, otherwise step D5;
step D5: obtaining reverse completion times for all tasks
Figure FDA00023113453800000712
And its workflow reverse response time
Figure FDA00023113453800000713
Finishing the operation;
the serial forward individual decoding method based on the insertion mode is used for forward individual chnThe decoding comprises the following steps:
step E1: let ready times rt of all tasksi0, I-1, …, I; let the variable ε be 1; make available time period list of all virtual machine instances vatlk={[0,∞]},k=1,…,max{gs1,…,gsI};
Step E2: selecting the serial number i-grεThe task of (1);
step E3: based on insert mouldThe formula assigns task i to number k ═ gsεThe virtual machine instance of (1);
step E3.1: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step E3.2: calculating the start time s of task ii=max{νk,rtiH, completion time fi=si+eti
Step E3.3: updating the Ready time of a subtask of task i
Figure FDA00023113453800000714
Step E3.4: list of time slots available in virtual machine, vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step E4: let ε equal to ε +1, if ε ≦ I, go to step E2, otherwise step E5;
step E5: obtaining the end time f of all tasksiI1, …, I, whose workflow response time rs is calculatednAnd the operation is finished;
and 5: if the termination condition is not met, go to step 6; otherwise go to step 8;
the termination condition is that the optimal individuals stored in BtCh are not improved after iteration to a designated generation TG or continuous iteration GG generation;
step 6: constructing an elite population and updating a probability model;
selecting from the best to the bad of the contemporary population
Figure FDA0002311345380000081
Individuals as the current generation elite population POPeWherein: n is a radical ofeFor elite population size, reE (0,1) is the elite rate;
the method for updating the probability model comprises the following steps:
Figure FDA0002311345380000082
marking value
Figure FDA0002311345380000083
Figure FDA0002311345380000084
Marking value
Figure FDA0002311345380000085
Figure FDA0002311345380000086
Marking value
Figure FDA0002311345380000087
Figure FDA0002311345380000088
Respectively allocating the updating rates of a probability model, a task scheduling sequence probability model and a virtual machine type probability model to the virtual machine;
and 7: sampling the current probability models PMS (g), PMA (g) and PMT (g) for N times to generate N individuals, forming a new population, and enabling the new population to be a current generation population; turning to step 4;
and 8: if the feasible individuals are stored in the BtCh, outputting the corresponding execution scheme as an optimization scheme; otherwise, there is no feasible implementation.
2. The workflow execution optimization method based on the distributed estimation algorithm in the cloud computing environment according to claim 1, wherein: one specific calculation method for the MBV and MDV is as follows:
Figure FDA0002311345380000091
wherein:
Figure FDA0002311345380000092
is tiThe maximum execution time.
3. The workflow execution optimization method based on the distributed estimation algorithm in the cloud computing environment according to claim 1, wherein: in the step A2, an individual virtual machine allocation list { gs is generated based on the benefit ratio1,…,gsIAnd list of virtual machine types { gt1,…,gtIThe concrete steps are as follows:
step A2.1: order virtual machine instance set
Figure FDA0002311345380000093
Let gs1=gs2=…=gsI=0,gt1=gt2=…=gtI0; let ready times rt of all tasks1=rt2=…=rtI0; let the variable ε be 1;
step A2.2: let variable i become grεThe variable K is INS, the variable K is 1, the variable η is 1, the calculation is carried out on the tiThe comprehensive benefit ratio after being respectively allocated to each potential virtual machine instance is as follows:
step A2.2.1: if K is less than or equal to K, go to step A2.2.2, otherwise, go to step A2.2.6;
step A2.2.2: calculating tiExecution time after assignment to virtual machine instance numbered k
Figure FDA0002311345380000094
Wherein:
Figure FDA0002311345380000095
is a handle tiThe processing time of the task when the virtual machine instance with the number k is processed,
Figure FDA0002311345380000096
Figure FDA0002311345380000097
is the processing power of the virtual machine instance numbered k;
Figure FDA0002311345380000098
is a handle tiThe virtual machine instance with the number k needs to obtain the file transfer time of the input file from other virtual machines when processing,
Figure FDA0002311345380000099
k-is to process ti-a virtual machine instance number of the virtual machine instance,
Figure FDA00023113453800000910
and
Figure FDA00023113453800000911
is numbered k and k-Bandwidth of the virtual machine instance of (1);
Figure FDA00023113453800000912
is a handle tiThe virtual machine instance with number k needs to obtain the file transfer time of the input file from the shared database when processing,
Figure FDA00023113453800000913
step A2.2.3: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥eti,kAnd upsilonk-eti,k≥rti
Step A2.2.4: calculating tiStarting time s after assigning to virtual machine instance numbered ki,k=max{νk,rtiH, completion time fi,k=si,k+eti,k
Step A2.2.5, calculating the comprehensive benefit ratio ξi,k
Figure FDA0002311345380000101
Wherein: theta is formed by [0,1]]Is a weight coefficient, mu>0 is a coordination coefficient of cost and time,
Figure FDA0002311345380000102
is tiLease time, lt, assigned to a virtual machine instance numbered k after a virtual machine instance numbered kk′=Rntk′-HrtkIs' tiThe lease time of a virtual machine instance numbered k before a virtual machine instance numbered k has not yet been assigned,
Figure FDA0002311345380000103
is tiThe return time of the virtual machine instance with the number of k before the virtual machine instance with the number of k is not distributed;
Figure FDA0002311345380000104
is tiA start lease time for a virtual machine instance numbered k before a virtual machine instance numbered k has not yet been assigned; making k equal to k +1, and going to step a2.2.1;
a2.2.6, if η is not more than J, go to A2.2.7, otherwise go to A2.3;
step A2.2.7: calculating tiExecution time after allocation to a new type η virtual machine instance
Figure FDA0002311345380000105
Wherein: omegai,ηIs a type η virtual machine instance process tiTime of (a), ωi,η=leni/psη
Figure FDA0002311345380000106
Is a handle tiThe file transfer time allocated to the virtual machine instance of type η that needs to obtain the input file from the other virtual machine when processing,
Figure FDA0002311345380000107
k-is to process ti-The virtual machine instance number of (a); tau isi,ηIs a handle tiThe file transfer time allocated to the processing of the type η virtual machine instance required to obtain the input file from the shared database,
Figure FDA0002311345380000108
step A2.2.8: calculating tiThe start time s after the allocation of this new type η virtual machine instancei,K+η=rtiCompletion time fi,K+η=si,K+η+eti,K+η
Step A2.2.9: calculating the comprehensive benefit ratio:
Figure FDA0002311345380000109
wherein
Figure FDA00023113453800001010
Is tiAfter allocating the new virtual machine instance with type η, the lease time of the new virtual machine instance with type η is reached, so that η is η +1, go to step A2.2.6;
step A2.3 from ξi,1,…,ξi,K+JFind a minimum among them, do not set as
Figure FDA00023113453800001114
If the subscript value
Figure FDA0002311345380000111
Then order
Figure FDA0002311345380000112
Otherwise, let gsε=K+1、
Figure FDA0002311345380000113
Adding a virtual machine instance ins numbered K +1K+1I.e., INS ∪ INSK+1,vatlK+1={[0,∞]};
Step A2.4: change task i to grεAssigning to a virtual machine instance k-gsε
Step A2.4.1: calculating a start time of a task
Figure FDA0002311345380000114
End time
Figure FDA0002311345380000115
Execution time eti=fi-si
Step A2.4.2: updating the Ready time of a subtask of task i
Figure FDA0002311345380000116
Step A2.4.3: in vatlkFinding out an idle time period [ v ] from morning to eveningkk]Satisfy upsilonkk≥etiAnd upsilonk-eti≥rti
Step A2.4.4: in vatlkDeletion of [ v ]kk]V, with insertion interval length greater than 0k,si]And [ fik];
Step A2.5: let epsilon equal to epsilon + 1; if epsilon is less than or equal to I, go to step A2.2, otherwise go to step A2.6;
step A2.6: let K be | INS |, if K<I, then I-K random integers between 1 and J are generated, which are not set to: piK+1,……,πI(ii) a Order: gtK+1=πK+1,……,gtI=πI
Step A2.7: obtaining an individual { gr1,…,grI;gs1,…,gsI;gt1,…,gtIExecution time and completion time of all tasks: et aliAnd fiI is 1,2 …, I, and the operation ends.
4. The workflow execution optimization method based on the distributed estimation algorithm in the cloud computing environment according to claim 1, wherein: for individual chnThe workflow response time rsnAnd an execution cost ctnThe specific calculation method is as follows:
Figure FDA0002311345380000117
wherein:
Figure FDA00023113453800001115
is a task griThe response time of (a) is set,
Figure FDA0002311345380000118
Figure FDA0002311345380000119
wherein:
Figure FDA00023113453800001110
is the fixed lease start cost for the virtual machine instance numbered k,
Figure FDA00023113453800001111
is the cost per unit time of the virtual machine instance numbered k,
Figure FDA00023113453800001112
is the minimum billing time unit for the virtual machine instance numbered k,
Figure FDA00023113453800001113
is the minimum lease-on time of a virtual machine instance numbered k,
Figure FDA0002311345380000121
Is the bandwidth of the virtual machine instance numbered k, ltk=Rntk-HrtkIs the lease time, Hrt, of the virtual machine instance numbered kkThe start lease time of the virtual machine instance numbered k; rntkThe return time of the virtual machine instance with the number of k is obtained;
Figure FDA0002311345380000122
Figure FDA0002311345380000123
is to complete
Figure FDA0002311345380000124
If the maximum time at which the file in (1) is output to the corresponding recipient is reached
Figure FDA0002311345380000125
Without exporting files to the shared database
Figure FDA0002311345380000126
Then the corresponding recipient is processing
Figure FDA0002311345380000127
If the virtual machine of the subtask
Figure FDA0002311345380000128
Without subtasks, i.e.
Figure FDA0002311345380000129
The respective recipient is a shared database, otherwise if
Figure FDA00023113453800001210
With both file output to the shared database and subtasks
Figure FDA00023113453800001211
Then the corresponding recipient is processing
Figure FDA00023113453800001212
The virtual machines and the shared database of the subtasks,
Figure FDA00023113453800001213
5. the workflow execution optimization method based on the distributed estimation algorithm in the cloud computing environment according to claim 1, wherein: for individual ch in the populationnN is 1,2 …, N if ctn≤Budget∨rsnWhen the adaline is not more than the preset value, ch isnAs viable individuals, otherwise chnIs an infeasible individual;
the specific calculation method of the relative fitness value of the infeasible individual is as follows:
Figure FDA00023113453800001214
the specific calculation method of the absolute fitness value of the feasible individual is as follows: afitn=θ×μ×ctn+(1-θ)×rsn
Wherein: theta belongs to [0,1] and is a weight coefficient, and mu is a coordination coefficient of cost and time;
when the individual quality is compared, the feasible individual is superior to the infeasible individual; for all feasible individuals, the smaller the absolute fitness value is, the better the individual is; for all infeasible individuals, the smaller the relative fitness value, the better the individual.
6. The method for workflow execution optimization based on distributed estimation algorithm in cloud computing environment as claimed in claim 1, wherein in said step B3 is according to [ β ]1,q(g)…βI,q(g)]TThe specific steps of selecting a task from the RT using rouletteThe following were used:
step B3.1: calculate each t in RTiProbability of being selected
Figure FDA00023113453800001215
Step B3.2: calculating the cumulative probability:
Figure FDA0002311345380000131
step B3.3: generating 1 random number λ ∈ [0,1) if
Figure FDA0002311345380000132
Then t is selectediAnd the task selection operation is ended.
7. The method for workflow execution optimization based on distributed estimation algorithm in cloud computing environment as claimed in claim 1, wherein in said step B4 is according to [ α ]q,1(g)…αq,I(g)]Using roulette in [1, MI]The specific steps of randomly selecting a virtual machine instance number are as follows:
step B4.1: calculate the probability that the various possible numbers are chosen: a. thek=αq,k(g),k=1,…,MI-1;
Figure FDA0002311345380000133
Step B4.2: calculating the cumulative probability:
Figure FDA0002311345380000134
step B4.3: generating 1 random number λ ∈ [0,1) if
Figure FDA0002311345380000135
Then number k is selected and the virtual machine instance numbering operation ends.
CN201911259945.4A 2019-12-10 2019-12-10 Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment Withdrawn CN111026533A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911259945.4A CN111026533A (en) 2019-12-10 2019-12-10 Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911259945.4A CN111026533A (en) 2019-12-10 2019-12-10 Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment

Publications (1)

Publication Number Publication Date
CN111026533A true CN111026533A (en) 2020-04-17

Family

ID=70205374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911259945.4A Withdrawn CN111026533A (en) 2019-12-10 2019-12-10 Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment

Country Status (1)

Country Link
CN (1) CN111026533A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064711A (en) * 2021-04-15 2021-07-02 北京理工大学 Online multi-workflow dynamic scheduling method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064711A (en) * 2021-04-15 2021-07-02 北京理工大学 Online multi-workflow dynamic scheduling method and system

Similar Documents

Publication Publication Date Title
CN110632907B (en) Scheduling optimization method and system for distributed assembly type replacement flow shop
CN108829501B (en) Batch processing scientific workflow task scheduling algorithm based on improved genetic algorithm
CN102866912A (en) Single-instruction-set heterogeneous multi-core system static task scheduling method
CN110969362A (en) Multi-target task scheduling method and system under cloud computing system
CN112685138B (en) Multi-workflow scheduling method based on multi-population hybrid intelligent optimization in cloud environment
CN109445386A (en) A kind of most short production time dispatching method of the cloud manufacturing operation based on ONBA
CN111026534B (en) Workflow execution optimization method based on multiple group genetic algorithms in cloud computing environment
CN114461368A (en) Multi-target cloud workflow scheduling method based on cooperative fruit fly algorithm
CN111026533A (en) Workflow execution optimization method based on distributed estimation algorithm in cloud computing environment
CN111078380A (en) Multi-target task scheduling method and system
CN110928648B (en) Heuristic and intelligent computing-fused cloud workflow segmentation online scheduling optimization method
CN110991917B (en) Multi-mode resource-limited project scheduling optimization method adopting two-stage genetic algorithm
CN110928670B (en) Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment
CN110968428A (en) Cloud workflow virtual machine configuration and task scheduling collaborative optimization method
CN111126800A (en) Multi-mode resource-limited project scheduling method using layered adaptive intelligent algorithm
CN111078361A (en) Cloud workflow scheduling optimization method based on distributed estimation algorithm
CN114980216A (en) Dependent task unloading system and method based on mobile edge calculation
CN111026507A (en) Cloud workflow virtual machine configuration and task scheduling collaborative optimization method in heterogeneous environment
CN115185651A (en) Workflow optimization scheduling algorithm based on cloud computing
CN110928671B (en) Cloud workflow scheduling optimization method based on hierarchy and load balancing genetic algorithm
CN111047183A (en) Cloud workflow scheduling optimization method based on layered self-adaptive intelligent computing algorithm
CN110928669B (en) Energy consumption perception cloud workflow scheduling optimization method based on multi-population genetic algorithm
CN110941487B (en) Workflow scheduling optimization method based on multi-stage genetic algorithm in cloud computing environment
CN111027856B (en) Multimode resource-constrained project scheduling method based on two-dimensional multi-population genetic algorithm
CN111813525A (en) Heterogeneous system workflow scheduling method

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200417

WW01 Invention patent application withdrawn after publication