SGEクラスターのセットアップでは、コントローラーとエンジンの起動の間に遅延が必要です。この遅延がない場合、一部のサーバーは「古い」ipcontroller-client.json
ファイルを使用して、以前の(実行されていない)コントローラーに接続しようとします。これはNFSの「機能」であるため、修正するにc.IPClusterStart.delay = 30
は、ipcluster_config.pyファイルを設定すると問題なく動作します。コントローラはSGEに送信され、jsonファイルを起動して書き込むのに十分な時間があります。その後、エンジンは新しく実行されているコントローラに対して正しく起動できます。ただし、ノートブックからクラスターを起動できるようにしたいと思います。残念ながら、このタイムアウトは使用されていないようです。コントローラーとエンジンは同時に起動します(watch qstat
)、一部のエンジンは接続し(jsonファイルから新しい設定を取得するため)、一部は接続しません(NFSのため)。
ノートブックでstraceを実行したところ、これらのプロセスを開始するためにスクリプト(スタートボタンを押したときにノートブックによって作成された)が sge_controller
使用されていることがわかりました。sge_engines
ここでも遅延を実装する方法があるのだろうかと思います。コントローラーとエンジンを正しい方法(SGE)で起動しているので、を読んでいることがわかりipcluster_config.py
ます。
私はグーグルでこのサイトを検索しましたが、運がありませんでした。誰かがこの行動のより深い働きに光を当てることができることを願っています。
ありがとう、クリス