电子产品应力云仿真平台的两阶段调度方法与流程

文档序号:16881659发布日期:2019-02-15 22:13阅读:244来源:国知局
电子产品应力云仿真平台的两阶段调度方法与流程

本发明属于计算机技术领域,具体地涉及一种电子产品应力云仿真平台的两阶段调度方法。



背景技术:

产品的可靠性预计是指估计产品在给定的工作条件下的可靠性而进行的工作,其中工作条件以热、振动为主。目前以考虑多个任务剖面的基于故障行为的可靠性预计为主。它需要计算多个仿真试验样本,利用仿真软件进行多应力仿真,并根据物理模型进行单点故障和产品可靠性预计,单个计算机已经不能满足其计算效率的要求。

在计算过程中,需要利用仿真软件进行多应力仿真。但是仿真软件的精度越来越高的同时,也随之而来一些不利的影响,即仿真的时间越来越长。其求解问题的基本过程主要包括:仿真对象的离散化、有限元求解和后处理三部分。1)仿真对象的离散化:将仿真对象分解为有限个大小不同,形状不同的单元,单元间彼此相连形成一个离散化的整体,也称为有限元网络划分。2)有限元求解:首先进行单元分析,根据各个单元的情况建立出节点位移与力的函数关系式;然后进行整体分析,在单元分析的基础上,建立节点外载荷与位移的函数关系式,进一步得到节点位移。3)后处理:根据故障物理模型所需的参数,进行计算结果的后处理。其中,有限元网格划分部分的细致程度,决定了整体划分为单元的个数,进而决定了仿真求解部分的仿真精度。因此,网格划分越细致,单元的个数越多,求解时间越长。

在仿真过程中网格划分的越细致则离散域的近似程度越好,计算结果也越精确。可以看出其仿真的精度越高的同时,仿真的时间也越长。因此,需要我们寻找新的手段来提高效率,缩短仿真时间,又快速又准确的做好电子产品故障行为仿真与可靠性预计。

查阅相关资料后,发现云计算这种新的手段可以用来提高效率,缩短仿真时间,又快速又准确的做好电子产品故障行为仿真与可靠性预计。云计算特点如下:第一,超大规模:云平台第三方搭建含大量服务器的基础数据中心具有相当大的规模,能赋予用户自己搭建服务器所不能达到的计算能力,可以解决单个计算机计算基于故障行为的可靠性预计时效率差的问题。第二,虚拟化:云平台第三方搭建含大量服务器的基础数据中心不需要在现场访问,用户可以使用互联网对云进行访问,因此用户可以从任何地方连接到它,无论使用何种电子设备、在什么地点,都可以使用云的计算资源。可以解决多个用户使用同一个服务,无需安装正版软件,支付高昂的软件正版费用。第三,高可扩展性:根据用户的需要,云可以动态的扩展或者减小提供的计算资源。由于云是根据软件进行动态的扩展或者减小,因此可以十分迅速地响应用户的需求。第四,成本低廉,云平台第三方搭建含大量服务器的基础数据中心,使得企业无需购买一次性或不频繁使用的服务器搭建成本高昂的数据中心或安装正版软件,支付高昂的软件正版费用,转而向云平台第三方租用计算资源。因此企业可以充分利用云平台第三方的资源,降低计算成本,提高计算效率。

由于基于故障行为的可靠性预计,需要计算多个仿真试验样本,并利用仿真软件进行多应力仿真,根据物理模型进行单点故障和产品可靠性预计。在此过程中多个仿真试验样本的排序形成作业队列和多个仿真试验样本的分配给多个计算机进行计算,关系到计算性能、经济成本等问题。目前多个任务剖面的基于故障行为的可靠性预计,需要计算多个仿真试验样本导致产生计算效率差的问题,因此需要研究云平台的调度策略方法。



技术实现要素:

本发明针对考虑多个任务剖面的基于故障行为的可靠性预计,需要计算多个仿真试验样本导致计算效率差的问题,提出了一种电子产品应力云仿真平台的两阶段调度方法,包括如下步骤:

步骤s1,仿真系统接收试验样本数据,每个试验样本数据都被打包成为仿真系统的一个作业,并进入仿真系统的作业排序队列;系统包括有作业排序队列1,2,…,m;作业优先级分别为p1,p2,p3,…,pm;作业长度分别为l1,l2,l3,…,lm;作业到达时间分别为t1,t2,t3,…,tm;作业等待时间为w1(t),w2(t),w3(t),…,wm(t);

