Condor调研报告.docx_第1页
Condor调研报告.docx_第2页
Condor调研报告.docx_第3页
Condor调研报告.docx_第4页
Condor调研报告.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 Condor简介1.1 Condor概述Condor是一个专门用于计算密集型作业的负载管理系统。它为用户提供了作业排队机制,调度策略,优先计划,资源监测和资源管理。用户既可以提交串行作业也可以提交并行作业给Condor,Condor会把这些作业放到一个队列中,之后根据某种策略来选择执行作业的时间和地点,之后仔细监测作业执行的进展,并最终通知用户完成。& I9 除了提供类似于传统的批处理排队系统功能,Condor新颖的架构使它能够在传统的调度系统无法获得成功的地方取得成功。Condor独特的机制,使其可以有效地利用其他闲置台式工作站CPU处理能力。如果Condor检测到一台机器不再可用,在许多情况下COndor能够透明的产生一个check point并把作业迁移到其他闲置的机器上。Condor不要求机器间的共享文件系统,如果没有共享文件系统,Condor可以为用户传送数据文件,或透明地重定向所有工作的I / O请求回到提交机。此外,Condor还提供了一种非常灵活的架构,以便对job和machine进行匹配。Job可以声明自己的需求及偏好,而machine也可以指定它们对运行于其上的job的需求和偏好。对于许多科学家而言,他们的研究质量很大程度上取决于计算的吞吐量。由于耗费几个星期甚至几个月去发现一个问题是一件很平常的事情,科学家们需要一个能够长时间支持大量数据传输的计算环境,所以他们已经将注意力逐渐地从HPC上转移到了HTC上了,他们感兴趣的是在一段较长的时间内所能完场的工作量。实现高吞吐量的关键在于有效利用可用的资源,而在每个工作站内通常都有许多被浪费的限制计算资源,Condor则可以发现这些限制的资源并将其很好的利用起来。为此Condor提供了两大重要功能,首先它通过让空闲的机器空做起实现了资源的更高效的利用;其次它通分布式技术将可用资源分发给了用户。1.2 ClassAd简介Condor通过扮演ClassAd中间人的方式来简化任务提交。Condor的ClassAd类似于报纸上的分类广告专栏。卖家有针对性地宣传所售商品,希望打动某位买家。而买家也可以明确的申明自己希望购买的物品。买卖双方都会列出各自需要满足的条件。 一个Condor机群中的所有机器都要申明各自的性能,比如可用的RAM内存,CPU类型和速度,虚拟内存大小,当前系统平均负载,还有其它静态或动态特性。机器的ClassAd还会申明在什么条件下才愿意运行Condor任务以及优先运行什么类型的任务。这些方针属性都能通过相关的术语和参数加以表述,由此所有机器拥有者都以一种优雅的方式将自己的机器纳入到整个Condor机群之中。比如你可以申明自己的机器只打算在晚间且没有键盘动作的情况下才能运行任务。此外,你还可以把自己或者工作伙伴提交的任务设定成优先运行的对象。 同样,当提交一件任务时,也会指定一个ClassAd表明你的需求和偏好。这个ClassAd包括你希望使用的机器类型。例如,或许你想寻求最快的浮点运算性能。那你就会希望Condor能根据浮点性能来选择可用的机器。或者,也许你仅仅在意这台机器是否具有不少于128 Mb的RAM。又比如,你愿意接受任何所能找到的机器!任务的这些属性和需求都可被封装到一条任务ClassAd当中。 Condor通过持续不断的读取所有的任务ClassAd和所有的机器ClassAd,然后对任务广告和机器广告进行匹配与排列,承担了媒人的角色。Condor确保两类ClassAd中的所有需求都被满足。 1.3 作业运行的过程1.3.1 代码准备运行于Condor之上的作业必须是可运行与后台的批处理作业,因为Condor会将其置于后台运行。由于运行于后台的程序不能接受输入也无法进行输出,但Condor会将这些输入和输出重定向到文件中,而用户则需为程序创建包含适当输入信息的文件,以确保程序的正确运行。1.3.2 Condor运行时环境Condor有多种可供选择的runtime环境,称为universe。在这些universes中我们主要需要了解standard和vanilla这两种。其中standard universe允许运行在Condor上作业通过将他们返回给提交这些作业的机器上的机制来处理系统调用。它也提供了设置checkpoint和传输仅部分被完成的作业的机制。而vanilla universe则提供了一种不支持relink的作业运行方式,它不支持checkpoint和仅部分被完成的作业的传输。1.3.3 作业提交Condor通过submit description file来控制提交的作业的详细描述,用户使用condor_submit命令把任务提交给Condor执行。condor_submit调用的参数之一是任务提交描述文件的文件名,如condor_submit execute.submit。文件里存放的命令和关键字负责控制任务的调度运转。从任务提交描述文件中,Condor可以获取所有与任务相关的必要信息。执行程序的名称,初始工作目录,以及程序调用的命令行参数等内容都保存在描述文件里。condor_submit依据这些信息创建任务ClassAd,而后Condor再去执行这项任务。任务提交描述文件能够为Condor用户节省时间。提交一个程序在Condor下多次运行并不难。比如让某个程序执行500次,每次处理不同的输入数据,只需编排好数据文件使得每次运行都能读写各自所需的输入和输出。每个独立执行动作都可以设定专属的初始工作目录,stdin,stdout,stderr,命令行参数,以及shell环境。直接访问自有文件的程序可以通过stdin或者命令行方式读取所需文件名。而对于每次运行都要打开同一个静态文件的程序则需要为每次运行的输出都建立一个单独的子目录。其内容形式如图所示。图1.1图1.2用户可以使用condor_q命令来查询作业的运行情况,使用condor_rm id来从作业队列中删除指定作业。1.3.3 Java应用举例1)编写java文件Hello.java,代码如下:public class Hello public static void main( String args ) System.out.println(Hello, world!n); 2)编写作业提交描述文件Hello.cmd,内容如下universe = java #必需显示选择java作为运行环境 executable = Hello.class #指明程序的main类 arguments = Hello #指明main类的名字,必需为第一个参数 output = Hello.output error = Hello.error should_transfer_files = YES #用于非共享式文件系统 when_to_transfer_output = ON_EXIT queue3)提交作业condor_submit Hello.cmd1.3.4 DAGMan(Directed Acyclic Graph Manager)应用程序在执行过程中可能存在一定的依赖关系,如程序A的输出是程序B的输入,而程序B的输出又是程序C的输入等。由于Condor本身在执行程序时并不关注这些依赖关系,所以为了确保整个程序的正确运行,Condor利用了DAGMan来管理这些关系。用户需要提供一份用于描述DAG的DAG输入文件给DAGMan,而DAGMan本身是作为一个元调度器工作于Condor的。输入文件的形式如图1.3所示。JOB JobName SubmitDescriptionFileName图1.3在DAGMan提交作业时,它会监测日志文件来迫使程序执行的顺序是按照DAG的描述来完成的。DAG中的每个节点都有一个专属的作业提交描述文件,而对这些描述文件的主要限制就是每个描述文件只能提交由一个cluster编号所描述的作业,目前DAGMan不能处理需要提交给多个cluster的作业。2 Condor简易安装及使用简要介绍Condor安装过程以及如何开发一个Web服务客户机来提交作业,并对Condor池中的作业进行监视和控制。2.1 安装及使用1)下载Condor/condor/downloads-v2/download.pl2)安装Condor$ tar zxvf condor-7.6.5-x86_64_deb_5.0-stripped.tar.gz$ cd condor-7.6.5-x86_64_deb_5.0-stripped$ ./condor_install -prefix=/home/Condor/prefix -local-dir=/home/Condor/local -type=manager,execute -owner=username(如leixf)3)启动Condor Web服务$ vi /home/Condor/prefix/etc/condor_config添加如下内容:RELEASE_DIR = /home/Condor/prefix(Condor的安装目录)WEB_ROOT_DIR = $RELEASE_DIR/webENABLE_SOAP = TRUEENABLE_WEB_SERVER = TRUE 4)从WSDL中创建Java类文件$ mkdir web(在Condor的安装目录下)$ cd web$ cp ./lib/webservice/condorCollector.wsdl ./$ cp ./lib/webservice/condorSchedd.wsdl ./$ vi condor.cshrc创建/home/Condor/prefix/condor.cshrc 文件,并编辑内容如下:#!/bin/bashexport CONDOR_CONFIG=/home/Condor/prefix/etc/condor_configexport CONDOR_LOCATION=/home/Condor/prefixexport JAVA_HOME=/usr/java/jdk1.6.0_31export PATH=$JAVA_HOME/bin:$CONDOR_LOCATION/bin:$CONDOR_LOCATION/sbin:$PATH# manual methodexport CLASSPATH=./: /home/Condor/prefix/lib/gt4/lib/axis.jar: /home/Condor/prefix/lib/gt4/lib/commons-logging.jar: /home/Condor/prefix/lib/gt4/lib/commons-discovery.jar: /home/Condor/prefix/lib/gt4/lib/wsdl4j.jar: /home/Condor/prefix/lib/gt4/lib/jaxrpc.jar: /home/Condor/prefix/lib/gt4/lib/saaj.jar: /home/Condor/prefix/lib/gt4/lib/activation.jar: /home/Condor/prefix/lib/gt4/lib/mail.jar: /home/Condor/prefix/web/birdbath_14.jar# here is an alternative approach to setting the CLASSPATH, which may be less efficient:# set dirLibs=ls $CONDOR_LOCATION/lib/gt4/lib/*.jar# set CP=.:$CONDOR_LOCATION/lib:$JAVA_HOME/jre/lib/rt.jar# foreach i ($dirLibs)# set CP = $CP:$i# end# if ( ! $?CLASSPATH ) then# setenv CLASSPATH $CP# else# setenv CLASSPATH $CP:$CLASSPATH# endif$ source condor.cshrc$ java org.apache.axis.wsdl.WSDL2Java condorCollector.wsdl$ java org.apache.axis.wsdl.WSDL2Java condorSchedd.wsdl$ javac condor/*.java2.2 错误及解决方案1)Unable to find required classes (javax.activation.DataHandler and ernet.MimeMultipart). Attachment support is disabled$ wget /Files/wform/mail-activation.rar$ cp /download/mail-activation.rar /usr/java/jdk1.6.0_31/lib/3 Condor常用命令1. cleanup_release -help卸载之前版本的软件2. condor_advertise向位于中心节点的condor_collector进程发送ClassAds,该命令可以更新ClassAd也可以删除某个ClassAd或使之无效化。使用实例如图2.1所示。图2.1图2.23. condor_status从ClassAd中得到所在机群中可用资源的信息概要 -available 只显示那些目前愿意运行任务的机器 -run 只显示那些目前正在运行任务的机器 -l 列出机群中所有机器的机器ClassAd4. condor_check_userlogs UserLogFile1 UserLogFile2 . UserLogFileN 为errors检测用户日志文件5. condor_checkpoint向指定机器或机器池发送检查点命令;若未指定机器,则对发送该命令的的机器设置检查点。接收该命令的机器上的所有进程都要暂停至checkpoint结束。使用方法如图2.3所示。图2.36. c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论