任意のクラスターリソーススケジューラーで実行できる可能性のあるアプリケーションを作成しています( [〜#〜] sge [〜#〜] 、 [〜#〜] lsf [〜#〜 ] または [〜#〜] slurm [〜#〜] それらのいくつかを挙げます)、非常に基本的な機能を使用します。
製品にとらわれない方法でそのようなツールと対話するためのフレームワーク/抽象化レイヤーが存在するかどうか疑問に思っていますか?
[〜#〜] drmaa [〜#〜] APIは、直接またはアドオンlibrayを介して、すべての主要なリソーススケジューラでサポートされています。 v1 APIはほとんどの製品でサポートされていますが、範囲がかなり制限されており、基本的にジョブの送信のみを処理し、機能の共通のサブセットのみを提供します。 v2 APIは、ジョブの制御と監視のための機能を提供しますが、私が知る限り、まだ広く採用されていません。
ほとんどのクラスターがユーザーとリソースをクラスター間で共有しないという事実のために、抽象化レイヤータイプのソフトウェアは分散コンピューティングの主流に採用されていません。いくつかの例外があります。たとえば、一部の大学や学術機関では、キャンパス全体に広がるデスクトップマシンを利用するために、 Condor を使用していますが、一部の種類の仕事には特に適していません。
PBSバリアント以外のものを使用している場合、スケジューラーがかなり関与することがありますが、それらのスケジューラー間でさえ、特定の機能を利用しようとすると発生する可能性のある奇妙な不整合がいくつかあります。