步骤s2,对作业优先级pi、作业长度li和作业等待时间wi(t)进行标准化;

步骤s3,根据标准化后的作业优先级矩阵[p1',p2',p3',…,pm']、作业长度矩阵[l1',l2',l3',…,lm']和作业等待时间矩阵[w1(t)',w2(t)',w3(t)',…,wm(t)']计算最大权值优先策略指标矩阵[f1(t),f2(t),…,fm(t)];

步骤s4,根据最大权值优先策略指标对作业进行排序,选出超过服务器个数的作业数进入作业分配队列等待分配,并将选出的作业从作业排序队列中删除;

步骤s5,输入种群数量num、突变概率pm、交叉概率pc和迭代次数;

步骤s6,在作业分配队列中,使用染色体表示作业与服务器的关系,根据输入的种群数量num,作业分配队列的作业个数n和服务器个数m,初始化遗传种群;

步骤s7,计算遗传种群中每个染色体的个体适应度评估;

步骤s8,根据遗传种群中每个染色体的个体适应度评估,计算出每个染色体被遗传到下一代种群中的概率,然后按顺序计算出每个染色体的累积概率;通过随机产生[0,1]中的一个数落在染色体的累积概率区间的方式,选择出种群数量的染色体组成选择种群;

步骤s9,通过随机方式选取选择种群中的2个染色体,作为交配运算的父代和母代,如果2个染色体不同,随机产生一个交配点位置,将父代与母代的后半段进行交叉,形成新的两个子代,如果2个染色体相同,则不进行交叉;循环执行步骤s9,对选择种群进行交叉,直到交叉产生的后代占种群整体的概率达到交叉概率,跳出循环,交叉种群生成完成;

步骤s10,对交叉种群进行突变,循环执行步骤s10,直到达到突变概率,跳出循环,新一代的遗传种群生成完成;

步骤s11,循环执行步骤s7-s10,直到达到迭代次数后,输出最后一代遗传种群中个体适应度值最大的一个染色体作为整体作业集合预计执行完成时间近似最短的分配解,按照这个染色体,系统将作业分配队列中的作业分配到不同的服务器上。

优选的,步骤s2中对作业优先级pi、作业长度li和作业等待时间wi(t)进行标准化,具体步骤为:

标准化后的作业优先级p'i的表达式为:

其中其中,pi表示第i个作业的作业优先级;m表示作业排序队列中的作业个数,μp表示作业优先级的均值,σp表示作业优先级的标准差。

标准化后的作业长度l'i的表达式为:

其中其中,li表示第i个作业的作业长度;m表示作业排序队列中的作业个数,μl表示作业长度的均值,σl表示作业长度的标准差。

标准化后的作业等待时间w'i(t)的表达式为:

其中其中,wi(t)表示t时刻第i个作业的作业等待时间;m表示作业排序队列中的作业个数;表示作业等待时间的均值,表示作业等待时间的标准差。

优选的,步骤s3中计算最大权值优先策略指标矩阵[f1(t),f2(t),…,fm(t)],具体步骤为;

fi(t)=pi′+li′+wi′(t)i=1,2,…,m(1.7)

其中,p'i为第i个作业标准化后的作业优先级,l'i为第i个作业标准化后的作业长度,w'i(t)为第i个作业标准化后的作业等待时间,m为作业排序队列中的作业个数,fi(t)为t时刻第i个作业的最大权值优先策略指标。

优选的,步骤s4中选出超过服务器个数的作业数进入作业分配队列等待分配,其中选出的作业数为服务器个数的1.5倍。

优选的,步骤s6中根据输入的种群数量num,作业分配队列的作业个数n和服务器个数m,初始化遗传种群,其中每条染色体共有n个基因,每个基因的取值范围为[1,m],基因的取值为随机生成,染色体上的第i个基因上的编码j表示作业i分配到第j号服务器;初始化的遗传种群中染色体数量为种群数量。

优选的,步骤s7中计算遗传种群中每个染色体的个体适应度评估,具体步骤为:

计算一个染色体的个体适应度评估的步骤如下:

