cogging torquee安装后,提交任务,有空闲cpu但是仍然是排队状态

第四章进程调度与死锁习题及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第四章进程调度与死锁习题及答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢关于gromacs提交并行作业的问题。。。。。 - 实验交流 - 生物秀
标题: 关于gromacs提交并行作业的问题。。。。。
摘要: [关于gromacs提交并行作业的问题。。。。。] 申请了一个超级计算机中心,可是提交gromacs并行作业,总是很快的就运行完毕,没有输出文件,请大家帮忙看看哪里出错了。我运行的版本是gromacs-3 3 3超算中心给我了一个提交作业的用法如下:bsub -W 运行时间 -a MPI版本 -n 使用的cup数 -R
"span " -q 队列名 关键词:[集群]……
申请了一个超级计算机中心,可是提交gromacs并行作业,总是很快的就运行完毕,没有输出文件,请大家帮忙看看哪里出错了。我运行的版本是gromacs-3.3.3
超算中心给我了一个提交作业的用法如下:
bsub -W 运行时间 -a MPI版本 -n 使用的cup数 -R "span" -q 队列名称 -o 标准输出文件 -e 错误输出文件 mpirun.lsf 运行的程序
当然我首先编了一个运行脚本md.sh,具体内容如下:
------------------------------------------------
# !/bin/sh
mpirun -np 2 mdrun_d -np 2 -v -s md1ns-22bar-mpi.tpr -o md1ns-6bar-mpi.trr -c md1ns-6bar-mpi.gro -e md1ns-6bar-mpi -g md1ns-6bar-mpi >&my.job&
echo no md.tpr found
---------------------------------------------------
我觉得mpirun -np 2 就是设定2个节点来并行,(有人说-np是设定cpu数目的,我这里也不清楚)
然后我按照上面的命令格式提交作业,可是总是很快运行完毕,没有输出文件
bsub -W 5:0 -a intelmpi -n 16 -R "span" -q x64_small -o out -e err mpirun.lsf md.sh
我这里总共用16个cpu ,每个节点上用8,所以用2个节点来并行md.sh脚本
我总感觉好像没有运行这个md.sh脚本。。。。。。。回复没有人关注:(回复我们是自己的机器算的,没有用大型的服务器。所以不知道怎么回事。回复你要确认一下服务器上安装的是否是并行版本,并行版本的命令与一般命令有所不同。回复mpirun -np 指定的是核数回复楼主如果能提供一些输出信息的话可能会更方便大家找问题,很快就完了可能是没找到对应的文件,或者有什么库文件不对。
gromacs3.3.3的话在运行grompp生成tpr文件的时候就需要指定用多少个core。回复我也想请教一下提交并行任务的问题:我提交任务的时候,计算都在主节点上运行。我想知道如何将计算任务提交到指定的节点上。提交任务是不是只能在主节点下写命令行吧。回复还有一个问题就是您的集群是用什么软件管理的?lsf,torque,pbs等等,不同的管理软件的投任务脚本是不一样的。
相关热词:
..........
生物秀是目前国内最具影响力的生物医药门户网站之一,致力于IT技术和BT的跨界融合以及生物医药领域前沿技术和成功商业模式的传播。为生物医药领域研究人员和企业提供最具价值的行业资讯、专业技术、学术交流平台、会议会展、电子商务和求职招聘等一站式服务。
官方微信号:shengwuxiu
电话:021-小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
提交VASP任务,总是排队,不让计算!!
我提交VASP任务了,但是总是不让计算,排在我后面的用VASP计算的任务都在算了,怎么办呢?
我的文件“201314”排队呢,但是后面的用户liying都在计算,咋回事呢??什么原因呢?
谢谢指教,谢谢
201314.jpg
受益匪浅,非常感谢!!我尝试改变一下节点,有新的进展,随时交流!谢谢!!!
我前面一个任务提交任务的是管理员,他的节点是4。
我提交了4个节点,目前只能排队,无法计算,有可能是管理员的设置吗?
有可能,管理员最大嘛!你也可以和管理员沟通一下,找出原因
谢谢,但是我的文件只有一个201314,排队很久,没有计算。用户liying却有两个任务在计算。
非常感谢您的指教!有三个问题,1、如何查看队列上空闲节点呢?用什么命令呢?2、有没有可能是我提交作业命令的问题,如何改正呢?3、服务器作业调度问题,只能管理员修理吧?
非常感谢您的指教!有三个问题,1、如何查看队列上空闲节点呢?用什么命令呢?2、有没有可能是我提交作业命令的问题,如何改正呢?3、服务器作业调度问题,只能管理员修理吧?
非常感谢您的指教!有三个问题,1、如何查看队列上空闲节点呢?用什么命令呢?2、有没有可能是我提交作业命令的问题,如何改正呢?3、服务器作业调度问题,只能管理员修理吧?
非常感谢您的指教!有三个问题,1、如何查看队列上空闲节点呢?用什么命令呢?2、有没有可能是我提交作业命令的问题,如何改正呢?3、服务器作业调度问题,只能管理员修理吧?
非常感谢您的指教!有三个问题,1、如何查看队列上空闲节点呢?用什么命令呢?2、有没有可能是我提交作业命令的问题,如何改正呢?3、服务器作业调度问题,只能管理员修理吧?
:hand:请问walltime是什么呢?
额。。。。。。。。。。。。。。。。。。。。。。。。。。。
你不用一直@我&&回复一下就行了 干嘛这么多啊~~~
你这这个作业管理系统是什么? 看了像PBS作业调度系统
你google一下 相关作业调度系统的 一些常用命令 学习一下就是了
就是Req'd Time,设定的计算最长时间,,到了这个时间,,
如果计算没有完成,,cluster也会强制停止计算。
查看空闲节点 : pbsnodes -l free
我想问下:&&关于第二点
我的集群的每个节点的逻辑cpu是24,我不可能将PBS文件设置成nodes=1,而ppn设置成为24吧?
是不是我的理解有问题
推荐采用24,充分利用每个节点的资源
对 掌握root密码的管理员是最大的 但是谁会闲的蛋疼去折腾一个普通用户这种损人不利己的事儿呢 所以最大推测是楼主跟管理员有仇:jok:
说的对呀,仇深似海啊,至今没解决呢,哎!
我怎么发现楼主的图里,你用的队列跟别人的不一样啊,别的任务貌似都是默认队列,是不是你提交的那个队列不能计算,目前来看,你们貌似是一个节点8个核吧,我就搞不懂那些提交6个核的任务的是怎么回事了
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研Torque PBS管理系统
Torque PBS管理系统
PBS管理系统
PBS是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。
PBS的目前包括openPBS,PBS Pro和Torque三个主要分支。其中OpenPBS是最早的PBS系统,目前已经没有太多后续开发,PBS
pro是PBS的商业版本,功能最为丰富。Torque是Clustering公司接过了OpenPBS,并给与后续支持的一个开源版本。
下面是本人安装torque的过程。
一、Torque安装
在master(管理结点上)
1、解压安装包
[root@master tmp]# tar zxvf torque-2.3.0.tar.gz
2、进入到解压后的文件夹
./configure --with-default-server=master
make install
(1)[root@master torque-2.3.0]#./torque.setup &user&
&user&必须是个普通用户
(2)[root@master torque-2.3.0]#make packages
把产生的 tpackages , torque-package-clients-linux-x86-64.sh,
torque-package-mom-linux-x86-64.sh 拷贝到所有节点。
(3)[root@master torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@master torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
(4)编辑/var/spool/torque/server_priv/nodes (需要自己建立)
加入如下内容
node01 np=4
node09 np=4
(5)启动pbs_server,pbs_sched,pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。
(6)创建队列
[root@master ~]# qmgr
create queue students
set queue students queue_type = Execution
set queue students Priority = 40
set queue students resources_max.cput = 96:00:00
set queue students resources_min.cput = 00:00:01
set queue students resources_default.cput = 96:00:00
set queue students enabled = True
set queue students started = True
4、在node0x (x=1-9,计算结点上)
[root@node0x torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@node0x torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
然后启动pbs_mom ,把pbs_mom写入/etc/rc.local
二、Torque PBS使用
1、创建用户
在master的root下
useradd test
passwd test
输入test密码
到/var/yp下make一下
2、配置普通用户的ssh
ssh-keygen -t dsa
cat id_pub.dsa &&authorized_keys
chmod 600 authorized_keys
3、编写作业脚本
[test1@master t]vi pbsjob
#!/bin/tcsh
#PBS -o /home/test1/pbstest/t/output 标准输出文件
#PBS -e /home/test1/pbstest/t/error 错误输出文件
#PBS -l nodes=5:ppn=4 规定使用的节点数以及每个节点能跑多少核
#PBS –q students 把任务提交到students队列中
cd $PBS_O_WORKDIR 到工作目录下(此为PBS提供的环境变量)
mpirun –machine $PBS_NODEFILE -np 20 ./vasp
4、启动mpd
mpdboot -n 10 -f mfa
5、提交,查询,删除作业
提交作业:qsub pbsjob
作业提交后会有一个作业号
[test1@master pbstest]$ qsub pbsjob
查询作业:qstat
[test1@master pbstest]$ qstat
------------------------- ---------------- --------------- --------
- -------------------------------
00:00:00 R
删除作业:qdel 作业号
[test1@master pbstest]$ qdel 48
(二)PBS脚本使用
qsub -N Relax
-l nodes=1:ppn=8 pbs
VASP="/home/user15/soft/mpi/bin/mpirun -machinefile $PBS_NODEFILE -np 8
avasp & /dev/null "
times=1000
while((i&=times))
rm WAVECAR CHG*
./produKPTS.x
cp CONTCAR
rm WAVECAR CHG*
./produKPTS.x
cp CONTCAR
rm WAVECAR CHG*
./produKPTS.x
cp CONTCAR
cd /temp/user15/RST1000
./relax.sh && log
(三)pbs常用命令和选项
一、基本选项
pbs是Protable Batch System的缩写,是一个任务管理系统。当多个用户使用同一个计算资源时,每个用户用PBS脚本提交自己的任务,由PBS对这些任务进行管理和资源的分配。下面是一个简单的PBS脚本:
#PBS -l nodes=20
#PBS -N snaphu
#PBS -j oe
#PBS -l walltime=24:00:00
#PBS -l cput=1:00:00
#PBS -q dque
cd $PBS_O_WORKDIR
cat $PBS_NODEFILE $PBS_NODEFILE& NODEFILE
mpirun -hostfile NODEFILE -np `cat NODEFILE |wc -l` ./mpiTest
将这个脚本保存成submit
然后qsub submit就将这个mpiTest的任务提交给了系统。
脚本中#PBS为脚本选项,用于设置一些参数。
-l表示资源列表,用于设定特定任务所需的一些参数。这里的NODES表示并行环境下可以使用的节点数,而walltime表示任务最大时限,而cput
表示cpu时间的最大时限,运行时间和cpu使用时间超过对应的时限,任务就会以超时退出。这三个参数不是PBS脚本参数,而是并行环境所需的参数。
#PBS -N表示任务名称
#PBS -j表示系统输出,如果是oe,则标准错误输出(stderr)和标准输出(stdout)合并为stdout,如果是eo,则合并为stderr,如果没有设定或设定为n,则stderr和stdout分开。
#PBS -q表示当前任务选用的队列。在并行环境下,一个系统中往往有多个队列,任务提交后,将在所选的队列中排除等候。系统中有哪些队列可以用qstat -q查看。
二、简单命令
任务提交后,需要查看任务信息和环境信息,有如下常用命令。
qstat 查看本用户提交的任务
qstat -n 同上,输出内容稍有不同
qstat -q 查看系统中所有的队列,以及每个队列中任务的运行和等候情况。
showq 查看系统中所有运行的任务。
qdel id 删除JOBNAME为id的任务。该任务如果在等待,则可以有这个命令删除,如果已经开始运行,则无法删除。
三、参数传递
qsub submit -l nodes=4 -v x=1,y=2
其中,-l nodes=4本来就是一个#PBS选项,既可以放在submit文件中,又可以放到命令行上。
-v x=1,y=2为一个变量列表,和shell命令一样,在submit文件中可以用$x,$y来调用这两值
(四)PBS 命令与使用
PBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征:
易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。
移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。
适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。
灵活性:支持交互和批处理作业。
OpenPBS( )是PBS的Open Source的实现。商业版本的PBS可以参照: 。
1、PBS命令
PBS提供4条命令用于作业管理。
qsub 命令—用于提交作业脚本
命令格式:
[-a date_time] [-c interval] [-C directive_prefix]
[-e path] [-I] [-j join] [-k keep] [-l resource_list]
[-m mail_options]
[-M user_list][-N name] [-o path] [-p priority] [-q destination] [-r c]
[-S path_list] [-u user_list][-v variable_list] [-V]
[-W additional_attributes] [-z]
参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。
例:# qsub
提交某作业,系统将产生一个作业号
qstat 命令—用于查询作业状态信息
命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u]
参数说明:
列出指定作业的信息
列出系统所有作业
列出不在运行的作业
列出分配给此作业的结点
列出队列管理员与scheduler所提供的建议
列出磁盘预留信息
操作符是destination id,指明请求的是队列状态
列出队列状态,并以alternative形式显示
-au userid
列出指定用户的所有作业
列出PBS Server信息
列出所有正在运行的作业
-Qf queue 列出指定队列的信息
若操作符为作业号,则列出其状态。
若操作符为destination id,则列出运行在其上的属于user_list中用户的作业状态。
例:# qstat -f 211
查询作业号为211的作业的具体信息。
(3) qdel 命令—用于删除已提交的作业
命令格式:qdel
[-W 间隔时间] 作业号
命令行参数:
例:# qdel -W 15 211
15秒后删除作业号为211的作业
qmgr 命令—用于队列管理
qmgr -c "create queue batch queue_type=execution"
qmgr -c "set queue batch started=true"
qmgr -c "set queue batch enabled=true"
qmgr -c "set queue batch resources_default.nodes=1"
qmgr -c "set queue batch resources_default.walltime=3600"
qmgr -c "set server default_queue=batch"
2、PBS脚本文件
PBS脚本文件由脚本选项和运行脚本两部分组成。
(1) PBS作业脚本选项 (若无-C选项,则每项前面加‘#PBS’)
date_time : date_time格式为:[[[[CC]YY]MM]DD]hhmm[.SS]
表示经过date_time时间后作业才可以运行。
:定义作业的检查点间隔,如果机器不支持检查点,则忽略此选项。
directive_prefix :在脚本文件中以directive_prefix开头的行解释为qsub的命
令选项。(若无此选项,则默认为’#PBS’ )
:将标准错误信息重定向到path
:以交互方式运行
:将标准输出信息与标准错误信息合并到一个文件join中去。
:定义在执行结点上保留标准输出和标准错误信息中的哪个文件。
keep为o 表示保留前者,e表示后者,oe或eo表示二者都保留,
n表示皆不保留。若忽略此选项,二者都不保留。
resource_list
: 定义资源列表。以下为几个常用的资源种类。
: 请求N秒的CPU时间; N也可以是hh:mm:ss的形式。
mem=N[K|M|G][B|W]:请求N {kilo|mega|giga}{bytes|words} 大小的内存。
nodes=N:ppn=M
:请求N个结点,每个结点M个处理器。
mail_options :mail_option为a:作业abort时给用户发信;为b:作业开始运行发信;为e:作业结束运行时发信。若无此选项,默认为a。
:定义有关此作业的mail发给哪些用户。
: 作业名,限15个字符,首字符为字母,无空格。
:重定向标准输出到path。
: 任务优先级,整数,[-],若无定义则为0.
destination
: destination有三种形式: queue , @server,queue@server。
: 指明作业是否可运行,y为可运行,n为不可运行。
:指明执行运行脚本所用的shell,须包含全路径。
:定义作业将在运行结点上以哪个用户名来运行。
variable_list :定义export到本作业的环境变量的扩展列表。
:表明qsub命令的所有环境变量都export到此作业。
additional_attributes
: 作业的其它属性。
:指明qsub命令提交作业后,不在终端显示作业号。
运行脚本同LINUX下一般的运行脚本文件。
[注]:脚本文件中的mpirun_rsh命令行中的节点列表文件要用环境变量表示
$PBS_NODEFILE,这个环境变量表示由pbs自动分配给作业的节点列表;
节点数为命令行中指定的进程数。
格式如下:
mpirun_rsh –np 进程数 –hostfile $PBS_NODEFILE 可执行程序名
命令详解如下:
Getting Status on the System, Queues, and Jobs
Short Description
Manual Page
list information about queues and jobs
list all queues on system
list queue limits for all queues
list all jobs on system
list all jobs owned by user userid
list all jobs with status comments
list all running jobs
list all information known about specified job
list all information known about specified queue
List summary information about the PBS server
Submitting a Job
submit jobscript to PBS
submit an interactive-batch job
submit job directly to a specified queue
Using the Graphical User Interface (GUI)
Graphical User Interface to PBS commands
(五)GM并行作业提交PBS脚本
PBS模板脚本文件路径为:/export/home/pbs/mpich-gm.pbs.pbs
按照如下示例文件,建立pbs作业提交脚本,修改红色的部分即可。
#LJRS -S /bin/bash
#LJRS -o script.out
#LJRS -j oe
#LJRS -q dpool
#LJRS -l nodes=8:ppn=1
(nodes:计算节点数,ppn:计算节点CPU数)
#LJRS -l walltime=48:00:00
(用户估计的最大计算时间,超时系统会自动中断作业)
limit -s unlimited
TMPFILE=`whoami`_mpich_gm.tmp
sed 's/c/g/g' $LJRS_NODEFILE & /tmp/$TMPFILE
GM_NODEFILE=/tmp/$TMPFILE
echo Working directory is $LJRS_O_WORKDIR
cd $LJRS_O_WORKDIR
echo Runing on host `hostname`
echo Starting Time is `date`
echo Directory is `pwd`
echo This jobs runs on the following processors:
echo `cat $GM_NODEFILE`
NPROCS=`wc -l & $GM_NODEFILE`
echo This job has allocated $NPROCS nodes
## User Parallel Program ###########
mpirun -v -machinefile $GM_NODEFILE -np $NPROCS ~/my_parallel.exe & out (修改为用户的并行作业执行命令)
####################################
rm -f /tmp/$TMPFILE
echo Ending Time is `date`
发表评论:5052人阅读
并行计算(4)
headnode上的配置
在 headnode 上安装 torque
./configure --prefix=/usr/local/torque-2.5.12 --enable-docs --enable-syslog --enable-unixsockets
make check
make install
make packagesmake packages 指令会产生独立的5个包,具体作用的话等用到时完全明白了再来补充另外这儿 configure 的时候如果加入了 --enable-debug ,那么在后面启动 pbs_mom 的时候它死活也是不肯到 background 的,无论你怎么搞,你敢 Ctrl+c,pbs_mom进程立马 dead,死活占着那个 ternimal。我在这儿卡了好久。。。。。。
添加环境变量:
vi /etc/profile,添加如下内容:
#Add by myself
export TORQUE=/usr/local/torque-2.5.12
export LD_LIBRARY_PATH=$TORQUE/lib
export PATH=$TORQUE/sbin:$TORQUE/bin:$PATH
配置 pbs_server 和 pbs_sched ,并添加为系统服务:
vi /usr/local/src/torque-2.5.12/contrib/init.d/pbs_server,修改&PBS_DAEMON=/usr/local/torque-2.5.12/sbin/pbs_server (改成正确的 pbs_server 可执行文件路径即可)vi /usr/local/src/torque-2.5.12/contrib/init.d/pbs_sched,修改&PBS_DAEMON=/usr/local/torque-2.5.12/sbin/pbs_sched&(改成正确的 pbs_sched 可执行文件路径即可)vi /usr/local/src/torque-2.5.12/contrib/init.d/pbs_mom,修改&PBS_DAEMON=/usr/local/torque-2.5.12/sbin/pbs_mom&(改成正确的 pbs_mom 可执行文件路径即可)(这个是为计算节点做的准备工作)cd /usr/local/src/torque-2.5.12/contrib/init.d/
cp pbs_server pbs_sched /etc/init.d/chkconfig --add pbs_server
chkconfig --add pbs_sched请注意服务 pbs_server 不要启动起来,否则 ./torque.setup root 无法完成
torque server db 初始化:
cd /usr/local/src/torque-2.5.12
./torque.setup root我初始化的时候遇到了下错误,但是又重新来了一次就没有报错了:
重新启动各项服务:
qterm //终止pbs_server
service pbs_server start
service pbs_sched start
修订 pbs_server 的 node 文件:
设定 pbs_server 自动检测计算节点的 cpu 核心数目
qmgr -c &set server auto_node_np = True&
vi nodes (这儿nodes 文件被冲掉的只好自己新建了,原权限为:644),添加如下内容:
计算节点上的配置
安装结算节点上所需要的包(就是上面 make packages 指令生成的)
scp torque-package-clients-linux-x86_64.sh torque-package-mom-linux-x86_64.sh root@sdu.01:/tmp/
scp torque-package-clients-linux-x86_64.sh torque-package-mom-linux-x86_64.sh root@sdu.02:/tmp/
./torque-package-clients-linux-x86_64.sh --install
./torque-package-mom-linux-x86_64.sh --install
添加环境变量:
vi /etc/profile,添加如下内容:
#Add by myself
export TORQUE=/usr/local/torque-2.5.12
export LD_LIBRARY_PATH=$TORQUE/lib
export PATH=$TORQUE/sbin:$TORQUE/bin:$PATH
添加 pbs_mom 为系统服务:
scp pbs_mom 到所有计算节点
chkconfig --add pbs_mom
配置守护进程的信任关系
vi /var/spool/torque/server_name
修改为 headnode 的主机名称
添加计算节点的配置文件:
vi /var/spool/torque/mom_priv/config添加如下内容:
$logevent 255
$loglevel 7
$pbsserver sdu.master
启动 pbs_mom
service pbs_mom start
整个集群配置的验证
用指令 pbsnodes -a 查看整个集群计算节点的状态:
至此配置方面应该不会有什么大的问题了,可能的问题我会在后期的测试中在 “PBS集群搭建” 这个专题中陆续给出,望有兴趣、需要的朋友多多关注,多多交流
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:240747次
积分:3509
积分:3509
排名:第7093名
原创:120篇
评论:29条
(6)(1)(15)(1)(4)(4)(15)(21)(16)(25)(2)(4)(10)

我要回帖

更多关于 torque 的文章

 

随机推荐