传统调度

在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等.

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

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

优点

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

缺点

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

网格计算

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

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

  1. Redis中有序集合zset数据类型(增加(添加元素)、获取(获取指定范围元素、返回权值在min和max之间的成员、返回成员member的score值)、删除(删除指定元素和指定权值范围的元素))

    sorted set,有序集合 元素为string类型 元素具有唯⼀性,不重复   [值不能重复] 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序 说明:没有修 ...

  2. 【Unity】修改UGUI Minimap(2.2.5)的显示范围(min,max)

    修改UGUI Minimap的显示范围(min,max) 今天开发遇到需求,要将小地图显示的范围调的更大,但是经过调试发现最大也只有100,于是用了一个比较笨的方法,那就直接去Editor中更改最大值 ...

  3. python和R对dataframe的单列数据进行统计:value_counts、table、unique、nunique、min、max、mean、sort、length、var、quantile、

    python和R对dataframe的单列数据进行统计:value_counts.table.unique.nunique.min.max.mean.sort.length.var.quantile. ...

  4. hive值乘以0.01保留一位小数_Hive窗口函数01-SUM、MIN、MAX、AVG

    Hive窗口函数sum.min.max.avg入门 1. 数据说明 现有 hive 表 cookie1, 内容如下: hive> select * from cookie1; cookie1 2 ...

  5. c/c++ max/min 4种实现方法

    参考:https://blog.csdn.net/a_ran/article/details/74911031 1. 简单的宏实现 #define max(a,b) (((a) > (b)) ? ...

  6. MySQL查询输入三个数的和_mysql(三)(单表查询、select、where、聚合函数、count、sum、avg、MAX/MIN、分组查询、group by、having、limit)...

    单表查询 select 建个表 1.查询表中所有学生的信息 2.查询表中所有学生的姓名和对应的英语成绩 3.过滤表中重复数据 4.在所有学生分数上添加10分特长分 下面方式并没有改变底层的数据记录,这 ...

  7. Database之SQLSever:SQL命令实现四则运算、desc降序、like模糊查询、distinct去重、MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略

    Database之SQLSever:SQL命令实现四则运算.desc降序.like模糊查询.distinct去重.MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略 ...

  8. 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化...

     1组函数 avg(),sum(),max(),min(),count()案例: selectavg(sal),sum(sal),max(sal),min(sal),count(sal) from ...

  9. MIN()与MAX()函数 的注意事项

    MIN()与MAX()函数 的注意事项 定义: MIN()函数用于返回一个列范围内的最小非空值:MAX()函数用于返回最大值.这两个函数可以用于大多数的数据类型,返回的值根据对不同数据类型的排  序规 ...

  10. Python 内建函数 max/min的高级用法

    max/min 函数 Python 中的 max/min函数是用来获取传入参数的最大值或最小值的,其运行机制都一样,所以这里主要描述 max 的运行机制以及使用方法. 最简单的用法,就是直接传入两个要 ...

最新文章

  1. 【毕设进行时-工业大数据,数据挖掘】Java GUI完善,左对齐
  2. 调整eclipse、SpringToolSuite4编辑器的内存大小以及显示
  3. UC浏览器怎么删除收藏历史?UC浏览器删除收藏历史的操作方法
  4. 软考 计算机网络,软考-计算机网络总复习
  5. C语言编程时没思路,c语言编程问题
  6. 19.多个版本的Netcat概览
  7. JDK指定D盘安装及环境变量配置
  8. Ubuntu固定ip和dns配置和查看
  9. 虚拟DOM和DIFF算法的理解
  10. 浅谈seo行业白菜价泛滥
  11. Android TV框架TIF
  12. idea热部署(更新jsp代码不用重编译Tomcat)
  13. Android倒计时工具
  14. u盘pe启动盘怎么制作?
  15. 我的程序员之路(13)——2017年度总结
  16. CAD二次开发 根据多段线Polyline产生的线段Line需要做进一步处理才可以使用
  17. FFmpeg- 常用的滤镜命令
  18. 以下不属于C语言字符集的为,c语言第1章练习题答案
  19. 华农OOAD期末复习整理资料
  20. oracle in函数的使用,oracle in 函数

热门文章

  1. Java Regex 教程_编程入门自学教程_菜鸟教程-免费教程分享
  2. web项目访问路径上为什么不能写上WebContent
  3. 网页设计师的7大必备技能
  4. Ubuntu的ftp突然连不上了
  5. 南理工计算机考研877专业课——操作系统易错知识点整理
  6. 南航数据分析与挖掘课设1(上)——基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测(R语言)
  7. 熊猫党是什么_被熊猫4.0击中是什么感觉
  8. github搜索技巧——搜索仓库
  9. 计算机一级真题选择,全国计算机一级选择题真题版
  10. eNSP 错误代码40解决办法