admin管理员组

文章数量:1530842

2024年7月13日发(作者:)

PyTorch

PyTorch 是一个 Python 优先的深度学习框架,也是使用 GPU 和 CPU 优化的深度学习张量库,能够

在强大的 GPU 加速基础上实现张量和动态神经网络。

一. 命令行提交

通过SSH连接创建并连接管理节点。

Step 1. 创建作业目录并进入;

mkdir pytorchJob1

cd pytorchJob1

Step 2. 通过文件传输上传输入文件,详情请查看Linux数据传输;

Step 3. 在该文件夹下创建如下执行脚本

#!/bin/bash

module add Anaconda3/2020.02 #加载Anaconda3软件

source activate pytorch-1.5 #激活pytorch环境

python > #运行程序

Step 4. 使用sbatch命令提交作业;

提交任务到带有一张T4卡的GPU节点运行。

sbatch -p g-t4-1 -c 4

查看作业运行情况及参数详细介绍请点击查看slurm命令。

结果文件下载请查看Linux数据传输。

RoseTTAFold

RoseTTAFold 由华盛顿大学 David Baker 团队开发,利用深度学习技术准确、快速地预测蛋白质结

构。

注意事项

运行 RoseTTAFold 需要丰富的GPU资源,需要在

GPU计算区

使用。

输入文件是以

.fasta

格式结尾的序列文件。

输入文件名不能有特殊符号和

空格

提交的文件第一行为标题,第二行为序列,序列为大写字母,序列之间不能有

空格或换行符

输入文件示例:

>sequence_1

GSDNGFGSSKATSGSDFGGLAIFDGSGSEHFGHSDTHGSFDGLFGVDFZILSQQLKS

一. 模板提交

Step 1. 选择

GPU计算

区,在应用中心搜索RoseTTAFold软件,部分软件无需申请及可提交作业;

Step 2.选择可视化模板提交;

Step 3. 上传序列文件(

.fasta格式

),选择运行模式;

Step 4. 选择

GPU

硬件配置

虎鲸1卡(v100-1)

Step 5. 查看作业内容汇总,并提交作业;

Step 6. 通过作业管理查看运行中的作业;

二. 使用PyMOL对结果进行图形化展示

Step 1. 应用中心搜索PyMOL;

Step 2. 点击

提交作业

,选择

图形界面

提交;

Step 3. 启动PyMOL,选择硬件配置并启动;

Step 4. 通过

VNC连接

启动的linux工作站,使用软件;

STAR-CCM+

Simcenter STAR-CCM+ 是一个完整的多物理场解决方案,可对真实条件下工作的产品和设计进行仿

真。

一. 图形界面提交

Step 1. 在应用中心搜索STAR-CCM+软件,申请后请联系客服同意;

Step 2. 具体使用步骤请看图形界面提交;

二. 模板提交

Step 1. 在应用中心搜索STAR-CCM+软件,申请后请联系客服同意;

Step 2. 选择STAR-CCM+ 可视化模板提交;

Step 3. 上传.java、.sim等输入文件;

Step 4. 选择硬件配置;

节点数量:设置启动多少个并行计算的计算节点。

内存配比:设置各个计算节点内存大小为单节点核心数×内存配比。

Step 5. 查看作业内容汇总,并提交作业;

Step 6. 通过作业管理查看运行中的作业;

三. 命令行提交

通过SSH连接创建并连接管理节点。

Step 1. 创建作业目录并进入;

mkdir STAR-CCM+Job1

cd STAR-CCM+Job1

Step 2. 通过文件传输上传所需的输入文件,详情请查看Linux数据传输;

Step 3. 在该文件夹下创建如下执行脚本

STAR-CCM+.sh

#!/bin/bash

module add star-ccm+/14.02.010-R8

ulimit -s unlimited

ulimit -l unlimited

MACHINEFILE="nodes.$SLURM_JOB_ID"

srun -l /bin/hostname | sort -n | awk '{print $2}' > $MACHINEFILE

starccm+ -batch -np $SLURM_NTASKS -machinefile $MACHINEFILE -mpi intel -rsh

ssh

#网络增强计算区使用RDMA网络需要添加选项:-mpiflags

#例:starccm+ -batch -np $SLURM_NTASKS -machinefile $MACHINEFILE -mpi intel

-rsh ssh -mpiflags "-iface ens800f0 -genv I_MPI_DEBUG 4 -genv I_MPI_FABRICS

shm:dapl -genv DAT_OVERRIDE /etc/ -genv I_MPI_DAT_LIBRARY

/usr/lib64/ -genv I_MPI_DAPL_PROVIDER ofa-v2-cma-roe-ens800f0 -genv

I_MPI_FALLBACK 0 -genv I_MPI_FALLBACK=0"

Step 4. 提交作业

2个16核心节点启动32个并行任务

sbatch -N 2 -p c-16-1 -n 32 -c 1 STAR-CCM+.sh

查看作业运行情况及参数详细介绍请点击查看slurm命令。

结果文件下载请查看Linux数据传输。

TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生

态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器

学习提供支持的应用。

一. 命令行提交

通过SSH连接创建并连接管理节点。

Step 1. 创建作业目录并进入;

mkdir tensorflowJob1

cd tensorflowJob1

Step 2. 通过文件传输上传输入文件,详情请查看Linux数据传输;

Step 3. 在该文件夹下创建如下执行脚本

#!/bin/bash

module add Anaconda3/2020.02 #加载Anaconda

source activate tensorflow-gpu-2.2 #激活tensorflow环境

python > #运行程序

Step 4. 使用sbatch命令提交作业;

提交任务到带有一张T4卡的GPU节点运行。

sbatch -p g-t4-1 -c 4

查看作业运行情况及参数详细介绍请点击查看slurm命令。

结果文件下载请查看Linux数据传输。

TeraChem

TeraChem 是第一个完全从头开始受益于GPU等新型流处理器的计算化学软件。计算算法完全是为了

充分利用Nvidia CUDA GPU的巨大重叠而设计的。

一. 命令行提交

通过SSH连接创建并连接管理节点。

Step 1. 创建作业目录并进入;

mkdir terachemJob1

cd terachemJob1

Step 2. 通过文件传输上传输入文件、,详情请查看Linux数据传输;

Step 3. 在该文件夹下创建如下执行脚本

#!/bin/bash

source

/public/software/.local/easybuild/software/terachem/terachem1.9/TeraChem/

/public/software/.local/easybuild/software/terachem/terachem1.9/TeraChem/bin/terachem

Step 4. 使用sbatch命令提交作业;

提交任务到带有一张T4卡的GPU节点运行。

sbatch -p g-t4-1 -N 1 -n 1

查看作业运行情况及参数详细介绍请点击查看slurm命令。