在分配时刻t,系统现有作业分配队列1,2,…,n,作业长度分别为s1,s2,s3,…,sn;服务器vm1,vm2,vm3,…,vmm,服务器运算速度mips1,mips2,mips3,…,mipsm;

首先根据作业长度si和当前服务器的运算速度mipsj(t)得到作业i在服务器j上运行的预计执行时间etc;根据预计执行时间etc,得到预计执行时间etc矩阵:

其中i=1,2,3,…,n;j=1,2,3,…,m,etcij表示第i个作业在第j个服务器上运行的预计执行时间;

其次,根据染色体上的基因建立服务器与作业的关系vmji;如果作业i未被分配到服务器j,则用vmji=0;如果作业i被分配到服务器i,则用vmji=1,可得服务器与作业关系vm矩阵:

其中,i=1,2,3,…,n;j=1,2,3,…,m,vmji表示第j个服务器与第i个作业的关系;

根据预计执行时间etcij和服务器与作业关系vmji,计算服务器j的预计执行时间,即:

其中,i=1,2,3,…,n;j=1,2,3,…,m;etcij表示第i个作业在第j个服务器上运行的预计执行时间,vmji表示第j个服务器与第i个作业关系,sumtime(j)表示服务器j的预计执行时间;

整体作业集合预计执行完成时间等于m台服务器中最长的运行预计执行时间,即

其中sumtime(j)服务器j的预计执行时间;totaltime为整体作业集合预计执行完成时间;

计算个体适应度评估f:

循环上述步骤直到计算出遗传种群中每个染色体的个体适应度评估。

本申请的优点是:

1、电子产品应力云仿真平台的调度策略采用作业排序与作业分配两阶段的调度策略。作业排序阶段的最大权值优先策略,综合考虑作业计算量(作业执行效率)和作业等待时间等因素权值最大的作业排序靠前;作业分配阶段的基于遗传算法的性能优先调度策略,保证整体作业集合预计执行完成时间最短。

2、整体策略综合考虑了作业优先级、作业长度和作业等待时间,同时还利用遗传算法寻找全局的近似最优解,防止算法过早收敛。既保证了优先级高、长度长和等待时间长的作业优先进行计算,同时还保证最快地利用有限的服务器进行仿真试验样本的计算,返回计算结果,节省时间,提高计算效率,给用户好的体验。

附图说明

图1为电子产品应力云仿真平台的两阶段调度方法简化流程图;

图2为改进的最大权值优先策略模型示意图;

图3为改进的最大权值优先策略方法示意图;

图4为遗传算法的性能优先调度方法示意图;

图5为染色体累计概率示意图;

图6为染色体交叉示意图;

图7为染色体交叉后子代;

图8为染色体突变示意图。

具体实施方式

本申请在多仿真试验样本提交请求后,作业调度器会根据预先设置好的调度方法对积压在作业队列中的作业请求进行调度,调度过程分为作业排序及分配两个阶段进行。作业排序阶段采用最大权值优先算法,综合考虑作业计算量、作业执行效率和作业等待时间等因素权值最大的作业排序靠前。作业分配阶段采用遗传算法,保证整体作业集合预计执行完成时间最短。

具体实施步骤从最大权值优先策略、基于遗传算法的性能优先调度策略和整体调度策略进行介绍:

步骤s1,仿真系统接收试验样本数据,每个试验样本数据都被打包成为仿真系统的一个作业,并进入仿真系统的作业排序队列。系统包括有作业排序队列1,2,…,m;作业优先级分别为p1,p2,p3,…,pm;作业长度分别为l1,l2,l3,…,lm;作业到达时间分别为t1,t2,t3,…,tm;作业等待时间为w1(t),w2(t),w3(t),…,wm(t)。

其中作业优先级由用户在输入时进行设定,优选的优先级pi分为高、中、低三级,分别用3,2,1表示,即作业优先级表达式:

作业长度li由仿真系统根据试验样本数据的长度自动生成;

作业到达时间ti为试验样本数据都被打包成为作业的时间,由仿真系统自动生成。

作业等待时间在系统进行作业调度时才生成,由当前作业调度时间t和作业到达时间的差值构成,表达式如下:

wi(t)=t-tii=1,2,…,m(1.2)

其中,m为作业数,wi(t)为第i个作业在t时刻的等待时间,ti为作业到达时间。

