跳转至

术语表 · HPC 侧(调度、资源、环境)

读者:看到 squeue、NODELIST 这类输出不知道什么意思的人。 前置:无。 读完能做什么:看懂集群命令的输出,知道什么算正常。 环境锚点:本机 Slurm 集群(控制 .16/.17、计算 .18/.19/.20);来源 rainchen-env、lsf-simulation-env,核实日期 2026-10-13。

作业 job

  • 一句话:你交给集群去做的一件活。
  • 像什么:像去银行取号办业务;哪里不成立:取号后你必须在场,作业是你走开后集群替你办。
  • 在本机:一个仿真点 = 一个作业,由 ADE-XL 逐个丢给 Slurm。
  • 常见误解:以为提交完就在跑,其实可能一直在排队。

队列 queue(Slurm 叫分区 partition)

  • 一句话:一组机器的分组,作业要进某个组才排队。
  • 像什么:像食堂的不同窗口;哪里不成立:窗口是排一个队,队列是按优先级和资源匹配插队。
  • 在本机:compile(1 天)/ regression(8 小时)/ long(3 天);长仿真必须投 long。
  • 常见误解:以为队列先进先出。

提交作业(Slurm 用 sbatch,LSF 用 bsub)

  • 一句话:把写好的作业脚本交给调度器。
  • 像什么:像把快递交给驿站;哪里不成立:交给驿站就一定寄出,交给调度器可能只是"排队中"。
  • 在本机:本项目用 srun(前台阻塞),不用 sbatch——ADE-XL 要靠本地代理判断状态。
  • 常见误解:以为提交成功就是开始跑。

查看作业状态(Slurm 用 squeue,LSF 用 bjobs)

  • 一句话:看作业是排队还是运行中。
  • 像什么:像查快递物流;哪里不成立:物流只有一条轨迹,这里一次能看到一屏作业。
  • 在本机:squeue -u $USER。
  • 常见误解:看错作业号,看到的是别人的作业。

查看作业详情(Slurm 用 scontrol show job,LSF 用 bjobs -l)

  • 一句话:看作业跑在哪台机器、几点开始、为什么排队。
  • 像什么:像订单的详细页;哪里不成立:详情里的时间不一定是预计完成时间。
  • 在本机:我们主要看 squeue 的 NODELIST——判断有没有铺开到多台机。
  • 常见误解:以为详情里的时间是预计完成时间。

取消作业(Slurm 用 scancel,LSF 用 bkill)

  • 一句话:让调度器停掉作业。
  • 像什么:像撤单;哪里不成立:撤单立刻生效,取消后资源要等调度器回收。
  • 在本机:scancel <id>,禁通配(会误杀别人的作业)。
  • 常见误解:以为取消就立即释放资源。

查看队列清单(Slurm 用 sinfo,LSF 用 bqueues)

  • 一句话:看有哪些队列、各有多少机器和状态。
  • 像什么:像看停车场各层的空位牌;哪里不成立:空位牌是实时空位,机器状态 UP 不代表有空闲资源。
  • 在本机:四分区共 3 节点 × 8 CPU,全集群 24 核。
  • 常见误解:把机器状态 UP 当成一定有空闲机器。

历史记账(Slurm 用 sacct,LSF 用 bacct)

  • 一句话:查已结束作业的用量与退出状态。
  • 像什么:像话费账单;哪里不成立:账单是事后统计,记账还能看到失败原因。
  • 在本机:sacct。
  • 常见误解:以为作业结束就查不到。

作业数组(Slurm 用 --array)

  • 一句话:一次提交一批相似作业,只是编号不同。
  • 像什么:像群发一条短信给一列号码;哪里不成立:群发同时到,数组里每个作业仍要各自排队。
  • 在本机:本项目不用数组,由 ADE-XL 逐点派发。
  • 常见误解:以为数组里每个作业都会立刻跑。

作业依赖(Slurm 用 --dependency,LSF 用 -w)

  • 一句话:让一个作业等另一个完成再跑。
  • 像什么:像接力赛等前一棒交棒;哪里不成立:接力棒一定传到,依赖的前置作业失败后不会自动重跑。
  • 在本机:本项目未使用。

交互式作业(Slurm 用 srun,LSF 用 bsub -I)

  • 一句话:占着一台机器直接敲命令,不进批处理队列。
  • 像什么:像开一间自习室单独用;哪里不成立:自习室不受管理,交互式作业一样受队列与资源限制。
  • 在本机:进计算节点清 X 锁时用:srun -p long -N1 -n1 -w <node> -t 00:05:00 bash。
  • 常见误解:以为交互式不受队列限制。

模块 module(实现是 Lmod)

  • 一句话:一组切换工具版本的环境变量,加载后命令才找得到。
  • 像什么:像把工具箱搬到手边;哪里不成立:搬箱子是物理动作,module 只是改环境变量,没装任何东西。
  • 在本机:module load cadence && module load virtuoso/IC06.17.700(两阶段,不能合并、不能进管道)。
  • 常见误解:以为装了工具就能直接用,其实常常要先 load。

资源请求(Slurm 用 --mem、gres 等)

  • 一句话:告诉调度器你要几核、多少内存、要不要 GPU。
  • 像什么:像点餐时说"要大份";哪里不成立:点大份只是多付钱,资源要得超单机上限会永远排不上。
  • 在本机:本项目一点一核:srun -N1 -n1 -c1 -p long --mem=2G --mpi=none。
  • 常见误解:以为排队久一定是机器不够,也可能是资源要超上限。

账号与限额(Slurm 有账户与 QoS)

  • 一句话:你属于哪个账户、能排多长、能用多少。
  • 像什么:像信用卡额度;哪里不成立:额度是钱,这里是并发数与时长限制。
  • 在本机:见 adexl.distribute 的 maxJobFailPerPolicy=3(失败阈值)。
  • 常见误解:以为排队久一定是机器不够,其实是限额。

NODELIST / %R(作业落在哪些节点)

  • 一句话:squeue 里显示这个作业跑在哪几台机器上。
  • 像什么:像外卖显示骑手位置;哪里不成立:位置是动态的,这里显示的是作业已分配的节点。
  • 在本机:判断负载有没有铺开的关键列。6 个点全落同一台 → 慢,见 concept.md。
  • 常见误解:以为一台机器上跑多个点更快(其实会互相抢 CPU)。

作业残骸(SE / JobHeldUser)

  • 一句话:作业失败后滞留在队列里的空壳。
  • 像什么:像没取消的挂号;哪里不成立:挂号不影响别人,残骸会堵住后续派发。
  • 在本机:squeue 见 SE/JobHeldUser → scancel <id> 清掉即恢复,见 howto-hpc.md。
  • 常见误解:以为失败作业会自己消失。

相关


来源:/home/rain/Documents/eda_tools_ins/design/docs/kb/glossary-hpc.md | 最后更新:2026-10-13 00:49(由 build/sync.py 同步,请勿在站点侧修改)