文档库 最新最全的文档下载
当前位置:文档库 › PBS作业调度

PBS作业调度

PBS作业调度
PBS作业调度

PBS作业调度系统

高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。

高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间。

通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类应用从昂贵的大型外部计算机系统演变为采用商用服务器产品和软件的高性能计算机集群。因此,高性能计算系统已经成为解决大型问题计算机系统的发展方向。那么,什么样的大型问题最适合使用高性能计算系统呢?一般来说,高性能计算是为了实现在下列情况下的计算系统:

?能够突破性能极限的计算。

?单个高端计算机系统不能满足其需求的计算。

?需要通过专门的程序优化最大限度提高系统的I/O、计算和数据传送性能的计算。

集群控制系统

我们知道,高性能计算系统实际上是一个计算机集群系统,它需要通过通讯和集群控制软件将整个系统紧密联系在一起。同时,还要负责初始化集群节点、在所需数量的节点上安装应用程序、并监视集群节点和互连的当前运行状况。

目前在市场上有多开放源代码的集群控制系统,也有许多高性能计算的用户开发自己的控制系统来适应其特殊的应用软件的需求。故而集群控制系统就必须具备:

一、高性能计算的互联技术

高性能计算的互联技术在整个系统中非常重要,因为一般的高性能计算系统都需要讲几十台甚至几百台的计算机系统互相连接在一起,互联系统的性能有时会直接影响整个高性能计算系统的性能。

目前,一般的大型高性能计算系统使用Myrinet系统作为主要的数据互联系统,而使用百兆或千兆以太网进行管理与控制。而在小型的高性能计算系统中,可以用直接使用千兆甚至百兆以太网作为互联系统。

二、计算节点

计算节点是高性能计算系统中的单个计算机系统,是整个高性能计算系统的基础。基于英特尔架构的服务器系统是作为高性能计算节点的最佳选择。应为大多数高性能计算需要多线程同时执行,这样基于英特尔至强处理器的计算节点可以满足需求。另外,大多数模拟类型程序需要进行大量浮点运算(FLOPS),因而节点处理器支持大量浮点运算的能力就变得至关重要。当前的英特尔处理器(如英特尔至强?处理器)的处理速度已达到每秒二十亿次浮点运算。这意味着由1000枚处理器组成的集群的处理能力可与世界上一些功能最强大的超级计算机相媲美,而成本却低得多。

数据采掘则不同。根据数据库的体系结构,这些应用对I/O的潜在要求较高。而分布式驻留内存数据库例外。在该体系结构中,集群中的每个处理器都要参与一部分数据库处理。当一个查询请求被提交给数据库时,它同时被提交给集群中的所有处理器。由于所有处理器都只需处理一小部分数据库,因而解决查询的速度要比在传统体系结构中快得多。

高性能计算系统设计

设计一个高性能计算系统是一件复杂的系统工程,涉及从软件到硬件的各个层面,而且每一个环节都相互关联。因此,设计和构建一个高性能计算系统应该使用系统的设计方法,

按照一定的步骤来确定整个系统中的各个部分。

这一部分,我们按照系统的设计方法来对高性能计算的各个环节的设计和设备选型给出相应的建议。

判断应用的特性

对于一个高性能计算的应用,我们可以从如下的几个方面来确定其类型:

一、应用的粒度

由于高性能计算的应用需要在多个计算节点上同时运行,则在各个节点计算的同时,还需要相互间的通讯。所谓应用的粒度,是指在一个高性能计算应用中计算所花的时间与通讯所花的时间之比。这是高性能计算应用的一个重要的特征之一。

很显然,不同的应用其粒度也不一样。例如一个生成动画电影的高性能计算应用,用于每幅画面可以由任何一个计算检点独立计算生成,节点间的通讯量非常少,因此,这是一个粒度非常大的应用。反之,对于一个进行汽车模拟碰撞试验的高性能计算的应用,由于在每个节点上计算的任何部件的运动,都会对其它的部件的状态有影响,因而节点间的相互通讯会非常多,这类应用就是小粒度的应用。

应用力度的大小将直接影响对计算节点和互联设备的选择,从而影响对整个项目的投资。一般来讲,粒度大的应用可以使用相对低速互联技术(如百兆以太网),从而降低项目的费用。因而,在应用的开发和优化过程中,应该尽量加大整个应用的粒度,减少不必要的节点间相互通讯。

二、应用的计算特性

高性能计算的应用的目的是通过计算来解决某个特定的问题,但不同的应用所需要的计算特性也不一样,一般的高性能计算系统应用的计算特性主要分为入下三种类型:

?多媒体运算

主要使用整型和双精度运算。例如用于图形图像处理和三维图像生成的高性能计算系统就属于多媒体运算系统。在这种情况下,计算节点的多媒体计算功能非常重要。比如英特尔至强处理器所带的SSE和SSE2指令就非常适合这种应用。

