0

Pythonで使用しているdrmaa APIの「待機」機能についてお聞きしたかったのです。プログラムの実行が終了したかどうかを確認するために、一定のqstat(SGEで実行している場合)を実行しますか。

私たちの管理者は、スケジューラの余分な負荷のためにパフォーマンスが低下するため、一定の qstat を回避することを望んでいます。

一般に、wat は、スケジューラーをオーバーボーディングすることなく、DRMAA を介してジョブの状態を確認する効率的な方法です。

ありがとう!-アビ

4

1 に答える 1

2

DRMAA API の観点からは、これ以上の方法はありません。API は、デフォルトのコマンドライン ツールを使用してシェル スクリプトで実行できることを単純に反映したものです。

問題は、特定の DRMAA ライブラリの実装戦略にあります。これは、SGE がジョブ ステータスの更新を取得するための定期的なポーリングよりも優れた方法を提供するためです。したがって、次のオプションがあります。

  • 使用している DRMAA 実装を修正して、スケジューラとの直接通信に依存するようにします。ワイヤ プロトコルの情報源の 1 つは、Open Grid Scheduler プロジェクトです。
  • Univa (またはその他) が Grid Engine 製品の DRMAAv2 実装を提供するまで待ちます。このバージョンの API は、ジョブ ステータスの変更 (http://ogf.org/documents/GFD.198.pdf) でのライブラリ コールバックをサポートしています。
于 2013-01-09T23:47:32.383 に答える