web-dev-qa-db-ja.com

Sun Grid Engineでキューが重複していますか?

計算スタッフがすべてのノードにアクセスできるキューと、他のスタッフが時折(ただし重い)使用するためにノードの半分にアクセスできる2番目のクラスターキューを備えたSGEベースの計算クラスターが必要です。 。

2番目のキューのリソースを制限して、comp以外のユーザーが時折(ただし大量に)使用する場合でも、計算スタッフが作業を継続できるようにします。スタッフ。

1つのノードコレクションの2つ(またはそれ以上)のSGEキューを設定して、1つのキューにすべてのノードを含めることができ、2番目のキューに同じノードのサブセットを含めて両方のキューが同時に動作するようにする方法はありますか?

このようなものを設定するために、どの特定のSGE構成パラメーターを調査しますか?

5
Alex Reynolds

確かに、これは完全に可能です。 SGEキューは互いに独立しているため、各キューに任意のノードを割り当てて、必要に応じてオーバーラップさせることができます。

キューを作成するには、qconf -aqと入力します。これにより、デフォルトのエディター(通常はvim)が開きます。キューの名前をqnameとして入力し、割り当てるホストをhostlistに追加し、slotsの場合は、のエントリのコンマ区切りリストを追加します。形式[hostname=numslots]。通常、スロットの数はホスト内のコアの数ですが、必要に応じてサブスクライブをアンダーまたはオーバーすることができます。キューをオーバーラップさせたい場合は、同じホストを複数のキューに追加するだけです。

ただし、デフォルトでは、重複するキューは互いの使用法を認識しないことに注意してください。どちらも元気に同じノードにジョブを割り当て、実行されることを期待します。

これを防ぐ最も一般的な方法は、ノードをジョブ専用にすることです。そのため、一度に実行できるジョブは1つだけです。 (これは、PBSなどの他のスケジューラーのデフォルトです。)SGEはこれを少し複雑にし、ノードごとに1回だけ使用できる仮想「リソース」の作成を伴います。これを行うには、qconf -mcと入力して消耗品リソースを管理します。これにより、消費可能なリソースを一覧表示するエディターが開きます。次のように、「排他的」と呼ばれる新しいエディターを追加します。

#name          shortcut     type         relop  requestable  consumable  default  urgency
#-----------------------------------------------------------------------------------------
exclusive      excl         BOOL         EXCL   YES          YES          1        1000

詳細については、 grid engine wiki を参照してください。

いわゆる従属キューを構成することもできます。ここでは、ノードごとに特定の数を超えるスロットが割り当てられたときに、他のキューを自動的にオーバーライドするように1つのキューを設定します。これを設定するには、qconf -mq queue1を実行し、「従属」の下でqueue2=Nを指定します。次に、queue1のノードで使用されるスロットの数が終わると[〜#〜] n [〜#〜]、queue2のジョブは次のようになります。 queue1ジョブが完了するまで中断されます。

5
ajdecon