?科学计算

主要使用浮点运算功能,这也是目前高性能计算系统的最主要应用领域。像天气预报和石油勘探等高性能计算系统都属于这一类。

?数据库应用

主要使用逻辑计算和I/O操作。现在的数据库集群系统和网格数据库系统就属于这类应用。它需要计算节点有很强的I/O处理能力,同时,整个高性能计算系统也应该具有足够的外接存储空间。

在设计高性能计算系统的过程中,根据不同的计算类型来确定相应的计算节点和系统配置,从而使系统可以满足应用的需求同时达到最佳的系统性价比。

三、应用的时效性

一个大型问题之所以需要用高性能计算系统来解决,可能主要是因为如下两种情况:一是因为问题无法在单个节点上计算完成;另一个是因为在一个节点上无法在规定的时间内完成。这里就关系到应用的时效性了。一般来讲,应用的时效性就是指一个高性能计算的应用需要在多长的时间内计算完成。它是确定高性能计算系统规模的重要参数之一。

我们知道,天气预报系统的计算就是一个时效性很强的高性能计算应用,因为在得到测量的数据后,我们必须在最快的时间内计算出相应的结果,以便相关人员及时发出当天的天气预报。

对于一个时效性很强的应用,在设计高性能计算系统时,一定要以满足应用的计算速度为第一目标,一定要使高性能计算系统在规定的时间内完成计算。否则,该系统就没有意义。

而对于一个时效性不强的应用,可以考虑通过延长计算时间来减少节点和互联系统的配置,但也要考虑到可以容忍的时间限度和系统的可靠性等因素。特别是随着时间的延长,整个系统中某个节点出现故障的概率会增加。

四、确定系统规模

确定高性能计算系统的规模是一个复杂的过程,一般来讲,主要从以下几个方面来考虑:?特定的目标:

有些高性能计算系统在设计之初就确定了系统规模,在具体设计时,可以根据系统的配置情况来计算是否达到要求。

?应用的要求:

如上一节所讲的那样,从应用的粒度、应用的计算特点和应用对实效性的要求来确定应用的规模。

?系统投资:

从某些方面来讲,系统的投资与系统的规模成正比,也就是说系统投资决定系统规模。但为了达到最佳的投资回报比可以根据系统应用的计算特点来选择合适的计算节点和互联设备,从而在投资不变的情况下获得最佳性能。

现在,我们通常使用每秒的浮点运算次数来表示一个高性能计算系统的性能。通常,这个性能标准可以用Linpack HPC的基准测试来获得。由于在系统设计的过程中,我们根本无法测试整个系统。那么,如何来估算一个高性能计算系统的性能就显得十分重要。

从理论上讲,一个高性能的计算系统的性能在理想的状况下为系统中所有的处理器的计算能力的总和。例如一个高性能计算系统使用双路的英特尔至强处理器为节点。而单个至强处理器的Linpack值达约达到2Gflops,即每秒20亿次浮点运算。则一个有256个双路英特尔至强处理器的高性能计算系统的理论性能可以达到256 X 2 X 2 = 1024 GFlops,也就是每秒一万亿次浮点运算。如果使用四路英特尔Itanium 2系统为计算节点,由于每个Itanium 2处理器的Linpack值达约达到3.2 Gflops,即每秒32亿次浮点运算,则在理想的情况下,80个节点就可以达到每秒一万亿次浮点运算的性能。

80 *4 *3.2 = 1024 GFlops

当然,以上的情况是在理想的状况下达到的。在具体实施时,需要根据互联设备的性能、应用程序的特点来集体考虑。

LicManager的PBS作业调度系统

为应对市场需求,lanmantech公司研发出了LMT-LicManager的PBS作业调度系统,考虑到商业公司随着竞争的加剧和应用的普及,高性能计算不再是一个不惜工本的应用领域,许多项目的预算约束越来越严格。这就要求厂商生产全系列的产品满足不同规模应用的需求、更加可靠地保护用户原有投资、加速IT投资回报,而且也要求实现资源按需供应和更大范围的资源共享,这些都推动网格和公用服务等新的计算模式的发展。

在LicManager的PBS作业调度系统中,高性能计算用户通过登录管理节点进行作业的提交,作业提交后,由管理节点上的PBS作业管理软件进行管理和分发。LicManager的PBS 作业调度系统是为生产环境设计的,它可提供了图形和命令行两种用户界面来提交批处理、交互式作业,并提供查询作业、队列、系统的状态和跟踪作业的处理。

在作业运行之前,用户可将需要的文件拷贝到执行节点上,和将这些指定的文件在作业执行完之后,拷贝出来。只有在所有的文件成功传输之后,作业将会被列入调度表。

