[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]


(4/24)
4.シミュレーション

 NQS−JSや前節の外部スケジューラの有効性を厳密に検証するためには、実運用中の並列スーパーコンピュータのジョブの実行スケジュールを実際に変化させてスループットおよびターンアラウンドがどのような影響を受けるかを調べる必要がある。また、NQS−JSや外部スケジューラの適切なパラメータセットを探すために同一ジョブ集合に対する実験を繰り返す必要もある。しかし、運用中のベクトル並列スーパーコンピュータと利用者ジョブを用いて実験を行うことは利用者サービスに重大な支障をもたらす。また、そのようなスーパーコンピュータのサービスを長期間に渡って停止させて実験を行うことも事実上不可能である。
 そこで、今回は、現有のVPP700/56を大幅に単純化した仮想的な並列計算機の動作をシミュレーションプログラムによって調べ、種々のスケジューリングポリシーの比較に役立てることにした。 シミュレーションプログラムは、 以下のような仮想的な並列計算機とそれに対して投入されるジョブ群をモデル化したものである。

  1. 並列ジョブが投入されるのは32PEからなるパーティションただ1つである。
  2. 並列ジョブにはSIPLEXモードとSHAREモードがある。SIMPLEXモードのジョブは、他のジョブと物理PEを占有する。SHAREモードのジョブは、メモリ資源が足りる限り、他のSHAREモードのジョブ1つとPEを共有することができる。 各ジョブがどちらのモードであるかは事前にわかっている。
  3. このパーティションに投入されるジョブはすべて並列ジョブであり、32PEのうちの8PE、16PE、または32PEを使用する。それぞれは使用するPE数ごとの3つのキューに投入順につながれる。
  4. 各ジョブが必要とするメモリ資源とCPU時間は事前にわかっている。
  5. このパーティション内に入出力を担当するPEが4個あり、一部のジョブは、これらのうちのいずれかに入出力を依頼する。どのジョブがどのPEに入出力を依頼するかは事前にわかっている。入出力を担当するPEでジョブ処理を行う場合、それらのジョブの処理効率が通常よりも低下する。
  6. 複数のジョブからの入出力要求が同一の入出力PEで競合する場合には、それらのジョブの処理効率が通常よりも低下する。
 項目 5 および 6 は、入出力専用PEを持たず計算PEで入出力を行う分散メモリ型並列計算機上で行われた入出力性能評価[5] の結果から推測される性質である。しかし、性能低下の度合は個々のハードウェアで異なるため、ここでは恣意的にそれぞれ75%および1/競合ジョブ数に低下するものと仮定した。
 このような仮想的な環境のもとで、以下のようなスケジューリングを行った場合のジョブの実行開始終了時刻をシミュレーションによって求めた。

(1)FIFO方式
    基本的に、ジョブの投入順に実行を開始する。ただし、メモリ不足やI/O競合が発生する場合の対処法により以下の3つの変種を考える。    
 (1a)単純FIFO
     空きメモリだけでは次のジョブの実行に不十分な場合、必要なだけ空くまで待つ。ただし、次のジョブの実行を開始するとI/O競合が生じる場合でも、メモリが十分なら実行を開始する。     
 (1b)FIFO−I/O競合回避
     空きメモリだけでは次のジョブの実行に不十分な場合、必要なだけ空くまで待つ。次のジョブの実行を開始するとI/O競合が生じる場合、競合が生じない状況になるまで待つ。     
 (1c)準FIFO−I/O競合・メモリ待機回避
     空きメモリだけでは次のジョブの実行に不十分であるか、あるいは、I/O競合を起こす場合、他のキューの先頭ジョブを実行する。     

(2)固定優先度方式
    次に実行すべきジョブを探す際に、最も優先度が高いジョブを次に実行する。メモ リ不足やI/O競合が発生する場合の対処法はFIFO方式と同様である。    
 (2a)単純固定優先度
 (2b)固定優先度 − I/O競合回避
 (2c)固定優先度 − I/O競合・メモリ待機回避

(3) 可変優先度方式
    次に実行すべきジョブを探す際に、最も優先度が高いジョブを次に実行する。後に投入されたジョブに先を越された場合、追い越されたジョブや長時間待機したジョブの優先度を上げる。今回の実験では、1回追い越されるたびに1ずつ、200単位時間経過するたびに10上げている。    
 (3a)単純可変優先度
 (3b)可変優先度 − I/O競合回避
 (3c)可変優先度 − I/O競合・メモリ待機回避

 上記の各ポリシーを用いた場合の、あるジョブ投入スケジュールに対して200個のジョブ処理が終了するまでの処理時間や、PE数別処理ジョブ数、各種イベントの発生回数等の比較を表2に示す。

表 2: 各スケジューリングポリシーの比較
  スケジューリングポリシー
  (1a) (1b) (1c) (2a) (2b) (2c) (3a) (3b) (3c)
経過時間(単位時間) 11596 10270 7212 8768 7544 4210 11594 10585 4962
処理された8PEジョブ 65 65 87 53 53 119 64 64 108
処理された16PEジョブ 70 70 75 105 105 76 71 71 75
処理された32PEジョブ 65 65 38 42 42 6 65 65 17
メモリ不足(回) 310 202 109 387 167 90 281 191 3
メモリ不足回避(回) 0 0 0 0 0 495 0 0 579
I/O−計算の競合(回) 428 263 213 31 0 0 23 0 0
I/O−I/Oの競合(回) 27 0 0 321 168 135 407 263 193
待機による優先度引き上げ(回) -- -- -- -- -- -- 1585 1446 615
8PEジョブの追い越しによる優先度引き上げ(回) -- -- -- -- -- -- 95 103 363
16PEジョブの追い越しによる優先度引き上げ(回) -- -- -- -- -- -- 99 98 709
32PEジョブの追い越しによる優先度引き上げ(回) -- -- -- -- -- -- 65 85 1504

 この実験の結果から、各スケジューリングポリシーについて、以下のような推測をすることができる。

  1. FIFO、固定優先度、可変優先度のいずれの方式でも、I/O競合やメモリ待機を看過するよりはそれらを積極的に回避するほうがスループット性能の向上につながる。
  2. FIFO、固定優先度、可変優先度の各方式のスループット性能は、固定優先度方式が最も高い。しかし、FIFO方式と固定優先度方式を比較すると、固定優先度方式では32PEジョブの処理数が低下する傾向が見られる。これは、固定優先度方式では、32PEジョブの処理に必要なメモリが確保できず、他のキューのジョブが優先されてしまうことによる。 この性質は多様な利用者をなるべく公平に扱おうとする本センターでの運用には不都合である。
  3. 一方、可変優先度方式でメモリ不足を積極的に回避する場合には、固定優先度方式の場合に近いスループット性能の向上が見られる。また、32PEジョブの処理数の低下もある程度押えられており、固定優先度方式よりも望ましい性質である。
 ただし、本実験で使用したパラメータは、必ずしも現実の並列スーパーコンピュータシステムにおける値を精密に反映しているわけではない。 今後、各種パラメー タを現実に即した値に修正して実験を行う必要がある。また、優先度引き上げの幅などについても、同種の実験を繰り返して、適切な値を推定する必要がある。


[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]