跳转至

2. 快速开始

本章帮助新用户以最短时间上手计算平台:申请账号、登录集群、管理文件、提交第一个作业。

2.1 用户账号

用户首先需要拥有计算环境用户账号才能使用计算资源。

用户账号申请

密码说明

集群密码与统一认证一致,无需再次设置,如果统一认证密码修改,集群密码也会同步更新。

2.2 命令行登录

Linux、macOS、Windows 三种系统均可登录集群,推荐使用 Linux/macOS 系统登录。

Windows 10 及以上版本推荐使用 Windows Terminal 登录;其余版本需要安装第三方软件,通过 SSH 客户端软件登录。更多详细信息请参考 4.1 账号申请。

ssh [用户名]@lxlogin.ihep.ac.cn
# 在 SSH 客户端输入以下命令
ssh [用户名]@lxlogin.ihep.ac.cn

2.3 文件管理

文件目录

用户登录后,默认进入用户家目录,即 /afs/ihep.ac.cn/users/xxx/xxx。 用户家目录下有 .bashrc 文件,该文件在用户登录时自动执行。

建议用户个人文件存储位置:

目录 存储内容 单用户配额
/afs/ihep.ac.cn/users/xxxx/[username] 登录配置文件 500M
/scratchfs/xxxx 用户临时文件 500G
/workfs/xxxx 用户个人文件 50G

建议实验数据存储于各实验对应目录下,可在文件系统查看具体信息和存储限额等情况。

文件上传下载

# 登录(上传、下载均在此会话中进行)
lftp ftp://lxlogin.ihep.ac.cn/afs -u [用户名] [密码]

# 进入 lftp 后下载文件
mget [文件名]
# 登录
sftp -oPort=20 lxlogin.ihep.ac.cn

# 进入 sftp 后下载文件
get [文件名]

2.4 作业提交

HTCondor 作业

HTCondor 是一款在高能物理计算领域较流行的开源批处理系统,支持大规模计算集群,具有较高灵活性,特别适用于高能所高吞吐量的作业与计算资源调度。根据计算集群的实际情况,计算中心优化 HTCondor 功能与性能以及开发集中管理、监控等配套系统,部署实施了基于 HTCondor 的高吞吐量调度系统。目前 HTCondor 系统支持 BES、JUNO、DYB、LHAASO、HXMT 等高能所绝大部分实验。

export PATH=/afs/ihep.ac.cn/soft/common/sysgroup/hep_job/bin/:$PATH
setenv PATH /afs/ihep.ac.cn/soft/common/sysgroup/hep_job/bin/:$PATH
  1. 准备作业脚本

    将作业脚本上传至对应目录下,例如:/workfs/xxx/test.sh,或进入对应目录,使用 vi test.sh 创建脚本。

    一个简单的 shell 脚本如下:

    #!/bin/sh
    echo "Hello, World!"
    
  2. 脚本可执行权限配置

    # 查看脚本权限
    ls -l test.sh
    # 输出:-rw-r--r-- 1 xxx xxx 23 08-27 16:54 test.sh
    # 修改脚本权限
    chmod +x test.sh
    # 再次查看脚本权限
    ls -l test.sh
    # 输出:-rwxr--r-- 1 xxx xxx 23 08-27 16:54 test.sh
    
  3. 提交作业

    hep_sub test.sh -g [group_name]   # group_name 为用户想要使用的资源所属的用户组
    
  4. 查看作业状态

    hep_q -u [username]   # username 为用户想要查看作业的用户
    

    输出结果如下:

    JOBID  OWNER    SUBMITTIME         RUN_TIME      ST    PRI SIZE        CMD
    5519.0  xxx      2019-08-27 16:54   0+00:00:00     0       0.0         test.sh
    

    JOBID 为作业号,OWNER 为作业所属用户,SUBMITTIME 为提交时间,RUN_TIME 为运行时间,ST 为状态,PRI 为优先级,SIZE 为占用虚拟内存大小,CMD 为作业程序名。

  5. 取消作业

    (1)根据作业 ID 删除作业,支持多个作业同时删除,例如,删除作业 5519 和 5520,命令如下:

    hep_rm 5519.0 5520.0
    

    (2)根据用户删除作业,例如,删除当前用户的所有作业,命令如下:

    hep_rm -a
    

