12.5.2.I/Oのサービス要求時間の見積り(2):Quantitative System Performance

12.5.2.I/Oのサービス要求時間の見積り(1)」の続きです。(目次はこちら

  • 表12.2 クラスとデバイス毎の物理的ディスクI/O


 表12.2は個々のクラス毎に個々のデバイスでの物理的I/O回数を決定する問題についての考え方を示している。ここでもやはりバッチ(BATCH)と会話(INTER)の2つクラスの場合について示している。中央の行はクラスに対応しており、一方、中央の列はディスクに対応している。行cの列kに埋めるべき欄はクラスcによるデバイスkでの物理的I/O回数(V_{c,k}×測定されたクラスc完了数)である。しかし利用可能な情報は列の合計がP_kになり、行の合計がL_c×g_cになるということだけである。これはクラスの数とディスクの数の和に等しい数の方程式を提供するのであるが、我々が見積らなければならないV_{c,k} の値の数はこれらの数の積に等しい。(例えば、表12.2では2つの行の合計と3つの列の合計に対応する5つの制約が存在するが、決定すべきV_{c,k}の数は6個である。よって、V_{c,k}の値を一意に指定するために追加の情報を用いなければならない。その選択肢には以下のものがある。

  • 最も単純な仮定は、他のいかなる情報もないなかで使用出来るが、全てのクラスが同じ比率でさまざまなディスクを使用するというものである。
    • クラスcc'、そしてディスクkk'について
      • \frac{V_{c,k}}{V_{c,k'}}=\frac{V_{c',k}}{V_{c',k'}}
  • システム記述のソフトウェア構成の部分はしばしばさまざまな主要データ集合(ページング・ファイル、スワッピング・ファイル、カタログ、さまざまなアプリケーションに充てられたファイル、など)の場所を示している。もし特定のクラスがあるデバイスを使用しないことが分かっていれば、そのそこへの訪問回数にはゼロに設定することが出来る。もし特定のクラスがあるデバイスの排他的ユーザであることが分かっていれば、そのそこへの訪問回数にはそのデバイスの測定された物理的I/O回数をそのクラスの測定された完了数で割ったものを設定することが出来る。残りの訪問回数は一連のステージで解くことが出来る。個々のステージでは、最も少ない柔軟性しか残っていないクラスについてI/O回数の分布が決定される。
  • 若干のシステムにおいて、クラスとデバイスの両方で分解された物理的I/Oの回数を直接観測することの出来るソフトウェア・モニタが存在する。そのようなモニタは連続的に用いるには多すぎるオーバヘッドを引き起こすが、クラスとデバイス毎の物理的I/O回数の分布に関する示唆を得るために短い時間に渡って(例えば、10分)それらを用いることが出来る。
  • 時々、デバイス毎とクラス毎の論理的I/O回数の分解が判明している。この追加の情報がより大きな確信を持って進むことを可能にする。特に、物理的I/Oの論理的I/Oに対する比は個々のクラスについて同じであると仮定することが出来るならば、特定のデバイスでの物理的I/O回数は論理的I/O回数のそれと同じ割合でクラスに帰着させることが出来る。


 さてS_{c,k}を決定する問題に戻ろう。任意の特定のディスクで、全てのクラスが1訪問あたりの同じサービス時間を持つと仮定することは普通である。この単純化によって、サービス時間は

  • S_{c,k}=S_k=\frac{B_k}{P_k}

で与えられる。あるディスクで1つのクラスが他のクラスよりかなり大きなサービス時間を持つという状況は通常、前者のクラスがずっと大きなブロック・サイズを使用する時に発生する。そのような場合、ディスク特性(転送レート、回転時間、シーク時間の割合)を、そのディスクを用いるクラスcc'の個々のペアについて率、S_{c,k}/S_{c',k} を見積もるために用いることが出来る。それらの率は、以下の等式

  • B_k=\Bigsum_{all\;classes\;c}V_{c,k}{\times}S_{c,k}{\times}(measured\;class\;c\;completions)

と一緒に用いるとS_{c,k}の一意の決定を可能にする。クラスに渡っての等しいサービス時間と等しくないサービス時間の両方の場合について、サービス要求時間は

  • D_{c,k}=V_{c,k}S_{c,k}

によって与えられる。


 ここで我々は手短にテープ・デバイスについてのサービス要求時間の見積もりを考察しよう。以前のセクションに記したように、個々のドライブよりもむしろテープ・チャネルを表現することが一般に適切である。さらに、(異なるクラスはテープI/O活動の異なる総量を持っているが)同じ割合でさまざまなテープ・チャネルを用いるとして全てのクラスをモデル化することは一般に適切である。よって、訪問回数は以下で与えられる。

  • V_{c,k}=\frac{L_c}{\Bigsum_{all\;classes\;j}L_j}{\times}P_k{\times}\frac{1}{measured\;class\;c\;completions}

ただしP_kL_cはここではそれぞれセンターkでの測定された物理的テープI/O回数とクラスcの論理的テープI/O回数である。全てのクラスが(同じサービス時間を持つように)同じブロック・サイズを本質的に持つと仮定することによって、サービス要求時間は

  • D_{c,k}=V_{c,k}\frac{B_k}{P_k}

で与えられる。もしブロック・サイズがクラス間でかなり異なっているならば、サービス要求時間は、クラス依存サービス時間を持つディスクについて上記で提案したやり方と類似のやり方で決定出来る。


12.6.モデルの妥当性確認」に続きます。