集群使用手册
探索1000集群
文档中关于Xshell可能出现的问题
文档中提到的使用 Xshell 连接可能会遇到一些问题。为了避免这些潜在的麻烦,我们建议直接使用系统自带的终端工具,不一定非要使用 Xshell。例如,Mac 用户可以使用自带的终端,Windows 用户可以选择使用 CMD 或 PowerShell,直接通过 ssh thuscc25teamxx@192.168.11.1 进行连接即可。这样可以更加简便和稳定
VPN 连接
虚拟私人网络(VPN)是一种通过网络虚拟化技术,将私有网络扩展到公有网络(如互联网)上的技术。它通过加密和隧道协议来实现这一目标。在 VPN 中,隧道协议被用来将网络消息从一个网络主机传输到另一个网络主机,从而确保数据传输的安全性。
大家可以参照集群使用文档或者培训文档下载和使用VPN,账号和密码见微信群通知
集群访问 SSH
SSH(Secure Shell)是一种用于计算机之间加密通信的网络协议。它主要用于远程登录和执行命令,同时提供强大的加密和身份验证功能,确保通信的安全性。SSH 是管理员和开发人员日常工作中常用的工具之一。通常来说,个人 PC 和任何你能接触到的现代集群都预装了 SSH 客户端和服务器。因此你可以开始直接尝试使用:
- 使用 user 用户名登录到 host 服务器(使用默认端口号22):
- 使用 user 用户名登录到 host 服务器(使用其他端口号,如2222):
- 如果你希望执行命令而不是启动交互会话,可以使用:
- 生成属于你的密钥对,可以加上
-C your_email设置密钥对应的邮箱。通常来说,生成的密钥会保存在~/.ssh目录下,将你的公钥复制到服务器的~/.ssh/authorized_keys文件中你就可以凭借本地的私钥实现免密登录。
我们强烈不建议你在任何情况下将你的私钥放置于任何服务器的任何目录下。这会给你的个人信息安全和服务器安全带来难以想象的毁灭性打击。
更多相关知识参见What is SSH (Secure Shell)? | SSH Academy
终端多路复用:TMUX
在远程访问任何集群,特别是计算节点和登录节点分离的集群的时候。我们强烈不建议你使用
nohup或者&的方法将进程挂在后台运行,这会给集群的稳定运行带来不必要的困扰。如果你存在类似的需求,请务必学习下面介绍的工具。
在远程访问使用集群的时候,稳定的命令行环境能够大大提高我们的工作效率。如果你希望在同一个终端下使用多个独立的环境,或者保证你的终端在网络波动导致掉线的时候仍能保持稳定,tmux 工具是一个好的选择。
A Quick and Easy Guide to tmux - Ham Vocke
你可以参考上面链接中的快速上手教程,或者仅仅简单学会使用以下指令:
- 如果你已经想好了一个动听的名字
$NAME,你可以使用以下命令新建会话:
- 如果你想查看当前所有会话:
- 如果你在会话中,并且希望暂时离开会话,以下两个指令均可:
- 如果你在会话中,并且希望永久关闭会话:
- 如果你需要重新连接之前暂时离开的对话,使用以下两个指令均可:
更多知识参见Getting Started · tmux/tmux Wiki · GitHub
环境配置 Module
Modules 是一种环境管理工具,用于在 Unix 和 Linux 系统上动态地修改用户的环境。它允许用户方便地加载、卸载和切换软件包及其版本,避免了环境变量冲突和混乱。Modules 工具特别适用于科学计算和高性能计算(HPC)环境。
如果集群本身自动配置了 Module 环境,你可以直接开始使用(对于比赛中你会接触到的集群,当然如此)。否则可以向管理员询问 Module 环境的初始化脚本路径。
- 如果要查询系统上的可用模块,可以使用以下命令。如果结果太多,可以使用
grep指令对你希望的目标进行筛选。
- 如果你希望加载一个模块
$MOD
- 如果你希望卸载一个模块
$MOD
- 如果你希望显示当前环境已经加载的模块:
- 如果你需要查看一个模块的详细信息:
更多知识/详细文档参见:module — Modules documentation
任务提交 Slurm
SLURM(Simple Linux Utility for Resource Management)是一种开源的、高度可扩展的集群管理和作业调度系统,广泛应用于高性能计算(HPC)环境中。SLURM 提供了对计算资源的高效管理和调度功能,支持各种作业类型和调度策略。
核心组件:
- Slurmctld:主控制守护进程,管理作业队列和资源分配。
- Slurmd:计算节点守护进程,负责执行和管理作业。
- Slurmdbd:数据库守护进程,管理作业和资源使用数据(可选)。
-
Slurm CLI:命令行工具,用于用户提交、管理和监控作业。
-
如果你希望查看当前作业队列状态(其中 user 是你的用户名):
- 如果你希望查看当前 SLURM 管理的所有集群节点信息:
- 交互式提交
你可以使用如下命令进行任务$MISSION的提交:
其他可选项:
--job-name=job_name:指定作业名。
--output=filename:指定标准输出文件。
--error=filename:指定标准错误文件。
--ntasks=num:指定任务数。
--cpus-per-task=num:指定每个任务使用的 CPU 数。
--mem=memory:指定每个节点分配的内存大小。
--time=HH:MM:SS:指定作业的运行时间。
--partition=partition_name:指定作业提交的分区
- 脚本提交
你可以创建一个名为job.slurm的脚本(当然也可以是其他名字):
#!/bin/bash
#SBATCH --job-name=my_job # 作业名
#SBATCH --output=my_job.out # 标准输出文件
#SBATCH --error=my_job.err # 标准错误文件
#SBATCH --ntasks=1 # 任务数
#SBATCH --time=01:00:00 # 运行时间 (HH:MM:SS)
#SBATCH --partition=default # 分区
# 加载必要的模块 (如果使用模块环境管理工具)
module load python/3.8
# 执行命令
python my_script.py
然后使用 sbatch 提交作业:
- 对于给定的
$JOBID,如果你想取消任务:
并行集群
集群访问 - 并行科技云平台
并行科技为所有清华学生提供了免费的算力券,请使用其中的“集群”功能进行比赛。
使用方法:
-
访问算力券网址:https://easycompute.cs.tsinghua.edu.cn/login,点击“登录领券/使用”,使用队长的清华ID进行登录,登录后可以看到余额情况。点击“点击使用”进入智算云平台。
-
点击上方的“集群”,选择集群资源类型并点击“立即使用”即可进入云桌面。(注意:集群详细操作可以参考“集群”界面的帮助文档)
-
进入云桌面后,点击 “SSH” 后“连接”即可连接上并行集群。
费用查询
在云桌面中点击“控制台”图标进入控制台,点击“计费中心”查看金额使用情况。
集群使用
集群使用文档可以在“集群”界面的“帮助文档”一栏获取。终端复用、环境配置、任务提交方法与上面相似,详细请参考帮助文档的说明。
华为集群
即将公布