提交任务的用户可以指定作业的优先级,可以向队列和系统层提供默认值。PBS作业调度系统支持单队列或多队列方式。并选择标准的先后顺序调度,或者改进的调度算法。

LicManager的PBS作业调度系统还可以使用户定义广泛的批处理作业的内部相关性。

这些相关性包括:执行顺序、同步执行和根据指定作业的成功或失败结果条件执行。

LMT-LicManager的PBS作业调度系统是一套标准的、面向复杂应用的集群操作系统,具有非常友好的应用界面。其主要特点有:

?简单易懂的人性化操作界面

?支持动态加入计算节点

?高速运算作业

?可以支持数百台计算机系统

?开放性和兼容性高

?性能与价格的性价比优越

?优秀的后台技术支持。

结语

随着高性能计算集群应用规模的不断扩充,集群的管理问题也随之而来。起初集群规模较小,比较容易管理和维护,系统的能耗和运维成本问题还不明显。但随着集群规模的不断扩充,集群系统能耗高、利用效率低、大规模集群系统运维管理困难等缺点逐渐凸显出来。

在LicManager的PBS作业调度系统的帮助下,对用户而言高性能计算集群系统就好像一台具备很多CPU的大服务器,多个用户可以同时使用这个系统。PBS作业调度系统管理用户提交的作业,为各个作业合理地分配资源,从而确保充分利用集群系统的计算能力,并尽可能迅速地得到运算结果。

LicManager的集群作业调度管理可以根据用户的需求,动态地完成集群的软硬件资源的管理和调度,保证用户作业公平合理地共享集群资源,提高系统利用率和吞吐率。

PBS作业调度使用方法

PBS作业调度使用方法: 1.IBM HPC Platform 作业提交流程 用户需要使用集群资源进行作业计算时,需要使用作业调度系统。 IBM HPC Platform集群采用的是开源的Torque+Maui作业调度系统。 ●任何用户都需要产生Job_que.sh任务作业脚本: >> genQue 当前文件夹下会产生一个Job_que.sh 的shell作业脚本文件 ●编辑Job_que.sh任务作业脚本: >> vi Job_que.sh ●提交Job_que.sh任务作业脚本: >> qsub Job_que.sh 注意:在Job_que.sh中,所有任务的运行时间超过120小时的情况下,job作业将会被自动停止!如果有疑问和延长作业运行时间的需要请直接联系管理员。 具体的更多关于任务作业脚本的说明、使用和提交请参考vi和本章第2小节:Torque PBS作业调度系统使用说明。 2.Torque PBS作业调度系统使用说明 Torque PBS 提供对批处理作业和分散的计算节点(Compute nodes)的控制。 PBS是Protable Batch System的缩写,是一个任务管理系统。当多个用户使用同一个计算资源时,每个用户用PBS脚本提交自己的任务,由PBS对这些任务进行管理和资源的分配。 ●matlab作业的PBS脚本说明:

#!/bin/sh #PBS -N JOB #PBS -l nodes=1:ppn=8 #PBS -l feature=xe #PBS -l naccesspolicy=singlejob #PBS -o RunJob.out #PBS -e RunJob.err #PBS -l walltime=120:00:00 #PBS -q batch echo --------- `date` ---------- echo HomeDirectory is $PWD echo echo Current Dir is $PBS_O_WORKDIR echo cd $PBS_O_WORKDIR echo "------------This is the node file -------------" cat $PBS_NODEFILE echo "-----------------------------------------------" cat $PBS_NODEFILE > host.mpd np=$(cat $PBS_NODEFILE | wc -l) echo The number of core is $np echo echo #-----------------------------------------------------# # OpenMPI Job Submitting Example # # # mpirun -np $np -machinefile host.mpd $BINPATH ... # # #-__--------------------------------------------------# # -__- have fun! # matlab –nojvm –nodesktop < test.m > log 将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。最后可以通过查看我那件下面log文件查看程序运行结果。

GPU提交作业方法详细介绍-1

