8.2.フロー等価サービスセンターの作成:Quantitative System Performance

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

8.2.フロー等価サービスセンターの作成


 一般に、補完ネットワークに対して正確な結果を生成するFESCを見い出すのは可能ではない。しかし、適度に正確な近似を得ることは出来る。図8.3はFESCが使用される典型的な状況を示す。囲まれたサブシステム(総体)はFESCで置き換えられる。

  • 図8.3.FESCの適用例

 FESCの目的は総体の振舞いを模倣することである。この振舞いは、補完サブネットワークから見ると、総体の外から補完体の中への客のフローである。このフローの近似は、客が総体から出発する平均レートが総体の状態にのみ依存するという分解可能仮定を想定することによって得ることが出来る。ただし、状態は総体内部の客個体数によって定義される。よって、状態はさまざまなサービスセンターでの客の配置から独立である。(例えば、総体の状態は(2クラスA、2クラスB)かもしれない。個々のクラスの客の総数は表現されているが、総体内の個々の客の位置に関する情報は無視されている。) よって総体はその可能な客個体数の関数としてのそのスループットの列挙によって完全に定義出来る。
 総体のアウトプット・レートがその中の客にのみ依存するという仮定は、総体が補完体との連続するやりとりの間に局所平衡を達成するという仮定を暗示している。局所平衡とは、総体の振舞いがその開始時の条件と独立であることをいう。この状況は、もし総体への到着ののち、総体内のサービスセンター間での客の多くの移動が補完体からの他の到着が起きる前に発生するならば起きる。局所平衡は、総体内のサービスセンターの全てが、補完体内のセンターの処理レートよりもかなり速い処理レートを持つ場合に達成する確率が最も高い。
 局所平衡が成り立つ場合、総体内の個体数を与えたとしてその総体からの平均出発レートが、それらの客の最初の配置にかかわらず、ほぼ平衡スループットであるので、総体が局所平衡を達成することが望ましい。これは厳密には、その状態が存在する客の数によって完全に記述される単一サービスセンターに総体を簡約する際になされる仮定である。仮に総体が平衡を達成していなかったならば、そのアウトプット・レートは客の最初の構成に依存し、よって単一サーバ表現は不完全になったであろう。
 フロー等価サービスセンターは待ち行列ネットワーク・モデル内で負荷依存サービスセンターを用いて表現される。負荷依存サービスセンターは、その処理レート(その処理時間の逆数)がそのキュー内の客の個体数の関数であるようなサービスセンターとして考えることが出来る。例えば、ディレイ・センターは(単一クラス・モデルにおいては)キュー内に1個の客の場合、処理レート\muを、キュー内にn個の客の場合、処理レートn\muを持つ負荷依存サービスセンターとして考えることが出来る。対照的に、キューイング・サービスセンターは負荷独立である。つまり、それはキュー内の客の数にかかわらず処理レート\muを持つ。
 総体のためのFESCは全ての個体数\vec{n}とクラスcについて総体のスループットX_c(\vec{n})と等しい処理レート\mu_c(\vec{n})を持つ負荷依存サービスセンターである。(セクション8.3ではこれらのレートを得るための方法を検討する。) FESCは総体の振舞いを模倣するので、モデル内の総体の詳細記述を、得られる性能尺度にほとんど影響を与えずに置き換えるために用いることが出来る。単一クラス・モデルの場合、総体の状態は単にその内部のどこかにいる客の数によって記述される。というのは客は相互に区別出来ないからである。フロー等価サービスセンターは、総体内の客数nの関数として、総体のスループットX(n)を計算することによって形成される。これらは処理レート\mu(n)=X(n)を持つ負荷依存サービスセンターを作成するために用いられる。
 作業負荷がトランザクション・タイプである場合、FESCの仕様についていささか微妙な問題が発生する。これらのモデルについては、総体内に存在するであろう客の数nに制限がない。よってFESCの仕様を決めるのに無限の数のスループットの値が要求されるように見える。理論的にはその通りであるが、実際上は状況はそれほど望みがないわけではない。現実のコンピュータ・システムは自分のキューに無制限のジョブを経験しないので、トランザクション・タイプのクラスについてであっても有限の(そして通常は小さな)数のレートのみが要求される。通常、ある与えられた数n*(これはモデル化されるコンピュータ・システムに依存する)より小さな全てのnについて個別のレートが指定される。次に、より大きい全てのnについてのレートはn*客のレートに等しいと仮定される。この種のレートを持つFESCは限定負荷依存挙動を持つと呼ばれる。この本のパートIIIでは限定負荷依存の特定の応用を見ることになる。
 FESCを複数クラス・モデルに適用する際、総体の状態は、存在する個々のクラスの客の数を与えるベクトル\vec{n}\equiv(n_1,...,n_C)によって定義される。よって、特定の総体に対応するフロー等価サービスセンターは、クラスcのアウトプット・レート、\mu_c(\vec{n})X_c(\vec{n})に等しい負荷依存サービスセンターである。個々のクラスについてのFESCのアウトプット・レートは総体のレートに等しくなければならないので、複数クラスFESCでの「スケジューリング規律」は従来のものにはなり得ない。(例えば、もしあるFESCがFCFSでスケジュールされたならば、FESCで今処理中のクラスのみが正しいアウトプット・レートを示すだろう。というのは他の全てのクラスはゼロのアウトプット・レートを持つからである。) 代わりに、人工的なスケジュール規律で合成キューイングと呼ばれるものが一度に全てのクラスが処理を受けることが出来るように使用される。FESCがあたかも各々の客クラスについて1つずつ、全部でC個のキューを持っているかのように考えることが出来る。これらのキューは、C個のキューの個体数が\vec{n}\equiv(n_1,...,n_C)で与えられる時、クラスcキューがレート\mu_c(\vec{n})で処理されるように並行して処理される。
 単一クラス・モデルでの場合と同じように、トランザクション・タイプのジョブ・クラスを含むネットワーク内のFESCについてレートを指定することは、一見、無制限のレートの数を要求されるので、理論上問題を示している。しかし実際には、限定負荷依存挙動を持つFESCで充分であり、よってトランザクション・タイプを持つモデルは実際の問題をもたらさない。
 単一クラスの場合に発生しない、複数クラスFESCに関連する問題は、それ毎にスループットを決定しなければならない個体数の数がクラスの数とともに非常に急速に増加することである。特に、N_cの(クローズド)個体数のクラスc客を持つネットワークについてC\prod_{c=1}^C(N_c+1)個のスループットが要求される(C個のクラスの各々についての、\prod_{c=1}^C(N_c+1)個の可能な総体個体数の各々についてのスループット)。例えば、5つのクラスにそれぞれ10個の客があるネットワークは、ほぼ百万個の個別のスループットを要求する。幸いなことに、この問題は、若干の場合、必要な負荷依存スループットを計算するための適切な方法を選ぶことにより扱うことが出来る(セクション8.3参照)。
 階層的モデル化過程はモデルの正確な表現を与えるように見えるが、一般にはそれは近似でしかないことを心にとめておくことは重要である。この近似はサブシステム全体を1個のサービスセンターで記述する際に発生する。これを行う際、サブシステムのセンターでの客の配置に関する情報が失われるので、FESCはサブシステムを正確に模倣するのに充分な情報を持たない。しかしながら、多くの状況において、その結果もたらされる不正確さはささいなものである。

8.3.パラメータの獲得」に続きます。