(5/8)4 並列ジョブの多重実行
VPP500では並列ジョブはsimplexモード(1つのPE上では1つのジョブしか実行できない)でしか実行できなかった。このため空きPE があるにもかかわらず、PE数が不足するために並列ジョブの実行が待たされるという事態が何度も発生した。VPP5000の導入にあたって、PEの効率的利用の観点から並列ジョブの多重実行は是非運用にのせる必要があると考えていた。その際の条件には以下のものがある。
- CPU課金にばらつきがないこと
- PE内で同一ジョブの折り返しができること
- 並列ジョブの多重度は2多重までとする
並列ジョブの多重実行をおこなうにはモードをsharedにする必要があり、sharedモードには次の2種類のスケジューリングクラスがある。
- 同期並列クラス
並列ジョブに対し各PEが協調して同一時刻にCPU資源を割り当てる。このためジョブの同期ずれが少なくなる。PE内での同一ジョブの折り返しはできない。
- バッチクラス
実行中のジョブ数に応じてCPU配分制御によりCPU資源を割り当てる。PE内での同じジョブの折り返しが可能(ただし、バリアクラスBのみ) 。
以下で並列ジョブの多重実行の運用経験を説明する。また、この間のVPP5000のCPU稼働率を図3に示す。
図3: VPP5000のCPU稼働率の推移