结果文件下载请查看Linux数据传输。

VASP

VASP是维也纳大学Hafner小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。它是目

前材料模拟和计算物质科学研究中最流行的商用软件之一。

一. 模板提交

Step 1. 在应用中心搜索VASP软件,申请后请联系客服同意,部分软件无需申请,可直接提交作业;

Step 2.选择可视化模板提交;

Step 3. 点击输入文件列表上传文件,必须至少包含INCAR文件;

Step 4. 选择硬件配置;

节点数量:设置启动多少个并行计算的计算节点。

内存配比:设置各个计算节点内存大小为单节点核心数×内存配比。

Step 5. 查看作业内容汇总,并提交作业;

Step 6. 通过作业管理查看运行中的作业;

二. 命令行提交

通过SSH连接创建并连接管理节点。

Step 1. 创建作业目录并进入;

mkdir vaspJob1

cd vaspJob1

Step 2. 通过文件传输上传所需的输入文件,详情请查看Linux数据传输;

Step 3. 在该文件夹下创建如下执行脚本

#!/bin/bash

module add intel/2019b

export PATH=$PATH:/public/software/.local/easybuild/software/VASP/vasp/vasp.5.4.4/bin

ulimit -s unlimited

ulimit -l unlimited

mpirun vasp_std

Step 4. 提交作业;

2个4核心节点启动8个并行任务。

sbatch -N 2 -p c-4-1 -n 8 -c 1

查看作业运行情况及参数详细介绍请点击查看slurm命令。

结果文件下载请查看Linux数据传输。

点击下载以上作业样例:

VirtualFlow

VirtualFlow 是由哈佛大学医学院牵头研发的全新开源药物发现平台,旨在利用高性能计算能力并行筛

选潜在的有机化合物结构,以寻找有希望的新药物分子。

注意事项

输入文件为

.pdbqt

格式的蛋白文件。

Docking参数设置,可参考具体对接程序的文档。

VirtualFlow额外运行控制参数设置,参考。

一. 模板提交

Step 1. 在应用中心搜索VirtualFlow软件,申请后请联系客服同意;

Step 2. 选择可视化模板提交;

Step 3. 上传靶标文件(Docking计算用的蛋白文件,pdbqt格式);

Step 4. 选择硬件配置;

节点数量:设置启动多少个并行计算的计算节点。

内存配比:设置各个计算节点内存大小为单节点核心数×内存配比。

Step 5. 查看作业内容汇总,并提交作业;

Step 6. 通过作业管理查看运行中的作业;

二. 后置处理失败

模板提交后出现后置处理失败报错情况,可通过以下步骤解决。 Step 1. 查看控制台上运行的工作目

录,通过输出文件,日志文件等皆可查看(如:/home/cloudam/jobs/vf-demo/vf-

demo_33);

Step 2. 通过SSH连接创建并连接管理节点;

Step 3. 手动执行后置处理命令;

cd /home/cloudam/jobs/vf-demo/vf-demo_33

chmod 755 .