步骤s2,对作业优先级pi、作业长度li和作业等待时间wi(t)进行标准化;

获取当前时刻t时的作业优先级矩阵[p1,p2,p3,…,pm]、作业长度矩阵[l1,l2,l3,…,lm]和作业到达时间矩阵[t1,t2,t3,…,tm],以及计算获得的作业等待时间矩阵[w1(t),w2(t),w3(t),…,wm(t)];

由于作业优先级、作业长度和作业等待时间的量纲不同,在计算最大权值优先策略指标前,需要先进行数据标准化,数据标准化的通用表达式为:

其中

将作业优先级pi、作业长度li和作业等待时间wi(t)分别带入表达式1.3中,获得标准化后的作业优先级p'i,标准化后的作业长度l'i和标准化后的作业等待时间w'i(t)。

准化后的作业优先级p'i如表达式1.4:

其中其中,pi表示第i个作业的作业优先级;m表示作业排序队列中的作业个数,μp表示作业优先级的均值,σp表示作业优先级的标准差。

标准化后的作业长度l'i如表达式1.5:

其中其中,li表示第i个作业的作业长度;m表示作业排序队列中的作业个数,μl表示作业长度的均值,σl表示作业长度的标准差。

标准化后的作业等待时间w'i(t):

其中其中,wi(t)表示t时刻第i个作业的作业等待时间;m表示作业排序队列中的作业个数;表示作业等待时间的均值,表示作业等待时间的标准差。

步骤s3,根据标准化后的作业优先级矩阵[p1',p2',p3',…,pm']、作业长度矩阵[l1',l2',l3',…,lm']和作业等待时间矩阵[w1(t)',w2(t)',w3(t)',…,wm(t)']计算最大权值优先策略指标矩阵[f1(t),f2(t),…,fm(t)];

根据每个作业的作业优先级pi'、作业长度li'和作业等待时间wi'(t)计算最大权值优先策略指标表达式如下:

fi(t)=pi′+li′+wi′(t)i=1,2,…,m(1.7)

其中,p'i为第i个作业标准化后的作业优先级,l'i为第i个作业标准化后的作业长度,w'i(t)为第i个作业标准化后的作业等待时间,m为作业排序队列中的作业个数,fi(t)为t时刻第i个作业的最大权值优先策略指标;

因此,当t时刻,作业1,2,…,m的最大权值优先策略指标为f1(t),f2(t),…,fm(t)。

步骤s4,根据最大权值优先策略指标对作业进行排序,选出超过服务器个数的作业数进入作业分配队列等待分配,并将选出的作业从作业排序队列中删除。

根据最大权值优先指标矩阵[f1(t),f2(t),…,fm(t)]对作业进行排序,按照从大到小的顺序选择超出服务器个数的作业数量进入作业分配队列,优选的选择的作业数量为服务器个数的1.5倍。

步骤s5,输入种群数量num、突变概率pm、交叉概率pc和迭代次数。种群数量num、突变概率pm、交叉概率pc和迭代次数通常都由用户直接设定。

步骤s6,在作业分配队列中,使用染色体表示作业与服务器的关系,根据输入的种群数量,作业分配队列的作业个数和服务器个数,初始化遗传种群。

假设作业分配队列中有n个作业,存在m个服务器。则每条染色体共有n个基因,每个基因的取值范围为[1,m],每个基因的具体取值表示这个作业分配到具体第几号服务器上,基因的取值为随机生成,即某一染色体上的第i个基因上的编码j表示作业i分配到第j号服务器。例如某一个染色体为[3413321]表示共有7个作业,其中第一个作业分配给第三号服务器,第二个作业分配给第四号服务器,第三个作业分配给第一号服务器,第四个作业分配给第三号服务器,以此类推。

遗传种群中初始生成的染色体数量为种群数量,当所有染色体生成后,这些染色体构成了第一代的遗传种群。

步骤s7,计算遗传种群中每个染色体的个体适应度评估。

计算一个染色体的个体适应度评估的步骤如下:

在分配时刻t,系统现有作业分配队列1,2,…,n,作业长度分别为s1,s2,s3,…,sn;服务器vm1,vm2,vm3,…,vmm,服务器运算速度mips1,mips2,mips3,…,mipsm。

