魔方-III集群命令行操作说明
1. 硬件环境
1.1 计算节点配置
魔方-III集群每台计算节点配备:
· 2颗Intel Xeon Gold 6142处理器(主频2.6 GHz,16核)
· 192 GB DDR4内存
· 240 GB 本地SSD硬盘
每台计算节点包含2*16=32个核,每台节点可用内存容量为192GB。
1.2 存储系统
魔方-III集群配备一套高速存储系统:可用容量为5.8 PB,采用曙光P300并行文件系统。该套存储挂载在每台节点上的/public目录下。
1.3 网络系统
魔方-III集群配备一套Intel Omni-Path高速网络,传输带宽为100 Gb/s。计算节点之间,以及计算节点和存储系统之间均通过Omni-Path网络进行高速互联。
此外集群还配备:一套千兆以太网络用于硬件管理,一套万兆网络用于作业调度。
2. 软件环境
2.1 系统软件
魔方-III集群计算和登录节点安装的操作系统为:CentOS Linux release 7.5(64位)。
集群采用的作业管理系统为:Platform LSF 10.1。
2.2 编译器和MPI库
魔方-III集群上安装了Intel Fortran、C和C++编译器,版本号为17.0.4。Intel编译器的安装目录为:/public/software/compiler/intel/intel-compiler-2017.5.239,该目录下还安装了mkl函数库。
在/public/software/mpi/intelmpi/2017.4.239目录下安装了Intel MPI并行库。
可在账号家目录下的.bashrc文件中加入如下两行,设定Intel编译器和Intel MPI库的环境变量:
source /public/software/profile.d/compiler_intel-compiler-2017.5.239.sh
source /public/software/profile.d/mpi_intelmpi-2017.4.239.sh
此外还魔方-III集群还安装了有多个版本的GCC编译器:
· 4.8.5版本,安装在系统默认目录,默认情况下可直接调用。
· 7.2.0版本,安装在/public/software/compiler/gnu/7.2.0目录,如果要在当前账号下调用7.2.0版本的GCC编译器,需要在家目录的.bashrc中加入如下一行:
source /public/software/profile.d/ compiler_gnu-7.2.0.sh
2.3 应用程序
在/public/home/users/app/soft目录下安装有常用的计算软件,部分软件包含多个版本,相应目录下有lsf作业提交脚本的模板。
在/public/home/users/app/lib下还安装有常用的函数库。
3. 集群登录
请使用我们自主研发的HPCPlus平台登录魔方-III集群,强烈推荐使用Chrome浏览器。
3.1 HPCPlus平台注册
首先填入您常用的手机号码,随后在下方拖动“带有箭头的滑块”,填充拼图。输入收到的手机短信验证码。设置“登录密码”和“用户名”。点击“立即注册”。
请务必妥善保管平台用户名、登录密码以及收到的短信验证码,以防范账号安全风险。
3.2 HPCPlus平台登录
请使用chrome浏览器登录平台,在浏览器中输入如下网址:
可将该网址保存为书签。
根据界面提示输入已经注册好的平台用户名和密码,点击“登录”按钮。
登录成功以后,会显示类似下图中的界面:
图片最上方是功能菜单,包含“工作台”,“产品”,“支持”,“消息”和“账号管理”等项目。
下方为“我的项目与资源”栏。其中每个图标均代表一个可用的“项目组”或“资源”,项目组的名称为对应集群主机账号名。在HPCPlus平台中项目组是用户使用和管理计算资源的入口,点击项目组图标,即可进入计算资源使用界面。
3.3 项目组管理
资源除了可供“项目组管理员”的平台账号使用,还可以授权给课题组其他人员注册的平台账号使用,这通过“添加项目组成员”的功能实现:
点击对应的项目组图标==》在打开的页面上点击“项目组管理”==》点击右上方的“编辑”按钮==》在编辑界面上点击“添加成员,最终会出现如下界面:
在文本框中输入要添加的成员注册的平台用户名,或者注册用户名时使用的手机号码;然后点击“搜索”按钮,在搜索到的用户名右侧点击“添加”,即可将该成员加入到项目组。
添加成功后,相关成员登录自己的平台账号,即可在“我的项目与资源”一栏看到对应的项目组。
3.4 平台使用
点击特定项目组图标,会进入到计算资源的使用界面,如下图所示:
首先默认的界面是项目组概览,包含作业概览:异常作业、已完成作业、计算中作业和排队作业数量。以及项目组资源使用情况:包含当前可用机时和可用存储空间,点击“查看使用明细”,在弹出的页面上可以导出指定时间段内使用的机时账单。
3.4.1 命令行使用
在资源使用页面的左侧显示功能列表,如下图所示:
点击“网页版命令行”会弹出一个网页版本的命令行,名为“terminal-1”,点击右侧的按钮

