PBS/Torque クラスタ ソフトウェアで動作することが知られている DRMAA-API の Java 実装を知っている人はいますか?
この背後にある背景: DRMAA 準拠の API を使用して、Java から新しくセットアップされた Linux クラスターにジョブを送信したいと考えています。クラスターはPBS/Torqueによって管理されます。Torque には、DRMA-C バインディングを含み、libdrmaa.so および .a バイナリで提供される Torque/PBS 用の PBS DRMAA 1.0 ライブラリが含まれています。Sun グリッド エンジンには、Java-DRMAA API を提供する drmaa.jar が含まれていることを知っています。実際、私は SGE を使用することにしましたが、最初に PBS を試すことにしました。
その決定の背後にある理論
は、「DRMAA は標準であるため、Java API は標準に準拠した drmaa-c バインディングのみを必要とする」というものでした。しかし、そのような「一般的な DRMAA-C-java API」を見つけることができなかったので、この仮定は間違っていて、Java ライブラリはエンジン固有のものであると仮定します。
編集: Sun Grid Engine パッケージの drmaa.jar を試し、pbs libdrmaa.so と併用しようとしました。驚くことではありませんが、これは失敗しました (JNI 未解決のリンク エラー)。
結論:そうはいきません!いくつかの検索の後、次のいくつかのオプションのみが表示されます。
- Globus ツールキットの上に GridWay をインストールします。PBS の上にインストールされた GridWay は、Java で DRMAA を提供すると主張しています。私の設定には複雑すぎるように見えます。
- DRMAA を破棄し、Java からシステム コマンド qsub、qstat などを呼び出して PBS に提出します。シンプルだけどあまりいいじゃない。
drmaa バインディングを自分で実装します。複雑すぎる…
Grid Engine に切り替えます。私の意見では、GE は言語バインディングに関して PBS よりも優れています。
オプション 2 または 4 を好む傾向があります。推奨事項はありますか?