任务调度算法

  任务调度算法的最关键之处是任务的分配策略。常用的调度模式有经理/雇员模式和非集中模式。

  经理/雇员模式 在此模式中,有一个进程(经理)负责分配任务,每个雇员向经理请求任务,得到任务后执行任务。使用预取方法(以使计算和通信重叠)可以提高效率。这种方案的一种变体是层次经理/雇员模式。在此模式中,雇员被分成不相交的集合,每个集合有一个小经理。雇员们从小经理那里领取任务,小经理从经理处领取任务。经理/雇员模式的缺点是经理进程容易成为系统的瓶颈。

  非集中模式 它就是无中心管理者的分布式调度法。

  结束检测 任务调度算法需要一种机制来检测整个问题的计算何时结束。否则,空闲的雇员们将永不停止地发出任务请求。在经理/雇员模式中,经理可以判断雇员是否都空闲了。所有的雇员都空闲了就意味着整个问题的计算结束了。在非集中模式中结束检测则比较困难,因为没有一个进程知道全局的情况。