Slurm 作业

Slurm 是一款开源的集群管理器和作业调度系统,支持多种计算节点类型,包括 GPU、CPU 等。 Slurm 作业提交方式如下:

  1. 准备作业脚本

    使用自己喜欢的编辑器如 vim 或者 emacs 编辑待提交的作业脚本。样例作业脚本可在如下路径中找到 /cvmfs/common.ihep.ac.cn/software/slurm_sample_script:

    ssh <AFS_user_name>@lxlogin.ihep.ac.cn
    cd /cvmfs/common.ihep.ac.cn/software/slurm_sample_script
    ls -lht
    

    Slurm 模板目录

    图 2-1 Slurm 模板目录

    最简单的样例脚本为:

    cat slurm_sample_script_2.sh
    

    Slurm 作业脚本模板

    图 2-2 Slurm 作业脚本模板

    在脚本中:

    (1)定义好需要的变量,如 VAR1、VAR2;

    (2)如果需要运行自己的脚本程序,则使用 srun 命令来启动,并且将 /path/to/your/script 修改为自己的脚本文件名;

    (3)如果需要运行并行程序,则首先使用 srun 命令来触发资源分配,接下来可以使用 mpiexec 命令来运行并行程序。同样地,/path/to/your/mpi_program 需要修改为自己的并行程序路径名。

  2. 提交作业

    脚本文件编辑好以后,准备提交,所使用的提交命令如下所示:

    hep_sub -slurm -part <partition_name> -g <group_name> -np <cpu_core_number> slurm_sample_script_2.sh
    

    其中:

    (1)<partition_name> 是队列名称,可使用的队列名称可使用 hep_clus 命令查到:

    hep_clus -slurm
    

    得到的结果如下所示:

    hep_clus 输出示例

    图 2-3 hep_clus 输出示例

    可使用的队列名称如第一列所示。如果不确定自己需要哪个队列,可使用选项向 comp 队列提交作业,这是集群的默认队列。

    (2)<group_name> 是作业所属的组名。例如,如果待提交的作业是属于 BES 实验的 offline 组,则使用 -g offline 来指定作业所属组。

    (3)<cpu_core_number> 是作业运行所需要的 CPU 核数。例如,如果需要 30 个 CPU 核,则使用 -np 30 选项来指定。

    如上所述,如果要向队列 comp 提交一个作业脚本文件 slurm_sample_script_2.sh,该作业属于 offline 组,并且需要 30 个 CPU 核的话,所使用的提交命令为:

    hep_sub -slurm -part comp -g offline -np 30 slurm_sample_script_2.sh
    

    注意

    队列名和作业所属组名必须提供,否则作业提交不会成功。

  3. 查看作业状态

    作业提交以后,hep_sub 会返回一个作业 ID 号,该 ID 号可以用来查看作业,所使用的命令为:

    hep_q -slurm -i <job_id>
    

    其中 <job_id> 即为 hep_sub 返回的作业 ID 号。

  4. 获取作业结果

    作业运行结束后,若没有指定输出目录,默认的作业结果将会存放在用户提交作业的目录下,输出文件格式为 <job_id>.out。其中,<job_id> 是作业 ID 号。例如如果作业 ID 号为 1234,那么输出文件名称为 1234.out。

2.5 软件使用

平台使用 module 命令加载软件环境,具体使用方法请参考手册 7.1 环境配置。 下面仅以 Python 为例,介绍如何使用 Python 软件。

  1. 加载 Python 软件环境

    module load python/3.7
    
  2. 验证 Python 环境

    python
    Python 3.7.0 (default, Aug 27 2019, 16:54:48)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
  3. 退出 Python 环境

    >>> exit()
    

常见问题(FAQ)

见常见问题。

🤖 AI 助手
💬 快速提问 ×

有问题?输入后跳转到对话页继续交流