ジョブの実行を試行する - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ジョブの実行を試行する

srun のインタラクティブなジョブがエラー srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf で失敗する

  • 失敗した原因

    srun コマンドを実行してジョブを送信し、更新が完了した後、Slurm デーモンを再起動せずに pcluster update-cluster コマンドを使用してキューサイズを増やしました。

    Slurm は、Slurm デーモンをツリー階層に整理して通信を最適化します。この階層は、デーモンが開始するときにのみ更新されます。

    srun を使用してジョブを起動し、pcluster update-cluster コマンドを実行してキューサイズを増やすとします。新しいコンピューティングノードは、更新の一環として起動します。次に、Slurm は、新しいコンピューティングノードの 1 つに、ジョブをキューに入れます。この場合、Slurm デーモンと srun の両方は新しいコンピューティングノードを検出しません。srun は新しいノードを検出しないため、エラーを返します。

  • 解決方法

    すべてのコンピューティングノードで Slurm デーモンを再起動し、srun を使用してジョブを送信します。コンピューティングノードを再起動する scontrol reboot コマンドを実行することにより、Slurm デーモンの再起動をスケジュールできます。詳細については、「Slurm ドキュメント」の「scontrol reboot」を参照してください。また、対応する systemd サービスの再起動をリクエストすることにより、コンピューティングノードで Slurm デーモンを手動で再起動することもできます。

ジョブが squeue コマンドで、CF 状態でスタックしている

これは、動的ノードの電源を入れる時の問題である可能性があります。詳細については、「コンピューティンティングノードの初期化のエラーが表示されている」を参照してください。

大規模なジョブを実行し、nfsd: too many open connections, consider increasing the number of threads in /var/log/messages が表示されている

ネットワークに接続されたファイルシステムでは、ネットワークの制限に到達すると、I/O の待機時間も増加します。ネットワークと I/O メトリクスの両方のデータを書き込むのにネットワークが使用されるため、これによりソフトロックアップになることがあります。

第 5 世代のインスタンスでは、ENA ドライバーを使用してパケットカウンターを公開します。これらのカウンターは、ネットワークがインスタンス帯域幅の制限に達した AWS ときに によって形成されたパケットをカウントします。これらのカウンターを確認して 0 より大きいかどうかを確認できます。その場合、帯域幅制限を超えていることになります。ethtool -S eth0 | grep exceeded を実行するとこれらのカウンターが表示されます。

サポートする NFS 接続が多すぎると、多くの場合、ネットワーク制限を超えます。これは、ネットワークの制限に到達したり、それを超えたりしたときに最初に確認することの 1 つです。

例えば、次の出力にドロップされたパッケージを示します。

$ 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 共有としてエクスポートされていない共有ストレージファイルシステムに移行することを検討します。詳細については、共有ストレージ「」および「 の AWS ParallelCluster Wiki のベストプラクティス」を参照してください GitHub。

MPI ジョブを実行する

デバッグモードを有効にする

OpenMPI デバッグモードを有効にするには、「What controls does Open MPI have that aid in debugging」を参照してください。

IntelMPI デバッグモードを有効にするには、「Other Environment Variables」を参照してください。

ジョブ出力の MPI_ERRORS_ARE_FATALOPAL ERROR が表示されている

これらのエラーコードはアプリケーションの MPI レイヤーから発生します。アプリケーションから MPI デバッグログを取得する方法については、「デバッグモードを有効にする」を参照してください。

このエラーの考えられる原因として、アプリケーションが OpenMPI などの特定の MPI 実装用にコンパイルされており、IntelMPI などの別の MPI 実装で実行しようとしていることがあります。アプリケーションのコンパイルと実行の両方で、同じ MPI 実装を使用していることを確認します。

マネージド DNS を無効にして mpirun を使用する

SlurmSettings / Dns / DisableManagedDnsおよび UseEc2Hostnames を に設定して作成されたクラスターの場合true、Slurmノード名は DNS によって解決されません。 nodenamesは、 が有効になっていない場合、および MPI ジョブがSlurmコンテキストで実行されている場合、MPI プロセスをブートストラップSlurmできます。「Slurm MPI User's Guide」のガイダンスに従い、Slurm を使用して MPI ジョブを実行することをお勧めします。