[目次] [1ページ目] [前ページ] [次ページ] [OHP] [質疑応答]
(7/10)

3.1. 計算機資源の有効利用

計算機資源の有効利用を目的に、「PE括り付け緩和機能」、「残CPU時間制御機能」、「障害時PE割り当て変更機能」を導入している。

1) PE括り付け緩和機能

 VPP500/7では逐次と並列ジョブが使用するPE(Processing Element)を完全に分けて運用してきたが、並列ジョブが少ない時期があり、PEに空きが発生する(図9.)。VPP800/12ではこの点を改善し利用効率の低下を抑止するとともに逐次ジョブのターンアラウンド時間を改善する必要がある。


図9.VPP500/7 PE括り付け問題点


 この問題を解決するため、PE括り付け緩和機能を導入している。本機能は、実行待ちの並列ジョブが存在しない場合に限り、逐次ジョブを並列ジョブ用PEで実行させる機能であり、並列ジョブが少ない時期にPEを有効に利用することができる。図9.に対し本機能を使用した例を図10.に示す。本機能を運用すると、実行待ちである3本のジョブ(JOB-4,5,6)は並列ジョブ用PE(#4,5,6)に割り当てられ、PEの有効利用を実現している。
 ここで注意すべき点は、1PE(#7)が空いている状況で並列ジョブが投入された場合である。本来は並列ジョブ用PEであるため、速やかにPEを明け渡す必要がある。実際の運用では、並列ジョブ用PEで実行される逐次ジョブは、ジョブスワップの禁止、SIMPLEX実行とすることで、明け渡す時間の短縮を図っている。逐次ジョブをスワップし、並列ジョブを優先的に実行することも検討したが、スワップの多発によるスループットの低下とディスク資源の枯渇を懸念し、本機能により実行された逐次ジョブに対しては採用していない。

 また、図10.の状況で並列ジョブが投入され、更に逐次ジョブが投入された場合の制御方法についても、後述する残CPU時間制御機能により、有効なPE割り当てを実現している。


図10.使用例 PE括り付け緩和機能


2) 残CPU時間制御機能

 残CPU時間制御機能とは、並列ジョブが使用するPEが開放されるまでの時間内で終了する逐次ジョブを、空いている並列ジョブ用PEで実行する機能である。
 本機能について、図11.を例に説明する。並列ジョブ(JOB-6)は、現在実行中の逐次ジョブ(JOB-4,5)が全て終了するまで実行することができない。並列ジョブ用PEで実行されている逐次ジョブ(JOB-4,5)は、残りCPU時間を計算すると、並列ジョブ用PE(#4,5)を開放するまで7時間必要である。言い換えれば、7時間は2PE(#6,7)が空いている状態であり資源の無駄である。これを解決するため並列ジョブ用PEが開放されるまでの7時間以内で終了する逐次ジョブ(JOB-8,10)を、空いている並列ジョブ用PE(#6,7)に割り当てることにより、PEの有効利用を実現している。


図11.使用例 残CPU時間制御機能


 3) 障害時PE割り当て変更機能

 並列ジョブを実行するには、並列度と同数のPEを確保する必要がある。並列ジョブ用PEで障害が発生すると、並列ジョブは必要なPE数を確保することがでず、実行待ちとなる。図12.ではPE#4で障害が発生した時の例を示している。PE#4で障害が発生すると、並列ジョブはPE#4が復旧するまで実行待ちとなる。更に、PE#5〜7のPEにおいては空き状態となる。


図12.PE障害発生時の問題点


 障害発生時に空きPEをなくし、並列ジョブにPEを保証するため、障害時PE割り当て変更機能を導入している。図12.の障害が発生した場合、逐次ジョブ用PE#1〜3から1PEを並列ジョブ用に振り替えることにより、並列ジョブに対してPEを保証している。

 障害発生時、逐次ジョブ用PEでジョブが実行されていない空きPEがあれば、空きPE(#3)を並列ジョブ用に割り当てる (図13)。並列ジョブ実行終了後も並列ジョブ用として使用される。


図13.使用例 逐次ジョブ数 = 0本


 逐次ジョブ用PE全てでジョブが実行されていた場合は、残りCPU時間より最初に開放されるPEを求める。逐次ジョブ用PEではSHARE実行されるため、最初に開放されるPEには逐次ジョブの割り当てを禁止し開放されるまでの時間短縮を図り、逐次ジョブ用PEが1PEでも開放された時点で、そのPEを並列ジョブ用に割り当てる(図14.)。


図14.使用例 逐次ジョブ数 ≠ 0本



[目次] [1ページ目] [前ページ] [次ページ] [OHP] [質疑応答]