web-dev-qa-db-ja.com

Sun GridEngineはジョブごとにメモリ要件を設定します

ジョブごとにメモリ要件を設定できるようにしたい。

たとえば、5つのジョブを実行するには、それぞれに4GBのメモリが必要であることがわかっています。 Ubuntuサーバーに16GB RAMと16GBのスワップがあります。スワップの使用を避けたいのですが、次のようなことができますか?

qsub -l mem_required_for_my_job=4G job1
qsub -l mem_required_for_my_job=4G job2
qsub -l mem_required_for_my_job=4G job3
qsub -l mem_required_for_my_job=4G job4
qsub -l mem_required_for_my_job=4G job5

?ジョブはいつか4GBを必要としますが、最初は必要ありません。

SGEに私の要件を伝える方法は? 16GBしか使用できない場合に5x 4 GBのスケジュールを回避するにはどうすればよいですか?

ユーザーガイドを読んでs_vmem, h_vmem, mem_free, mem_used。それらのどれも私が欲しいものではありません。処理の途中でジョブが強制終了されないようにします。必要な最大のリソースが利用可能でない限り、それらをスケジュールしないようにします。

これはできますか?

皆さん、ありがとうございました!

1
grs

クラスタでは、h_vmemを使用してジョブのメモリ割り当てを強制します。

不足しているように見えるのは、利用可能な量を消費可能なリソースとして設定することです。 qconf -mcまたはqmon複合ダイアログで、リソースを要求可能および消費可能として設定する必要があります。

次に、qconf -meの各ホストで、complex_valuesに使用可能なメモリの量を設定する必要があります。

たとえば、次のようなホスト定義があります。

hostname              node004
load_scaling          NONE
complex_values        h_vmem=30.9G,exclusive=1,version=3.3.0
2
Kamil Kisiel

あなたが探しているのはvirtual_free

「virtual_freeのジョブリクエストが利用可能な量を超えた場合、ジョブはそのホストのキューにディスパッチされません。」から https://web.archive.org/web/20100801220839/http://wikis.Sun.com/display/GridEngine/Configure+Complex+Resource+Attributes

参照 http://markmail.org/message/2iw4esthqvs5rc2a

0
rbtgde