首先根据作业长度si和当前服务器的运算速度mipsj(t)得到作业i在服务器j上运行的预计执行时间etc(exceptedtimetocompletion):

其中,n为作业分配队列中的作业数,m为服务器数,etcij为作业i在服务器j上的运行预计执行时间,si为作业i的作业长度,mipsj(t)为服务器j运行速度。

对所有n个作业和m个服务器按式计算预计执行时间(etc),可得预计执行时间etc矩阵:

其中i=1,2,3,…,n;j=1,2,3,…,m,etcij表示第i个作业在第j个服务器上运行的预计执行时间。

其次,根据染色体上的基因建立服务器与作业的关系vmji。如果作业i未被分配到服务器j,则vmji=0;如果作业i被分配到服务器i,则vmji=1,即

其中i=1,2,3,…,nj=1,2,3,…,m

对所有n个作业和m个服务器按式2.3计算,可得服务器与作业关系vm矩阵:

其中,i=1,2,3,…,n;j=1,2,3,…,m,vmji表示第j个服务器与第i个作业的关系,根据公式2.3确定。

综合考虑预计执行时间etcij和服务器与作业关系vmji,计算服务器j的预计执行时间,即:

其中,i=1,2,3,…,n;j=1,2,3,…,m;etcij表示第i个作业在第j个服务器上运行的预计执行时间,vmji表示第j个服务器与第i个作业关系,sumtime(j)表示服务器j的预计执行时间。

由于云端的m台服务器并行处理作业,因此整体作业集合预计执行完成时间等于m台服务器中最长的运行预计执行时间,有

其中sumtime(j)服务器j的预计执行时间;totaltime为整体作业集合预计执行完成时间。

最后根据整体作业集合预计执行完成时间totaltime,计算个体适应度评估f。由于目标是选择出整体作业集合预计执行完成时间最短的染色体,个体适应度大,更容易遗传到下一代。因此将整体作业集合预计执行完成时间totaltime取倒数表示染色体的个体适应度评估,即

循环执行步骤s7,直到计算出遗传种群中每个染色体的个体适应度评估,跳出循环。

步骤s8,选择。

首先根据遗传种群中每个染色体的个体适应度评估,计算出每个染色体被遗传到下一代种群中的概率:

其中n为种群数量,f(i)为种群中第i个染色体的个体适应度评估,为种群中所有染色体的个体适应度评估总和;

然后按顺序计算出每个染色体的累积概率:

其中i为遗传种群中第i个染色体。

例如,遗传种群中有四个染色体分别为a、b、c和d,首先根据个体适应度评估可得第1个染色体被遗传到下一代种群中的概率为0.18;第2个染色体遗传概率为0.45;第3个染色体遗传概率为0.08;第4个染色体遗传概率为0.29。然后进行累积概率计算得到如图5所示,第1个染色体累积概率为0.18;第2个染色体累积概率为0.63;第3个染色体累积概率为0.71;第4个染色体累积概率为1.00。

通过随机选择,构成选择种群,具体步骤为:随机产生[0,1]中的一个数,落在遗传种群某一个染色体的累积概率区间内,则选择该染色体遗传至下一代种群,即将被选择的染色体加入到选择种群,选择种群中染色体可以重复。重复进行随机选择,直到选择种群中染色体的数量达到种群数量,则停止随机选择,进行步骤s8。

例如,上述有四个染色体的遗传种群[a、b、c、d],通过选择可能生成[b、b、a、d]的选择种群,也可能生成[c、b、d、a]的选择种群,或者其它选择种群,具体选择种群中染色体根据每次随机落在哪个累计概率内确定。染色体遗传概率越大,则被随机到的概率也就越大,也就越可能增加在选择种群中出现的概率。

步骤s9,交叉。

通过随机方式选取选择种群中的2个染色体,作为交配运算的父代和母代。如果2个染色体不同,然后随机产生一个交配点位置,将父代与母代的后半段进行交叉,形成新的两个子代。如果2个染色体相同,则不进行交叉。

例如图6所示的两个染色体1、2作为父代和母代,假设随机产生交配点位置为箭头所指,将父代与母代的后半段进行交叉,形成如图7所示的子代1、2。其中子代染色体在交配点之前的部分与父代或母代相同,交配点后(包括交配点)的部分则与母代或父代相同,即如果子代染色体在交配点之前的部分与父代相同,从交配点开始后面的部分就与母代相同,如果子代染色体在交配点之前的部分与母代相同,从交配点开始后面的部分就与夫代相同。

