第 8 章 関連研究 71
8.3 制御理論を用いた手法の関連研究
制御理論を利用した手法[44, 40]では,サーバの目標応答時間などサーバの目標 とする振舞いを外部から明示的に基準として与え,その基準を満たすようにサー
バを制御する.
サーバ性能を維持するという点でパラメータ設定の研究と関連はしているが,両 者は大きく異なっている.制御理論の手法では,サーバの性能目標が管理者によっ て外部から明示的に与えられ,その目標を満たすように制御を行う目標値制御で ある.一方,パラメータ設定では目標は明示的に与えられず,サーバ性能が高く なるようなパラメータ値の組み合わせを発見する最適化である.これはLiuらの 文献 [49]の言葉を借りれば,制御理論の手法では大きさの決まっている「パイを どのようにそれぞれのユーザに分配するか」を目標としているのに対して,パラ メータ設定は「パイそのものの大きさを大きくする」研究である.制御理論を用 いた研究では,サーバの資源を有効活用することよりも,固定されたサーバ資源 をユーザ間でどのように分配するかに大きな関心がある.
制御理論を用いた手法では,サーバを代数的または待ち行列を利用してモデル 化し,制御理論のフィードバック制御手法を適用する.制御理論の手法は機械,電 気などの他の工学分野では一般的に用いられている.しかしながら,制御理論の 手法では線型モデルを仮定する場合が多いのに対して,計算機は非線形な振舞い をしやすい傾向にあり,どこまで適用可能か見極める必要がある.また,サーバ は環境によってハードウェア性能が多様であり,環境ごとに制御機構を設計しな ければならず,導入のコストが高い.さらに,システムのモデル自体は汎用性が 高いが,モデルにあらわれる係数はワークロードに依存する傾向があり,ワーク ロードが変わった場合,どの程度正しく制御可能か判断する必要がある.
制御理論を用いた手法では目標値が明示的に与えられるため,工学的手法が適 用しやすいが,管理者にとって目標となるポリシーを与えること自体難しい.サー バで許容する最大応答時間,最低スループットをポリシーで記述する場合,実際に サーバで性能を測定してみなければどの値が適切かはわからない.そのため,パラ メータ設定の手法と制御理論の手法は補完的に組み合わせて用いることができる.
8.3.1 CPU ,メモリの使用率に基づく Apache のパラメータ制御
Diaoら [28]はApacheウェブサーバを対象とした制御手法を提案している.こ
の手法では,管理者がCPUとメモリ使用率の目標をポリシーとして与え,この目 標を満たすように持続的接続時間と最大クライアント数の2つのパラメータをた えず制御することで,サーバの性能の維持を行う.持続的接続時間,最大クライ アント数はお互いにCPU使用率とメモリ使用率の双方に影響を与えるため,サー
バのモデル化には複数の入力と出力をとるmultiple input multiple outputモデル が使用されている.
この研究では,CPU使用率とメモリ使用率の目標をポリシーとして管理者がシ ステムに明示的に与える.また,実際のシステムを単純化してモデル化しており,
異なる状況でどの程度正しく動作するか見極める必要がある.このモデルでは,新 しい時刻のパラメータの値が1つ前の時刻のCPUとメモリ使用率,パラメータ値 の線形結合で計算可能であると仮定しており,制御の結果はこの過程がどの程度 正しいかに依存している.モデル中の係数はワークロードに依存し,同じアクセ スパターンでクライアント数が変わった状況については論文の中で評価されてい るものの,アクセスパターン自体が大きく変化する状況については議論されてい ない.
この研究の後続研究のAuto Tune [25]では,環境が変わる度にモデルを作成す る手間を軽減させるために,容易にモデルを作成することができるようにするた めのGUIユーザインターフェースを提供しているものの,オンラインで利用する ことは難しい.
8.3.2 ウェブサーバのアドミッションコントロール
近年,ウェブサーバのアドミッションコントロールの研究がさかんに行われて いる [19, 20, 30, 42, 45, 68, 43, 45].サーバとクライアントの間にアドミッション コントロールを行う機構を挿入し,クライアントが新しい接続を確立しようとす るとその接続を受け入れるかどうかを決定する.あらかじめ接続の可否を決定す る基準となるポリシーが与えられ,例として満たすべき応答時間の上限などが指 定される.サーバに対する接続が少なく,応答時間などのポリシーが満たされて いる間は全ての接続を受け入れる.サーバに対する接続数が増加し,ポリシーが 満たさなくなると接続を拒否するなどの対策を行い,ポリシーを満たすよう接続 の制御を行う.
アドミッションコントロールの場合も,性能目標は明示的に与えられる目標値 制御である.サーバに接続するクライアント数を制限するという点で最大クライ アント数と関連しているが,最大クライアント数はサーバの負荷状況に基づいて 決定されるのに対して,アドミッションコントロールではサーバの負荷とは無関 係にポリシー次第で接続の制限が行われる.
Abdelzaherら[1]は古典的な制御理論の手法を利用したウェブサーバのアドミッ
ションコントロールを提案している.ボトルネックとなる資源が1箇所であると 仮定し,サーバの使用率の目標をあらかじめ定めておき,その目標を満たすよう に制御を行う.特定の環境専用にシステムを同定し,フィードバック制御機構を 作成しているため,環境が変わる度に制御機構を作成し直す必要がある.
Doyleら [29]は複数サイトをホスティングするウェブサーバのアドミッションコ
ントロールを提案している.この研究では,制御対象のサーバをメモリとディス クで構成された待ち行列でモデル化し,管理者から与えられた目標ポリシーに基 づいて制御を行う.この研究では,複数のウェブサイトを単一のハードウェアでホ スティングするために,それぞれのサイトの性能独立(performance isolation) [77]
や性能の差別化(differentiation)に大きな関心があり,パラメータ設定とは目的が 異なっている.
Menasc´eら [52, 53, 54]は,ウェブサーバを待ち行列でモデル化し,モデルの上 で様々なパラメータの組み合わせを試行するすることにより,管理者から与えられ たポリシーを満たす最大クライアント数と接続待ちキューの長さを見つける.こ の研究でも,性能目標となるポリシーが明示的に与えられる.また,この手法で はモデルがどの程度現実のシステムの傾向を反映しているかに依存しており,適 用できる範囲を見極める必要がある.