1、MaxMin与MinMin算法
Condor系统是面向高吞吐率计算计算而设计的,它的主要目的就是利用网络中工作站的空闲时间来为用户服务。针对这种应用,Condor使用的调度方法就相对简单一些。它定义了一套半结构化的数据模型用于描述资源的特性和表达用户的需求。它的调度分为两部分:匹配和声明,在匹配阶段,Matchmaker在可获得资源中找到最适合任务的资源,然后通知用户和服务提供者,随后用户和服务提供者再进行声明,以此确立两者之间消费与服务的关系。Condor采用集中式调度模式,且不能保障用户服务质量。
最小完成时间算法MCT(Minimum CompletionTime)是以任意的顺序将任务映射到具有最早完成时间的主机上,它并不保证任务被指派到执行它最快的主机上,而仅关心如何最小化任务完成时间,因而可能导致任务在资源上的运行时间过长,从而潜在地增加了调度跨度。
Min-Min算法是一种经典的启发式算法,其总是执行具有最短完成时间的任务,具有实现简单、执行快速的特点。该算法计算每个任务在各个机器上的期望完成时间,获得每个任务的最早完成时间机器计算资源,再将具有最小最早完成时间的任务分配给获得它的计算资源,分配完成后更新计算资源的就绪时间,并将已分配的任务从任务集合中删除。如此重复,直到所有任务被分配完毕。Min—Min算法的详细执行过程如下:
设有m个相互独立的任务和n台机器,则
对集合U中每个待分配的任务Ti分别计算出分配该任务到n台机器上的最小完成时间,形