传统调度(min-min,max-min,suffrage,MCT,启发式算法)

传统调度

在HCS上,传统的调度算法,例如MCT(最小完成时间),Min-Min和Suffrage,已在之前的工作中对最小化调度长度方面进行了广泛研究。MCT以任意顺序将每个任务分配给处理器,并以该任务的最短完成时间完成该任务。这导致某些任务被分配给没有最短执行时间的处理器。 Min-Min启发式方法在开始时计算所有处理器上每个任务的最小完成时间集。在所有任务中,选择总任务完成时间最短的任务,并将其分配给加标签的处理器。 Suffrage启发式方法的思想是,如果不为该处理器分配特定的处理器,则可以通过将处理器分配给在“预期完成时间”方面最“痛苦”的任务来生成更好的调度结果。对于每个任务,其suffrage值定义为其最佳MCT和其次优MCT之差。具有较高suffrage值的任务优先。

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)此次映射事件结束,退出程序。

链接:https://blog.csdn.net/mal327/article/details/7429915

MCT(Minimum Completion Time)算法

链接:https://blog.csdn.net/qq_36219266/article/details/82502844

最小完成时间算法MCT(Minimum CompletionTime)是以任意的顺序将任务映射到具有最早完成时间的主机上,它并不保证任务被指派到执行它最快的主机上,而仅关心如何最小化任务完成时间,因而可能导致任务在资源上的运行时间过长,从而潜在地增加了调度跨度。

启发式算法(近似算法)

链接:https://blog.csdn.net/cpongo1/article/details/100993907

启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的步骤去寻求答案。
领域搜索算法。从任一解出发,对其领域的不断搜索和当前解的替换来实现优化。根据搜索行为,它又可分为局部搜索法和指导性搜索法。

局部领域搜索法(也称爬山法)

以局部优化策略在当前解的领域中贪婪搜索,如只接受优于当前解的状态作为下一当前解的爬山法;接受当前邻域中的最好解作为下一当前解的最陡下降法等。

指导性搜索法

利用一些指导规则来指导整个解空间中优良解的探索,如SA、GA、EP、ES和TS等.

个体启发(寻找相对最优)特点:每次输出的是相同的。从一个解开始,寻找最优,易陷入局部最优。

爬山算法算法思想:从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。
其实就是,在初始值的附近,找到最大的一个。

优点

容易理解,容易实现,具有较强的通用性;
局部开发能力强,收敛速度很快

缺点

全局开发能力弱,只能搜索到局部最优解;
搜索结果完全依赖于初始解和邻域的映射关系。

网格计算

网格计算是分布式计算的一种,是一门计算机科学。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值