将子代染色体加入到交叉种群,同时将父代和母代从选择种群中删除,保持交叉种群和选择种群中染色体总数为种群数量。交叉种群初始为空。

循环执行步骤s9,直到交叉种群中染色体数量占种群数量的概率达到交叉概率pc,跳出循环,并将选择种群和交叉种群中的染色体合并,形成完整的交叉种群,此时交叉种群中染色体的数量为种群数量。

步骤s10,突变。

为了防止在迭代后期出现种群过早收敛的问题,对于交叉种群按照突变概率pm随机突变为其他基因码,突变概率是指按照突变染色体在种群中所有染色体的概率。具体为:随机产生一个突变点位置,然后随机选取作业分配的服务器号,形成新的子代。

例如图8所示,染色体1发生突变,产生突变点位置如箭头所示,由4突变为1,表示在原来第三个作业由第4台服务器进行运算,由于突变第三个作业将由第1台服务器进行运算。

将突变后的染色体加入到突变种群,同时将突变前的染色体从交叉种群中删除,保持突变种群和交叉种群中染色体总数为种群数量。突变种群初始为空。

循环执行步骤s10,直到突变种群中染色体数量占种群数量的概率达到突变概率pm,跳出循环,并将突变种群和交叉种群中的染色体合并,形成完整的突变种群,完整的突变种群即新一代的遗传种群,此时新一代的遗传种群中染色体的数量依然为种群数量。

步骤s11,循环执行步骤s7-s10,直到达到迭代次数后,输出最后一代遗传种群中个体适应度值最大的一个染色体作为整体作业集合预计执行完成时间近似最短的分配解,个体适应度值最大的具体算法和步骤s6相同。按照这个染色体,系统将作业分配队列中的作业分配到不同的服务器上。

下面结合具体的案例对本发明做进一步的详细说明。

以某型飞机发动机为研究对象实施基于电子产品应力云仿真平台的两阶段调度策略,具体实施步骤如下:

步骤s1:仿真系统接收试验样本数据,每个试验样本数据都被打包成为仿真系统的一个作业,并进入仿真系统的作业排序队列。系统包括有作业排序队列1,2,…,m;作业优先级分别为p1,p2,p3,…,pm;作业长度分别为l1,l2,l3,…,lm;作业到达时间分别为t1,t2,t3,…,tm;当前进行调度的时刻t时,作业等待时间为w1(t),w2(t),w3(t),…,wm(t)。

在电子产品应力云仿真的主要特点有:一是,一个作业包中至少包括八个热仿真试验样本和三个振动仿真试验样本。二是,热仿真试验样本和振动仿真试验样本的作业长度上有较大差距,热仿真试验样本的作业长度较短,振动仿真试验样本的作业长度较长。三是,云平台上可使用的服务器数量受租用费用的限制,一般不超过24个服务器进行运行。

因此在本实施例中,热仿真试验样本和振动仿真试验样本共10个,热仿真试验样本的作业长度在[100000000,200000000],振动仿真试验样本的作业长度在[500000000,600000000],用户选择的服务器个数等于24。

取当前时刻t=60分钟,根据作业优先级矩阵为[p1,p2,p3,…,p10]=[2233113231]。

作业长度矩阵:

[l1,l2,l3,…,l10]

=[1.21347851e+08,1.93991293e+08,1.38408878e+08,1.59712319e

+08,1.90418039e+08,1.75388707e+08,1.08640172e

+08,5.75593592e+08,5.21679487e+08,5.57005216e+08]

作业到达时间矩阵:

[t1,t2,t3,…,t10]

=48.07651356,19.61627573,22.35667442,7.78545016,12.8862091,4.70851469,48.55663227,41.53409967,50.09659252,30.128219]。

因此,作业等待时间矩阵

[w1(t),w2(t),w3(t),…,w10(t)]

=[11.92348644,40.38372427,37.64332558,52.21454984,47.1137909,55.29148531,11.44336773,18.46590033,9.90340748,29.871781];