目前GPU平台提供以下两种使用方式,禁止直接在登录节点上运行程序。 1. 任务提交方式:qsub 提交作业例子: $qsub mpi.pbs 作业提交例子脚本mpi.pbs: #!/bin/bash #PBS -N test (作业名,限15 个字符,首字符为字母,无空格) #PBS -l nodes=2:ppn=8 (请求N 个节点,每个节点M 个处理器) #PBS -l walltime=07:30:00 (估计最大运算时间为1000 小时,若没有设置这项,系统为自动按所在队列默认walltime 处理) #PBS -j oe (将标准输出信息与标准错误信息合并输出到文件) (#PBS –q XXX) #PBS –m e (发送邮件给用户,n 不发送邮件;a 当作业被批处理系统中断时,发送邮件;b 当作业开始执行时,发送邮件;e 当作业执行结束时,发送邮件) #PBS –M XXXX@https://www.wendangku.net/doc/f93823480.html, (申明邮箱地址) cd $PBS_O_WORKDIR (进入作业调度目录) MPI_HOME=/state/partition1/soft/compiler/mvapich2/1.2p1/gcc.pgf90 NSLOTS=`cat ${PBS_NODEFILE} | wc -l` (计算申请到的cpu数目) time -p ${MPI_HOME}/bin/mpirun_rsh -ssh -np ${NSLOTS} -hostfile ${PBS_NODEFILE} ./XXX chn >&out.dat (程序运行部分,XXX为程序名,chn为输入数据,out.dat为输出数据)exit 0 (退出) 2. 直接使用命令行方式登录计算节点提交作业。 方法: 首先通过ssh登录https://www.wendangku.net/doc/f93823480.html, 进去后先查看哪些计算节点是空闲的,有2种方法: 1. 输入pestat命令 看到所有计算节点状况,其中状态为“free”的就是空闲计算节点。 2. 进入ganglia网页查看:https://www.wendangku.net/doc/f93823480.html,/ganglia/ 网页下方各节点状况图中,白色图的、名字以compute开头的节点属于空闲计算节点。 注意: 提供给用户使用的30个计算节点是从compute-0-19到compute-0-48。选择空闲计算节点的顺序应该从标号由大到小的顺序选,如compute-0-37到compute-0-48空闲时,应先选compute-0-48,其次compute-0-47这样。 输入: ssh 空闲计算节点 即可登录到相应的空闲计算节点。 如:$ssh compute-0-43 compute-0-43是空闲计算节点名

PBS管理系统

PBS管理系统 (一)作业提交系统Torque个人安装总结(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 make install 3、 (1)[root@master torque-2.3.0]#./torque.setup 必须是个普通用户 (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

PBS用户使用指南

PBS是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序所需的硬件资源由PBS管理和分配。 1、PBS命令 PBS提供用于作业管理的命令。 (1)qsub 命令—用于提交作业脚本 命令格式: 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] [script] 参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。 例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号 (2)qstat 命令—用于查询作业状态信息 命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u] 参数说明: -f jobid 列出指定作业的信息 -a 列出系统所有作业 -i 列出不在运行的作业 -n 列出分配给此作业的结点 -s 列出队列管理员与scheduler所提供的建议 -R 列出磁盘预留信息 -Q 操作符是destination id,指明请求的是队列状态 -q 列出队列状态,并以alternative形式显示 -au userid 列出指定用户的所有作业 -B 列出PBS Server信息 -r 列出所有正在运行的作业 -Qf queue 列出指定队列的信息 -u 若操作符为作业号,则列出其状态。 若操作符为destination id,则列出运行在其上的属于user_list中用户的 作业状态。 例:# qstat -f 211 查询作业号为211的作业的具体信息。 (3) qdel 命令—用于删除已提交的作业 命令格式:qdel [-W 间隔时间] 作业号

PBS管理系统--torque

