一、LSF 的核心作用

  1. 作业调度
    • 将用户提交的计算任务(作业)动态分配到集群中的空闲计算节点。
    • 支持优先级调度、资源预留、抢占式调度等策略。
  2. 资源管理
    • 实时监控集群资源(CPU、内存、GPU、存储等)使用情况。
    • 根据作业需求自动分配资源,避免资源争用。
  3. 负载均衡
    • 通过动态调整作业分布,最大化集群资源利用率。
  4. 作业依赖管理
    • 支持作业间的依赖关系(如某作业需在其他作业完成后启动)。
  5. 容错与日志管理
    • 自动重试失败作业,记录作业执行日志。

二、LSF 的典型应用场景

场景 说明
科学计算 如分子动力学模拟、气候建模、基因测序分析等需大规模并行计算的任务。
工程仿真 有限元分析(FEA)、计算流体力学(CFD)等需要多节点协作的仿真任务。
大数据处理 Hadoop/Spark 任务调度、ETL 数据处理等。
AI/深度学习 分布式训练任务(如 TensorFlow/PyTorch)的 GPU 资源分配与管理。
企业级批处理 金融风险分析、日志批量处理等周期性任务。

三、LSF 常用命令与配置实例

1. 提交作业

# 提交一个单核作业到默认队列,指定输出日志
bsub -o job.log -J my_job "python script.py"

# 提交多核作业(4核),指定内存(8GB)和队列(normal)
bsub -n 4 -M 8192 -q normal -R "span[hosts=1]" "mpirun ./simulation"

# 提交 GPU 作业(2块 GPU)
bsub -gpu "num=2:mode=shared" -q gpu_queue "python train.py"

2. 查看作业状态

# 查看所有作业
bjobs -a

# 查看特定作业详细信息
bjobs -l 12345  # 12345 为作业ID

# 查看队列资源占用
bqueues -l normal

3. 终止作业

# 终止单个作业
bkill 12345

# 终止用户所有作业
bkill -u username 0

4. 查看集群节点状态

# 显示所有节点资源使用情况
bhosts

# 显示节点详细信息(包含 GPU 状态)
lshosts -w  # 显示节点负载
lsload      # 显示节点实时负载

5. 作业依赖配置

# 提交一个依赖作业(job2 需在 job1 完成后运行)
job1_id=$(bsub -J job1 "sleep 60" | awk '{print $2}' | tr -d '<>' )
bsub -w "done($job1_id)" -J job2 "python step2.py"

四、作业脚本示例

以下是一个典型的 LSF 作业脚本 submit.lsf

#!/bin/bash
#BSUB -J simulation         # 作业名称
#BSUB -q high_priority      # 指定队列
#BSUB -n 8                  # 申请 8 核
#BSUB -R "rusage[mem=4096]" # 每核内存 4GB
#BSUB -o %J.out             # 输出日志
#BSUB -e %J.err             # 错误日志

# 加载环境模块
module load intel/2020
module load openmpi/4.0

# 执行任务
mpirun -np 8 ./my_simulation

提交脚本

bsub < submit.lsf

五、关键配置文件

  1. LSF 集群配置
    • 主配置文件:lsf.conf(定义集群参数,如调度策略、资源限制)。
    • 队列配置:lsb.queues(定义队列资源配额、权限等)。
  2. 资源模板
    • lsf.shared:定义共享资源(如 GPU、软件许可证)。

六、常见问题排查

  1. 作业长时间排队
    • 检查队列资源配额:bqueues -l queue_name
    • 调整作业资源请求(如减少核心数)。
  2. 作业失败
    • 查看错误日志:cat job_id.err
    • 检查命令语法或依赖环境是否配置正确。
  3. 节点资源不足
    • 使用 bhostslsload 监控节点负载。
    • 联系管理员扩展集群资源。

通过上述命令和配置,用户可以高效管理 HPC 集群任务,充分利用计算资源。对于复杂场景,建议结合 LSF 文档和实际需求进一步优化调度策略。

posted on 2025-04-08 16:12  LeeHang  阅读(422)  评论(0)    收藏  举报