condor调研报告

上传人:第*** 文档编号:32736487 上传时间:2018-02-12 格式:DOCX 页数:7 大小:4.48MB
返回 下载 相关 举报
condor调研报告_第1页
第1页 / 共7页
condor调研报告_第2页
第2页 / 共7页
condor调研报告_第3页
第3页 / 共7页
condor调研报告_第4页
第4页 / 共7页
condor调研报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《condor调研报告》由会员分享,可在线阅读,更多相关《condor调研报告(7页珍藏版)》请在金锄头文库上搜索。

1、1 Condor 简介1.1 Condor 概述Condor 是一个专门用于计算密集型作业的负载管理系统。它为用户提供了作业排队机制,调度策略,优先计划,资源监测和资源管理。用户既可以提交串行作业也可以提交并行作业给 Condor,Condor 会把这些作业放到一个队列中,之后根据某种策略来选择执行作业的时间和地点,之后仔细监测作业执行的进展,并最终通知用户完成。除了提供类似于传统的批处理排队系统功能,Condor 新颖的架构使它能够在传统的调度系统无法获得成功的地方取得成功。Condor 独特的机制,使其可以有效地利用其他闲置台式工作站 CPU 处理能力。如果 Condor 检测到一台机器不

2、再可用,在许多情况下 COndor能够透明的产生一个 check point 并把作业迁移到其他闲置的机器上。 Condor 不要求机器间的共享文件系统,如果没有共享文件系统,Condor 可以为用户传送数据文件,或透明地重定向所有工作的 I / O 请求回到提交机。此外,Condor 还提供了一种非常灵活的架构,以便对 job 和 machine 进行匹配。Job 可以声明自己的需求及偏好,而 machine 也可以指定它们对运行于其上的 job 的需求和偏好。对于许多科学家而言,他们的研究质量很大程度上取决于计算的吞吐量。由于耗费几个星期甚至几个月去发现一个问题是一件很平常的事情,科学家们

3、需要一个能够长时间支持大量数据传输的计算环境,所以他们已经将注意力逐渐地从 HPC 上转移到了 HTC 上了,他们感兴趣的是在一段较长的时间内所能完场的工作量。实现高吞吐量的关键在于有效利用可用的资源,而在每个工作站内通常都有许多被浪费的限制计算资源,Condor 则可以发现这些限制的资源并将其很好的利用起来。为此 Condor 提供了两大重要功能,首先它通过让空闲的机器空做起实现了资源的更高效的利用;其次它通分布式技术将可用资源分发给了用户。1.2 ClassAd 简介Condor 通过扮演 ClassAd 中间人的方式来简化任务提交。Condor 的 ClassAd 类似于报纸上的分类广告

4、专栏。卖家有针对性地宣传所售商品,希望打动某位买家。而买家也可以明确的申明自己希望购买的物品。买卖双方都会列出各自需要满足的条件。 一个 Condor机群中的所有机器都要申明各自的性能,比如可用的 RAM 内存,CPU 类型和速度,虚拟内存大小,当前系统平均负载,还有其它静态或动态特性。机器的 ClassAd 还会申明在什么条件下才愿意运行 Condor 任务以及优先运行什么类型的任务。这些方针属性都能通过相关的术语和参数加以表述,由此所有机器拥有者都以一种优雅的方式将自己的机器纳入到整个 Condor 机群之中。比如你可以申明自己的机器只打算在晚间且没有键盘动作的情况下才能运行任务。此外,你

5、还可以把自己或者工作伙伴提交的任务设定成优先运行的对象。 同样,当提交一件任务时,也会指定一个 ClassAd 表明你的需求和偏好。这个 ClassAd 包括你希望使用的机器类型。例如,或许你想寻求最快的浮点运算性能。那你就会希望 Condor 能根据浮点性能来选择可用的机器。或者,也许你仅仅在意这台机器是否具有不少于 128 Mb的 RAM。又比如,你愿意接受任何所能找到的机器!任务的这些属性和需求都可被封装到一条任务 ClassAd 当中。 Condor 通过持续不断的读取所有的任务 ClassAd 和所有的机器ClassAd,然后对任务广告和机器广告进行匹配与排列,承担了媒人的角色。Co

6、ndor 确保两类 ClassAd 中的所有需求都被满足。 1.3 作业运行的过程1.3.1 代码准备运行于 Condor 之上的作业必须是可运行与后台的批处理作业,因为 Condor 会将其置于后台运行。由于运行于后台的程序不能接受输入也无法进行输出,但 Condor 会将这些输入和输出重定向到文件中,而用户则需为程序创建包含适当输入信息的文件,以确保程序的正确运行。1.3.2 Condor 运行时环境Condor 有多种可供选择的 runtime 环境,称为 universe。在这些 universes 中我们主要需要了解 standard 和 vanilla 这两种。其中 standar

7、d universe 允许运行在 Condor 上作业通过将他们返回给提交这些作业的机器上的机制来处理系统调用。它也提供了设置 checkpoint和传输仅部分被完成的作业的机制。而 vanilla universe 则提供了一种不支持 relink 的作业运行方式,它不支持 checkpoint 和仅部分被完成的作业的传输。1.3.3 作业提交Condor 通过 submit description file 来控制提交的作业的详细描述,用户使用condor_submit 命令把任务提交给 Condor 执行。condor_submit 调用的参数之一是任务提交描述文件的文件名,如 cond

8、or_submit execute.submit。文件里存放的命令和关键字负责控制任务的调度运转。从任务提交描述文件中,Condor 可以获取所有与任务相关的必要信息。执行程序的名称,初始工作目录,以及程序调用的命令行参数等内容都保存在描述文件里。condor_submit 依据这些信息创建任务 ClassAd,而后 Condor 再去执行这项任务。任务提交描述文件能够为 Condor 用户节省时间。提交一个程序在 Condor 下多次运行并不难。比如让某个程序执行 500 次,每次处理不同的输入数据,只需编排好数据文件使得每次运行都能读写各自所需的输入和输出。每个独立执行动作都可以设定专属的

9、初始工作目录,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

10、args ) System.out.println(Hello, world!n);2)编写作业提交描述文件 Hello.cmd,内容如下universe = java #必需显示选择 java 作为运行环境executable = Hello.class #指明程序的 main 类arguments = Hello #指明 main 类的名字,必需为第一个参数output = Hello.outputerror = Hello.errorshould_transfer_files = YES #用于非共享式文件系统when_to_transfer_output = ON_EXITqueue3

11、)提交作业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 所示。图 1.3在 DA

12、GMan 提交作业时,它会监测日志文件来迫使程序执行的顺序是按照 DAG 的描述来完成的。DAG 中的每个节点都有一个专属的作业提交描述文件,而对这些描述文件的主要限制就是每个描述文件只能提交由一个 cluster 编号所描述的作业,目前 DAGMan 不能处理需要提交给多个 cluster 的作业。2 Condor 简易安装及使用简要介绍 Condor 安装过程以及如何开发一个 Web 服务客户机来提交作业,并对Condor 池中的作业进行监视和控制。2.1 安装及使用JOB JobName SubmitDescriptionFileName1)下载 Condorhttp:/research

13、.cs.wisc.edu/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 /hom

14、e/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

15、.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# ma

16、nual 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/C

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号