PBS 管理系统 (一)作业提交系统Torque 个人安装总结(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 make install 3、 (1)[root@master torque-2.3.0]#./torque.setup 必须是个普通用户 (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

PBS作业调度应用与说明

PBS(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、PVM、HPF、MPL;PBS是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一. PBS的目前包括openPBS, PBS Pro和Torque三个主要分支. 其中OpenPBS是最早的PBS系统, 目前已经没有太多后续开发, PBS pro是PBS的商业版本, 功能最为丰富. Torque是Clustering公司接过了OpenPBS, 并给与后续支持的一个开源版本. PBS的应用不同于一般的直接运行: mpirun –np number ./executable_file 直接运行上句,则只能在单个节点上进行并行计算。如果要在多个节点上并行执行则要写machinefile或p4pgfile,两种文件的具体写法参考张林波等《并行计算导论》。运行命令分别为: mpirun –machinefile filename mpirun –p4pg filename 应用PBS提交任务则会形成任务队列,依次执行,有效分配资源,避免资源竞争。否则CPU时间片会轮流分配给各个人的任务,从而影响所有人的正常作业。 torque PBS 提供对批处理作业和分散的计算节点(Compute nodes)的控制。 ?安装Torque组件:在一个节点上(head node)安装pbs_server,所有计算节点上安装pbs_mom,所有计算节点和提交节点上安装PBS客户端。 至少做最基本的配置,使Torque系统跑起来,也就是使pbs_server 能知道该和哪些机器通话。 ?在pbs_server上创建一个作业提交队列。 ?在集群的所有节点上指定一个cluster name作为property。这可以用qmgr命令做到。比如:

PBS实验指导书

PBS实验指导书 1.PBS简介 PBS(Portable Batch System)最初由NASA的Ames研究中心开发,目的是提供一个能满足异构计算网络需要的软件包,特别是满足高性能计算的需要。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间路由。PBS 独立的调度模块允许系统管理员定义资源和每个作业可使用的数量。调度模块存有各个可用的排队作业、运行作业和系统资源使用状况信息,系统管理员可以使用PBS提供的TCL、BACL、C过程语言。PBS的调度策略可以很容易被修改,以适应不同的计算需要和目标。 ①PBS的结构及功能。PBS主要由4个部分组成:控制台、服务进程、调度进程和执行进程。控制台实质上由一系列PBS提供的命令构成,PBS同时还提供了图形化界面XPBS,实现了图形界面与PBS命令的映射:服务进程即pbs_server(简称server),是PBS运行的核心,它集中控制整个集群上的作业运作。调度进程即pbs_sched,它包含了作业运行及运行地点和时间的站点控制策略。执行进程即pbs_mom,实际上由它产生所有正在执行的作业。 ②调度策略。PBS为了调度那些应该放在执行队列的

作业,提供了一个单独的进程。这是一个灵活的机制,可以实现大量的策略。这个调度程序使用标准的PBS API来和服务器通信,使用一个额外的API来和PBS执行进程通信。通过使用一些额外提供的API,可以增强调度的策略,进而实现一个可替换的调度程序。第一代批处理系统和许多其他的批处理系统都使用大量基于限制作业或控制调度作业的队列。为了按照时间来控制作业的排序,队列会被打开或关闭,或者限制载队列里运行作业的数量;而PBS支持多重队列,并且这些队列有很多其他批处理系统所使用的作业调度属性,PBS服务器本身并不运行作业,也不添加任何限制,这些都是由队列属性实现的。事实上,调度程序仅仅拥有不超过一个有管理员特权的客户端。 控制调度的服务器和队列属性可以通过拥有特权的客户端来调整,这些特权命令是qmgr。然而,这些控制通常驻留在调度程序上,而不是服务器上。这些调度程序必须检查服务器、队列和作业的状态,决定服务器和队列属性的设置。在之后的决策中,调度程序必须使用这些设置。 另一个方法就是whole pool方法,所有的作业都放在一个单独的队列中,调度程序评估每个作业的特点并且决定运行哪一个作业。这些策略能很容易地包括一些因素,如每天的运行时间、系统的装载、作业的大小等。队列里作业的顺序不需要被考虑。这个方法的主要优势在于用户可以根据自

PBS命令与使用

PBS(Portable Batch System) 由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征: ?易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。 ?移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。 ?适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。 ?灵活性:支持交互和批处理作业。 OpenPBS(https://www.wendangku.net/doc/f93823480.html,/)是PBS的Open Source的实现。商业版本的PBS可以参照:https://www.wendangku.net/doc/f93823480.html,/。 1、PBS命令 PBS提供4条命令用于作业管理。 (1) qsub命令—用于提交作业脚本 命令格式: 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] [script] 参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。 例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号 (2) qstat命令—用于查询作业状态信息 命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u] 参数说明: -f jobid 列出指定作业的信息 -a 列出系统所有作业 -i 列出不在运行的作业 -n 列出分配给此作业的结点 -s 列出队列管理员与scheduler所提供的建议 -R 列出磁盘预留信息 -Q 操作符是destination id,指明请求的是队列状态 -q 列出式显示 -au userid 列出指定用户的所有作业 -B 列出PBS Server信息 -r 列出所有正在运行的作业 -Qf queue列出指定队列的信息 -u 若操作符为作业号,则列出其状态。 若操作符为destination id,则列出运行在其上的属于user_list中用户的作业状态。 例:# qstat -f 211 查询作业号为211的作业的具体信息。 (3) qdel命令—用于删除已提交的作业 命令格式:qdel [-W间隔时间]作业号 命令行参数: 例:# qdel -W 15 211 15秒后删除作业号为211的作业 (4) qmgr命令—用于队列管理

lsdyna pbs教程

高性能计算平台ANSYS/LS-DYNA算例刘文华(541844639@https://www.wendangku.net/doc/f93823480.html,), Apr. 2010 作者简介:刘文华,中南大学机电工程学院冶机所硕士研究生,师从夏毅敏教授,主要研究方向为大型机械装备的数值仿真和模拟。 目录 1.1. 引子 (1) 1.2.认识ANSYS/LS-DYNA (1) 1.2.1. 什么时候我需要它的帮忙? (1) 1.2.2. 为什么我们需要在LINUX系统下进行ANSYS/LS-DYNA的运算? (3) 1.3. LINUX系统下应用算例 (4) 1.3.1. K文件的生成 (4) 1.3.2. K文件的提交 (5) 1.1. 引子 时下越来越多的人使用ANSYS/LS-DYNA,但大部分的人对LINUX系统下ANSYS/LS-DYNA的计算过程并不太了解,这里抛砖引玉,写下LINUX系统下ANSYS/LS-DYNA应用算例,不当之处敬请指正。 1.2.认识ANSYS/LS-DYNA 1.2.1. 什么时候我需要它的帮忙?

LS-DYNA是世界上最著名的通用显式动力分析程序,能够模拟真实世界的各种复杂问题,特别适合求解各种二维、三维非线性结构的高速碰撞、爆炸和金属成型等非线性动力冲击问题,同时可以求解传热、流体及流固耦合问题。在工程应用领域被广泛认可为最佳的分析软件包。 LS-DYNA程序是功能齐全的几何非线性(大位移、大转动和大应变)、材料非线性(140多种材料动态模型)和接触非线性(50多种)程序。它以Lagrange算法为主,兼有ALE和Euler算法;以显式求解为主,兼有隐式求解功能;以结构分析为主,兼有热分析、流体-结构耦合功能;以非线性动力分析为主,兼有静力分析功能(如动力分析前的预应力计算和薄板冲压成型后的回弹计算);军用和民用相结合的通用结构分析非线性有限元程序。 具体来说,LS-DYNA应用领域如下: 1.汽车工业 碰撞分析;气囊设计;乘客被动安全;部件加工 2.航空航天 鸟撞;叶片包容;飞机结构冲击动力分析;碰撞,坠毁;冲击爆炸及动态载荷;火箭级间分离模拟分析;宇宙垃圾碰撞;特种复合材料设计 3.制造业

pbs系统使用文档

作业管理系统(PBS+MAUI)使用说明 用户篇 1

2 一、 本文档符号说明 1、 命令、代码和超链接采用斜体五号字表示 2、 二、 PBS 脚本编辑 pbs 系统通过脚本方式提交作业,因此,在发起作业之前,需要编写pbs 系统能够识别的脚本。 1、 作业脚本: 1.1 串行作业:(test.pb) #!/bin/sh #PBS -N test //pbs 任务名 #PBS -l nodes=1:ppn=1 //指定一个节点与一个处理器核心进行计算 echo "This job is "$PBS_JOBID@$PBS_QUEUE cd $PBS_O_WORKDIR touch test.tmp //修改为执行文件 1.2 并行作业:(test 2.pb) #!/bin/sh #PBS -N test2 //pbs 任务名 #PBS -l nodes=5:ppn=4 //指定5个节点,每节点4个处理器核心进行计算 #PBS -q@gnode21 cd $PBS_O_WORKDIR /opt/mpich1.2.7/bin/mpirun -np 20 -machinefile $PBS_NODEFILE ./cpi //修改为可执行并行文件 1.3 单进程多线程作业: #!/bin/sh #PBS -N test3 //pbs 任务名 #PBS -l nodes=1:ppn=4 //划分1个节点,每节点4个处理器核心的计算资源 cd $PBS_O_WORKDIR

3 ./XXX //修改为可执行文件 1.4 多进程多线程作业: #!/bin/sh #PBS -N test3 //pbs 任务名 #PBS -l nodes=5:ppn=1 //划分5个节点,每节点1个处理器核心的计算资源, 让pbs 自动扩充计算需要的线程 #PBS -q@gnode21 cd $PBS_O_WORKDIR /opt/mpich1.2.7/bin/mpirun -np 20 -machinefile $PBS_NODEFILE ./XXX //修改为可执行并行文件 2、 pbs 命令: 2.1 发作业 $ qsub test.pb 2.2 查看作业状态 $ showq 2.3 查看节点状态 $ pbsnodes -a 2.4 删除作业 $ canceljob ID 3、 其他特殊需求 3.1 当需要对作业运行所在节点进行预处理时,如需要在运行作业前source 某个配置文件,可采用在pbs 脚本中添加命令的方式实现,如下(红色为添加部分): #PBS -N test #PBS -l nodes=3:ppn=1 echo "This job is "$PBS_JOBID@$PBS_QUEUE for i in $(uniq $PBS_NODEFILE) do rsh $i source XXXX

PBS使用说明

PBS使用说明 PBS是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序所需的硬件资源由PBS管理和分配。 PBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征: 易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。 移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。 适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。 灵活性:支持交互和批处理作业。 OpenPBS( https://www.wendangku.net/doc/f93823480.html,/)是PBS的Open Source的实现。商业版本的PBS可以参照:https://www.wendangku.net/doc/f93823480.html,/。 1、PBS命令PBS提供4条命令用于作业管理。 (1)qsub 命令—用于提交作业脚本 命令格式: 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] [script] 参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。 例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号 (2)qstat 命令—用于查询作业状态信息命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u] 参数说明: -f jobid 列出指定作业的信息 -a 列出系统所有作业 -i 列出不在运行的作业 -n 列出分配给此作业的结点 -s 列出队列管理员与scheduler所提供的建议

PBS简要使用说明

PBS作业调度系统简要使用说明 提交作业 以test01用户登录到lxcn01..04任一节点,并ssh到lx0110上 使用qsub命令行提交作业 下面是418号作业的输出 使用脚本提交作业 脚本内容如下: 提交作业及查看作业状态(要查看列详尽作业相关请执行qstat -f job_id):

下面的为419号作业标准输出部分截图 作业提交脚本编写参考 其实质是shell脚本,只不过添加了一些PBS参数或设定而已常用的PBS选项有:

这里要特别说明一下是的#PBS -l,其格式与qsub -l是一样的,下面举例说明 ex1: qsub -l nodes=5 等价于脚本中的#PBS -l nodes=5,表示使用集群中任意五个节点来执行该作业ex2: qsub -l nodes=2:server+14 等价于脚本中的#PBS -l nodes=2:server+14,表示使用集群中的两个server节点与另外十四个节点来执行该作业 ex3: qsub -l nodes=4:ppn=2 等价于脚本中的 #PBS -l nodes=4:ppn=2,表示该作业需要四个节点且每个节点都有两个虚拟处理器空闲 ex4: qsub -l nodes=lx0111:ppn=4+lx0112:ppn=2 等价于脚本中的#PBS -l nodes=lx0111:ppn=4+lx0112:ppn=2,表示该作业需要lx0111上的四个空闲处理器与lx0112上的两个空闲处理器来共同完成 注:更详细用法请参照官方手册 常用命令 pbsnodes: 查看节点状态 相关参数有: -a 列出所有结点及其属性,属性包括“state”和“properties” -o 将指定结点的状态标记为“offline”。这将帮助管理员暂时停止某些结点的服务 -l 以行的方式列出被标记的结点的状态,如-l free,-l offline -c 清除结点列表中的“offline”或“down”状态设置,使结点可以被分配给作业 -r 清除指定结点的“offline”状态 qsub: 作业提交,前面已有举例 qdel: 取消作业,指定相关作业的ID号即可,非结束态的作业才能被取消

PBS 脚本实例说明

PBS脚本实例说明 【摘要】本文主要通过一个算例来详细描述 PBS脚本。以下为提交 wrf 作业的脚本实例,解释说明部分用 ##开头和结尾。此 PBS脚本表明本次提交的作业申请计算资源为 2个计算节点,每个计算节点 12个 cpu 核,内存为 24G,其中红色部分,用户可根据具体需要进行修改。 #PBS -N wrf ##(#PBS 表示 PBS 指令,以#PBS 开头;-N 为 PBS 指令参数,用于指定提交作业名称,wrf 表示作业名)。## #PBS -l nodes=2:ppn=12 ##(#PBS 表示 PBS 指令,-l 为 PBS 指令参数,表示申请资源列表;nodes=2:ppn=12 表示申请 2 个节点,每个节点 12 个 cpu 核, 之间用分号隔开。注意与输入文件保持一致)## #PBS -j oe ##(#PBS 表示 PBS 指令,-j 为 PBS 指令参数,表示合并标准输出和标准错误输出至同一个文件;o 表示标准输出文件的路径,e 表示标准错误输出的路径,缺省的情况下,PBS 系统把标准输出和标准错误输出放在用户提交作业的目录下。)## #PBS -l walltime=1000:00:00 ##(#PBS 表示 PBS 指令,-l 为 PBS 指令参数,表示申请资源列表;walltime 为估计最大运算时间,1000:00:00 表示设为 1000 小时 0 分 0 秒。若没有设置这项,系统会自动按所在队列默认处理,超时系统会自动中断作业。)## nodecpu=`cat /proc/cpuinfo|grep processor|wc -l` ## (反引号内的意思为计算系统可用的 cpu 核数目,然后赋值给变量 nodecpu。反引号即键盘左上角与“~”在同一键上的符号,英文为Backquote)## id=`echo $PBS_JOBID|awk -F. '{print $1}'` ##(定义作业 ID 号)## NP=`cat $PBS_NODEFILE|wc -l` ##(计算申请的 cpu 核数目,并后赋值给变量 NP)## echo "The Jobbed is $id" echo "Worker dir is $PBS_O_WORKDIR" echo "Excuting Hosts is flowing:" cat $PBS_NODEFILE echo "begin time is `date`" if [ $NP -lt $nodecpu ];then sharecpu=$NP

PBS,QSUB任务管理命令

1、后台提交作业qsub 语法: qsub [-a date_time] [-A account_string] [-e path] [-h] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options] [-n Node_allocation_Method [-L v1,[v2,[v3,[v4]]]]] [-M user_list] [-N name] [-o path] [-p priority] [-q pool] [-r y|n] [-u user_list] [-v variable_list] [-V] [script] 参数: script参数被省略时,该命令可以从标准输入获得脚本文件名。 -a 间。格式为[[[[CC]YY]MM]DD]hhmm[.SS]。CC表示世纪,YY表示年(后两位数字),MM表示月(两位数字),DD表示天(两位数字),hh表示小时(两位数字),mm表示分(两位数字),SS表示秒(两位数字)。如果DD指定的是未来日子,而未指定MM,则MM缺省值为当前月,否则,MM的缺省值为下个月。如果hhmm 指定的未来时间,而未指定DD,则DD的缺省值为当天,否则,DD的缺省值为明天。如果提交作业时使用该选项,当指定时间还没到时,作业状态显示为‖W‖。 -e 指定错误输出文件名,格式为[hostname:]path_home。Hostname是返回错误输出文件的主机名,path_home是错误输出 文件的绝对路径,如果指定了相对路径,则相对用户的主目录。不使

用该选项时,缺省值是在用户主目录下,以―作业名.e作业ID‖命名的文件 -o 指定输出文件名,格式为[hostname:]path_home。缺省值是在用户主目录下,以―作业名.e作业ID‖命名的文件 -h 指定在提交作业时,设置用户级‘u‘挂起。如果不指定,则设置挂起类型为‘n‘,即不挂起。 -I 指定作业以交互方式运行。 -j 指定合并错误输出和实际输出。如果指定‘oe‘,则合并到标准输出文件中;如果指定‘eo‘,则合并到标准错误输出文件中. -k 指定执行主机是否保留错误输出和实际输出。如果指定?o‘,则仅保留标准输出;如果指定‘e‘,则仅保留标准错误输出;如果指定‘oe‘或?eo‘,则保留标准输出和标准错误输出;如果指定‘n‘,则不保留任何输出。 -l 指定作业所需要的资源,设定对可消耗资源的限制。如果不设置,则无限制。例如: resource_name[=[value]][,resource_name[=[value]],…] LINUX系统可以设置的资源有cput, file, pcput, pmem, pvmem, vmem, walltime, arch, nodes, ncpus等;

PBS作业调度

PBS作业调度系统 高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。 高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间。 通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类应用从昂贵的大型外部计算机系统演变为采用商用服务器产品和软件的高性能计算机集群。因此,高性能计算系统已经成为解决大型问题计算机系统的发展方向。那么,什么样的大型问题最适合使用高性能计算系统呢?一般来说,高性能计算是为了实现在下列情况下的计算系统: ?能够突破性能极限的计算。 ?单个高端计算机系统不能满足其需求的计算。 ?需要通过专门的程序优化最大限度提高系统的I/O、计算和数据传送性能的计算。 集群控制系统 我们知道,高性能计算系统实际上是一个计算机集群系统,它需要通过通讯和集群控制软件将整个系统紧密联系在一起。同时,还要负责初始化集群节点、在所需数量的节点上安装应用程序、并监视集群节点和互连的当前运行状况。 目前在市场上有多开放源代码的集群控制系统,也有许多高性能计算的用户开发自己的控制系统来适应其特殊的应用软件的需求。故而集群控制系统就必须具备: 一、高性能计算的互联技术 高性能计算的互联技术在整个系统中非常重要,因为一般的高性能计算系统都需要讲几十台甚至几百台的计算机系统互相连接在一起,互联系统的性能有时会直接影响整个高性能计算系统的性能。 目前,一般的大型高性能计算系统使用Myrinet系统作为主要的数据互联系统,而使用百兆或千兆以太网进行管理与控制。而在小型的高性能计算系统中,可以用直接使用千兆甚至百兆以太网作为互联系统。 二、计算节点 计算节点是高性能计算系统中的单个计算机系统,是整个高性能计算系统的基础。基于英特尔架构的服务器系统是作为高性能计算节点的最佳选择。应为大多数高性能计算需要多线程同时执行,这样基于英特尔至强处理器的计算节点可以满足需求。另外,大多数模拟类型程序需要进行大量浮点运算(FLOPS),因而节点处理器支持大量浮点运算的能力就变得至关重要。当前的英特尔处理器(如英特尔至强?处理器)的处理速度已达到每秒二十亿次浮点运算。这意味着由1000枚处理器组成的集群的处理能力可与世界上一些功能最强大的超级计算机相媲美,而成本却低得多。 数据采掘则不同。根据数据库的体系结构,这些应用对I/O的潜在要求较高。而分布式驻留内存数据库例外。在该体系结构中,集群中的每个处理器都要参与一部分数据库处理。当一个查询请求被提交给数据库时,它同时被提交给集群中的所有处理器。由于所有处理器都只需处理一小部分数据库,因而解决查询的速度要比在传统体系结构中快得多。 高性能计算系统设计 设计一个高性能计算系统是一件复杂的系统工程,涉及从软件到硬件的各个层面,而且每一个环节都相互关联。因此,设计和构建一个高性能计算系统应该使用系统的设计方法,

相关文档