欢迎来到天天文库
浏览记录
ID:42594881
大小:4.48 MB
页数:7页
时间:2019-09-18
《Condor调研报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1Condor简介1.1Condor概述Condor是一个专门用于计算密集型作业的负载管理系统。它为用户提供了作业排队机制,调度策略,优先计划,资源监测和资源管理。用户既可以提交串行作业也可以提交并行作业给Condor,Condor会把这些作业放到一个队列中,之后根据某种策略来选择执行作业的时间和地点,之后仔细监测作业执行的进展,并最终通知用户完成。&I9@除了提供类似于传统的批处理排队系统功能,Condor新颖的架构使它能够在传统的调度系统无法获得成功的地方取得成功。Condor独特的机制,使其可以有效地利用其他闲置台式工作站CPU处理能力。如果Condor检测到一台机
2、器不再可用,在许多情况下COndor能够透明的产生一个checkpoint并把作业迁移到其他闲置的机器上。Condor不要求机器间的共享文件系统,如果没有共享文件系统,Condor可以为用户传送数据文件,或透明地重定向所有工作的I/O请求回到提交机。此外,Condor还提供了一种非常灵活的架构,以便对job和machine进行匹配。Job可以声明自己的需求及偏好,而machine也可以指定它们对运行于其上的job的需求和偏好。对于许多科学家而言,他们的研究质量很大程度上取决于计算的吞吐量。由于耗费几个星期甚至几个月去发现一个问题是一件很平常的事情,科学家们需要一个能够长时
3、间支持大量数据传输的计算环境,所以他们已经将注意力逐渐地从HPC上转移到了HTC上了,他们感兴趣的是在一段较长的时间内所能完场的工作量。实现高吞吐量的关键在于有效利用可用的资源,而在每个工作站内通常都有许多被浪费的限制计算资源,Condor则可以发现这些限制的资源并将其很好的利用起来。为此Condor提供了两大重要功能,首先它通过让空闲的机器空做起实现了资源的更高效的利用;其次它通分布式技术将可用资源分发给了用户。1.2ClassAd简介Condor通过扮演ClassAd中间人的方式来简化任务提交。Condor的ClassAd类似于报纸上的分类广告专栏。卖家有针对性地宣传
4、所售商品,希望打动某位买家。而买家也可以明确的申明自己希望购买的物品。买卖双方都会列出各自需要满足的条件。一个Condor机群中的所有机器都要申明各自的性能,比如可用的RAM内存,CPU类型和速度,虚拟内存大小,当前系统平均负载,还有其它静态或动态特性。机器的ClassAd还会申明在什么条件下才愿意运行Condor任务以及优先运行什么类型的任务。这些方针属性都能通过相关的术语和参数加以表述,由此所有机器拥有者都以一种优雅的方式将自己的机器纳入到整个Condor机群之中。比如你可以申明自己的机器只打算在晚间且没有键盘动作的情况下才能运行任务。此外,你还可以把自己或者工作伙伴
5、提交的任务设定成优先运行的对象。同样,当提交一件任务时,也会指定一个ClassAd表明你的需求和偏好。这个ClassAd包括你希望使用的机器类型。例如,或许你想寻求最快的浮点运算性能。那你就会希望Condor能根据浮点性能来选择可用的机器。或者,也许你仅仅在意这台机器是否具有不少于128Mb的RAM。又比如,你愿意接受任何所能找到的机器!任务的这些属性和需求都可被封装到一条任务ClassAd当中。Condor通过持续不断的读取所有的任务ClassAd和所有的机器ClassAd,然后对任务广告和机器广告进行匹配与排列,承担了媒人的角色。Condor确保两类ClassAd中的
6、所有需求都被满足。1.3作业运行的过程1.3.1代码准备运行于Condor之上的作业必须是可运行与后台的批处理作业,因为Condor会将其置于后台运行。由于运行于后台的程序不能接受输入也无法进行输出,但Condor会将这些输入和输出重定向到文件中,而用户则需为程序创建包含适当输入信息的文件,以确保程序的正确运行。1.3.2Condor运行时环境Condor有多种可供选择的runtime环境,称为universe。在这些universes中我们主要需要了解standard和vanilla这两种。其中standarduniverse允许运行在Condor上作业通过将他们返回给
7、提交这些作业的机器上的机制来处理系统调用。它也提供了设置checkpoint和传输仅部分被完成的作业的机制。而vanillauniverse则提供了一种不支持relink的作业运行方式,它不支持checkpoint和仅部分被完成的作业的传输。1.3.3作业提交Condor通过submitdescriptionfile来控制提交的作业的详细描述,用户使用condor_submit命令把任务提交给Condor执行。condor_submit调用的参数之一是任务提交描述文件的文件名,如condor_submitexecute.sub
此文档下载收益归作者所有