2

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ます。

私はグーグルでこのサイトを検索しましたが、運がありませんでした。誰かがこの行動のより深い働きに光を当てることができることを願っています。

ありがとう、クリス

4

1 に答える 1

2

まあ、これはおそらくOPには遅すぎますが、誰かの役に立てば幸いです.

タイムアウトの問題である場合は、 と をより大きな時間に設定c.EngineFactory.timeoutc.IPEngineApp.wait_for_url_fileてください。

最初の実行後の失敗が原因である場合は、セキュリティ ファイルが残っていることが原因である可能性があります。完全なパスを取得するために使用して、関連する iPython プロファイルから削除 (ipcontroller-engine.jsonおよび) する必要があります。これを自動化し、多少の苦痛を軽減するために、この削除手順を同じプロファイルの先頭に追加できます。ipcontroller-client.jsonIPython.utils.path.get_security_fileipcluster_config.py

これらの変更だけで、ノートブックで簡単にクラスターを実行できるようになりました。

これらのいずれも問題を解決しない場合は、他に考えられることがあります ( http://mail.scipy.org/pipermail/ipython-user/2011-November/008741.html )。

于 2015-07-02T19:31:04.977 に答える