为了交作业注册服务器,使用Job Manager向远程服务器上提交作业

使用Job Manager向远程服务器上提交作业

概述

从2015版开始,Job Manager支持设置设置远程服务器提交任务,该方法的特点是:

安全:仅使用SSH端口的加密通信;服务器端无需后台进程,无需单独开放其他端口,有效保障安全性,特别适合公共服务器上部署计算;

简单:支持自动创建任务文件夹和提交脚本,不需要终端登录服务器进行任务提交;

强壮:任务成功提交之后,即可断开与服务器的连接;不必担心网络问题造成的计算中断;无后台进程、数据库等复杂配置,更强壮;

便捷:随时可以联机查看即可查看任务、下载计算结果。

设置使用Job Manager远程提交并查看任务分为两步:

设置无密码SSH通信

设置提交服务器信息

第一步:设置ssh无密码通信(以远程服务器为Linux系统为例)

基本原理

SSH无密码通信的基本原理是,针对本机客户端生成一个特定的加密密钥,将密钥的private key保存在本机上,将密钥的public key保存于服务器的用户的authroized_keys里;这样以后登录服务器就不必再每次验证用户密码,而是直接验证密钥即可登录。

情况1.本机为Linux、Unix、Mac等系统

在本机输入命令:ssh-keygen -t rsa -C “MyMachine” (MyMachine可以改成便于标识本机客户端的字符,一直回车结束)

输入命令:cat ~/.ssh/id_rsa.pub(显示public key,拷贝下)

登录到远程服务器,检查是否存在 ~/.ssh/authorized_keys,若不存在创建此文件,将上一步拷贝的public key粘贴并保存;如果文件存在,则将上一步拷贝的public key粘贴在文件尾并保存。

情况2.本机为Windows系统

e8fc9cbcec9a41cbf88fd9607967a92b.png2ebfafdf80f383a9d4030335be48faa4.png

拷贝public_key的字符串;登录到远程服务器,检查是否存在 ~/.ssh/authorized_keys,若不存在创建此文件,将上一步拷贝的public key粘贴并保存;如果文件存在,则将上一步拷贝的public key粘贴在文件尾并保存。

a4a93bd6c0a98c662c8162b386b55be3.png

使用菜单中conversions将private key转换保存为文件名VNL_rsa到一固定的目录下(例如用户目录下的.vnl目录下,在下一步中需要填入这个目录);

348babe5839e88db8abe034a7aeab17a.png

aa70d3982b6840b669dbe06ab98a4409.png

测试无密码登录

VNL 2016版开始在Job Manager图形界面上直接提供测试诊断功能,方便易用。

测试设置是否正确,可使用以下脚本尝试ssh登录是否正常(以下脚本中的key_dir、hostname、username要按实际情况修改):

from NL.ComputerScienceUtilities.SSHConnection import SSHConnection

import os

# -------------------------------------- #

# Edit only these 3 settings

# -------------------------------------- #

key_dir = 'path_to_SSH_keys'

hostname = 'HOST.CLUSTER.EDU'

username = 'my_user_name'

# -------------------------------------- #

port = 22

ok = os.path.isdir(key_dir)

if ok:

print "Sucessfully found local dir with SSH keys."

con = SSHConnection(hostname, port, username, key_dir)

con.connect()

ok = con.isConnected()

if ok:

print "Connection succesful."

else:

print "Error: Could not find local dir with SSH keys."

# -------------------------------------- #

将以上脚本保存,在editor中修改上面提到的三行,打开Windows的cmd窗口,输入命令:

atkpython test_ssh.py

ssh无密码连接设置成功则会显示:

Sucessfully found local dir with SSH keys.

Connection succesful.

第二步:在QuantumATK中添加Job Manager中添加远程服务器

目前QuantumATK中支持Direct和PBS两种服务器提交方式:

Direct:即服务器上没有PBS等队列系统,提交的计算直接在登录的主机上运行。这种方法常试用于单节点的服务器。

PBS:即QuantumATK将通过PBS系统提交任务。

这里以比较复杂的PBS为例:

点击“New”选择“Remote PBS”

f38599b3494727dc50e2bf5dd91a53bf.png

在Settings里设置名称、IP地址(或主机名、域名)、端口(SSH默认为22),登录的用户名、存储ssh private key的目录、队列名称、PBS(或Torque)命令位置等。

c6e8882e622ef91569bc78379637c99f.png

在Environment中设置保存计算任务的文件夹、mpi执行命令、要source的脚本(根据服务器一般提交任务的脚本进行设置,建议将mpi PATH等环境变量放在这里)、要export的环境变量(变量前不用加export命令)、Modules to load等。

877353cae5918810fbe0ce03c45c3925.png

在Resources里设置任务使用的计算资源

005c3fd23efd3af551ba6ec9063f9e49.png

计算资源页面的几个设置都对应了PBS脚本中的一些资源请求和使用的参数,可以参考它自动创建的提交任务的pbs脚本中的内容:

例如:

Number of nodes 为 X,Number of cores per nodes 为 Y,对应于PBS脚本中

#PBS -l nodes=X:ppn=Y

Number of MPI processes 为 x,Number of MPI processes per nodes 为 y,对应了PBS脚本中的

…/mpirun -np x -ppn y xxxxx/atkkpython *.py

这个页面的设置按照硬件和计算体系大小的情况来进行设置:

一般来说,一个core对应一个MPI process,所以应满足

X*Y=x

Y=y

不勾选 Enable MKL_DYNAMIC

但是对于特别大(具体和一个计算节点的可用内存有关)的体系,如果内存有问题,则可能需要设置一个CPU对应一个MPI process,加入一个节点有2个CPU,这时:

X*2=x

y=2

勾选 Enable MKL_DYNAMIC (需测试此项的加速效果来决定是否勾选)

更大的体系,甚至可以一个节点对应于一个MPI process,这时

x=X

Y=1

勾选 Enable MKL_DYNAMIC(需测试此项的加速效果来决定是否勾选)

跨节点并行的还要注意网络选择等问题,详细情况参见QuantumATK并行计算。设置好之后可以看到所有的设置:

c737b990d45395e56e79d493780f6685.png

注意

当有任务提交之后,可能无法编辑服务器设置,需要先将任务从该服务器下删除(不会删除服务器上的任务文件夹和已经下载的数据)。

提交任务

如果以上设置没有问题,可以尝试提交任务。将作业脚本发送至job manager,选择相应的队列,点击开始按钮即可开始提交计算。

计算一旦开始排队或运行,VNL即可关闭,并断开网络连接。下次连接时,VNL会自动检测作业进度并下载文件。

自定义任务的计算设置

在提交任务时,用户仍有机会修改每个提交任务的计算设置,方法是:

向队列提交任务后不立即点击“开始运行按钮”,此时可以点击Job Setting按钮修改计算设置:

974d13af2c3b48e626f8929563069fdb.png

在Resource选项卡中可以临时修改此计算任务的计算资源(与上面队列设置类似):

94634441f10a862104e15a5968d6cfff.png

在IO选项中可以临时设定此计算任务的目录:

26a29def64780875522f0a93144b7480.png

提示

由于为了防止重名覆盖,Job Manager会在设定的目录下自动为每个作业生成随机的文件夹名称,这为用户手动查找作业目录带来了一定的麻烦。为此,建议在提交任务时,为每个作业添加一个有意义的子目录(如上图中作业队列默认的目录为/home/ddong/atkjobs,提交任务时可以要求job manager创建子目录sic_bandstructures),这样便于管理计算作业的文件夹。

问题排除

提交任务遇到问题时,需要针对具体问题编辑设置。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值