通知
すべてクリア

[解決済] something wrong on slurm


台坂博
(@daisaka)
Estimable Member
結合: 9年前
投稿: 116
Topic starter  

一橋大学の台坂です。いつもお世話になっております。

slurm で複数ノードでのジョブ投入に失敗します。slurmのログは、

--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

Process name: [[61882,1],26]
Exit code: 255
--------------------------------------------------------------------------

となり、grep failed をすると、

[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 77 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],2] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 78 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],1] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 79 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],4] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 80 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],5] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 81 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],7] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 82 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],6] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 83 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],0] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 84 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],3] usock_peer_accept: usock_peer_send_connect_ack failed

と、clGetDeviceIDs を返さなにノードがいます。

上記の場合、t001k01n01 なのですが、このノードを外しても、同じエラーがでて計算が実行されません。

t001k02n01, t001k03n01, t001k04n01 でも実行できませんでした。

システムの確認をお願いできるでしょうか?


引用
yamaura
(@yamaura)
Eminent Member Admin
結合: 8年前
投稿: 20
 

台坂様

エラーメッセージはMPIのsend rcv等のエラーに見受けられます。
clGetDeviceIDsのエラーは、該当部分をいただけますか?

現在ジョブが流れているので、該当ノードでの実行が確認できておりませんが、
t001k12n[03-04] にて、 OpenMPI で動作確認しましたが、いまのところエラーが見つかりません。

お手数をお掛けしますが、t001k12n[03-04] にて実行していただいて、エラーが出るか確認していただけないでしょうか?
sbatch -w t001k12n[03-04] ./job.sh
で指定可能です。


返信引用
台坂博
(@daisaka)
Estimable Member
結合: 9年前
投稿: 116
Topic starter  

対応をどうもありがとうございます。

slurm log では、以下のようになります。

[daisaka@suiren2 20190204]$ grep failed slurm-7950.out
[warn] Epoll ADD(1) on fd 0 failed. Old events were 0; read change was 1 (add); write change was 0 (none): Operation not permitted
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 77 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],2] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 78 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],1] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 79 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],4] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 80 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],5] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 81 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],7] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 82 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],6] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 83 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],0] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k01n01:29163] [[61882,0],0] usock_peer_send_blocking: send() to socket 84 failed: Broken pipe (32)
[t001k01n01:29163] [[61882,0],0]-[[61882,1],3] usock_peer_accept: usock_peer_send_connect_ack failed
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1

 

slurm script で使うノードを指定していますが、その順番を変更するとMPIでfailするホストが変わります。

ノード数を減らしたテストは少々お待ちください。パラメータ変更が必要なもので。

 


返信引用
台坂博
(@daisaka)
Estimable Member
結合: 9年前
投稿: 116
Topic starter  

追伸ですが、どうも、使用するノードのうち、一番若い番号のノードがエラーになるようです。

例えば、

#SBATCH --nodelist=t001k12n[01-02],t001k11n[01-02],t001k08n[01-02],t001k04n[01-02],t001k05n[01-02],t001k06n[01-02],t001k07n[01-02],t001k03n[01-02]

だとt001k03n01がfailします。ノード記述の順番を変えても同じでした。

[daisaka@suiren2 20190204]$ grep failed slurm-8339.out
[warn] Epoll ADD(1) on fd 0 failed. Old events were 0; read change was 1 (add); write change was 0 (none): Operation not permitted
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
clGetDeviceIDs() failed : -1
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 77 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],6] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 78 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],5] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 79 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],4] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 80 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],2] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 81 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],7] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 82 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],1] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 83 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],3] usock_peer_accept: usock_peer_send_connect_ack failed
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 84 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],0] usock_peer_accept: usock_peer_send_connect_ack failed


返信引用
yamaura
(@yamaura)
Eminent Member Admin
結合: 8年前
投稿: 20
 

ログ有難うございます。

ひとまず、
[t001k03n01:35843] [[4979,0],0] usock_peer_send_blocking: send() to socket 77 failed: Broken pipe (32)
[t001k03n01:35843] [[4979,0],0]-[[4979,1],6] usock_peer_accept: usock_peer_send_connect_ack failed

こちらのエラーは、 clGetDeviceIDs() 起因でどこかのノードが落ちたと仮定して、
この場合エラーが出るのは生きている方が多く、エラーを吐いてるノードが原因とは限らない。
また、clGetDeviceIDs() failed : -1 は、PEZY-SC2が原因ですので、

PZCLLogFileHostName=1
としたうえで、生成される
pzcl-t001k01n01.log
といったログでエラーを探していただけないでしょうか?
grep -i err
grep -i fatal

ちなみに私の方で簡単なプログラムで、batchの下記ノードについてはPEZY-SC2についてclGetDeviceIDs()を確認しました。
※ 他のノードは使用中でした
t001k01n[01-02,04],t001k02n[01-02,04],t001k03n[01-04],t001k04n[01-04],t001k09n[01,03-04],t001k10n[02-04],t001k11n[01-04],t001k12n[01-04]


返信引用
台坂博
(@daisaka)
Estimable Member
結合: 9年前
投稿: 116
Topic starter  

返信が遅くなってしまい申し訳ありません。使えるノードをさがして計算を進めていました...

先週の段階では、t001k05n[01-02] を含めると上記症状でMPIが落ちていました。先程、PZCLLogFileHostName=1としてt001k05n01を含めて計算を走らせたところ、今度は落ちませんでした。問題が再現されましたらログをお知らせします。

あと、いくつかのノードが不調のようです。t001k07[01-02], t001k09n02 が不調でした。


返信引用
Shinichi Hirahara
(@hira)
Estimable Member Admin
結合: 8年前
投稿: 106
 

台坂先生

エクサ平原です。お世話になります。

本日午前中に監視したところ、いくつか不調ノードがあったので

Jobが走っていないノードは復旧させています。

(t001k07n01,t001k05n[01-04],t001k09n[01-04]は午前中に復旧させました。)

また、全ノードでモジュールチェックを掛けたところ、現在t001k06n04、t001k07n02の2ノードでモジュールの不具合があるため、この2つのノードはSlurmから外しております。

ご迷惑おかけしますが、宜しくお願いします。


返信引用