sbcast

部分:Slurm 命令 (1)
更新:Slurm 命令
索引

 

名称

sbcast - 将文件传输到分配给 Slurm 作业的节点。

 

概要

sbcast [-CfFjpstvV] 源 目标

 

描述

sbcast 用于将文件传输到当前活动的 Slurm 作业分配的所有节点。 此命令应仅在 Slurm 批处理作业内部或在 Slurm 作业资源分配后生成的 shell 中执行。 SOURCE 是当前节点上的文件名。 DEST 应该是要在每个节点上创建的文件副本的完全合格路径名。 如果未提供完全合格的路径名,则文件将在 slurm.conf 文件中的 BcastParameters 参数指定的目录中创建(如果可用),否则将在从中调用 sbcast 命令的当前工作目录中创建。 DEST 应该位于该节点的本地文件系统上。 请注意,平行文件系统 可能 提供比 sbcast 更好的性能,尽管性能会因文件大小、并行度和网络类型而异。

 

选项

-C, --compress[=library]
压缩正在传输的文件。 可选参数指定要使用的数据压缩库。 支持的值为 "lz4"(默认)和 "none"。 某些压缩库可能在某些系统上不可用。 默认压缩库(以及启用压缩本身)可以在 slurm.conf 文件中使用 BcastParameters 选项进行设置。

--exclude=<NONE|path1,...,pathN>
在自动检测和广播可执行共享对象依赖项时要排除的绝对目录路径的逗号分隔列表。如果配置了关键字 "NONE",则不会排除任何目录路径。 默认值为 slurm.conf 中的 BcastExclude,此选项将覆盖它。另请参见 --send-libs

-f, --force
如果目标文件(以及使用 --send-libs 时的目标库目录)已经存在,则替换它。

-j, --jobid=<jobID[+hetjobOffset].[stepID]>
指定要使用的作业 ID,带有可选的 hetjob 偏移和/或步骤 ID。如果在分配内运行,则不需要此项,因为作业 ID 将从环境中读取。

-Z, --no-allocation
将文件传输到节点列表,而不考虑它们可能正在运行的作业。 这只能由 SlurmUser/root 完成。

--nodelist 必须与此选项一起使用。

-w, --nodelist=<node_name_list>
要传输文件的主机列表。这些节点必须是目标作业的子集,或者必须使用 --no-allocation 选项。

-p, --preserve
保留原始文件的修改时间、访问时间和模式。

--send-libs[=yes|no]
如果设置为 yes(或没有参数),则自动检测并广播可执行文件的共享对象依赖项到分配的计算节点。文件放置在与可执行文件并排的目录中。这将覆盖在 slurm.conf 中配置的默认行为 SbcastParameters send_libs。另请参见 --exclude

-s, --size=<size>
指定用于文件广播的块大小。 大小可以有 km 的后缀,分别表示千字节或兆字节(默认为字节)。 此大小受舍入和范围限制,以保持良好的性能。 默认值为文件大小或 8MB,以较小者为准。 在内存非常有限的系统上,可能需要设置此值。

-t, --timeout=<seconds>
指定消息超时时间(以秒为单位)。 默认值为 MessageTimeout,由 "scontrol show config" 报告。 由于计算节点磁盘的 I/O 性能相对较慢,可能需要设置更高的值。

-F, --treewidth=<number>
指定用于文件传输的消息树宽度。 当前最大值为 64。值为 "off" 将禁用扇出。

-v, --verbose
通过程序执行提供详细的事件日志。

-V, --version
打印版本信息并退出。

 

性能

执行 sbcast 会向 slurmctld 发送远程过程调用。 如果来自 sbcast 或其他向 slurmctld 守护进程发送远程过程调用的 Slurm 客户端命令的调用过于频繁,可能会导致 slurmctld 守护进程的性能下降,可能导致服务拒绝。

请勿在 shell 脚本或其他程序的循环中运行 sbcast 或其他发送远程过程调用到 slurmctld 的 Slurm 客户端命令。确保程序将对 sbcast 的调用限制在收集所需信息的最低限度。

 

环境变量

某些 sbcast 选项可以通过环境变量设置。 这些环境变量及其对应的选项如下所示。(注意:命令行选项将始终覆盖这些设置。)

SBCAST_COMPRESS
-C, --compress

SBCAST_EXCLUDE
--exclude=<NONE|path1,...,pathN>

SBCAST_FANOUT
-F number, --fanout=number

SBCAST_FORCE
-f, --force

SBCAST_SEND_LIBS
--send-libs[=yes|no]

SBCAST_PRESERVE
-p, --preserve

SBCAST_SIZE
-s size, --size=size

SBCAST_TIMEOUT
-t seconds, --timeout=seconds

SLURM_CONF
Slurm 配置文件的位置。

SLURM_DEBUG_FLAGS
指定 sbcast 使用的调试标志。有关完整的标志列表,请参见 slurm.conf(5) 手册页。环境变量优先于 slurm.conf 中的设置。

 

授权

使用 SlurmDBD 时,具有定义的 AdminLevel(操作员或管理员)的用户被授予在其他用户作业上调用 sbcast 的权限。

 

示例

使用批处理脚本,将本地文件 my.prog 传输到本地节点上的 /tmp/my.proc,然后执行它。

$ cat my.job
#!/bin/bash
sbcast my.prog /tmp/my.prog
srun /tmp/my.prog

$ sbatch --nodes=8 my.job
srun: jobid 12345 submitted

 

版权

版权所有 (C) 2006-2010 加州大学理事会。 在劳伦斯利弗莫尔国家实验室制作(参见免责声明)。
版权所有 (C) 2010-2022 SchedMD LLC。

此文件是 Slurm 的一部分,Slurm 是一个资源管理程序。 有关详细信息,请参见 <https://slurm.schedmd.com/>。

Slurm 是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证的版本 2,或(根据您的选择)任何更高版本。

Slurm 的分发是希望它会有用,但不提供任何担保;甚至不提供适销性或特定用途适用性的默示担保。有关详细信息,请参见 GNU 通用公共许可证。

 

另见

srun(1)


 

索引

名称
概要
描述
选项
性能
环境变量
授权
示例
版权
另见

此文档由 man2html 使用手册页创建。
时间:2025年7月2日 13:21:56 GMT