HOME > 使い方と注意事項 > 計算サービス

計算サービスの使い方と注意事項

ジョブ投入システム

ジョブ投入システム

ジョブ投入システムとは

ジョブ投入システムとは、多くのユーザが同じ計算サーバ(計算をメインとするコンピュータ)を共有し、メモリやCPUなどの リソース(計算資源)を公平に利用するためのシステムです。

スーパーコンピュータシステムでは、ジョブ投入システムとして代表的なもののひとつである PBS(Portable Batch System)を導入しています。

ユーザのジョブを"qsub"というコマンドを使って計算サーバへ投入されると、PBSはジョブを一旦保留します。 リソースが空いている場合にはすぐにジョブが実行されますが、多くのユーザがジョブを投入していることで計算サーバが 混み合っている場合、あるいはすでにユーザが多くのジョブを実行していることで、ユーザごとに割り当てられたリソースを 使い切ってしまった場合などは、他のジョブが終了するまで保留し続けることになります。

このような処理(バッチ処理と呼びます)を行うことで、一度に大量のジョブが実行されることを防ぐとともに、 多くのユーザが公平に共有リソースを利用することが可能になります。

以下では、特に断らない限り、バッチ処理によって実行されるジョブ(バッチジョブ)を単にジョブと呼びます。 また、バッチジョブではないジョブをインタラクティブジョブと呼びます。

バッチジョブの制限値

バッチジョブは利用できる演算時間や利用メモリ容量などにより、複数のキューと呼ばれるクラスに分類されており、 ジョブが必要とする計算リソースに応じて使い分けます。

バッチジョブは利用できるコア数・メモリ容量・演算時間・実行の優先度(プライオリティ)により、複数のキューと呼ばれるクラスに分類されています。 原則として、多くの計算リソースを必要とするキューほど計算サーバ上での実行優先順位は低くなりますので、 可能であれば計算リソースの制限が少ないキューを利用することをお勧めします。

以下の新システムの設定値は暫定であり、今後変わる可能性があります。

分散型スパコンシステム

キュー
JP1
JP4
JP10
JP20
PK5
ジョブの特徴
単一ジョブ
並列ジョブ
並列ジョブ
並列ジョブ
GPUジョブ
キューの
実行順位
(ジョブあたりの)
最大コア数
(規定値)
1 core
(1 core)
4 core
(1 core)
10 core
(1 core)
20 core
(1 core)
5 core
(1 core)
(ジョブあたりの)
最大メモリ容量
(規定値)
12 GB
(12 GB)
48 GB
(12 GB)
128 GB
(12 GB)
250 GB
(12 GB)
64 GB
(12 GB)
(ユーザあたりの)
最大ジョブ数
(ソフトリミット)
制限なし
制限なし
(10)
制限なし
(10)
制限なし
(10)
制限なし
(3)
(キューあたりの)
最大ジョブ数
制限なし
100
50
80
12
備考
・DS は JP20 のみ利用可能
・MS は JPキューのみです。
・GPUを利用したい場合のみ、PKキューを利用ください。

"キューの実行順位"とは、実行順序の考慮の際に、順位が高いキューのジョブを優先的に 優先的に実行させるものです。

最大コア数および最大メモリ容量に示されたカッコ内の数値はデフォルト値(ユーザ側で何も指定しない場合の設定値)です。 必要に応じてバッチオプションを利用して適切な値を指定してください。
なお、実行ジョブが指定されたメモリサイズを超えた場合、強制的にジョブが停止されることとなりますので、メモリについては 少し大きめの値を設定されることをお勧めします。

JP/PKにはユーザあたりの最大ジョブ数に制限はありません。ただし、カッコ内で示された数を超えたジョブに対しては実行順序の考慮の際に、 順位が下がります。

共有メモリ型スパコンシステム

キュー
UV16
UVM1
UV128
ジョブの特徴
小規模ジョブ
中規模ジョブ
大規模ジョブ
キュー
の実行順位
(ジョブあたりの)
最大コア数
(規定値)
16 core
(8 core)
32 core
(8 core)
128 core
(8 core)
(ジョブあたりの)
最大メモリ容量
(規定値)
512 GB
(256 GB)
1 TB
(256 GB)
8 TB
(256 GB)
(ユーザあたりの)
最大ジョブ数
(ソフトリミット)
制限なし
(6)
4
3
(キューあたりの)
最大ジョブ数
24
8
8
備考
・MSはUV16のみ。ただし、コマンドラインから実行する場合は制限はありません。

"キューの実行順位"とは、実行順序の考慮の際に、順位が高いキューのジョブを優先的に 優先的に実行させるものです。

最大コア数および最大メモリ容量に示されたカッコ内の数値はデフォルト値(ユーザ側で何も指定しない場合の設定値)です。 必要に応じてバッチオプションを利用して適切な値を指定してください。
なお、実行ジョブが指定されたメモリサイズを超えた場合、強制的にジョブが停止されることとなりますので、メモリについては少し大きめの値を 設定されることをお勧めします。

ユーザあたりに対する制限値

同時実行可能なジョブに対する制限を、”ユーザあたり”に対して 以下のように設けています。

同一ユーザに対する制限
同時実行ジョブのコア数合計値
512 core

なお、同時実行ジョブのメモリ合計に対する制限は特にありません。

キューに投入されたジョブの実行順序

ジョブの実行順序は様々な基準に従って決定されるため、必ずしも投入した順にしたがって実行されるとは限りません。 大まかなジョブ実行の実行順位は以下にしたがって決定されます。

  • 各キューごとに、キューへの到着時間によって待機ジョブが順序付けされます。
  • さらに、各キューの優先度にしたがって、すべての待機ジョブが順序付けされます。
  • 順序づけられたジョブのうち、すでに使用可能なリソースをすべて消費してしまった ユーザのジョブはリストから除外され、使用可能なリソースが生じない限り、キュー内で待機し続けます。
  • 1日以上キュー内で待機していたジョブは、その実行を促すために、特別に高い優先度が設定されます。
  • あるキューにおいて、あるユーザのジョブがすでに、ある一定数以上実行されている場合には、キュー内で待機しているそのユーザのジョブの優先度は低くなります。
  • 前半2つの基本ルールをベースに、後半の3つのルールで補正を行い、キュー内のジョブの優先度が最終的に決まります。 その優先度にしたがって、次に実行されるジョブが決まります。

インタラクティブジョブに対する制限値

バッチを経由せず、直接ログインノードで実行するジョブの制限は以下の通りです。 ただ、ログインノードの計算リソースはあまり多くないため、 できる限りインタラクティブバッチの利用をお願いします。

インタラクティブ・ジョブ
ジョブあたりの演算時間
ジョブあたりの最大使用メモリ容量
30 min
1 GB

マニュアル