Min-Min算法 Max-Min算法

Min-Min算法

Min-Min算法是一种实现起来很简单的算法,算法的执行时间也很快。算法的思想是首先映射小的任务,并且映射到执行快的机器上。

执行过程为:计算要参与映射事件的每个任务在各个机器上的期望完成时间,找到每个任务的最早完成时间及其对应的机器;从中找出具有最小最早完成时间的任务,将该任务指派给获得它的机器;指派完成后,更新机器期望就绪时间并将已完成映射的任务从任务集合中删除。重复上面的过程,直到所有的任务都被映射完。

该算法形式化描述如下:

M为所有未调度的任务的集合
(1)判断任务集合M是否为空,不为空,执行(2);否则跳到步骤(7)。
(2)对于任务集中的所有任务,求出它们映射到所有可用机器上的最早完成时间cij。
(3)根据(2)的结果,找出最早完成时间最小的那个任务mi和所对应的机器hj。
(4)将任务mi映射到机器hj上;并将该任务从任务集合中删除。
(5)更新机器hj的期望就绪时间rj。
(6)更新其它任务在机器hj上的最早完成时间;回到(1)。
(7)此次映射事件结束,退出程序。


Max-Min算法

Max-Min算法非常类似于Min-Min算法。同样要计算每一任务在任一可用机器上的最早完成时间,不同的是Max-Min算法首先调度大任务,任务到资源的映射是选择最早完成时间最大的任务映射到所对应的机器上。

该算法形式化描述如下:

M为所有未调度的任务的集合
(1)判断任务集合M是否为空,不为空,执行(2);否则跳到步骤(7)。
(2)对于任务集中的所有任务,求出它们映射到所有可用机器上的最早完成时间cij。
(3)根据(2)的结果,找出最早完成时间最大的那个任务mi和所对应的机器hj。
(4)将任务mi映射到机器hj上;并将该任务从任务集合中删除。
(5)更新机器hj的期望就绪时间rj。
(6)更新其它任务在机器hj上的最早完成时间;回到(1)。

(7)此次映射事件结束,退出程序。


转自http://blog.sina.com.cn/s/blog_76aa914301017iyc.html,感谢分享!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值