可开启多个命令行界面,默认会登录到集群的登录节点。
或者可以点击“终端版命令行”,出现如下页面:
点击“打开登录节点命令行”会开启putty客户端程序,并自动SSH连接到魔方-III集群的登录节点。首次连接请点击“下载安装”,先安装一下客户端程序。
3.4.2 数据上传下载
点击“数据管理”。进入数据管理页面:
可在该页面上进行小文件的上传下载操作。
大文件上传和下载强烈建议使用Filezilla客户端:点击右上方的

图标,会弹出Filezilla FTP客户端。初次使用,可能会提醒您下载和安装客户端软件:
请根据提示下载客户端程序,并进行安装。
3.4.3 平台使用注意事项
网页命令行界面下的复制黏贴操作通过“ctrl c” + “ctrl v”来进行
注意传统Linux命令行的“ctrl c”(强制中断操作)仍可以使用。
如长时间无操作,命令行界面将挂起退出,此时需重新开启新命令行
4. 作业提交和管理
魔方-III集群上集成了LSF作业管理和调度系统,版本为10.1。所有作业均需要通过LSF系统进行提交、管理、监控和删除。
用户可在登录节点上使用bsub命令递交作业;LSF系统会将用户递交的作业,统一放到队列中排队;当队列能够满足作业的资源要求时,再将作业发送到相关计算节点进行计算。
4.1集群队列设置
score队列
队列总的可用节点数:72,总可用核数:2304。
串行作业和32 核以下(不含32)的并行作业建议提交至score队列
snode队列
队列总的可用节点数:672,总核数:21504。
使用32的倍数的核数的并行作业须提交到snode队列。
以上各队列设置信息可能根据运行情况进行调整,具体队列设置情况请使用bqueues命令查看。
4.2 作业提交
LSF作业提交有两种方式:命令行方式和脚本方式。建议使用脚本方式进行作业提交。
LSF脚本的书写格式:所有LSF选项以“#BSUB”开头,每个选项对应一行。在LSF选项全部输入完毕后,后面可以添加环境变量设置,以及具体程序运行的命令。
4.2.1 串行程序脚本示例
编辑脚本文件:
$ vi serial.lsf
脚本内容如下:
#BSUB -q score
#BSUB -n 1
./a.out [CMD options]
-q选项设定作业使用的队列,串行作业使用score队列。
-n选项设定作业使用的核数,串行作业核数设为1。
./a.out表示运行一个名为a.out的串行程序,程序可执行文件a.out位于当前目录./下。serial.lsf脚本编辑完成后,使用bsub提交作业:
$ bsub –J jobname < serial.lsf
-J jobname设定作业名称,可以任意字符取代jobname,能够区分不同作业即可。
4.2.2 MPI并行程序脚本示例
编辑脚本文件
$ vi mpi.lsf
mpi.lsf脚本的内容如下:
#BSUB -q snode
#BSUB -n 64
CURDIR=$PWD
rm -f nodelist >& /dev/null
for host in `echo $LSB_HOSTS`
do
echo $host >> nodelist
done
NP=`cat nodelist | wc -l`
mpirun -np $NP -machinefile $CURDIR/nodelist /path/to/mpi_program
-q选项设定作业使用的队列,这里为snode队列。
-n选项设定作业使用的核数,此处应该为32的倍数(32,64,96,128等)
用bsub递交MPI并行作业:
$ bsub –J jobname < mpi.lsf
-J jobname设定作业名称,可以任意名称取代jobname,区分不同作业即可。
4.3 查看作业状态
可使用bjobs命令输出当前处于运行或排队状态的作业信息,包括:作业号-JOBID,用户名-USER,作业状态-STAT,使用的队列-QUEUE,提交节点-FROM_HOST,使用的计算节点列表-EXEC_HOST,作业名-JOB_NAME,作业提交时间-SUBMIT_TIME等。
常用bjobs参数:
-w wide format可显示更多的信息
-l 显示作业详细信息(包含作业的工作目录CWD,作业开始运行的时间,作业资源使用情况等)
以下是分页显示指定作业的详细信息:
4.4 结束作业
使用bkill jobid结束正在运行或者排队的作业:
注:如果发现bkill无法成功杀除作业,可以加-r选项强制杀掉作业,即bkill –r jobid。
4.5其他常用命令
bqueues查看队列情况,包含队列总可用核数,正在运行的作业占用的核数,排队作业申请的总核数等:
lsload查看节点负载情况