高通量计算框架HTCondor(六)——拾遗
1. 正文
1.1. 一些问题
如果真正要将HTCondor高通量计算产品化还需要很多工作要做,HTCondor并没有GUI界面,更多更全面的功能在Linux系统下的命令窗口下更方便。
拆分任务也是使用者值得考虑的问题,很多的密集运算其实不太方便拆分,拆分后大概率要进行合并操作,这种合并操作可能也相当耗时,且只能单机运算不能进行分布式计算。拆分任务还需要一定的经验,即如何保证负载均衡,让所有的任务同时完成。
文件访问也是个值得研究的问题。Windows下回默认使用文件传输机制,也就是将数据随着任务程序发送到任务机上区运行,这种方式往往会造成巨大的IO阻塞;再运行完成后,传送的数据又会被清空删除,也造成了IO性能浪费。所以,如果条件允许的情况下,最好还是使用分布式文件管理系统,当然这又是另外一个问题。
Windows下使用的vanilla模式部分功能还是受限的:
- 是发送到任务机的任务程序无法访问任务机的网络地址资源,这是由于安全策略决定的;
- 发送的任务程序被进一步封装了,默认参数有改变;
- 在任务机计算资源存在问题时,不能自动迁移以及断点续作。这个功能对于HTC来说是比较重要的,HTC处理的就是稳定的进行规模运算的问题。这个问题也需要进一步深究。
HTCondor本身的计算资源是按照CPU的核心数划分的;这一点也很值得商榷。如果给一个8核的机器提交任务,这台机器就会同时运行8个任务,如果恰好这个任务是与IO密集相关的,就会造成IO性能的浪费。毕竟硬盘总是只有一个磁头,单个磁头在磁盘中反复移动,会造成磁盘的损耗。而且CPU可以按照核心数划分,那么GPU资源呢?对于基于GPU计算的任务程序该如何划分呢?很多实际的情况下可能是把一台机器作为一个节点更合理一些。
为了达到更好的性能,我曾经简单的采用文件共享机制的办法。也就是HTCondor的任务程序虽然无法访问网络资源,但是可以在计算之前把文件共享做好,把需要的数据提前传送到任务机器上去,保证任务程序访问本地资源即可。这样发送的数据可以反复使用,有助于后续任务的执行效率。这种办法怎么说呢,除非你对网络文件共享那一套非常熟悉,否则建议不要这么做。
1.2. 使用建议
- condor_q显示任务为H也就是挂起,说明发送的任务程序可能无法正常运行,一般是任务机器缺少必要的运行环境如一些dll。
- 网络环境需要保持稳定。一些安全软件、防火墙、网络工具可能会造成网络环境的变动,造成任务无法执行。上一篇的实例是基于本地局域网的。
- HTC更强调稳定性而不仅是高性能,所有的改动都要基于这个原则。
- HTCondor有设置任务队列优先级运行的功能condor_prio,可以查看文档内相关的说明。
在HTCondor帮助文档的7.2.4节"Executing Jobs as the Submitting User"提到了访问任务程序网络资源的问题:
By default, HTCondor executes jobs on Windows using dedicated run accounts that have minimal access rights and privileges, and which are recreated for each new job. As an alternative, HTCondor can be configured to allow users to run jobs using their Windows login accounts. This may be useful if jobs need access to files on a network share, or to other resources that are not available to the low-privilege run account.
This feature requires use of a condor_credd daemon for secure password storage and retrieval. With the condor_credd daemon running, the user’s password must be stored, using the condor_store_cred tool. Then, a user that wants a job to run using their own account places into the job’s submit description file
run_as_owner = True
这一段的意思是更后台condor_credd进程有关,需要配置相关的环境。但是我根据7.2.5节"The condor_credd Daemon"进行配置并没有成功,有兴趣的童靴可以自己试一试。
2. 相关
高通量计算框架HTCondor(六)——拾遗的更多相关文章
- 高通量计算框架HTCondor(一)——概述
目录 1. 正文 2. 目录 3. 参考 4. 相关 1. 正文 HTCondor是威斯康星大学麦迪逊分校构建的分布式计算软件和相关技术,用来处理高通量计算(High Throughput Compu ...
- 高通量计算框架HTCondor(四)——案例准备
目录 1. 正文 1.1. 任务划分 1.2. 任务程序 2. 相关 1. 正文 1.1. 任务划分 使用高通量计算第一步就是要针对密集运算任务做任务划分.将一个海量的.耗时的.耗资源的任务划分成合适 ...
- 高通量计算框架HTCondor(五)——分布计算
目录 1. 正文 1.1. 任务描述文件 1.2. 提交任务 1.3. 返回结果 2. 相关 1. 正文 1.1. 任务描述文件 前文提到过,HTCondor是通过condor_submit命令将提交 ...
- 高通量计算框架HTCondor(二)——环境配置
目录 1. 概述 2. 安装 3. 结果 4. 相关 1. 概述 HTCondor是开源跨平台的分布式计算框架,在其官网上直接提供了源代码和Windows.Linux以及MacOS的安装包.因为平台限 ...
- 高通量计算框架HTCondor(三)——使用命令
目录 1. 目录 2. 进程 3. 命令 3.1. condor_q 3.2. condor_status 3.3. conodr_submit 3.4. conodr_rm 4. 相关 1. 目录 ...
- 腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代
腾讯开源再次迎来重磅项目,14日,腾讯正式宣布开源高性能图计算框架Plato,这是在短短一周之内,开源的第五个重大项目. 相对于目前全球范围内其它的图计算框架,Plato可满足十亿级节点的超大规模图计 ...
- 译 - 高可用的mesos计算框架设计
原文地址 http://mesos.apache.org/documentation/latest/high-availability-framework-guide/ 阅读建议:有写过或者看过Mes ...
- Storm分布式实时流计算框架相关技术总结
Storm分布式实时流计算框架相关技术总结 Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍.以此为基础,后续再深入了解S ...
- Spark Streaming实时计算框架介绍
随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐.用户行为分析等. Spark Streaming是建立在 ...
随机推荐
- 【ffmpeg 视频下载】使用cmd视频下载
概述 ffmpeg是什么? FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.并且,很多视频播放器都是采用他的内核. 安装与使用 安装ffmpeg ffmpeg下载 ...
- P1651 塔
----------------- 链接:Miku ----------------- 这是一道dp题,我么很容易发现这点. 数据范围很大,如果直接用两个塔的高度当状态,很危险,我们就必须要考虑一下优 ...
- PyQt5【入门-窗口】
一.窗口 #设置窗口标题 setWindowTitle("标题") #设置窗口坐标和大小 setGeometry(0,0,800,600) """ 项 ...
- while语句的练习一
今天学习了while语句,自己想了一道题,试着练习,改了几次之后调试通过: 学生做题,如果全部都做对了,那么会得到老师的夸奖,如果做错了,那么每道题要罚抄十遍: namespace _999_1错题罚 ...
- Jquery实现挂号平台首页源码2
第二个版本:点击预约挂号可跳转到排班表,获取之后7个星期的排班 先放图 首先是index.html <!DOCTYPE html> <html lang="en" ...
- rownum按某字段排序查询
特点:rownum伪列,查询结果按顺序从1递增排列 用途:按某字段排序查询第几名到第几名的数据 但加上按字段排序条件后,rownum并不会从1递增 需把按字段排序查询的数据作为一张表,再次查询,row ...
- Luogu2345 | 奶牛集会 (树状数组)
题目背景 MooFest, 2004 Open 题目描述 约翰的 \(N\) 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很多,比如堆干草,跨栅栏,摸牛仔的 ...
- I Hate It HDU - 1754 线段树 单点修改+区间最值
#include<iostream> #include<cstring> using namespace std; ; int m,n,p; struct node{ int ...
- cobbler自动安装linux
1- cobbler简介 cobbler是一个系统启动服务boot server,可以通过pxe得方式用来快速安装.重装系统,支持安装不同linux发行版和windows. 基于python开 ...
- windows系统使用sketch设计的设计稿
由sketch设计的文件因为没有windows系统的sketch所以无法使用windows系统的电脑打开,那么怎么办呢?可以借助zeplin, 通过sketch(mac电脑)上传到zeplin账号,然 ...