rm -rf out/*

./.

基本功能使用问题

1. 我该如何提交作业?

答:平台提供多种作业提交方式,可以根据自身的使用需求,选择合适的作业方式。

2. 我该如何上传文件到服务器?

答:在控制台使用

文件传输

功能上传本地数据到服务器,详情请查看数据传输。

3. 你们平台 文件传输 上传下载速度是否有限制,大文件无法上传如何解决?

答:文件传输默认上下行200M对等带宽,大文件使用默认线路传输效果最佳;如果默认线路拥堵建议使用

测试线路进行上传,测试线路具备同等速度。

4. 我在通用计算区配置的环境在其它计算区怎么使用不了?

答:目前各计算区之间数据不互通,建议在根据自己的需求选择适合的计算区或者联系销售经理开通企业版

文件同步功能;

通用计算区 本计算区支持WINDOWS和LINUX系统,有丰富的CPU资源,并提供部分GPU资源,可以

满足大部分计算作业需求。

GPU计算区 本计算区仅支持LINUX系统,提供丰富且稳定的GPU资源,建议在此提交GPU相关作业。

网络增强计算区 本计算区仅支持LINUX系统,计算资源使用增强网络进行低延时的内网通讯,能满足

紧耦合的计算需求(由于增强网络的生效耗时较长,启动集群过程中请耐心等待)。

5. 我在账号下创建一个子用户,子用户的目录和主用户进入的目录一样吗?

答:主用户和子用户的/home/cloudam目录是不互通的,父子用户可以通过/share目录共享数据。

6. 你们平台的模板功能,主要用于哪些场景?

答:模板相当于虚拟机的快照,主要用于保存用户自定义安装的应用软件和配置的系统环境;同时,模板也

支持分享给其它用户。

7. 我在您们平台提交作业,多核机器速度和自己本地电脑算起来速度没有快多少,会

是什么原因呢?

答:需要用户熟悉软件的使用,设置软件多核计算,有些软件不支持调整最大核数并行计算。

8. 可以设置工作站计算完自动释放吗?

答:平台的Linux和Windows工作站均支持作业结束自动释放,需要在图形界面-工作站下方的

设置

页面指

定作业进程PID号,当作业结束即可自动释放。

9. 作业结束后会有通知吗?

答:登录北鲲云网页控制台,点击我的消息,可在 通知设置 设置作业结束后邮件或微信公众号通知,以及

其它通知功能。

10. 能看到下载到本地的文件在哪个目录下么?

答:可通过浏览器的 设置 > 下载文件保存路径 查看;如果没找到,可能是浏览器阻止了下载,可根据提示

设置允许下载即可。

11. 请问下现在我们的WebSSH终端大概闲置多久才会断开连接?

答:关闭网页或闲置24小时会断开连接。

12. 我在通知设置里设置了闲置工作站自动释放,为什么没有释放?

答:工作站节点默认闲置12小时自动释放。

13. 您们平台是否支持自定义安装Linux系统其它发行版本?

答:平台目前Linux工作站和集群节点预装的是CentOS 7系统,暂不支持定制安装其它Linux系统版本。

16. 停机与释放有什么区别?

答: 释放: 当不需要使用工作站时,就可以释放工作站。(释放掉工作站C盘数据将清空,需将结果文件

保存到H盘) 停机: 相当于关机,C盘数据还保留,关机后,保留实例的资源等并收取系统盘费用,私网IP

将保留,公网IP将会被回收,停机后系统盘收费为1G每小时0.001元。

17. 我的作业为什么会执行失败?

答:作业失败有很多原因,具体的原因需要查询相关日志及检查输入文件格式是否正确及注意事项等。

18. 使用模板提交方式,作业执行失败,我该怎么处理?

答: 使用模板提交的作业,可以控制台左侧作业管理菜单栏,可查看作业状态、作业日志、临时输出文件

等信息。

19. 平台总共有哪些类型的节点,它们各自代表什么含义?

答:

1. 管理节点用于登录北鲲云超算集群提交作业和管理作业。

2. 计算节点是指在管理节点提交作业后,启动计算任务的节点。

3. 图形节点是指带有图形化桌面操作的工作站,支持Windows与Linux两种操作系统,只能单节点并行计

算。

4. 安装节点适用于安装Windows应用或需要root权限运行的Linux应用,安装好后请及时制作镜像。

应用软件使用问题

1. 申请使用软件权限后多久通过?

答: 申请后联系客服或技术支持,快速通过。

2. 平台没有我要使用的软件怎么办?

答: 平台支持自定义安装软件,可通过

镜像中心

安装和配置自定义的软件或环境,安装过程有问题可联系

客服帮助;我们也对常用开源软件进行评估,以便全局部署,欢迎反馈。

3. 你们平台是否提供商业软件?

答:目前暂不提供商业软件,不过您可以自行购买安装。

注意事项:

商业软件 License 通常需要使用专用的 License 服务器,在购买商业软件并尝试在北鲲云平台上部署

License 服务器前,请与我们以及软件厂商进行充分沟通。

请购买浮动授权,即计算程序可以在平台上的任意一个节点启动,通常需要安装特定的 License 服务

器;

询问 License 服务器是否可以部署在虚拟机上,这样可以专门开一台管理节点运行您的 License 服务

器;

与厂商充分沟通 License 服务器安装模式、授权数量、使用限制、更换MAC地址的费用以及厂商具备

基本的技术支持能力。

4. 普通用户没有权限安装软件,能否获取root权限?

答:平台已为每个用户开通root权限,使用

sudo -i

命令可免密登录root用户,不过安装在

非/home/clouam目录的软件会随着工作站或节点的释放而清除,释放前需定义成模板或建议通过

镜像中

安装软件。

5. 每次登录都需要使用

module add

命令加载软件,可不可以实现自动加载?

答:可以将您加载软件的命令写入到

/home/cloudam/.bashrc

文件的最后一行,后续登录即可自动加载。

6. 使用slurm命令报错:

“slurm_load_jobs error: Unable to contact slurm

controller (connect failure)”

如何解决?

答: 出现该问题一般是slurmd进程停止导致,可释放该管理节点重新启动一台,或执行以下操作步骤重启

slurmd进程: (1)使用

sudo -i

命令切换到root用户 (2)执行

systemctl start slurmctld

启动

slurmd服务。

7. 执行module命令报错“

Lmod has detected the following error:

”,如何解

决?

答:执行

module use /public/software/.local/easybuild/modules/all

,再重新使用。

8. 什么是队列?

答:队列是指不同规格的节点资源,可以在命令行输入

sinfo

命令查看当前计算区的队列。

9. 为什么有些硬件资源无法选择?

答:部分硬件资源销量比较火爆,导致资源不足,暂时没有上线,敬请期待后续上线或者联系在线客服反

馈。

10. 使用Material Studio软件(Windows)时,CPU核数如何修改?

答:

1. 首先打开软件,然后打开谷歌浏览器,进到localhost:18888 这个网址,输入用户名进行编辑修

改,用户名为gatekeeper,结果如图所示:

2. 然后进到软件里面,点击tool,选择server gateway,双击更新,核数修改完成,结果如图所示:

11. Jupyter Notebook 如何远程使用虚拟环境?

答:

1. 启动工作站,在命令行加载conda环境,输入如下命令,启动Jupyter Notebook

module add Anaconda3

jupyter notebook --no-browser --port 7070 --ip='*' --='' --

rd=''

2. 打开本地电脑web浏览器,输入工作站公网IP加7070端口号打开Notebook界面,并进入命令行。

localhost:7070

3. 在工作站命令行注入预装的环境

#加载Anaconda3

module add Anaconda3

#查看所有平台已经安装的环境

conda env list

#把指定环境注入jupyter

#python -m ipykernel install --user --name 环境名称 --display-name “在jupyter上显示的环

境名称”

python -m ipykernel install --user --name pytorch-1.9 --display-name demo

注入完,即可在Jupyter Notebook 主界面刷新网页,看到对应注入的环境。

计费问题

1. 平台是如何收费的?

答:节点从启动到释放,按核时收费,精确到分钟,即:每核每小时的价格×核数;如选择单节点4核心4G

内存的节点,每核时0.08元,则该节点使用一小时收费4×0.08=0.32元。其它收费项目请查看收费标准。

2. 如何充值?

答:登录北鲲云网页控制台,在仪表盘右上角点击充值。

3. 如何查看消费记录?

答:登录北鲲云网页控制台,点击右上角头像,在

费用中心

查看账单明细。

4. 工作站如何查看节点配置价格?

答:请点击如何查看硬件资源价格。

5. 为什么我没有使用,还在一直扣费?

答:打开仪表盘查看各计算区是否还有节点没有释放导致一直扣费;去对应计算区找到对应的节点释放即

可。

6. 工作站停机还会收费吗?

答:停机相当于关机,关机后,保留实例的资源等并收取系统盘费用,私网IP将保留,公网IP将会被回收,

停机后系统盘收费为1G每小时0.001元。

7. 已经赠送免费核时,但余额显示为零?

答:赠送的免费核时是以代金券的形式发放到账号,提交作业优先扣除代金券余额;登录北鲲云网页控制

台,点击右上角头像,选择

代金券

查看代金券余额。

8. 平台可以开发票吗?

答:登录北鲲云网页控制台,点击右上角头像,选择

费用中心-充值记录-申请开票

9. 节点选择经济型和标准型有什么区别?

答: 目前平台部分硬件队列新增经济型选项,经济型与标准型享有同等配置,价格更优惠,但在资源紧张

时会被自动回收并释放,从而导致计算中的作业中断;您可以根据作业的计算特点自行选择,如果计算作业

支持续跑,可选择经济型节点。

其他问题

1. 我测试为什么工作站与本地笔记本同等CPU配置没有本地笔记本算的快?

答:首先查看软件设置是否跟本地一样,其次需要把计算文件拷贝到系统盘使用,另外工作站是虚拟核,可

以尝试关闭超线程(图形界面-工作站下方设置按钮)使用。

2. 提交作业需要排队吗?

答:北鲲云一站式云超算平台拥有海量的云资源,正常使用无需排队。

3. 节点启动需要多久?

答:除了网络增强计算区的机器(裸金属服务器),其它计算区节点启动时间大约十几秒;如果是多节点并

行计算,根据计算规模的大小需要若干分钟的等待时间。

4. 超算资源有时候跑着跑着就被强制回收了,你们也会有这种情况吗?

答:我们提供的是独占资源,在余额充足的情况下不会释放或被他人使用。

5. 为什么我的 CPU 使用率最高显示为 50%?

答:CPU使用率是根据逻辑核总数进行计算的,如果软件运行仅使用物理核,则只显示50%的利用率。某

些软件能够有效的利用逻辑核,提升两倍的运行速度,某些软件使用逻辑核可能会减慢计算速度。

6. 为什么我连接登录到Windows工作站没有看到H或者S盘,请问如何找回呢?

答:H盘或者S盘找回步骤:登录北鲲云控制台 > 点击左侧图形界面菜单栏 > 找到对应无法看到H盘或者S

盘的Windows工作站 > 点击连接 > 登录到Windows工作站 > 点击我的电脑 > 点击查看 > 勾选隐藏的项

目 > 进入对应目录 > 找到 C:1 脚

本 > 右键使用 PowerShell 运行

7. 没有我想要的数据集怎么办?

答:登录北鲲云控制台,进入左侧数据集菜单栏,点击右上角申请新数据集,并请提供数据集的相关下载链

接等信息并留下您的联系方式,我们将在3个工作日内对您的申请进行审核。

镜像中心使用问题

1. 镜像中心有什么作用?

答:镜像中心方便您自行安装软件并制作自定义镜像,以在计算时调用。

2. 在哪里设置为默认镜像,如何启动默认镜像?

答:只有集群镜像才支持默认,自定义的

集群镜像

可以设置为默认的

集群管理/计算节点

镜像,之后您提交

的集群作业都将使用该镜像创建对应节点。自定义的

工作站镜像

将展示在图形应用的启动选项中,您可以

在启动的桌面上直接编辑和提交作业。

3. 制作镜像需要多久,我已经制作了半个小时了还没结束?

答:镜像制作耗时从几分钟到数十分钟不等,节点磁盘越大,制作过程越长。制作过程中无法进行其他操

作,请耐心等待。如果成功,镜像将变为可用状态,安装节点自动释放。如果失败,镜像将变为不可用状

态,鼠标悬浮在状态列可以看到失败原因。制作失败的安装节点将保留,您可以重新连接、安装和制作镜

像。

4. 我之前制作的镜像怎么不见了?

答:不同计算区的镜像不能互通,请安装前确认所属计算区。

5. 什么是容器镜像?

答:在容器镜像中您可以新建镜像仓库、推送容器镜像,以在作业中运行容器化应用

6. 镜像中心磁盘大小设置方法

Step 1. 选择计算区-点击镜像中心-集群计算节点GPU(默认)-点击安装按钮

Step 2. 启动安装节点-点击下一步-选择磁盘大小-启动安装镜像-需要耐心等待磁盘安装完成

Step 3. 状态变成可安装-点击安装按钮-耐心等待制作完成

Step 4. 等制作完成-状态变成可用,点击设置为默认,这样就配置好啦

Slurm作业管理系统

Slurm ( Simple Linux Utility for Resource Management ,/ )是开

源的、具有容错性和高度可扩展大型和小型 Linux集群资源管理和作业调度系统。超级计算系统可利用

Slurm 进行资源和作业管理,以避免相互干扰,提高运行效率。所有需运行的作业无论是用于程序调

试还是业务计算均必须通过交互式并行 srun、批处理式 sbatch 或分配式 salloc 等命令提交,提交后

可以利用相关命令查询作业状态等。

一. 常用命令

sinfo #查看分区状态

squeue #查看队列中的作业

scontrol #查看作业详细信息

scancel #取消已经提交的作业

sbatch #批处理式提交作业

salloc #分配式运行作业

1. 查看分区状态

sinfo

CPU分区命名规则为

c-核心数-每核心内存大小

,如c-8-4:表示单节点规格为8核,每核心有4G内存,

即节点规格为8核32G。

GPU分区命名规则为

g-卡号-每节点卡数

,如g-v100-2:表示有两张显卡型号为tesla v100的gpu节

点。

2. 查看作业队列

squeue

JOBID:作业号

ST:状态 (

R

:运行中;

CF

:配置中;

PD

:排队中)。

3. 查看所有作业详细信息

scontrol show jobs

4. 取消作业号为20的作业

scancel 20

二. 提交作业的方式

1. 使用

sbatch

批处理模式提交作业

sbatch命令可以提交任务至一个或多个计算节点,实现并行计算。

sbatch命令的一些

常用选项

参数

-N

-p

-n

-c

功能

申请的节点数量

指定计算节点规格,使用sinfo查看所支持的规格

指定任务数,即并行程序运行多少个进程

每进程使用的cpu核心数

参考运行程序:

#!/bin/bash

sleep 6000

提交示例:

使用2个4核心节点启动8个并行任务。

sbatch -N 2 -p c-4-1 -n 8 -c 1

1个4核心节点启动4个并行任务。

sbatch -N 1 -p c-4-1 -n 4 -c 1

1个4核心节点启动4个并行任务。

sbatch -p c-4-1 -n 4

1个4核心节点启动1个并行任务, 该任务使用4个cpu核心。

sbatch -p c-4-1 -n 1 -c 4

2个4核心节点启动2个并行任务, 每个任务使用4个cpu核心。

sbatch -p c-4-1 -n 2 -c 4

2. 使用

salloc

分配模式提交作业

salloc命令可以用来分配节点,用户可以在获取分配的计算节点后,ssh进入直接运行相关计算程序,

主要用来调式程序执行。

使用步骤(案例):

Step1. salloc申请计算节点;

salloc -N 1 -p c-8-2 &

Step2. ssh登录到分配的计算节点;

ssh c-8-2-worker0001

Step3. 调试或运行程序;

./

Step4. 结束程序运行后释放分配的节点;

scancel 17

Module的使用

Module是一款环境变量管理工具,北鲲云超算平台安装了许多公共软件,用户只需加载模块即可使用

平台的软件或依赖库,如果没有找到所需的软件可以联系客服安装。

一. 常用命令

module avail 或 module av #查看系统中可用的软件

module spider 或 module sp #查询所有可能的模块

module add 或 module load #加载模块

module rm 或 unload #卸载模块

module list 或 module li #显示已加载模块

module purge #卸载所有模块

module show #显示模块配置文件

module swap 或 module switch #将模块1替换为模块2

module help #显示帮助信息

:建议不要同时

module add

多个软件,因为不同软件间可能是有冲突的。比较好的方式是

module add

个或一组相互依赖的软件,软件运行完后运行

module purge

清除导入的环境,然后再导入另外一个或一组

相互依赖的软件。

二. 使用例子

查看集群现有软件环境

module avail

查看gromacs软件环境

module avail gromacs

加载GROMACS/2021-gromacs软件环境

module add GROMACS/2021-gromacs

显示所有已加载的环境

module list

清除已加载的环境

module purge

Conda的使用

Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并

在它们之间轻松切换,Conda支持Python、R、 Ruby、 Lua、 Scala、 Java、 JavaScript、 C/

C++、 FORTRAN等多种语言。

一. 使用北鲲云的Conda环境

#加载Anaconda3

module add Anaconda3

#查看Conda环境列表

conda env list

#加载指定虚拟环境

source activate xxxx

#退出当前环境:

conda deactivate

二. Conda管理环境

#创建环境:

conda create -n xxxx

#示例:创建一个名为demo的虚拟环境,环境默认保存在/home/cloudam/.conda/envs

conda create -n demo python=3.7

#删除环境:

conda env remove -n xxxx

三. Conda管理包

#查看一个包是否可用conda安装

conda search numpy

#安装包

conda install numpy

#安装指定版本包

conda install numpy=1.14

#查看当前环境已安装的包

conda list

#包更新

conda update numpy

#删除包

conda remove -n demo numpy

四. Conda/Pip软件安装进阶操作

#列出保存目标软件的所有镜像

anaconda search

#指定anaconda的镜像安装cudatoolkit10.0的版本

conda install -c anaconda cudatoolkit=10.0

#pip安装指定版本的包

pip install some-package==1.0.4

#pip安装最新版本的包

pip install some-package

#临时性修改下载源为清华源(只对本次下载有效)

pip install -i /simple some-package

#pip升级包

pip install --upgrade some-package

#pip卸载包

pip uninstall some-package

Linux的常用命令

linux快捷键以及帮助手册

在我们正式学习linux命令之前,我们应该了解一些基本的快捷键,以及查看帮助手册。

快捷键

按键功能

命令补全,当你忘记某个命令的全称时可以只输入它的开头的一部分,然后按下

Tab 键就可以得到提示或者帮助完成。

强行终止当前程序。

键盘输入结束或退出终端。

暂停当前程序,暂停后按下任意键恢复运行。

将当前程序放到后台运行,恢复到前台为命令fg。

将光标移至输入行头,相当于Home键。

将光标移至输入行末,相当于End键。

删除从光标所在位置到行末。

向前删除一个单词。

将终端显示向上滚动。

将终端显示向下滚动。

Tab

Ctrl

+

c

Ctrl

+

d

Ctrl

+

s

Ctrl

+

z

Ctrl

+

a

Ctrl

+

e

Ctrl

+

k

Alt

+

Backspace

Shift

+

PgUp

Shift

+

PgDn

帮助手册

在 Linux 环境中,如果你对某个命令感到疑惑,可以使用 man 命令来获取帮助,它是Manual pages

的缩写。用户可以通过执行 man 命令调用手册页。

你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:

man

软件安装

相比Windows, 方便的在线安装是linux的优势之一。以往在windows,我们安装软件一般需要在网

上下载对应的安装包到本地,然后再设置运行才能完成安装,而在linux下,这只需要一个命令即可。

不同的linux版本会有不同的安装命令,由于我们的开发环境是基于CentOS的,所以我们以此为例学

习相关的软件安装。

yum

yum( Yellow dog Updater, Modified)是一个在CentOS 和 RedHat 以及 SUSE 中的 Shell 前端软件包

管理器。它可以自动下载,配置,安装软件包,因此简化了管理软件的过程。

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次

安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

1) 搜索 :

如果想在安装前确认是否软件库有这个软件:

sudo yum search

结果就会显示软件的相关信息。

2) 安装 :

安装只需要执行这样的命令即可:

sudo yum install

当然它还有许多参数,例如在软件被破坏时重新安装:

sudo yum reinstall

3) 更新:

软件版本也会不断的更迭,我们在安装前往往需要进行更新,例如:

更新所有软件:

sudo yum update

更新指定的软件:

sudo yum update

需要注意的是依赖关系。

4) 卸载 :

卸载一个软件也很简单:

sudo yum remove

用户和文件权限管理

Linux 是一个多用户的操作系统,所有用户共享一些主机的资源,但他们也分别有自己的用户空间,用

于存放各自的文件。由于Linux的用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文

件。

查看用户

输出当前伪终端的用户名:

whoami

使用root

无需密码即可切换到root用户:

sudo -i

无需密码以root权限运行 cmd 命令:

sudo

查看文件权限

ls 命令不仅可以列出并显示当前目录的文件,还可以用来查看文件的权限。

ls -l

输出: 文件类型和权限 链接数 所有者 所属用户组 文件大小 最后修改时间 文件名

这里特别解释一下文件类型和权限: 第一位是指文件类型,例如

‘d’

表示目录,

'-'

表示普通文件,等

等。 后面的九位可以分成三组,每组三位分别表示读权限/写权限/执行权限,三组分别对应的是拥有者权

限/所属用户组权限/其他用户权限。

我们可以用 touch 命令创建一个新的文件,然后再进行以下测试。

变更文件所有者

sudo chown

sudo命令在之前提到过,是权限命令。

修改文件权限

有两种方式对文件权限进行修改:

第一种方式:二进制数字表示。每个文件的三组权限对应一个 “rwx”,每一位可以用 0 或 1 表示是否有权

限,例如只有读和写权限的话就是 “rw-” - “110”,所以"rwx"对应的二进制"111"就是十进制的7。

所以将 file 文件权限改为 “rwx------” 的命令是:

chmod 700

第二种方式:加减赋值表示。假设一开始 file 文件的权限是 “rwxr–r--” 完成上述同样的效果,还可以:

chmod go-rr file

g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。

目录及文件操作

在linux系统中最常见的行为就是切换目录以及对文件进行操作。

基本目录操作

在linux中,我们使用 cd 命令来切换目录,使用

.

表示当前目录,

表示上一级目录,

-

表示上一次所

在目录,

通常表示当前用户的 home 目录。使用

pwd

命令可以获取当前所在路径(绝对路径)。

例如,进入上一级目录:

cd ..

搭配之前提及的快捷键 Tab 可以大大提高效率。

基本文件操作

创建

文件: 在这里,我们可以先简单地使用 touch 命令来创建一个新的空白文件。

例如:

touch myfile

目录: 使用 mkdir 命令可以创建一个新的目录。

创建名为“ mydir ”的空目录:

mkdir mydir

复制

文件: 使用 cp(copy)命令复制一个文件到指定目录。

例如:

cp myfile ../../mydir

目录: 在复制文件的基础上加上 -r 参数即可。

例如:

cp -r dir mydir

删除

文件: 使用 rm(remove files or directories)命令删除一个文件:

rm myfile

目录: 同样,删除目录也是需要加上 -r 参数。

移动及重命名

移动文件和对文件重命名都使用 mv 命令。

mv 源目录文件 目的目录:

mv myfile mydir

注意,这里mv命令是剪切文件。

mv 旧的文件名 新的文件名:

mv myfile myfile1

编辑文件

Linux系统存在许多编辑器,例如vim,emacs,nano等等,在这里我们使用vim编辑器来打开文件:

vim myfile

vim编辑器功能非常强大,但随之而来的是它的学习难度并不简单,然而编辑器的使用又是必不可少的一部

分,所以在这里建议您先去学习一门编辑器的基本使用方法。

搜索文件

相信每个用户在使用操作系统时都会用到搜索这个功能,linux提供了许多与搜索相关的命令给用户使

用。

which

which只从环境变量指定的路径中去搜索文件,所以我们常常使用which来判断是否安装了某个软件。

例如:

which vim

whereis

一个比较简单的搜索命令,它直接从数据库而不是硬盘查询,而且只能搜索特定的文件。所以,它的搜索很

快。

whereis vim

locate

在这里要先介绍" /var/lib/mlocate/ "数据库,因为 locate 命令就是通过这个数据库查找的。

这个数据库由系统每天定时维护更新,所以有时候需要手动执行 updatedb 命令来更新数据库。

例如,查找 /usr 及其子目录下所有以 a 开头的文件:

locate /usr/a

find

find命令是一个功能非常强大的命令,它可以根据文件的各个属性来搜索,在此只介绍其简单的搜索。其基

本命令格式为:

find [path] [option] [action]

例如,在 /usr/ 目录下搜索名字为 myfile 的文件或目录:

sudo find /usr/ -name myfile

文件解压缩

本节介绍linux上常用的解压缩工具,包括zip、rar以及tar。

rar

rar是一种在windows常见的文件压缩格式,但是在linux下必须先安装才能使用。由于在linux中rar命令参

数非常多,在此只介绍一些基本操作。

1)创建压缩文件:

rar a ./Desktop/

这是将Desktop目录打包成

2)使用 a 参数添加文件进压缩包:

rar a a.o

3)使用 d 参数删除文件:

rar d a.o

4)使用 l 参数查看文件:

rar l

5)解压分为两种,一种是 x 参数解压,这样会保持压缩文件的目录结构;另一种是 e 参数解压,将所有文

件解压到当前目录:

unrar x

unrar e

zip

zip也是在windows和linux使用率比较高的文件压缩格式。

1)创建压缩包:

zip -r -o ./Desktop

其中,

-r

参数表示递归,所以上面命令是打包Desktop目录进压缩包;

-o

参数表示输出到

压缩文件。

2)使用 -e 参数进行加密:

zip -r -e -o ./Desktop

需要注意的是,由于编码问题linux下和windows下的文本文件可能会不同,如果希望在linux压缩的文件在

windows下正常解压,可以加上

-l

参数。

3)查看与解压 解压很简单:

unzip

查看只需加上

-l

参数:

unzip -l

tar

实际上,在linux中用得更多的是tar工具。tar 原本只是一个打包工具,没有压缩功能,需要配合其他具有

压缩功能而没有打包功能的工具进行打包压缩。

1)创建一个 tar 包:

tar -cf ./Desktop

其中,

-c

参数表示创建,

-f

参数表示指定文件名,必须跟在文件名之前。

可以发现这个tar包和原大小相同。

2)查看一个 tar 包:

tar -tf

3)解包一个 tar 包到指定目录:

tar -xf -C cloudamdir

上面我们说了tar需要配合其他工具进行压缩,其实一般只需要加一个参数就可以了。这里以gzip为例:

tar -czf ./

解压缩:

tar -xzf

tar 命令参数还有很多,在此仅作简单介绍。可以通过man手册查看更多帮助。

管道与一些文本命令

管道是一种通信机制,它可以将前一个进程的输出作为下一个进程的输入。所以它常常用来进行进程

间(也包括socket进行网络通信)的通信。不过,在这里我们首先介绍一些linux终端执行命令的知

识。

&& 和 ||

当我们希望同时输入多条命令时,可能还希望对某几个命令的结果进行判断。例如,如果存在某个文件,就

把它删除,如果不存在则什么也不做。而 && 和 || 就提供了这种判断的功能。

&& 表示如果前一个命令返回的状态为0(这些状态码有一套默认的规定),则执行后一个命令,否则不执

行。而 || 则与之相反。

例如我们常常使用 which 命令来判断是否安装了某个命令:

which rar>/dev/null && echo "Installed."

当然也可以结合使用:

which rar>/dev/null && echo "Installed." || echo "Not installed"

管道

通常我们在命令行中使用匿名管道,由分隔符 | 表示,而命名管道更常出现在源代码中。

例如:

ls -a | grep mysql

这个命令就是先执行 ls -a 命令,然后将输出结果作为输入执行grep mysql命令在其中查找包含mysql的文

件。

下面介绍几个常用的命令,配合管道使用可以提高效率。

1) grep : 一个很常用的命令。使用者可以通过其与正则表达式配合实现很高效的查找,不过在这里先简

单介绍一下。

在上面我们已经有一个使用 grep 命令的例子了,实际上我们还可以直接使用:

grep -r "cloudam" ~

搜索 ~ 目录下所有包含"cloudam"的文件。

2) wc : 统计并输出一个文件中行、字节等数据的数目。其中,

-l

参数表示行数,

-c

参数表示字节

数。

结合管道使用,统计文件的个数:

ls -a | wc -l

3) uniq : 在上面的统计中,我们可能会想要除去一些重复行以免影响结果,这时候我们可以使用 uniq

命令:

cat words | uniq

值得注意的是,uniq只除去连续重复的的行,如果希望全文达到同样的效果我们往往会先使用 sort 命令进

行排序,即:

cat words | sort | uniq

当然,这些命令实际上是很复杂的,我们可以通过这些命令完成很多复杂但是有用的功能,这也是其魅力所

在。在此仅作简单的介绍。

文本处理

在上一节中我们学习了一些管道相关的命令,现在我们继续学习一些简单的文本处理命令。

sort

在之前出现过很多次的命令,顾名思义它的功能是排序。当然,它可以根据不同的标准来排序,例如:

默认为字典排序:

ls -a | sort

反转排序:

ls -a | sort -r

col

相信许多程序员在实际中都会遇到类似于将程序代码中的tab转空格的需要,而linux提供了tab和空格相互

转换的命令 col。

在这里,

-x

参数表示将 tab 转换成空格,而

-h

参数则相反。

例如:

cat myFile | col -x | cat -A

tr

替换操作(删除操作也可以视为一种替换操作)也是文本处理常用的操作之一。

如果是要删除,可以使用

-d

参数:

echo "Hello world!" | tr -d "el"

这样会删除"Hello world!"中所有的“e”和“l”。

再例如将小写转换成大写:

echo "Hello world!" | tr '[a-z]' '[A-Z]'

paste

这个命令可以简单地合并文件。

例如将数据以

‘;’

为分隔符合并(默认的分隔符为Tab):

paste -d ';' data1 data2 data3

也可以这么做:

cat words | sort | uniq &> output

重定向

在之前管道的知识点中,学习者很容易有这种想法:命令的输出太复杂或者太多了,希望可以将其保

存到文件中查看或者长久保存。而将标准输出、标准错误等信息输出到指定文件中,就是重定向。

重定向

重定向是通过

‘>’

‘>>’

等操作符完成的,(当然也有

’<‘

’<<’

,前者是导向,后者是追加),其实

将标准输出看作一个文件的话,将命令输出导向到另一个文件自然也是没问题的。

例如:

echo “Hello world!” > output

结合管道:

cat words | sort | uniq >> output

文件描述符

除了标准输出,我们还经常需要重定向标准错误,在此就必须提到标准输入、标准输出和标准错误的文件描

述符。在linux中,它们的文件描述符分别是0、1、2,我们可以通过这几个描述符来完成我们想要的操

作。

我们可以这样来将标准输出和标准错误重定向到同一个文件:

cat words | sort | uniq > output 2>&1

其中,&表示后面的是标准输出而不是一个文件名为1的文件,而这里的重定向顺序也是不能改变的。

也可以这么做:

cat words | sort | uniq &> output

永久重定向以及“丢弃”输出

我们很容易想到如果我们想不断将标准输出重定向到某个文件,难道需要在每一个命令后面加上重定向命

令?当然是不需要的,linux提供了永久重定向的方法。当然,这里的永久也并不是那么永久。

我们可以这样做:

exec 1> output

其中 exec 命令的作用是用新的进程去替换旧的进程,或者指定重定向。

有时候我们仅仅希望执行命令而不想要其输出,这时候我们可以将输出重定向到空设备 /dev/null :

cat words | sort | uniq 1>/dev/null 2>&1

这样输出结果就没有啦。

进程的基本操作

在日常工作中我们常常需要对进程进行操作,这就要求我们掌握一些基本的进程操作指令。

前台/后台切换

我们在之前的学习中已经知道终止一个在前台运行的进程的快捷键是

ctrl + c

。同样,我们在之前也已

经知道将我们当前进程停止并转到后台的快捷键是

ctrl + z

。那么,如何让我们的进程在前台与后台之间

切换呢?

我们可以通过 & 这个符号,让我们的命令在后台中运行。

例如:

ls &

这样命令就会在后台自己运行了。

那么当我们如何查看在后台的工作呢?

可以使用:

jobs

这时我们可以看到每行是这样的格式:

[1] + suspended ...(command)

其中,第一列的数字表示job编号,也就是转到后台的工作的编号,第二列如果是

‘+’

表示的是这是最后一

个被转入后台的工作,

‘-’

的话则是倒数第二个,其他的话在这列没有符号。第三列表示状态,而后面则

是命令本身。

那么我们突然想要把工作从后台拿回前台怎么办呢?

可以使用:

fg %jobid

例如,

fg %1

如果只是希望其在后台运行的话,可以:

bg %jobid

终止

终止命令比较简单,但是在参数上我们可以通过选择信号值来决定以何种方式终止程序,信号值可以这样查

看:

kill -l

所以可以这样终止程序:

kill -signal pid

或者

kill -signal %jobid

进程管理

在这节我们进一步学习对进程的查看与控制。

top

top 命令是我们常常使用查看工具,它可以实时查看系统的一些关键信息的变化。

top 命令的输出比较多,下面逐一介绍:

第一行: 当前程序名称 当前系统时间 机器启动时间 系统用户数量 1分钟内、5分钟内和15分钟内cpu平均

负载

第二行: 进程总数 正在运行的进程数 休眠的进程数 停止的进程数 僵尸进程数

第三行:

用户空间占用CPU百分比

内核空间占用CPU百分比

用户空间优先级变化的进程占用CPU百分比

空闲CPU百分比

等待IO的CPU时间百分比

硬中断占用CPU的百分比

软中断占用CPU的百分比

虚拟 CPU 等待物理 CPU 的时间的百分比

第四行:

物理内存总量

使用物理内存总量

空闲内存总量

缓存内存总量

第五行:

交换区总量

使用交换区总量

空闲交换区总量

缓冲交换区总量

然后就是许多行进程的信息了,以下按顺序分别对应:

PID:进程id

USER:进程所属用户

PR:进程动态优先级值

NI:进程静态优先级值

VIRT:进程使用虚拟内存总数

RES:进程使用物理内存数

SHR:进程共享内存大小

S:进程状态

%CPU:CPU利用率

%MEM:内存利用率

TIME+:进程活跃总时间

COMMAND:进程运行名

我们甚至可以与这个程序交互,例如输入k的话系统会提示进一步输入信号值以及pid号以杀死一个进程,

更多的信息可以查看帮助手册。

ps

你一定经常看见

ps aux

这个命令将会列出所有的进程信息。

我们还往往配合

grep

正则表达式

使用。

例如:

ps aux | grep slurm

那么,打印出来的都是什么信息呢?

F:进程的标志(process flags),当 flags 值为 1 则表示此子程序只是 fork 但没有执行 exec,为 4

表示此程序使用 root 权限

USER:进程拥有者

PID:进程ID

PPID:父进程的PID

SID:session 的ID

TPGID:前台进程组的ID

%CPU:进程占用的CPU百分比

%MEM:占用内存的百分比

NI:进程的 NICE 值

VSZ:进程使用虚拟内存大小

RSS:驻留内存中页的大小

TTY:终端ID

S or STAT:进程状态

WCHAN:正在等待的进程资源

START :启动进程的时间

TIME:进程消耗CPU的时间

COMMAND:命令的名称和参数

我们还可以用这样的命令去查看进程树:

pstree

提交作业

请求方式:POST

/c3ce/cloud-bursting/job

Body Attributes(Body属性)

Parameter

envs

jobName

masterId

Required

Type

object

String

String

Description

自定义环境变量

作业名称

主节点id

请求Id可以被用来查询提交作业结果。若请求Id为空,则

本次请求会提交新的作业。

经过Base64编码后的提交作业命令

预处理脚本路径

预处理脚本参数

requestId否

String

slurmCommand

lifecycle-

lifecycle-

String

String

array

String

作业lifecycle脚本路径

String

作业lifecycle脚本参数

ParameterRequiredTypeDescription

作业lifecycle脚本执行条件,默认为ONCOMPLETE。可

lifecycle-

ion

array

选值: ALWAYS-总是执行 ONRUNNING-作业开始执行

ONCANCELLED-作业取消 ONCOMPLETED-作业完成

ONFAILED-作业执行失败

post-

String

后置处理脚本脚本路径

String

后置处理脚本参数

后置处理脚本执行条件,默认为ONCOMPLETE。可选值:

post-

ion

array

ALWAYS-总是执行 ONCANCELLED-作业取消

ONCOMPLETED-作业完成 ONFAILED-作业执行失败

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Body(请求体JSON)

{

"envs": {

"workDir": "/home/cloudam/yinfo/jobs/123",

"inputDir": "oss://path/to/input",

"outputDir": "oss://path/to/output"

},

"jobName": "myJob",

"masterId": "123",

"requestId": "1234abc",

"slurmCommand": "g09 ",

"pre-hook": {

"script": "/home/cloudam/yinfo/",

"args": ["arg1", "arg2"]

},

"lifecycle-hook": {

"script": "/home/cloudam/",

"args": ["arg1", "arg2"],

"condition": ["ONRUNNING"]

},

"post-hook": {

"script": "/home/cloudam/",

"args": ["arg1", "arg2"],

"condition": ["ALWAYS"]

}

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"errorCode": "0",

"status": "DONE",

"message": "Success",

"jobId": "22",

"requestId": "123"

}

Response Body Attributes(响应Body属性)

AttributeTypeDescription

Attribute

status

errorCode

jobId

requestId

message

Type

String

String

String

String

String

Description

作业提交请求状态,DONE 已完成;RUNNING 执行中

错误代码,0表示成功

当status的值为DONE且成功提交作业时返回作业id,否则返回空字符串

本次请求id

错误信息描述

取消作业

请求方式:DELETE

/c3ce/cloud-bursting/job

Body Attributes(Body属性)

ParameterTypeDescription

请求Id可以被用来查询取消作业请求的结果。若请求Id为空,则本次请求会再

次取消作业。

Slurm集群管理节点Id

作业id

reqeustId

String

masterId

jobId

String

String

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"errorCode": "0",

"status": "DONE",

"message": "Success",

"jobId": "22"

}

Response Body Attributes(响应Body属性)

Attribute

status

errorCode

jobId

message

Type

String

String

String

String

Description

作业取消请求状态,DONE 已完成;RUNNING 执行中

错误代码,0表示成功

被取消作业id

错误信息描述

查询作业状态

请求方式:GET

/c3ce/cloud-bursting/job

URL Parameters

Parameter

masterId

jobId

Type

String

String

Description

Slurm集群管理节点Id

作业id

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"errorCode": "0",

"status": "DONE",

"message": "Success",

"jobStatus": "RUNNING"

}

Response Body Attributes(响应Body属性)

Attribute

status

errorCode

jobStatus

message

Type

String

String

String

String

Description

作业取消请求状态,DONE 已完成;RUNNING 执行中

错误代码,0表示成功

Slurm作业状态

错误信息描述

获取文件服务器Token

请求方式:GET

/c3ce/cloud-bursting/filetoken

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"errorCode": "0",

"message": "",

"code": "p0D11GaTWk59gF3CUAPWn8pt3131",

"fileToken": "ii/AOhBYxnNc4kPFPTm0qvVCrAdadaU="

}

Response Body Attributes(响应Body属性)

Attribute

code

errorCode

fileToken

message

Type

String

String

String

String

Description

授权码

错误代码,0表示成功

文件服务器token

错误信息描述

查询集群配置

请求方式:GET

/c3ce/desktop/preferences

Body Attributes(Body属性)

Parameter

masterId

Type

String

Description

Slurm集群管理节点Id

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"masterId": "602ce21cf5c8360001815ac5",

"fileSystem": {

"enabled": false,

"fileSystemType": "extreme",

"capacity": 100,

"bandwidth": 5,

"storageType": "standard"

},

"computeNode": {

"systemDiskSize": 50,

"systemDiskCategory": "CLOUD_SSD"

}

}

Response Body Attributes(响应Body属性)

Attribute

masterId

d

stemType

Type

String

boolean

String

Description

Slurm集群管理节点Id

是否启用文件系统

extreme(极速型), cpfs(并行文件系统)

文件系统容量。单位:GB,当

ty

Long

FileSystemType=extreme或cpfs时必填且有

效。

文件系统吞吐上限。单位:MB/s,仅当

FileSystemType=cpfs时必填且有效。

存储类型。极速型:standard(标准型)or

dth

Long

eType

String

advance(高级型),CPFS:

advance_100(100 MB/s/TiB基线)or

advance_200(200 MB/s/TiB基线)。

DiskSize

Long

计算节点系统磁盘大小。单位:GB, 默认20GB

AttributeTypeDescription

计算节点系统磁盘类型。可选值:_SSD

DiskCategory

String

SSD云盘 _EFFICIENCY 高效云盘

_ESSD ESSD云盘。默认为

CLOUD_EFFICIENCY

修改集群配置

请求方式:PUT

/c3ce/desktop/preferences

修改集群配置

修改计算节点系统盘大小和类型

挂载/卸载CPFS(挂载点为/mnt/nas)

Body Attributes(Body属性)

Parameter

masterId

Required

Type

String

Description

Slurm集群管理节点Id

是否启用文件系统(仅通用计算区

可以使用)

并行文件系统规格:cpfs-

g(HDD), cpfs-e (SSD)

存储磁盘大小(以实际为准):c1 c2

c3

计算节点系统磁盘大小。单位:

GB, 默认20GB

计算节点系统磁盘类型。可选

值:_SSD SSD云盘

_EFFICIENCY 高效云盘

_ESSD ESSD云盘(仅通

用计算区可以使用)。默认为

CLOUD_EFFICIENCY

d否

boolean

stemType否

String

eType否

String

DiskSize否

Long

DiskCategory否

String

Request(请求)

Headers(HTTP头)

注: 请首先联系Cloudam获取API Token,token相当于密码,请妥善保护。

{

"Authorization": "Bearer ${token}",

"Content-Type": "application/json"

}

Body(请求体JSON)

{

"masterId": "602ce21cf5c8360001815ac5",

"fileSystem": {

"enabled":false,

"fileSystemType" : "cpfs-g",

"storageType":"c1"

},

"computeNode": {

"systemDiskSize": 50,

"systemDiskCategory": "CLOUD_SSD"

}

}

Response(响应) - 200

Headers(响应头)

{

"Content-Type": "application/json"

}

Body(响应体JSON) -- 正确响应

{

"errorCode": "0",

"message": ""

}

Response Body Attributes(响应Body属性)

Attribute

errorCode

message

Type

String

String

Description

错误代码,0表示成功

错误信息描述

本文标签: 文件作业使用节点计算