尝试运行作业 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

尝试运行作业

如果您在尝试运行作业时遇到问题,以下部分提供了可能的故障排除解决方案。

srun 交互式作业失败并显示错误“srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf

  • 为什么失败?

    您运行srun命令来提交作业,然后在不重新启动的情况下使用该pcluster update-cluster命令增加了队列的大小 Slurm 更新完成后的守护程序。

    Slurm 组织 Slurm 树层次结构中的守护程序用于优化通信。只有在进程守护程序启动时才会更新此层次结构。

    假设您使用 srun 启动一个作业,然后运行 pcluster update-cluster 命令提高队列的大小。新计算节点在更新过程中启动。然后,Slurm 将您的任务排队到其中一个新的计算节点。在本例中,两者都是 Slurm 守护程序并且srun不会检测到新的计算节点。 srun返回错误,因为它未检测到新节点。

  • 如何解决?

    重新启动 Slurm 所有计算节点上的守护程序,然后使用srun来提交您的作业。你可以安排 Slurm 守护程序通过运行重新启动计算节点的scontrol reboot命令来重新启动。有关更多信息,请参阅 scontrol reboot 中的 Slurm 文档中)。您也可以手动重启 Slurm 通过请求重启相应的systemd服务来在计算节点上运行守护程序。

运行 squeue 命令时,作业卡在 CF 状态

这可能是动态节点启动的问题。有关更多信息,请参阅 在计算节点初始化过程中看到错误

运行大型作业并看到“nfsd: too many open connections, consider increasing the number of threads in /var/log/messages

对于联网的文件系统,当达到网络限制时,I/O 等待时间也会增加。这可能会导致软锁定,因为网络同时用于写入网络数据和 I/O 指标数据。

对于第 5 代实例,我们使用ENA驱动程序来公开数据包计数器。这些计数器计算网络达到实例带宽限制 Amazon 时形成的数据包。您可以检查这些计数器以查看它们是否大于 0。如果是,则说明您已超出带宽限制。您可以通过运行 ethtool -S eth0 | grep exceeded 来查看这些计数器。

超出网络限制通常是由于支持过多的NFS连接。当达到或超过网络限制时,这是首先要检查的因素之一。

例如,以下输出显示已丢弃程序包:

$ ethtool -S eth0 | grep exceeded bw_in_allowance_exceeded: 38750610 bw_out_allowance_exceeded: 1165693 pps_allowance_exceeded: 103 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0

为避免收到此消息,请考虑将头节点实例类型更改为性能更高的实例类型。考虑将您的数据存储移至未作为共享导出的共享存储文件系统,例如 Amazon EFS 或 Amazon FSx。NFS有关更多信息,请参阅 共享存储 Amazon ParallelCluster Wiki 上的 “最佳实践” GitHub。

运行作MPI业

启用调试模式

要启用 Open MPI 调试模式,请参阅 Open MPI 有哪些控件可以帮助调试

要启用英特尔MPI调试模式,请参阅其他环境变量

在作业输出中看到 MPI_ERRORS_ARE_FATALOPAL ERROR

这些错误代码来自应用程序中的MPI层。要了解如何从应用程序获取MPI调试日志,请参阅启用调试模式

导致此错误的一个可能原因是,您的应用程序已针对特定的MPI实现(例如 Open)进行编译MPI,而您正在尝试使用其他MPI实现(例如 Intel)运行该应用程序MPI。确保编译和运行应用程序时都使用相同的MPI实现。

在DNS禁mpirun用托管的情况下使用

对于在 SlurmSettings/Dn s/DisableManagedDnsUseEc2Hostnames 设置为的情况下创建的集群,trueSlurm 无法解析节点名称DNS。Slurm 如果nodenames未启用且MPI作业在 a 中运行,则可以引导MPI进程 Slurm 上下文。我们建议按照中的指导进行操作 Slurm MPI运行MPI作业的用户指南 Slurm.