3.4. 強制フローの法則(2):Quantitative System Performance

3.4. 強制フローの法則(1)」の続きです。

 やはり、成功するためには整合性が重要である。リソースの稼動率を計算するために稼動率の法則を用いることを考えてみよう。スループットをそのリソースへの訪問に関して(X_k)表現することが出来、その場合、処理要求時間は1訪問あたりの処理要求時間(S_k)として表現されなければならない。強制フローの法則を用いて、スループットをシステムレベル会話に関して(X)表現することも出来、その場合、処理要求時間は1会話のベースで(D_k)表現されなければならない。言い換えれば、U_k=X_kS_k=XD_kである。
 第1章で我々は、処理要求時間が待ち行列ネットワーク・モデルが要求するパラメータの1つであることを見てきた。もし、長さTの期間の間、あるシステムを観測するならば、我々はさまざまなリソースの稼動率、U_k、とシステムレベル完了数、Cを容易に得ることが出来る。すると、さまざまなリソースでの処理要求時間はD_k=\frac{B_k}{C}=\frac{U_kT}{C}で計算することが出来る。待ち行列ネットワーク・モデルはV_kS_kよりもむしろそれに対応するD_kについてパラメータ化出来ることは幸いである。というのは、前者は通常、後者よりずっと容易に測定から得られるからである。
 強制フローの法則と組み合わされたリトルの法則の多目的性の最後の例示として、メモリ制約のあるタイムシェアリング・システムを表す、図3.4を考察しよう。

  • 図3.4 メモリ制約システムに適用したリトルの法則


スワッピングが起こるかもしれないので、要求は中核サブシステムのリソースを争う前にメモリ分割のためにキューに並ぶことを強いられるであろう。長方形で示したように、もう一度我々は様々なレベルでリトルの法則を適用しようとしている。以下の実際の測定データはいくつかのはっきり区別される作業負荷を持つシステム上でタイムシェアリング作業負荷を観測することにより得られた。

  • タイムシェアリング・ユーザの数の平均: 23 (N=23)
  • 1ユーザに感じられる平均応答時間: 30秒 (R=30)
  • タイムシェアリングのスループット: 0.45会話/秒 (X=0.45)
  • メモリを占有しているタイムシェアリング要求の数の平均: 1.9 (N_{in\:mem}=1.9)
  • 1会話あたりの平均CPU処理要求時間: 0.63秒 (D_{CPU}=0.63)

さて、以下の質問を考察しよう。

  • タイムシェアリング・ユーザの平均考慮時間はいくつか? 図中の長方形4のレベルで応答時間の法則、R=\frac{N}{X}-Zを適用すると、Z=\frac{23}{0.45}-30、すなわち21秒。
  • 平均で、何名のユーザが処理を得ようとしていたか、つまり、何名のユーザが自分の端末で「考慮中」でなかったか? 長方形3のレベルでリトルの法則を適用すると、N_{want\:mem}=XR=0.45{\times}30、すなわち13.5名。このシステム上の23名のユーザのうち平均13.5名が任意の瞬間に処理を得ようとしていた。測定データから平均で1.9名だけしかメモリを占有していないことを知っているので、残りの11.6名はメモリへのアクセスを待ってキューに入っていることになる。
  • 平均で、メモリの獲得と会話の終了の間でどれだけ時間が経過するだろうか? 長方形2のレベルにリトルの法則を適用して、N_{in\:mem}=XR_{in\:mem}、よってR_{in\:mem}=1.9/0.45、すなわち4.2秒である。言い換えれば、ユーザが認識する30秒の応答時間のうち、ほぼ26秒がメモリへのアクセスを待ってキューで費やされている。
  • タイムシェアリング作業負荷のCPU稼動率への寄与はどれくらいか? CPU(長方形1)に稼動率の法則を適用して、U_{CPU}=XD_{CPU}=0.45{\times}0.63、すなわちCPUのキャパシティの28%である。稼動率の法則のこの適用において、スループットはシステムレベル会話に関して定義され、処理要求時間は1会話ベースで定義されたことに注意しよう。


3.5. フロー・バランスの仮定」に続きます。