一个支持跨域资源同步分配的虚拟作业模型.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《一个支持跨域资源同步分配的虚拟作业模型.pdf》由会员分享,可在线阅读,更多相关《一个支持跨域资源同步分配的虚拟作业模型.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、收稿日期:收稿日期:2007-10-10.作者简介:作者简介:丁肇辉(1979),男,汉族,博士,从事网格计算与元调度研究,Email:.联系人:魏晓辉(1972),男,汉族,博士,教授,从事分布式与网格系统研究,Email:.基金项目:基金项目:国家自然科学基金(项目号 60703024),美国远距离医学与高级技术研究中心基金(项目号 W81XWH-07-2-0014),吉林省自然科学基金的(项目号:20060532);吉林省杰出青年基金项目(项目号 20070122)。一个支持跨域资源同步分配的虚拟作业模型一个支持跨域资源同步分配的虚拟作业模型 丁肇辉1,魏晓辉1,马达1,骆远1,Wilf
2、red Li2,Peter Arzberger2 (1吉林大学 计算机科学与技术学院,长春 130012 2美国加州大学 国家生物医学计算资源,圣地亚哥,加州,美国,92093)摘要:摘要:当前,越来越多的科学家开始使用网格技术解决不同科研领域的问题,然而在网格环境中运行并行应用程序仍然面临着重大挑战。尽管 MPICH-G2 能够利用多个域的资源运行MPI 并行应用,但是,由于 MPICH-G2 不能同步地分配跨域资源,在并行作业的子作业等待同步启动时会导致资源浪费,在多个并行作业竞争资源时,甚至可能发生资源死锁情况。本文提出了一个能够在跨域环境中为网格并行应用程序完成同步资源分配的虚拟作业模
3、型VJM,VJM 能够避免由于多个并行作业竞争而产生的死锁,还可以利用小作业装填技术缓解因同步资源分配而产生的浪费。而且,VJM 并不依赖于资源预约机制,因此它可以通过标准的 GRAM 协议与绝大多数现有的局部调度器协作。最后,在元调度器 CSF4 中实现了该模型,并通过生物信息并行应用程序 mpiBLAST-G2,验证了模型的合理性。关键字:关键字:网格计算,虚拟作业,跨域,CSF4,同步资源分配 中图分类号:TP391 文献标识码:A A Virtual Job Model to Support Cross-Domain Synchronized Resource Allocation D
4、ING Zhaohui1,WEI Xiaohui1,MA Da1,LUO Yuan1,Wilfred LI2,Peter ARZBERGER2(1College of Computer Science and Technology,Jilin University,Changchun 130012 2University of California at San Diego/NBCR,San Diego,CA,USA,92093)Abstract:Although more and more scientists start to take advantages of grid technol
5、ogies to facilitate their researches,running parallel jobs crossing domains in a grid environment is still a challenge.Even MPICH-G2 is able to run MPI applications on across domain resources,however,the resource allocations are not synchronized which will cause dead lock and other serious problems.
6、In this paper,we introduced a virtual job model(VJM)which achieves synchronized cross-domain resource allocation for parallel grid applications.VJM is able to prevent the resource allocation deadlock caused by multiple parallel jobs competing resource,and alleviate the resource waste by backfilling
7、small jobs.VJM can work with almost all kinds of local schedulers via standard Grid Resource Allocation and Management(GRAM)protocol as it does not depend on resource reservation.We have implemented VJM in meta-scheduler CSF4 and validate the rationality of VJM by mpiBLAST-g2,a parallel bioinformati
8、cs application.Keywords:Grid Computing,Virtual Job,Cross-domain,CSF4,Synchronized Resource Allocation 1.引言引言 网格技术的目的是在分布、异构、自治的网络环境中实现资源共享与协同工作。当前,网格技术已经在生物信息、高性能物理、地质等科研领域得到应用。但是,在运行并行应用程序时,网格使用者更多的仍然是依靠局部调度器管理,使用单个域的资源完成,因为协同跨域资源执行并行作业仍面临着诸多挑战。在传统的单一集群环境中,编写并行应用程序通常要遵循某种消息传递机制,如PVM1、MPI2。美国Argonne
9、国家实验室依照MPI-2 标准实现了MPICH,并在MPICH的基础上开发了适用于网格环境的版本MPICH-G23。MPICH-G2 广泛地采用了Globus技术,包括使用网格资源分配与管理(GRAM)协议和动态更新的在线协同分配(DUROC)协议作为并行作业启动和相互通信的接口。但是,在网格环境中和单一集群中运行作业是有区别的,作业被派送到网格节点上时不是被立即执行,而是由本地调度器依照本地策略进行调度。由于MPICH-G2 并没有一个跨域资源同步分配的机制,在并行作业的子作业等待同步启动时会导致资源浪费,在多个并行作业竞争资源时,甚至可能发生资源死锁。此外,MPICH-G2 在资源可用性检
10、查方面也不尽完善,单个资源的失效会使整个作业失败。显然,如果没有一个高层的协调者,这些问题将很难解决。本文提出了一个能够管理网格并行作业和异构资源的虚拟作业模型(VJM),该模型处于元调度层,能够为网格并行作业同步分配跨域的异构资源、避免资源死锁;VJM并不依赖于资源预约机制,因此它可以通过标准的GRAM协议与绝大多数现有的局部调度器协作,如不支持资源预约的OpenPBS4、SGE5;VJM的小作业装填功能能够缓解资源浪费情况;此外,由于VJM并没有对MPICH-G2的函数库做修改,因此它可以很容易地部署在现有的网格环境中。在VJM的实现方面,我们主要考虑的是尽量利用现有的软件和技术,避免重复
11、开发。CSF46是由本课题组之前开发的元调度器,目前已经作为执行管理组件加入到Globus Toolkit 4 中。由于CSF4 具有较好的可扩展性,因此我们将VJM实现在CSF4 中,并对CSF4的作业管理和资源管理机制进行了扩展,使其能够适应并行作业的需要。文章组织结构如下,第二节介绍以往的相关工作,并与本文提出的 VJM 做了比较;第三节详细地分析了目前运行网格并行应用所面临的问题,从体系结构、实现方法等方面阐述VJM 如何解决这些问题;第四节通过实验数据说明了 VJM 的效率和合理性;最后是文章结论以及未来工作展望。2.相关工作相关工作 目前,已有多种技术在网格并行应用程序方面取得了一
12、定成果。MPICH-G2 将网格技术与MPI标准结合起来,使在网格环境中运行并行MPI作业成为可能。MPICH-GX7针对MPICH-G2 作业执行期的问题做了三个改进,1.利用NAT服务和用户级代理支持了局域网内的虚拟IP;2.提供的检查点恢复系统提高了作业启动后的容错能力;3.优化了系统协同通信。但是,在资源分配方面,MPICH-G2 使用静态的资源配置信息和Round-robin的资源匹配方法来进行作业与资源的配对,这种做法可能产生包括资源分配死锁,资源浪费,资源无效等问题。本文提出利用虚拟作业为真实作业提前寻找和占据资源的方法,为并行作业同步地分配资源,能够解决上述问题。资源提前预约技
13、术是解决跨域资源同步分配的方法之一。文献8提出将异构资源同步分配过程在于分为二步,即资源申请与资源分配,GARA9是在文献8的基础上采用预约实现的网格资源分配协议。Silver10是由美国ClusterResource公司开发的商用资源管理系统,该系统中的Moab是一个基于资源提前预约的网格调度器。Silver还针对并行作业提出了同步资源预约的概念。但是,采用“预约”技术来解决并行作业的资源同步问题有一定的局限性,第一,并非所有集群调度器都支持资源“预约”,例如在科研组织和开源社区很流行的OpenPBS和SGE;第二,不同的集群调度器对“预约”的定义并没有统一的标准,例如,较严格资源预约要求用
14、户在申请预约时提供明确的预约起止时间,因此很难在资源管理层定义出通用的支持“预约”的协议。本文提出的VJM利用虚拟作业动态地申请资源,不需要提前指定使用资源的时间段,不依赖于资源预约,因此,更为灵活,适用范围也更为广泛。从现有的元调度器或网格资源代理软件对并行作业的支持来看,多数软件并没有针对并行作业做特定的优化。有些仍然停留在分布式系统的层面,即仅支持利用单个域的资源完成并行作业,如Nimrod-G11,Condor-G12,或者不支持并行作业如Gridway13。本文将支持跨域资源同步分配的VJM实现在CSF4 元调度器中,这为在网格环境中运行并行作业提供了一个完整可靠的解决方案。3.虚拟
15、作业模型虚拟作业模型 为了使并行作业能够在网格环境中运行,有三个关键问题需要解决。第一,数据的可用性,即无论应用程序在哪里执行,都必须能够访问到它需要的输入/输出文件;第二,跨域的通信,即隶属于同一并行程序的多个子进程能够在跨域的环境中相互通信;最后是资源分配,即能够协调那些跨域的、异构的资源,同步地为并行作业分配资源。数据网格技术,如Gfarm14,提供了一个全局共享的文件系统;MPICH-G2 是一个适用于网格环境的MPI实现,它使MPI作业能够跨越多个网格节点运行;但是,MPICH-G2 的资源分配机制不能满足网格并行作业的需要。本节分析了MPICH-G2 现存的问题,提出了虚拟作业模型
16、(VJM),并从体系结构、实现方法等方面阐述VJM如何解决这些问题。3.1 网格并行作业存在的问题网格并行作业存在的问题 在使用 MPICH-G2 运行并行作业时,用户首先使用客户端工具 mpirun 处理用户请求,基于预先配置的资源描述文件或 MDS,mpirun 采用 round-robin 的资源匹配方法,产生一份该作业的 RSL 描述,然后,根据这份 RSL,mpirun 使用 globusrun 工具将作业提交到指定的集群上,该集群上调度器再依照本地策略对作业进行调度。按照这种做法,可能产生如下的问题。1)由于没有资源可用性检查机制,一旦某个资源失效(如服务器没有启动),将导致整个作
17、业失败。2)当并行作业的各个子作业被派送到不同网格节点上的集群后,和分布式系统中的并行作业不同的是,作业并不被立即执行,而是由本地调度器依照本地调度策略调度。由于没有一个同步资源分配的机制,那些较早启动的子作业必须等待其他仍在本地调度器中排队的作业,在这种情况下,会导致资源浪费。3)当同时提交多个并行作业时,在集群资源并不充足的情况下,不同的集群本地策略可能导致资源分配死锁。图 1 说明了一个最简单的资源分配死锁的例子。在本例中,管理员为 MPICH-G2 配置了 2 个可用集群 C1 和 C2,每个集群都只有 1 台可用机器。现有 2 个并行作业 a 和 b,它们都需要 2 台机器来完成,我
18、们称 a 和 b 的子作业分别为为 a1、a2 和 b1、b2。按照 mpirun 的匹配方法,a1 和 b1 会被派送至 C1,而 a2和 b2 被派送至 C2。尽管利用现有的可用资源能够完成这 2 个作业,但是有可能发生这种情况,a1 优先于 b1 抢占到资源并等待 a2 也抢占到资源来启动作业 a,但 a2又在等待 b2 结束以获得资源,从而形成死锁。产生这种死锁的原因有 2 个,第一是两个作业的并发提交,而发生提交顺序为 a1,b1,b2,a2 的情况;第二是两个集群的调度策略不同,以优先级为例,a 在 C1 的优先级比 b 高,但在 C2 的优先级比 b低。一旦发生死锁,不但两个作业
19、都无法完成,资源还会被持续占据,直到本地调度器自动终止它们。图 1 多个并行作业产生资源分配死锁的范例 产生上述问题的主要原因是,MPICH-G2 并没有一个资源管理、同步分配机制,而且作业被派送到网格节点上的集群时,并不是被立即执行。为此,我们设计了虚拟作业模型 VJM。3.2 VJM 的设计的设计 虚拟作业(VJ)是一个为 MPICH-G2 解决跨域资源同步分配的元调度模块。在 VJM 中,如图 2 所示,作业在提交期并不立刻确定即将使用的资源,而是根据作业的资源要求,派送一定数目的虚拟作业(VJ),VJ 的主要功能是,抢占资源并且将资源状况反馈给虚拟作业控制中心(VJC),VJC 根据虚
20、拟作业返回的资源信息为并行作业同步分配资源。图 2 虚拟作业模型体系结构 在 VJC 的控制下,不仅能避免发生资源分配死锁,还能够实现小作业的装填来缓解资源浪费。与 CSF4 的整合是为了利用元调度器的资源检查和资源选择以更快更准确的定位到有效资源。考虑到网格环境的分布且异构的特点,VJM 并不依赖于那些并不被所有局部调度器所支持的功能,如资源预约,同时,使用 VJM 也不需要网格节点改安装新的服务或改变环境的配置。下面我们将按照一个并行作业的生命周期来描述 VJM 的详细设计。3.2.1 并行作业生命周期并行作业生命周期 首先,我们将并行作业提交工具 mpirun 替换为 CSF4 的作业提
21、交工具 csf-job-create,并加入了针对并行作业的处理。我们并不像 mpirun 那样立即为并行作业决定所有即将使用的资源,而是利用 CSF4 的资源可用性预检测机制和集群信息获取机制,先决定一定数目的候选资源(通常大于所需资源数)。预检测机制是在提交作业之前,先发送一个认证请求,以检测目标集群是否已启动。基于预检测的结果,CSF4 就能够选出那些真正可用的集群,避免将不可用资源加入候选资源。而集群信息获取机制能够获得如 CPU 个数,集群队列长度等信息,CSF4 会根据这些信息向集群申请适当的资源数,并拒绝那些资源需求超出所有可用资源数的作业。尽管 CSF4 能够决定较优的候选资源
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 支持 资源 同步 分配 虚拟 作业 模型
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内