HPC命令行工具协同多瑙调度器使用
对接准备
HPC命令行工具可支持多瑙调度场景下mpi应用的采集分析,需用户提供在多瑙调度场景下提交的作业脚本(以下统称为“原生脚本”),命令行工具执行taskfile配置文件。
hpccollector为工具程序,通过结合原生脚本中mpirun命令行和taskfile文件中任务配置信息,可转换原生脚本中mpirun命令为hpccollector的采集命令。
taskfile配置文件可通过命令INSTALL_PATH/hpccollector -g生成,配置文件参数设置可参见示例:
# Task 2 task_type = statistics //任务类型 mpirun_arg = //mpirun参数 application = /hpc/mpi_app //指定应用路径 application_arg = //指定应用的参数 mpi_only = 1 //开启只采集mpi指标功能 sys_sampling = 1 //开启采集系统性能功能 subtask_time = 1 //显示子任务时间 profile_level = summary //采集等级 critical_path = 1 //采集critical path指标 duration_s = 300 //采样时长 delay_s = 0 //延时采样时长
原生脚本中对mpirun命令需满足以下要求:
- mpirun命令所在行必须为命令执行的一行。
- mpirun命令必须以mpirun命令开头,支持绝对路径或相对路径,如:mpirun|path/mpirun mpirun_param application application_param。
- 当原生脚本中出现多条mpirun命令时,只可选择其中一条mpirun命令进行转换。
- taskfile文件中的应用路径与原始脚本mpirun命令中的应用路径必须完全一致。
详细操作
- 对接多瑙
命令行支持原生脚本中mpirun命令的转换。使用-script参数指定原生脚本路径和-tf参数指定task_file中已配置任务,可转换原生脚本中mpirun命令为hpccollector的采集命令。当同一个脚本中匹配出多个mpirun命令时,可在交互中选择需要改造的mpirun命令的id值。
以“# Task 2”为例,使用命令:/INSTALL_PATH/hpccollector -script /INSTALL_PATH/test.sh -tf /INSTALL_PATH/task_file.txt:2
当命令转换成功后,可选择直接修改原生脚本(即将原生脚本中的mpirun命令替换为hpccollector的采集命令)或生成新的作业脚本(新的作业脚本中已替换mpirun命令)
- 任务采集
与原多瑙调度场景下作业提交方式一致,可使用dsub -n test.sh命令提交作业,更多多瑙提交作业详情可参见《HPC 22.0.RC1 产品文档》的“用户指南>多瑙调度器>作业生命周期管理>提交作业>提交简单作业”章节。
当在脚本转换选择生成新的作业脚本时,提交作业时就需要提交新的作业脚本。
- 任务取消与停止
在多瑙调度场景下的采集任务取消和停止,需要通过hpcmanager工具实现,hpcmanager工具详细介绍可查看hpcmanager_readme.txt。
任务取消命令:INSTALL_PATH/hpcmanager -c
任务终止停止:INSTALL_PATH/hpcmanager -a
- 任务信息查询
任务执行结果可以hpcmanager来查看,可查询当前执行任务的状态或历史任务基本信息等,并可以通过任务id查询到该任务的具体信息。
任务信息查询命令:INSTALL_PATH/hpcmanager -q
+--+----------+------------------+---------------+-------------------+-------------------+----------+--------+ |id|task_type |application |application_arg|start_time |end_time |duration_s|status | +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+ |1 |system |- |- |2023-05-17 11:01:36|- |300 |Canceled| +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+ |2 |system |- |- |2023-05-17 11:01:44|2023-05-17 11:01:53|300 |Success | +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+ |3 |system |- |- |2023-05-17 11:02:11|2023-05-17 11:02:52|300 |Success | +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+ Enter 'id' to query the task details. Use 'q' to exit:
界面显示所有任务的简单信息,信息下方可进入用户交互模式,输入任务“id”可查询任务详细信息;详细信息查询结果如下:
[task_file_pattern] task_type = statistics mpirun_command = /opt/FENG/hmpi/bin/mpirun mpirun_arg = --allow-run-as-root -H 90.90.xxx.xx:4 application = /opt/testdemo/ring application_arg = mpi_only = 0 sys_sampling = 0 subtask_time = 1 profile_level = summary critical_path = 0 duration_s = 300 delay_s = unlimited = 0 [run_time_info] start_time = 2023-05-17 16:09:32 end_time = 2023-05-17 16:09:37 status = Success package_path = /home//Hyper-Tuner_linux_HPC-Tools/package/mpitask_20230517-160937.tar report_command = runtime_taskfile = /home//Hyper-Tuner_linux_HPC-Tools/task_file.txt
- 任务结果查看
任务结果查看需要通过hpcreport工具实现,hpcreport工具参数说明如表2、表4和表5所示。
当采集任务执行结束后可通过hpcmanager工具查询到该任务的详细信息,并获取到package_path(即任务数据结果路径),结合hpcreport工具可查看任务数据结果。
任务结果查看命令示例:INSTALL_PATH/hpcreport -i package_path