虚拟化云中机器启动时间感知的实时任务与资源调度方法_2

文档序号:8942911阅读:来源:国知局
. 3. 1 令 j = 1 ;
[0050] 5. 3. 2如果j > I Ha I,则转第5. 4步;否则,执行第5. 3. 3步;
[0051] 5. 3. 3计算主机的剩余资源rfj,如下所示:
[0052]
(5):
[0053] 其中,/Tm表示主机Iij的最大频率;
和c (Ivmj)分别表示非应急虚拟机 集合和应急虚拟机使用的CPU频率;
[0054] 5. 3. 4如果主机的剩余资源rfj大于新增加虚拟机的CPU频率f _,且主机的 剩余资源rfj小于minRemFre,即(f new< rf .j)&(rfj< minRemFre),则清空主机集合 selHostSet (即令.、'iV//cAvz.SW = 0 ),然后将主机hj加入到 selHostSet,令minRemFre = rf j, 更新j = j+1,转到第5. 3. 2步;
[0055] 5. 4如果选择的主机集合selHostSet为非空,即.se/V/oWStY # 0,表示新增加虚拟 机能够创建在活跃主机上,执行第5. 5步;否则,执行第5. 6步;
[0056] 5. 5创建新虚拟机,并映射任务^到新虚拟机:
[0057] 5. 5. 1取出selHostSet中的主机,该主机记为selHost ;
[0058] 5. 5. 2在主机selHost上创建一台CPU频率为fnew的虚拟机,记为vm
[0059] 5. 5. 3将新建的虚拟机VmjlJp入到可用非应急虚拟机集合AVM中,即AVM = AVM U IvmjlJ ;
[0060] 5. 5. 4将任务1^映射到新虚拟机vm Jk;
[0061] 5. 5. 5更新虚拟机VmjlJHji;绪时间rt _jk,即rtjk= d p转第八步;
[0062] 5. 6确定新增加虚拟机的CPU频率,计算公式如下:
[0063]
(66)
[0064] 其中,IJP Cl1分别表示任务h的长度和截止期;ct为当前时刻;ct(vm)为创建虚 拟机的时间延迟;St (host)为启动主机的时间延迟;
[0065] 5. 7启动一台关闭的主机,然后创建一台新虚拟机:
[0066] 5. 7. 1 令 j = 1 ;
[0067] 5. 7. 2如果j > IH。I,I Η。I表示关闭主机的数量,转第六步;否则,转第5. 7. 3步;
[0068] 5. 7. 3如果主机Iij的最大CPU频率/厂' 小于新增加虚拟机的CPU频率需求f_,即
则j = j+Ι,转第5. 7. 2步;否则,执行第5. 7. 4步;
[0069] 5. 7. 4启动关闭的主机hj;
[0070] 5. 7. 5将主机Iij加入到活跃主机集合,即Ha= HaU hj;同时,将主Whj从关 闭主机集合H。中移除,即H。= Hci-Ih);
[0071] 5. 7. 6在主机Iij上创建一台CPU频率为f _的虚拟机,记为vm jk;
[0072] 5. 7. 7在主机Iij上创建一台CPU频率为0的应急虚拟机lvm j;
[0073] 5. 7. 8将新建的虚拟机VmjlJp入到可用非应急虚拟机集合AVM中,即AVM = AVM U IvmjlJ ;
[0074] 5. 7. 9将任务^映射到新虚拟机vm jk;
[0075] 5. 7. 10更新虚拟机VmjlJHji;绪时间rt _jk,即rtjk= d p转第八步;
[0076] 第六步,将任务h分配到应急虚拟机上,方法如:
[0077] 6. 1确定应急虚拟机的最小CPU频率flash up,计算公式如下:
[0078]
(7)
[0079] 其中,IJP d i分别表示任务t i的长度和截止期;Ct为当前时刻;
[0080] 6. 2使用主机的剩余资源来增加应急虚拟机的CPU频率,然后将任务映射到应急 虚拟机上:
[0081] 6. 2. 1令j = I ; |Ha|为活跃主机的数量;
[0082] 6. 2. 2如果j > I Ha I,转第6. 3步;否则,转第6. 2. 3步;
[0083] 6. 2. 3如果主机hj上的应急虚拟机Ivm」为空闲,即c (lvm J = 0,执行第6. 2. 4步; 否则,更新j = j+Ι,转回第6. 2. 2步;
[0084] 6. 2. 4如果主机1^的剩余CPU频率rf j (如公式(5)所示)不小于应急虚拟机的最 小CPU频率flash up,即rf# f lash up,执行第6. 2. 5 ;否则,更新j = j+Ι,转回第6. 2. 2步;
[0085] 6. 2. 5将主机hj的剩余CPU频率rf.j分配给应急虚拟机lvm.j,即C(Ivmj) = rfj, rfj =〇 ;
[0086] 6. 2. 6将任务h映射到应急虚拟机Ivm ^上,转第八步;
[0087] 6. 3转移非应急虚拟机的CPU频率到应急虚拟机,然后将任务映射到应急虚拟机 上:
[0088] 6. 3. 1令j = I ; |Ha|为活跃主机的数量;
[0089] 6. 3. 2如果j > |HaI,转第6. 4步;否则,转第6. 3. 3步;
[0090] 6. 3. 3如果主机hj上的应急虚拟机Ivm」为空闲,即c (lvm J = 0,执行第6. 3. 4步; 否则,更新j = j+Ι,转回第6. 3. 2步;
[0091] 6. 3. 4 令 k = 1 ;
[0092] 6. 3. 4. 1如果k > I VMj I,I VMj I为主机上非应急虚拟机数量,更新j = j+1,转第 6. 3. 2步;否则,执行第6. 3. 4. 2步;
[0093] 6. 3. 4. 2如果虚拟机CPU频率满足c (vm jk)彡flash up,执行第6. 3. 4. 3步;否 贝丨J,更新k = k+Ι,转回第6. 3. 4. 1步;
[0094] 6. 3. 4. 3令MTjA映射到虚拟机vm _jk的任务集合;
[0095] 6. 3. 4. 4如果MTjk中每个任务h,的截止期与完成时间之差不小于I Yc(Vmjk), 即4 -Λ·,,〃 > ( ),Vi, I表示所有已经映射到虚拟机vmjk的任务都可以忍受 应急虚拟机Ivm,完成任务t i造成的延迟,执行第6. 3. 4. 5步;否则,更新k = k+Ι,转回第 6. 3. 4. 1 步;
[0096] 6. 3. 4. 5转移虚拟机Vmjl^ CPU频率给应急虚拟机Ivm』,即c (Ivmj)= c (vmjk),c (vmjk) = 0 ;
[0097] 6. 3. 4. 6将任务h映射到应急虚拟机Ivm ^上,转第八步;
[0098] 6. 4转移非应急虚拟机的CPU频率到应急虚拟机,然后将任务映射到应急虚拟机, 接着启动一台关闭的主机,并将非应急虚拟机迀移到新启动的主机上:
[0099] 6. 4. 1令j = I ; |Ha|为活跃主机的数量;
[0100] 6. 4. 2如果j > I Ha I,则转第七步;否则,执行第6. 4. 3步;
[0101] 6. 4. 3如果主机hj上的应急虚拟机Ivm j为空闲,Bp C (lvm J = 0,执行第6. 4. 4步; 否则,更新j = j+Ι,转回第6. 4. 2步;
[0102] 6. 4. 4令k = I ; I VMj I为主机上非应急虚拟机数量;
[0103] 6. 4. 4. 1如果k > I VMj I,更新j = j+Ι,则转到第6. 4. 2步;否则,执行第6. 4. 4. 2 步;
[0104] 6. 4. 4. 2如果虚拟机诉的CPU频率满足c (vm jk)彡flash up,执行第6. 4. 4. 3步;否 贝丨J,更新k = k+Ι,转回第6. 4. 4. 1步;
[0105] 6. 4. 4. 3令MTjk表示映射到虚拟机vm _jk的任务集合;
[0106] 6. 4. 4. 4如果MTjk中每个任务的截止期与完成时间之差满足
.,其中st (host)和mt (vmjk)分别表示启动主机和 迀移虚拟机的时间,表示所有已经映射到虚拟机VrnjlJ^任务都可以忍受启动主机和迀移虚 拟机造成的延迟,执行第6. 4. 4. 5步;否则,更新j = j+Ι,转到第6. 4. 2步;
[0107] 6. 4. 4. 5转移虚拟机Vmjl^ CPU频率给应急虚拟机Ivm』,即c (Ivmj)= c (vmjk),c (vmjk) = 0 ;
[0108] 6. 4. 4. 6将任务h映射到应急虚拟机Ivm。上;
[0109] 6. 4. 4. 7启动一台最大CPU频率/广大于c (Ivmj)的关闭主机hj;
[0110] 6. 4. 4. 8迀移虚拟机刚启动的主机h」上;
[0111] 6. 4. 4. 9 配置虚拟机 Vmjl^ CPU 频率为 c (vm .jk) = c (Ivmj);
[0112] 6. 4. 4. 10在主机Iij上创建一台CPU频率为0的应急虚拟机lvm j;
[0113] 6. 4. 4. 11将主机Iij加入到活跃主机集合1中,即Ha= HaU h j;同时,将主机从关 闭主机集合Hci中移除,即H
[0114] 6. 4. 4. 12 转第八步;
[0115] 第七步,如果任务h没有被映射到任何一台虚拟机上,则拒绝任务t i,即WT = WT-It1I ;
[0116] 第八步,如果待分配任务集合WT中存在未调度任务,则转第三步;否则,执行第九 步;
[0117] 第九步,结束。
[0118] 采用本发明可以达到如下效果:在满足用户时间要求前提下,提供一种面向应急 的任务分配和虚拟机扩展方法,从而转移启动主机和创建虚拟机的延迟对截止期较短任务 的影响,以尽可能地提高任务的调度成功
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1