9.2.既知の平均マルチプログラミング・レベルを持つシステム(1):Quantitative System Performance

9.1.導入」の続きです。(目次はこちら

9.2.既知の平均マルチプログラミング・レベルを持つシステム


 このセクションは、既知の平均マルチプログラミング・レベルを持つバッチ作業負荷の一見単純な場合をモデル化する際であっても微妙さが発生する可能性があることを示す役割を持つ。

 最も単純なシステムを除いた全てについて、作業負荷のマルチプログラミング・レベル(制御のアクティブ・スレッドの数)は一定ではなく、他の作業負荷とのメモリをめぐる争いや、ジョブのメモリ要求量の差や、ジョブの使用可能性といった要因によって、時間の経過とともに変化する。作業負荷のマルッチプログラミング・レベルが変化するにつれて、そのスループットも変化する。スループットとマルチプログラミング・レベルの関係は図9.1の曲線によって定性的に示される。マルチプログラミング・レベルが低い時は、ジョブの追加によるスループットの増分は、このジョブがさまざまな処理リソースの並行した活動の比較的大きな増加を引き起こすので、比較的大きい。マルチプログラミング・レベルが増加するにつれてスループットの増分は、並列性の増加をほとんど実現しないので比較的小さい。(図9.1はジョブによるオーバヘッドはその処理時間要求の要素として含まれてより、マルチプログラミング・レベルに左右されにくいと仮定している。)
 ある期間我々はそのような作業負荷を観察してその平均マルチプログラミング・レベル、Nを測定していると想像しよう。議論の目的でNは整数であるとしよう。さて、2つの場合を考察する。

  • もしシステムが観察期間の間ずっと一定のマルチプログラミング・レベルNで稼働していたならば、そのスループットは図に示されるようにX(N)であったであろう。
  • もしシステムが期間の前半では一定のマルチプログラミング・レベルN-1で、後半では一定のマルチプログラミング・レベルN+1で稼働していたならば、そのスループットは期間の前半はX(N-1)であり、後半はX(N+1)であり、全体では\frac{X(N-1)+X(N+1)}{2}であったであろう。これは図に示すようにX(N)より小さい。

 明らかに、もしシステムが後者のように実際に稼働していたがシステムの待ち行列ネットワーク・モデルは平均マルチプログラミング・レベルNで見積られているならば、不一致が起こることになる。この不一致はしばしば小さい。つまりシステムは平均マルチプログラミング・レベルを用いてモデル化することにほとんど必ず成功し、それは観察期間中に出会ったいくつものさまざまなマルチプログラミング・レベルの時間で重み付けられた平均をほとんど必ず表している。しかし、もしより精度が必要であるならば、モデルを観察された各々のマルチプログラミング・レベルで解析することが出来、結果の加重平均を取ることが出来る。この方法は単一クラス・モデルと同様に複数クラス・モデルにも適用出来る。しかしもちろん、平均作業負荷強度での解析の結果で満足する誘因は、さもなければ実行を考慮しなければならないであろう組合せの数とともに増加する。

9.2.既知の平均マルチプログラミング・レベルを持つシステム(2)」に続きます。