集群上并行作业的调度

集群上并行作业的调度

ID:22015350

大小:330.30 KB

页数:16页

时间:2018-10-21

集群上并行作业的调度_第1页
集群上并行作业的调度_第2页
集群上并行作业的调度_第3页
集群上并行作业的调度_第4页
集群上并行作业的调度_第5页
资源描述:

《集群上并行作业的调度》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、集群上并行作业的调度21.5基于通信的协同调度1、基于需求的协同调度2、隐式协同调度21.5.1基于需求的协同调度基于需求的协同调度是在考虑通信模式的情况下决定哪些进程应该被共同调度。这个方法要求通信子系统进行协作,将通信事件通知给调度器。通信子系统能够监视带来消息的目的地,并提高进程的优先级。因而,发送消息进程可能会使得接受进程与它一起被调度。如果不当的提高接收信息进程的优先级,会带来不公平性问题。用户可能会通过在它们的进程之间发送假消息来提高其程序的优先级。因此,通信子系统只是在不损害公平的基础上才会提高

2、接收消息进程的优先级。21.5.1基于需求的协同调度当多个并行作业共同存在于一个系统中时会出现另一个问题。假设有两个节点,每个节点上都有两个进程,它们分别来自两个并行作业。假定运行于节点1上的作业A的进程A1发送了一个消息给运行于节点2上的作业A的另一个进程A2,于此同时,运行于节点2上的作业B的进程B2发送了一个消息给运行于节点1上的作业B的另一个进程B1。如果系统处理不当就无法解决这个冲突问题,或者可能只是在两个节点上切换进程,而不会协调调度任何一个作业。21.5.1基于需求的协同调度一个解决方法是使用纪

3、元数。节点上的纪元数每当上下文被自动切换时就被增加。这个纪元数被加到所有的向外发送的消息屮。当一个节点接收到一个消息时,它将本地的纪元数与到来消息所包含的纪元数进行比较:如果到来消息包含的纪元数较大,就切换到到来消息所指的目的进程中。在切换的时候,节点同时将到来消息的纪元数作为本机的纪元数。如果到来消息包含的纪元数较小,则拒绝其所要求的进程切换。这样当一个消息到达时它就不会切换回以前的进程。这样就使得新的作业能尽快投入运行,并可在所有的节点上进行协调调度。21.5.2隐式协同调度在一个局域网环境中,基于通信的

4、显式调度控制是很难实现的。然而,如果通信是通过UNIX工具(如套接字,socket)来进行的,并且应用程厅是粗粒度的(大量的计算中夹有一些密集的通信),那么这样做也可能是不必要的。原因是在UNIX中进行I/O的进程享有较高的优先级。因此,进程在通信时在它们各自的节点上都具有较高的优先级,并且在通信过程中它们将会得到协同调度。这增大了完全隐式协同调度的可能性,隐式协同调度中的协同调度行为是不会以任何显式方式出现的。21.5.2隐式协同调度当显式调度方法不需要的时候,需要确定的一点就是如果一个通信进程正在等待另一

5、个进程的响应,那么它并不是不可调度的。这是通过使用一个两阶段的阻塞机制来实现的。其主耍思想是等待进程最初将等待一段时间,以期望得到来自另一个进程的响应。但是如果在预定义的时间内没有得到响应,进程将会阻塞并释放处理机以供其他就绪进程使用。易见如果进程等待的时间与进程切换所带来的额外开销相等,就需要有一个算法来在二者之间进行选择。然而实际情况表明,等待时间应该是五倍于进程切换的额外开销,这样就为被等待进程在阻塞悄况下提供了足够的唤醒时间。需要注意的是,隐式协同调度只是当进程正在通信时才要保持进程的执行一致。在计算

6、阶段,进程的执行可能不会保持步调一致。然而这并不重要,因为这时并不交互,不需要进行协同调度。Dasic算法21.6批调度21.6.1进入许可控制21.6.2实例分析:Utopia/LSF21.6.1进入许可控制HPC应用程序需要高性能,但同时它也给系统带来很重的负载。因此,如果应用程序耗费了过多的系统资源,那么它们将被加以控制。特别是可以在开始的时候就拒绝它们进入系统。一个通常的办法是使用批调度系统。这类系统定义了一组队列,批处理作业将被提交到这些队列上。每一个队列中都包含着具有某些特定属性,如预计执行时间以

7、及存储需求等的作业。批调度器然后基于作业的属性和可用资源,并根据本地的调度策略来选择作业执行。其他的作业在队列中等待,以便不会使系统过载。21.6.1进入许可控制批调度系统选择哪个工作站来使用也存在着同样的问题。一个解决方法是只使用空闲工作站。然而,这同样存在问题,因为空闲工作站池是在不断变化着的。另一个方法是使用所有的工作站,并优先使用那些负载较轻的。这个方法似乎能起作用,因为工作站所有者的平均交互工作负载虽然有时会有大的瞬间波动,但一般都是相当稳定的。而且,每个工作姑在任一时刻都只能容纳一个并行作业,以使

8、得交互式工作能够快速抢占系统资源。21.6.2实例分析:Utopia/LSFUtopia是一个大规模异构集群上的负载共享环境。它由三个主要部分组成:一个收集负载信息以做出进程放置决定的机制.一个透明远程执行的机制和一个供应用程序使用库。在这个基础上,工作负载控制与分析部件、批调度部件和并行应用程序支持部件被建立起来。LSF(LoadSharingFacility)是Utopia的商业化产物。负载信息

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。