步骤s2:对作业优先级矩阵[p1,p2,p3,…,p10]、作业长度矩阵[l1,l2,l3,…,l10]和作业等待时间矩阵[w1(t),w2(t),w3(t),…,w10(t)]根据公式1.4、1.5、1.6进行数据标准化。

得到标准化后的作业优先级矩阵:

[p1′,p2′,p3′,…,p10′]=[0.5,0.5,1,1,0,0,1,0.5,1,0]、

标准化后的作业长度矩阵:

[l1′,l2′,l3′,…,l10′]

=[0.02721402,0.18278294,0.06375091,0.10937311,0.17513068,0.14294474,0.,1.,0.88454072,0.96019223]

和作业等待时间矩阵:

[w1(t)′,w2(t)′,w3(t)′,…,w10(t)′]

=[0.04450682,0.67154897,0.61117191,0.93220829,0.81982726,1.,0.03392874,0.1886507,0.,0.43994755]

步骤s3:根据标准化后的作业优先级矩阵[p1',p2',p3',…,p10']、作业长度矩阵[l1',l2',l3',…,l10']和作业等待时间矩阵[w1(t)',w2(t)',w3(t)',…,w10(t)']计算最大权值优先指标矩阵

[f1(t),f2(t),…,f10(t)]

=[0.57172084,1.35433191,1.67492282,2.0415814,0.99495793,1.14294474,1.03392874,1.6886507,1.88454072,1.40013977];

步骤s4:根据最大权值优先指标矩阵[f1(t),f2(t),…,f10(t)]对作业从大到小进行排序,选择不超过服务器个数1.5倍的作业进入作业分配队列;

步骤s5,输入种群数量、突变概率pm、交叉概率pc和迭代次数,本实施例中用户设定种群数量为50,突变概率pm=0.0008,交叉概率pc=0.7,经过100次迭代。

步骤s6,初始化遗传种群。

根据设定的种群数量50,作业分配队列中的作业数n和服务器个数m,随机产生初始化的遗传种群中的染色体,每个染色体共有n个基因,每个基因的取值范围为[1,m],生成种群数量为50的染色体种群。

步骤s7:计算遗传种群中每个染色体的个体适应度评估。

在分配时刻t=60,系统现有作业分配队列中1,2,…,10共10个作业,作业长度分别为:

[s1,s2,s3,…,s10]=[1.73633803e+08,5.16207724e+08,5.92904057e+08,1.20173686e+08,5.88214746e+08,1.56690589e+08,1.87911798e+08,1.24106679e+08,1.75419087e+08,1.53706634e+08];

服务器运算速度:

[mips1(t),mips2(t),mips3(t),…,mips6(t)]

=[5866382.58379578,7545888.09680703,9159989.68592611,4090532.8720785,3980554.33413272,9476689.30961102]。

根据作业长度和当前服务器的运算速度得到作业在服务器上运行的预计执行时间,根据染色体上的基因得服务器与作业关系矩阵,然后再根据预计执行时间和服务器与作业关系矩阵,计算服务器j的预计执行时间,根据服务器j的预计执行时间计算出整体作业集合预计执行完成时间,最后根据整体作业集合预计执行完成时间,计算出每个染色体个体适应度评估。

循环执行步骤s7,直到计算出遗传种群中所有染色体的个体适应度,跳出循环。

步骤s8,选择。

根据遗传种群中每个染色体个体适应度评估,计算出每个染色体被遗传到下一代种群中的概率,并按顺序计算出每个染色体的累积概率。

随机产生[0,1]中的一个数,落在某一个染色体的累积概率区间内,则选择该染色体遗传至下一代种群。

循环执行步骤s8,直到选择种群生成完成。

步骤s9,交叉。

循环执行步骤s9,对选择种群进行交叉,直到交叉产生的后代占种群整体的概率达到用户定义的交叉概率pc=0.7,跳出循环,交叉种群生成完成。

步骤s10,突变。

循环执行步骤s10,对交叉种群进行突变,直到突变概率达到用户确定的突变概率pm=0.0008,跳出循环。新一代的遗传种群生成完成。

步骤s11,循环执行步骤s7-s10,直到达到迭代次数100后,输出最后一代遗传种群中个体适应度值最大的一个染色体作为整体作业集合预计执行完成时间近似最短的分配解,按照输出结果,系统将作业分配队列中的作业分配到不同的服务器上。

最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1