JP2011086295A - 応答時間に基づいてサービスリソース消費を推定すること - Google Patents

応答時間に基づいてサービスリソース消費を推定すること Download PDF

Info

Publication number
JP2011086295A
JP2011086295A JP2010232543A JP2010232543A JP2011086295A JP 2011086295 A JP2011086295 A JP 2011086295A JP 2010232543 A JP2010232543 A JP 2010232543A JP 2010232543 A JP2010232543 A JP 2010232543A JP 2011086295 A JP2011086295 A JP 2011086295A
Authority
JP
Japan
Prior art keywords
workload
service demand
response time
estimating
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010232543A
Other languages
English (en)
Other versions
JP5313990B2 (ja
Inventor
Stephan Kraft
シュテファン・クラフト
Sergio Pacheco-Sanchez
セルヒオ・パチェコ−サンチェス
Giuliano Casale
ジュリアーノ・カザーレ
Stephen Dawson
スティーヴン・ドーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of JP2011086295A publication Critical patent/JP2011086295A/ja
Application granted granted Critical
Publication of JP5313990B2 publication Critical patent/JP5313990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • G06F11/3461Trace driven simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】コンピュータシステムの待ち行列モデルを生成するためのコンピュータ実施方法を提供すること。
【解決手段】本開示の実装形態は、複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、サービス要求を受信および処理するコンピュータシステムにそのワークロードを適用するステップと、ワークロードの要求ごとにコンピュータシステムの応答時間を測定するステップと、応答時間に基づくクラスごとの平均サービス需要、およびコンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルを生成するステップとを含む、コンピュータ実施方法を提供する。
【選択図】図1

Description

本発明は、応答時間に基づいてサービスリソース消費を推定することに関する。
ソフトウェアおよびハードウェアシステムのスケーラビリティを予測するために、解析法またはシミュレーションによって性能モデルが実装されうる。より具体的には、ソフトウェアおよびハードウェアシステムへの要求が、その要求に応答するために使用されるシステムリソースに要求を出す。このようなシステムの性能予測を得るためのモデリングおよび評価技法はあるが、サービス需要の良い推定を提供できるリソース消費推定方法はほとんどない。サービス需要は性能モデルの指定において重要なパラメータである。したがって、代表的であり堅牢であるモデルを定義するためのサービス需要の正確な推定が所望される。
従来、中央処理装置(CPU)使用率は、ソフトウェアおよびハードウェアシステムのサービス需要を推定するために実装されてきた。しかし、CPU使用率の使用にはいくつか欠乏しているものがある。たとえば、CPU使用率測定は、ハードウェア上で実行されるオペレーティングシステムへのアクセスを必要とし、また専門のCPUサンプリング計測も必要とする。CPUサンプリング計測は通常のシステム活動を干渉して、不正確なCPU使用率測定を提供する可能性がある。いくつかのシナリオでは、たとえば仮想環境などにおいて、ハイパーバイザオーバーヘッドのフィルタリングが必要なために正確なCPU使用率サンプリングがより困難である。他のシナリオでは、モデル化されるために、システムはCPU使用率データをサーバに提供しないウェブサービスプロバイダなどの第三者に所有される。
本開示の実装により、コンピュータシステムの待ち行列モデルを生成するためのコンピュータ実施方法が提供される。ある実装形態では、本方法は複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、サービス要求を受信および処理するコンピュータシステムにそのワークロードを適用するステップと、ワークロードの要求ごとにコンピュータシステムの応答時間を測定するステップと、応答時間に基づくクラスごとの平均サービス需要、およびコンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルを生成するステップとを含む。ワークロードの特徴は、1秒あたり平均5つの要求を有する指数到着時間間隔などの、待ち行列内に到着する要求の到着時間間隔分布を含むことができるが、これに限定されない。
いくつかの実装形態では、本方法は、ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップであって、平均サービス需要を推定するステップが複数の到着待ち行列長にさらに基づくステップをさらに含む。複数の到着待ち行列長のそれぞれの到着待ち行列長は、要求の発着時間を報告するログファイルから決定されうる。
いくつかの実装形態では、本方法は、ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップであって、平均サービス需要を推定するステップが複数の残余時間にさらに基づくステップをさらに含む。それぞれの残余時間は、処理されるべき要求の到着時に作業中の要求の処理を完了するために残っている時間に対応できる。
いくつかの実装形態では、平均サービス需要を推定するステップは、測定された応答時間に基づいて、直線回帰法解析および最尤法解析のうちの1つを使用して基本的な待ち行列モデル内の平均サービス需要を推定するステップを含む。
いくつかの実装形態では、待ち行列モデルを生成するステップは、平均サービス需要を使用して基本的な待ち行列モデルをパラメータ化するステップを含む。
いくつかの実装形態では、基本的な待ち行列モデルは待ち行列モデルの特徴における仮定を含み、その特徴はスケジューリングおよびサービス需要分布のうちの少なくとも1つを備える。
いくつかの実装形態では、コンピュータシステムはアプリケーションを実行するアプリケーションサーバ、および要求を生成する1つまたは複数のクライアントシステムを含む。
いくつかの実装形態では、本方法は、待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに含む。
本開示は、1つまたは複数のプロセッサに結合されており、1つまたは複数のプロセッサによって実行されると、その1つまたは複数のプロセッサに本明細書で提供された方法の実施に従って動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体も提供する。
本開示は、本明細書で提供された方法を実施するためのシステムをさらに提供する。システムは、サービス要求を受信および処理するコンピュータシステム、1つまたは複数のプロセッサ、ならびに1つまたは複数のプロセッサに結合されており、1つまたは複数のプロセッサによって実行されると、その1つまたは複数のプロセッサに本明細書で提供された方法の実施に従って動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体を含む。
本開示による方法は、本明細書に記載される態様および特徴のどのような組合せも含むことができることを理解されたい。すなわち、本開示による方法は、本明細書に特に記載された態様および特徴の組合せに限定されず、提供された態様および特徴のどのような組合せも含む。
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の記述において説明される。本開示の他の特徴および諸利点は、記述および図面、ならびに特許請求の範囲から明らかになるであろう。
本開示の実装による例示的なシステムアーキテクチャの略図である。 例示的な企業資源計画(ERP)システムの機能ブロック図である。 例示的なERPアプリケーションに対応する例示的な待ち行列モデルの機能ブロック図である。 本開示の実装形態による応答時間ベースの手法の概要を示す図である。 測定された応答時間と測定された待ち行列長との間の直線関係を示すグラフである。 本開示の実装形態による応答時間手法に基づく応答時間予測と従来の利用ベースの手法との比較を示すグラフである。 本開示の実装形態による応答時間手法に基づく応答時間予測と従来の利用ベースの手法との比較を示すグラフである。 異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。 異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。 異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。 図7Aの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。 図7Bの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。 図7Cの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。 本開示の実装形態によって実行されうる例示的なステップを示す流れ図である。 本開示の実装形態を実行するために使用されうる例示的なコンピュータシステムの略図である。
様々な図面における同様の参照記号は同様の要素を示している。
図1を特に参照すると、例示的なシステム100が示されている。図1の例示的システム100は、ネットワーク110を介して1つまたは複数のバックエンドサーバシステム106と通信する複数のクライアントコンピュータ102を含む企業資源計画(ERP)システムとして提供されうる。ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、セルラー式ネットワーク、またはいくつもの数のモバイルクライアントとサーバとを接続するそれらの組合せなどの、大規模コンピュータネットワークとして提供されうる。いくつかの実装形態では、クライアント102はサーバシステム106に直接(たとえば、ネットワークを通じて接続せずに)接続されてよい。
クライアントコンピュータ102は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯情報端末(PDA)、セルラー式電話、ネットワークアプライアンス、カメラ、スマートフォン、EGPRS(enhanced general packet radio service)移動電話、メディアプレイヤー、ナビゲーション装置、電子メール装置、ゲーム機、あるいはこれらのデータ処理装置または他のデータ処理装置のうちのいずれかの2つ以上の組合せを含む、様々な形式の処理装置を表すが、これらに限定されない。サーバシステム106は、アプリケーションサーバ112およびデータベース114を含み、ウェブサーバ、アプリケーションサーバ、プロキシサーバ、ネットワークサーバ、および/またはサーバファームを含む様々な形式のサーバを表すことを目的としているが、これらに限定されない。一般に、サーバシステム106はアプリケーションサービスを求めるユーザ要求を受け取って、ネットワーク110を介してこのようなサービスをいくつもの数のクライアント装置102にも提供する。いくつかの実装形態では、サーバシステム106は、サービスプロバイダがウェブサービスに関するデータを管理およびアクセスできる中心点を提供できる。
動作中、複数のクライアント102がネットワーク110を通じてサーバシステム106と通信できる。たとえばブラウザベースのアプリケーションなどのアプリケーションを実行するために、それぞれのクライアント102はサーバシステム106との対応するセッションを確立できる。それぞれのセッションは、サーバシステム106とそれぞれの個々のクライアント102との間の双方向情報交換を含むことができる。この双方向情報交換は、サーバシステム106に伝えられる、クライアント102で生成された要求を含むことができる。サーバシステム106は要求を受信し、複数の要求を待ち行列に入れ、要求に基づいて処理を実行し、要求しているクライアント102に応答を提供する。
本開示の実装形態は、図1を参照して上記で論じたシステム100などのコンピュータソフトウェアおよびハードウェアシステム上のサービス需要の正確な推定を対象にする。本開示の実装形態を示すためにERPシステムが使用されるが、本開示の適用性はERPシステムに限定されない。より具体的には、本開示は、どのようなタイプの多段配列プログラムアプリケーション、ハードウェアのモデリング(たとえば、ディスクドライブまたはメモリ)、および/またはネットワークリンクも含む、どのようなコンピュータソフトウェアおよびハードウェアシステムにも適用できるが、これらに限定されない。
本開示の実装形態は、マルチクラスワークロードについてのサービス需要を推定するために、測定された要求の応答時間を使用する推定方法を提供する。応答時間は、要求を完了するための端から端までの時間として提供され、サービス時間(たとえば、その要求に関心が向けられている、またはサービスされている時間)およびリソース競合のための遅延(たとえば、バッファリングのための待ち時間)の両方を含む。ワークロード(すなわち要求のボディ)はいくつかのクラス(すなわちトランザクションのタイプ)を含むことができる。本開示の実装形態は、応答時間測定に基づいてクラスごとのサービス需要とも呼ばれるサービス時間の推定に取り組む。
開示された応答時間ベースの手法が改良された性能予測をもたらすことを示している本開示の実装形態を示すために、非限定的な例として実社会の産業ERPアプリケーションが使用される。応答時間はアプリケーションを実行することによってしばしば直接ログを取られる、および/または外部オブザーバによって得ることができるので、本開示の応答時間ベースの手法はより広範囲に適用可能である。さらに、利用データをサーバに公開しない、サービスプロバイダなどの第三者によって所有されるシステムにとって、応答時間は容易に入手可能であってよい。
本開示のサービス需要推定方法は、これに限定されないが、先着順(FCFS)スケジューリングを有するシステムで実装することができ、直線回帰推定手法および最尤推定手法に基づく。応答時間ベースの直線回帰は、要求の平均応答時間と要求がシステムに到着するときに見られる待ち時間長とを関連付ける正確な方程式を使用し、これらは両方ともアプリケーションログから容易に得ることができる。最尤手法は測定された応答時間の分布全体を考慮し、推定精度の向上を実現できる。本開示は、位相型分布を使用して、尤度値を求めるための、およびリソース消費を推定するための計算法を提供する。
この情報は、基本的なシステムのモデルを作る待ち行列モデルをパラメータ化するために使用される。本明細書で使用されるように、パラメータ化はモデル、この場合は待ち行列モデルの完全なまたは関連する仕様に必要なパラメータを決定および定義する処理を含む。待ち行列モデルは、実際の待ち行列システムに近似するモデルであり、定常状態性能測定を使用して待ち行列行動を解析できる。待ち行列モデルは、A/B/S/K/N/Discとして提供されるケンドールの記号を使用して表すことができ、上記でAは到着時間間隔分布であり、Bはサービス時間分布であり、Sはたとえばサーバの数であり、Kはシステム容量であり、Nは呼び人口であり、Discは仮定されるサービス規律である。いくつかの例では、K、N、およびDiscは省略され、表記法はA/B/Sになる。分布のための標準的な表記法Aおよび/またはBは、マルコフ(指数)分布を意味するM、k位相を有するアーラン分布を意味するEk、退化(または決定論的)分布を意味するD(定数)、一般分布を意味するG(任意)、および位相型分布を意味するPHを含む。
以下でより詳細に論じる計算結果は、利用ベースの手法と比較して応答時間ベースの手法の改良された精度を示している。さらに、本開示の応答時間ベースの手法の本質的な利点は、サーバでの応答時間がシステム内の要求によって招かれるすべてのレイテンシ低下に依存することである。したがって、応答時間は帯域幅、メモリ、および入力/出力(I/O)競合遅延を説明するので、応答時間は本質的により包括的な性能のディスクリプタである。本開示の応答時間ベースの手法は、そうでなければ従来の手法によって無視されてしまう遅延を容易に説明する。
次に図2を参照すると、簡略化された例示的なアプリケーションサーバシステム200が示されている。図2の簡略化されたアーキテクチャは、本開示の実装形態を示すために使用される非限定的な例として提示される。システム200はアプリケーションサーバシステム202およびワークロードジェネレータ204を含む。ワークロードジェネレータ204は、アプリケーションサーバシステム202に要求を転送する複数のクライアント装置(たとえばクライアント102)として機能し、アプリケーションサーバシステム202のリソースにサービス需要を出す。システム200は、SAP AG of Walldorf, Germanyによって提供されるSAP Business Suiteに含まれるものなどの1つまたは複数のアプリケーションプログラムのうちのERPアプリケーションを含むことができる。図2の例示的システム200は2層構造で提供され、共通の仮想マシン上にインストールされたアプリケーションサーバおよびデータベースサーバを含む。図2の例において、および本説明のために、他のどのような仮想マシンも物理的なマシン上で実行しない。しかし本開示はこのような構成に限定されないことを理解されたい。
システム200は、これに限定されないが、標準的なビジネストランザクション(たとえば販売注文および請求書の作成および/または一覧作成)を含みうる動作 (たとえば販売および流通)のワークロードを使用してストレステストにかけられる。ワークロードジェネレータ204は、N個のユーザ206の固定グループによって要求が発行される、クローズドタイプのワークジェネレータでよい。ユーザによって提出された要求が完了すると、新しい要求をシステムに提出する前に、指数分布の思考時間(たとえば、平均時間Zは10秒に等しい)が終了する。すべてのユーザ206は要求の同じシーケンスをERPアプリケーションに循環的に提出する。要求の提出後、アプリケーションサーバは複数の並行ユーザ206からの要求を処理する。この処理はデータベース208から抽出した情報を使用して実現できる。アプリケーションサーバは、待ち行列内の要求をバッファしてその要求を作業過程212に転送する、ディスパッチャ210を使用する。作業過程212は、要求を並行して供給する個別のオペレーティングシステムスレッドとして提供されうる。作業過程212は、対話型プログラムを実行する対話処理として実行されてもよく、データベース変更を実行するアップデート処理として実行されてもよい。
要求のリソース消費を推定するために測定された応答時間(RMEAS)が使用されれば、ERPアプリケーション(たとえば図2の)の性能を説明する基本的な待ち行列モデルのパラメータ化が著しく改良される。このタスクのために考慮された性能モデルは、これに限定されないが、基本的なM/M/1//Nモデル300を含み、その例示的な構造は図3に示されている。図3の例示的モデル300は、遅延サーバ302、ならびにウェイティングバッファ306、作業過程およびデータベースシステム308を含むERPシステム304を含む。M/M/1//Nモデル300は、N個のユーザの有限母集団によって生成された要求を有するM/M/1/待ち行列である。これは、ユーザの思考時間のモデルを作る遅延ステーション、続いてクローズドループ上の待ち行列ステーションで構成されるクローズド待ち行列ネットワークとしても見ることができる。ウェイティングバッファ306はERPシステム304における流入制御を表し、作業過程において実行されるとサーバは要求のリソース消費のモデルを作る。
データベースサーバの利用は5%未満であるのが一般的である。したがってデータベース層での待ち行列の影響はごくわずかであり、データベースから暫定的データへの合計時間
は作業過程におけるサービス需要の構成要素として使用されうる。待ち行列モデルにおける思考時間およびサービス需要の両方が指数分布されると仮定されうる。この仮定は、ERPシステムにおける実際のサービス需要分布の良い近似として検証されている。測定されたサービス需要(すなわち標準偏差と平均との比率)の変動係数(CV)はCV=[1:02;1:35]における異なるバリデーションに値域を定めるのに対し、理論的な指数はCV=1である。モデル仮定と一致して、バリデーションについてのすべての思考時間も指数分布を使用して生成されている。
待ち行列モデルをパラメータ化する場合、基本的な待ち行列モデルが初めに決定される。基本的な待ち行列モデルは、コンピュータシステム(たとえばCPU)のリソースからの要求の発着を表す確率論的モデルである。基本的な待ち行列モデルは、リソースモデル化によって供給される要求の性能に影響を及ぼす現象を捉えるためにアナリストの抽象的概念として提供される。コンピュータシステムを説明するためにこのような待ち行列モデルについて定義される特徴は、リソーススケジューリング規律およびそれらのサービス時間分布、ならびに他のリソースとの相互接続および/またはそれぞれのリソースでの要求到着の統計的特徴を含む。この情報に基づいて、たとえば標準的なマルコフ連鎖理論を使用して基本的な待ち行列モデルが提供されうる。その次に、基本的な待ち行列モデルおよび測定された応答時間を処理することによって決定されうる推定された平均サービス需要に基づいて、最後のまたは対象の待ち行列モデルがパラメータ化されうる。本開示において提供される平均サービス需要の推定によって、基本的な待ち行列モデルにおける1つまたは複数のリソースモデル化についてのサービス時間分布のパラメータ化ができるようになる。
モデルによって予測された応答時間が、すべての可能な数のユーザNのための実際のシステムの測定された応答時間(RMEAS)に正確に一致するように、サーバでの要求の平均サービス需要(E[D])が決定される。軽負荷と重負荷とでERPシステムの動作に非常に異なって影響を及ぼすキャッシングの大きな役割のため、サービス需要はモデルにおけるユーザNの数の関数として指定される(すなわちE[D]≡E[D](N))。この推定手法は複雑なソフトウェアシステムのモデルを作る際に通常使用される。
次に図4を参照すると、本開示は応答時間測定(RMEAS)に基づいて待ち行列モデルの直接パラメータ化を提供する。より具体的には、測定された応答時間の分布またはモーメントに最もよく一致するようにサービス需要が推定される。これは図4に示されるようなモデリング方法論における重要なパラダイム変化を必要とする。図4のモデリング方法論はデータ収集400、モデリング仮定(たとえばスケジューリングおよびサービス分布)402、需要推定404、ならびにモデル生成およびソリューション406を含む。モデルのソリューションは、平均応答時間、平均スループット、およびランダムな時点で待ち行列内の一定数の要求を観測する確率についての値によって提供されうる。
応答時間はスケジューリングまたはサービス需要分布に関連するいくつかのシステムプロパティに依存するので、スケジュール上の仮定または一般的な形式の分布は、サービス需要推定活動の開始より前に行われる。仮定は、スケジューリングのタイプ(たとえばFCFSスケジューリング)、モデル化されるべきワークロードクラスの数、およびそれぞれの要求のサービス需要の分布(たとえば、指数分布)を含むことができるが、これらに限定されない。したがって、返されたサービス需要は、それらが使用されることになるモデルの特徴に依存する。対象のモデルに関連する可能な限り高いサービス需要推定を決定するために、最後のモデルの特徴の予備仮定が提供される。モデリング活動の目的は、実験的観測とモデル予測との間のよい合致を得ることなので、本開示の応答時間ベースの手法はモデル仮定の下で最高のパラメータを返すことによってこの目的を実現することにより強い焦点を置く。
上記で論じたように、例示的ERPシステムは指数分布されたサービス需要を有するFCFS待ち行列としてモデル化されうる。たとえば、指数分布はイベントが一定の平均レートで連続的および単独で発生する処理におけるイベント間の時間を説明できる。これらの仮定の下で、n個のウェイティング要求およびサービス中の1つの要求を有するシステムを発見する要求は、以下のように確率変数の合計の分布によって与えられる応答時間分布を受信する:
R=T+D1+D2+...+Dn+ Dn+1 (1)
上式で、Tはサービス中の要求の完了前の残余時間であり、1≦i≦nであるDiはi番目に待ち行列に入れられた要求のサービス需要であり、Dn+1は新たに到着した要求のサービス需要である。指数分布の定義によって、TはDと等しく、したがって確率変数Rの分布はn+1個の指数確率変数のコンボリューションである点に留意されたい。
平均応答時間が以下の関係を満たすのがわかっていることを、単純な微分によって示すことができる。
E[R]=E[D](1+E[A]) (2)
上式でE[D]は平均サービス需要であり、E[A]は到着時に要求によって観測される平均待ち行列長である。式2は、新しい要求の到着時にERPシステムにおける要求の平均数の知識がある場合は要求の平均サービス需要を推定するために使用されうる。値Aは、実行された実験のログファイルから得ることができ、要求の発着時間を報告する。
の推定は、X連続要求(たとえば、X=20)のグループについてRMEASおよび測定されたA値を平均化することによって得られたE[R]およびE[A]のサンプルのシーケンスを使用して式2の直線回帰によって得ることができる。ERPシステムにおけるE[R]とE[A]との間の測定された直線関係の例示的なグラフィカルな説明は図5で提供される。
式2より、直線回帰によってE[D]の値を求めることができる:
上式で、指数iは測定活動において収集されたi番目の値を意味し、
および
はそれぞれX連続iサンプル(たとえばX=20)で平均される応答時間および到着待ち時間長である。
上述の式を基礎として使用して、本開示は直線回帰技法および最尤技法に基づいてマルチクラス要求のためのサービス需要推定アルゴリズムを提供し、それぞれについては例示的な待ち行列シナリオを使用して以下でさらに詳細に説明する。例示的な説明のためだけに、ユーザが合計I個のサンプルの入力トレースをサービス需要推定アルゴリズムに提供したと仮定する。これは、これらに限定されないが、クラスcの要求についての測定された応答時間(Rc)のシーケンス、およびそれぞれのクラスc要求によって到着時に見られる対応するクラスk要求の待ち行列長
を含むことができる。ワークロードクラスの数はKで表される。
ある実装形態では、指数サービスの仮定が廃棄されるか複数のクラスが考慮される場合、式3で与えられた直線関係は変更しない。したがって、複数のクラスを有する非生産形式待ち行列ネットワークにおけるFCFS待ち行列を推定するために導出された数式の変形が以下のように提供される:
上式で1k,cは、k=cの場合1に等しく、k≠cの場合は0に等しい。Tcは、クラスc要求の到着の瞬間に実行中である要求の完了前の残余時間であり、Kは要求クラスの数であり、E[Dk]はクラスkの平均サービス需要であり、
は新たに到着した要求と現在サービス中の要求の両方を除くシステムにおいて待ち行列に入っているクラスkの要求の平均数である。
式4は、たとえばGI/GI/1/FCFS待ち行列におけるクラスcの要求の平均要求時間を提供できる。GIは一般的な独立分布を示しており、要求が相互に独立している特定のタイプの一般分布である。FCFSスケジューリングを有するGI/GI/1待ち行列の例示的な場合では、システムがn+1個の待ち行列に入っている要求(すなわちウェイティング中のn個の要求とサービス中の要求)を有するときに到着するクラスcの要求の応答時間を説明する確率変数が以下のように提供される:
Rc=Tc+D1+D2+…+Dn+Dc (5)
上式で、Tcはサービス中の現在の要求の完了前の残余時間であり、1≦i≦nであるDiはi番目に待ち行列に入っている要求のサービス需要であり、Dcは新たに到着した要求のサービス需要である。
到着待ち行列長がAc=nであることが条件とされている予想をすると:
上式で、C(i)は位置i(1≦i≦n)における要求のクラスである。
要求クラスの関数としてのサービス需要は以下のように表すことができる:
式7を式6に代入すると:
続いて平均応答時間は以下に基づいて決定されうる:
上式で、
は、クラスcの要求による到着時に待ち行列内でウェイティング中のクラスk要求の平均数
である。
クラス需要E[Dk]の推定は、非負最小二乗アルゴリズム(たとえば、Mathworks, Inc.によってMATLABにおいて提供されるlsgnonneg)などの回帰法を使用して式4から得ることができ、推定上の信頼区間は標準的な数式を使用して生成されうる。式4は、クラスごとの応答時間Rcおよび到着待ち行列長Acが知られている場合、平均サービス需要E[Dk]を推定するための直線回帰において使用されうる。一般に、E[Tc]を直接測定するのは難しい場合がある。したがって、この量を推定するために近似が必要である。これを実現するために、これに限定されないが、標準的なポアソン到着近似Tc=Dkを含むことができる近似スキームが実装されうる。
例示的なGI/GI/1/FCFS待ち行列内に残余時間数式(Tc)についての正確な結果がないため、以下の残余時間についての再生理論数式が使用される:
上式で、CVcはクラスcのサービス需要分布の変動係数である。これは明らかにGI/GI/1/FCFS待ち行列における近似であり、到着ストリームがポアソン過程の場合、正確な数式になる。CVcの値が先験的に知られていない場合、研究中のシステムに適していると仮定される異なるCVc値についての式4の値を求めることはまだ可能である。式4の最小二乗解法において最小平均残余誤差を生じさせる、したがって観測に最適である変形係数のグループであるセットがCVc値の最良の推定値として選択される。これは、非指数サービス分布のための式4の可能なアプリケーションについての一般的なスキーマを概説する。
いくつかの実装形態では、一定のサンプルパスを観測する確率の解析式に基づいて確率変数の統計を推論するために最尤推定が使用されうる。平均サービス需要推定の範囲内で、すべての1≦i≦IについてRiはi番目に観測または測定された応答時間を示させることによって最大尤度を公式化でき、上式でIは測定された応答時間の総数である。測定された応答時間のシーケンスを観測する確率R1,…,Ri,…,RIが最大になるように、それぞれのクラス1≦k≦K平均サービス需要E[Dk]が求められる。公式にこれは平均サービス需要のセットE[D1],…,E[Dk]を発見することとして表すことができる。これは以下の最大化問題を解決する:
すべてのクラスk について、E[Dk]≧0であることを条件とする。応答時間を独立確率変数と仮定すると、式11における同時確率の数式は以下の積に簡約される:
積を和として同等に表現するために対数を取ると以下が提供される:
上式で、ここでは独立変数は以下のように提供される尤度関数である:
課題は研究中の問題を表す尤度関数についての、および最大値を効率的に計算できる数式を得ることである。最適化はコストがかかりすぎる場合があるので、この数式は解析的に扱いやすいことも重要である。特に、平均サービス需要の推定は積形式待ち行列に基づく標準的な容量立案モデルの仕様についての著しいパラメータなので、本明細書は平均サービス需要の推定に焦点を合わせる。
いくつかの実装形態では、尤度関数を導くための1つの方法は、サブジェクトシステムのサービスおよび応答時間の両方を、それらの評価についての効率的な数式を享受する位相型分布によって特徴付ける。不要な複雑性を避けるために、指数分布のサービス需要の場合の手法が説明され、一般的なサービス需要に関するこれの外延が提供される。
たとえば、現在サービス中の要求を含む、n1,…,nk要求がクラスごとに待ち行列に入っているときにシステムに到着する要求が考慮される。すべてのクラスについて指数サービス需要を仮定でき、クラスkの平均サービス率がμk=1/E[Dk]で示される。k番目の要求についての応答時間の分布は、レートμ1でn1指数サービス需要の合計によって与えられ、レートμ2でn2指数サービス需要の合計によって与えられ、すべてのKクラスについて同様である。したがって、これはマルコフ連鎖における吸収時間としてn=n1+…+nk状態でモデル化でき、それぞれが要求サービスのための待ち時間を表している。非限定的な例示として、K=2クラスがあり、到着時に見られる待ち行列がn1=3およびn2=2の場合、両方の到着した要求およびサービス中の1つの要求を含めて、以下の(D0, D1)表現で位相型分布によって吸収時間を提供できる:
D0マトリクスは、吸収につながらない状態iから状態jへの遷移を表す(i, j)の位置に非対角要素を有し、D1要素は吸収に関連する遷移である。D0の対角はこのようなので、D0プラスD1は、経時的なアクティブ状態の進化を説明するマルコフ連鎖の無限小生成作用素である。
(D0, D1)表現により、要求が応答時間Riを受信する確率が効率的に決定できるようになる。吸収するための時間は位相型分布(D0, D1)の確率密度によって説明される。吸収マルコフ連鎖の基本的理論から、これは以下のように容易に提供される:
上式で
は、吸収直後の要求の元の状態を表す要素
を有する行ベクトルであり、E[D1],…,E[Dk]の知識はレートμ1,…, μkを知っていることに等しい。D1内に吸収につながる単一の遷移があるため、式17において、常に
であり、式17を評価することの主要コストはマトリクス指数の計算であるとすぐに結論付けられる。これは、一意化技法を使用して、またはパデ展開(たとえばMATLABで提供される)によって、効率的な方法で推定することができる。上述の手法は、位相型として推定することができる非指数サービス需要に一般化されうる。
この概念は
にクラスkのサービス需要の位相型表現を示させることによって説明されうる。非限定的な例示として、アーラン-2分布について、これは以下のように提供される:
および
これは確率ベクトル
を暗示する。
指数ケースの同じ例として、およびサービスが例示的なアーラン-2分布を使用して分布されると、待ち行列内で費やされる応答時間は以下のように表現できる:
上式で
である。一般的に
の状態空間サイズは異なるので、
項は位相型分布の適切な初期化を保証する。上述の数式は、尤度関数を計算するために式17を使用してすぐに値を求めることができる。唯一の違いは、これはより大きなマトリクスを含むことである。
いくつかのパラメータによって指定された超指数分布などのサービス需要分布について、上述の手法は、平均を除くすべてのモーメントが先験的に固定されることか(たとえば、サービス処理の変動性を推測することによって)、これらの追加パラメータを未知の変数として最尤処理に統合することのどちらかを必要とする。これは、最初のMモーメント
、1≦m≦Mによって位相型分布が一意に指定される場合、ログ
の形式の条件付き確率の値を求めるために最尤推定問題の構造を変化させる。たとえば、3つのパラメータによって超指数分布が完全に決定されうる。したがって、最初の3つのモーメント
は分布を完全に指定するのに十分である。
扱うのが最も難しい高変動性分布がある場合、増加する数のクラスにおけるワークロードを分解するのがより実用的である。このように、それぞれのクラスのサービス分布を指数によって推定することができる。たとえば、ワークロードクラスが密度
である超指数サービス需要を有し、到着レートがλの場合、ワークロードは指数サービス需要が
および
である2つのクラス、ならびに到着レートλ1=pλおよびλ2=(1-p)λによってそれぞれ推定することができる。これにより、より単純な指数仮定の下で焦点を平均サービス需要推定に合わせることができるようになる。したがって、サービス需要解析の肝心な点は、マルチクラス設定における指数分布サービス需要を確実に推定できることである。
次に図6Aおよび6Bを参照すると、従来のCPU利用ベースの手法と比較した応答時間ベースの手法の精度が強調されている。図6Aは、本開示の応答時間ベースの手法を使用してそれぞれパラメータ化された例示的なM/M/1//N待ち行列モデルについての推定およびモデル予測精度結果を提供する。図6Bは、CPU利用ベースの手法を使用してそれぞれパラメータ化された例示的なM/M/1//N待ち行列モデルについての推定およびモデル予測精度結果を提供する。図6Bは、CPU利用ベースの手法に従ってパラメータ化されたモデルが、基本的なERPシステムの測定された応答時間(RMEAS)を著しく低く推定する応答時間推定(RCPU)を提供することを示している。この場合、完了した要求の数に対するそれぞれの要求の総CPU消費
と、データベースからのデータを使えるように設定するための総時間
との合計の直線回帰によって決定される、
と等しいE[D]でパラメータ化されている例示的待ち行列モデルに基づいてRCPU値が決定される。
図6Bは、CPU利用ベースの手法に従ってパラメータ化されたモデルが、基本的なERPシステムの測定された応答時間(RMEAS)を著しく高く推定する応答時間推定(RTWP)を提供することも示している。この場合、完了された要求の数に対してワーク処理において費やされた合計時間
の直線回帰によって決定される、
と等しいE[D]でパラメータ化されている例示的待ち行列モデルに基づいてRTWP値が決定される。図6Aに見られるように、図6Bで考慮される利用ベースのサービス需要推定と比較して、質の高い予測の生産において本開示の応答時間ベースの手法の方がより効率的である。
本開示による応答時間ベースのサービス需要推定の精度は、たとえば60、600、および3600秒のシミュレーション期間を使用して待ち行列システムシミュレータによって生成される利用および応答時間トレースを参照して図示することもできる。このようなシミュレータは数値計算環境およびプログラミング言語(たとえば、Mathworks, Inc.によって提供されるMATLAB)を使用して書くことができ、標準的な性能測定ならびに要求によって到着時に見られる待ち行列長のログを取るためにプログラムできる。到着時間間隔および平均サービス需要は指数分布から生成でき、シミュレーションについて固定された利用レベルを一致させるためにそれらの平均が割り振られる。
シミュレーションは、600秒の例示的期間にわたるシステム利用および応答時間測定に基づき、低、中、および高サーバ利用レベル(たとえば、ρ∈{0.1,0.5,0.9})ならびに要求クラスK∈{1,2,5}で実行されている。応答時間測定は要求ごとに収集でき、利用は毎秒サンプリングできる。これは、容易に個々の要求の応答時間のログを取るが、きめ細かい、または要求ごとの解決で利用を調べられない、現代のシステムにおける一般的な状況である。需要推定精度は従来のCPU利用ベースの手法(UR)と比較され、本開示による方法は応答時間ベースの回帰(RR)および最大尤度(ML)を含む。
それぞれのシミュレーションについて、クラスKの数および利用ρの異なる選択に対応して、以下によって提供される誤差関数に基づいて推定精度を評価することができる:
これはシミュレーションにおいて使用される正確な値E[DEXACT,k]について推定されたサービス需要E[DEST,k]のすべてのクラスのにわたる平均相対誤差である。シミュレーションごとに、それぞれのクラスのE[DEXACT,k]値が[0,1]の範囲の一様分布でランダムに導かれる。
図7A〜7Cは、ランダムサービス需要で100のシミュレーションにわたってΔを平均化することによって決定された平均値E[Δ]を示している、ならびに同数のクラスKおよびサーバ利用ρを有している例示的なグラフを含む。図7Aは、単一の要求クラスに対応するグラフであり、サーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示している。図7Bは2つの要求クラスに対応するグラフであり、サーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示しており、図7Cは5つの要求クラスに対応するグラフであり、同様にサーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示している。図7A〜7Cにおいて、UR-1はすべての利用可能なサンプル上のCPU利用ベースの回帰についての平均相対誤差値を示しており、UR-50sは50個の連続サンプルにわたって測定を平均化しているCPU利用ベースの回帰についての平均相対誤差値を示しており、UR-30 reqは30個の要求がそれぞれの分割内に入るように30個の連続サンプルによって形成される分割上の平均を使用してCPU利用ベースの回帰についての平均相対誤差値を示している。RR-1 reqはすべての利用可能サンプルを使用して応答時間ベースの回帰についての平均相対誤差値を示しており、RR-30 reqは同じクラスの30個の要求の分割にわたる平均を使用する。MLは、すべての利用可能なサンプルを使用して応答時間ベースの最大尤度についての平均相対誤差値を示している。
図8A〜8Cは、ρ=0.5およびK=1、2、5についての100個のランダムモデルにわたるΔの累積分布関数(CDF)を示す例示的なグラフを含む。図8A〜8Cは、作図を簡略化するために、および図示していないカーブは図7A〜7Cと一致する定性的結論につながるので、UR-30 req、RR-30 req、およびMLについてのCDFだけを含む。
単一の平均サービス需要E[D]だけが推定されるので、単一クラスのシナリオが最も単純なシナリオである。このケースではほとんどの方法がうまく実行され、異なる利用レベルについて誤差約5%を示す(図7A参照)。UR-1だけが、中負荷(ρ=0.5)でさえ30%を上回る誤差値を特徴とする質の低い結果をもたらす。この影響は、サンプル期間内の不十分な数のイベントの観点から説明でき、基数のうちのわずかだけを有する値のサブセットでサンプル平均が計算されるので(たとえば、1、2、または3つの要求でも)、直線回帰式を無効にする。したがって、UR-30 reqおよびUR-50 sにおいて使用される集約は、UR-1 sの誤差を取り除いてUR-30 req のためにE[Δ]を5%未満に下げることに極めて好ましい影響を与える。さらにRR法はすべての利用レベルに質の高い結果をもたらす。MLも同様にすべての利用レベルに質の高い結果をもたらす。図7Aの観測が誤差分布によって確認される。より具体的には、図8Aはすべての技法について、多くの方法に低い高誤差率を12%の約95パーセンタイルでもたらす。したがって、単一クラスのケースではUR-1 sを除く技法は正確な結果をもたらす。
単一からマルチクラスワークロードに移動する場合、図7Bに示されるように誤差が増える。2つの要求クラスを考慮する場合、MLは最小誤差を有し、中負荷の状況 (ρ=0.5)で8%未満の誤差をもたらす。UR-1 sの質と比較してML性能の質が強調され、同じ利用レベルについて約35%の誤差値が見られる。利用サンプルの集約は単一クラスのシナリオと同じくらい効果的であるとは判明せず、UR-30 reqならびにUR-50 sはUR-1 reqとはそれほど異ならない。RR-1 reqはUR法よりもよい結果をもたらす。分布解析は、ρ=0.5について同様の結果を提示する。たとえば図8Bで、MLは17%の95パーセンタイルを有し、RR-30 reqおよびUR-30 reqはそれぞれ54%および61%の95パーセンタイルを有する。
図7Cは、5クラスのシナリオに移動すると結果の質が著しく変更するという事実を示している。より具体的には、特に高負荷において一般的な精度が低下する(すべての図面について縦軸が異なる点に留意されたい)。これは、推定されるべき多数のサービス需要の結果と推測される。UR-1 s、UR-30 req、およびUR-50 sは一貫して大きな誤差を有し、UR法の間の最良の結果はρ=0.5のケースにおけるUR-1 sによって実現されている。URについての集約は、やはり精度の向上にはつながらない。RR-1 reqは、中程度の利用レベルにおいて同様の結果をもたらし、RR-30 reqは誤差値を悪化させる。少なくとも低および中程度の利用レベルで質の高い結果をもたらす唯一の方法はMLである(12%未満の誤差)。すべての方法にとって負荷の重いケースは困難に見える。図8CにおけるK=5のシナリオのCDFは、21%未満の誤差の生産の95%を実現するMLの質を強調する。RR-30 reqは111%の95パーセンタイルを有し、UR-30 reqについては162%である。UR-1 sについては(図7Cには示せず)56%である。したがって、総合的にMLがより堅牢である。
図7A〜7Cおよび8A〜8Cでもたらされる例示的な結果は、異なる利用値についての600秒内のイベントのセットに対応する中程度のサイズのデータセット内のマルチクラス推定は困難な課題であることを示している。MLはこのような推定をほとんどすべての場合堅牢に実行する。MLの結果は、限定された情報(たとえば低利用)で極めて良い。すべての実験においてRR-1 reqはRR-30 reqよりも効果的に見え、低および中負荷において一般的にUR法に対抗する。
次に図9を参照すると、本開示によって実行されうる例示的なステップを流れ図が示している。ステップ902でワークロードが生成され、ワークロードはコンピュータシステムによって処理されうる複数のクラスを含む複数のサービス要求を含む。コンピュータシステムは、アプリケーションを実行するアプリケーションサーバ、および要求を生成する1つまたは複数のクライアントシステムを含むことができる。ステップ904でコンピュータシステムにワークロードが適用され、ステップ906でワークロードの要求ごとに応答時間が測定される。ステップ908で、応答時間および基本的な待ち行列モデルに基づいてクラスごとに平均サービス需要が推定される。基本的な待ち行列モデルは、最後の待ち行列モデルの特徴の仮定を含むことができ、その特徴はスケジューリングおよびサービス需要分布のうちの少なくとも1つを備える。
平均サービス需要を推定するステップは、測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して基本的な待ち行列モデルにおける平均サービス需要を推定するステップを含むことができる。平均サービス需要を推定するステップは、複数の到着待ち行列長にさらに基づくことができ、その複数の到着待ち行列長はワークロードのそれぞれの要求に対応する。複数の到着待ち行列長のそれぞれの到着待ち行列長は、要求の発着時間を報告するログファイルから決定されうる。平均サービス需要を推定するステップは、複数の残余時間にさらに基づくことができる。複数の残余時間は、ワークロードのそれぞれの要求に対応できる。それぞれの残余時間は、処理されるべき要求の到着時に作業中の要求の処理を完了するために残っている時間に対応できる。
ステップ910で、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルが生成される。ワークロードの特徴は、1秒あたり平均5つの要求を有する指数到着時間間隔などの、待ち行列内に到着する要求の到着時間間隔分布を含むことができるが、これに限定されない。待ち行列モデルを生成するステップは、平均サービス需要を使用して基本的な待ち行列モデルをパラメータ化するステップを含むことができる。ステップ912で、複数の入力を使用して待ち行列モデルを処理することによって、コンピュータシステムの性能が評価される。
次に図10を参照すると、本開示の実装を実行するために使用されうる例示的なハードウェアコンポーネント1000の略図が提供されている。システム1000は、本明細書に記載された方法に関連して記載される動作のために使用されうる。たとえば、システム1000はアプリケーションサーバシステム106内に含まれてよい。システム1000は、プロセッサ1010、メモリ1020、記憶装置1030、および入力/出力装置1040を含む。それぞれのコンポーネント1010、1020、1030、および1040はシステムバス1050を使用して相互接続されている。プロセッサ1010はシステム1000内で実行するための命令を処理できる。ある実装形態では、プロセッサ1010はシングルスレッドプロセッサである。他の実装形態では、プロセッサ1010はマルチスレッドプロセッサである。プロセッサ1010は、ユーザインターフェースのためのグラフィック情報を入力/出力装置1040上に表示するためにメモリ1020または記憶装置1030内に格納された命令を処理できる。
メモリ1020はシステム1000内に情報を格納する。ある実装形態ではメモリ1020はコンピュータ可読媒体である。ある実装形態ではメモリ1020は揮発性メモリユニットである。他の実装形態ではメモリ1020は非揮発性メモリユニットである。記憶装置1030はシステム1000に大容量記憶装置を提供できる。ある実装形態では記憶装置1030はコンピュータ可読媒体である。様々な異なる実装形態では、記憶装置1030はフロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置でもよく、テープ装置でもよい。入力/出力装置1040は、システム1000に入力/出力動作を提供する。ある実装形態では、入力/出力装置1040はキーボードおよび/またはポインティングデバイスを含む。他の実装形態では、入力/出力装置1040はグラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
記載した機能は、デジタル電子回路内、またはコンピュータハードウェア、ファームウェア、ソフトウェア内に実装されてもよく、それらの組合せ内に実装されてもよい。装置は、プログラム可能プロセッサによって実行するために、機械可読記憶装置内などの情報担体内に有形に実装されたコンピュータプログラム製品内に実装されてよく、方法ステップは、入力データ上で動作して出力を生成することによって、記載された実装形態の機能を実行するために命令のプログラムを実行しているプログラム可能プロセッサによって実行されてよい。記載した機能は、データ記憶システムからデータおよび命令を受信するために、ならびにデータ記憶システムにデータおよび命令を伝送するために結合された少なくとも1つのプログラム可能プロセッサ、少なくとも1つの入力装置、ならびに少なくとも1つの出力装置を含む、プログラム可能システム上で実行可能な1つまたは複数のコンピュータプログラム内に有利に実装されてよい。コンピュータプログラムは、一定の活動を実行するために、または一定の結果をもたらすために、コンピュータ内で直接または間接に使用されうる命令のセットである。コンピュータプログラムは、コンパイラ型またはインタープリタ型言語を含むどのような形式のプログラミング言語でも書き込むことができ、スタンドアロン型プログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含むどのような形式でも展開されうる。
命令のプログラムの実行に適したプロセッサには、例として汎用および専用マイクロプロセッサの両方、ならびに単一プロセッサ、またはどのような種類のコンピュータの複数のプロセッサのうちの1つもある。一般的に、プロセッサは読出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信することになる。コンピュータの不可欠な要素は命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリである。一般的にコンピュータは、データファイルを格納するための1つまたは複数の大容量記憶装置も含むか、それと通信するために動作可能なように結合されており、このような装置は内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびに光ディスクを含む。コンピュータプログラム命令およびデータを有形に実装するのに適した記憶装置には、例としてEPROM、 EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むすべての形式の非揮発性メモリがある。プロセッサおよびメモリはASICs(特定用途向け集積回路)で代用されてもよく、その中に組み込まれてもよい。
ユーザとの対話を提供するために、ユーザに情報を表示するためのCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイ装置、ならびにユーザがコンピュータに入力を提供できるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に機能が実装されうる。
機能は、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、あるいはアプリケーションサーバまたはインターネットサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、あるいはグラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、あるいはそれらのどのような組合せ内にも実装されうる。システムのコンポーネントは通信ネットワークなどのどのような形式または媒体のデジタルデータ通信によっても接続されうる。通信ネットワークの例にはLAN、WAN、ならびにインターネットを形成するコンピュータおよびネットワークがある。
コンピュータシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般的に相互に離れており、通常は記載されたネットワークのようなネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータの上で稼動しており互いにクライアントとサーバの関係を有する、コンピュータプログラムによって生じる。
さらに、図面に示した論理フローは、望ましい結果を達成するために示した特定の順序、または連続順序を必ずしも必要としない。さらに、記載したフローから他の諸ステップが提供されてもよく、そこから諸ステップが削除されてもよく、および記載したシステムに他のコンポーネントが追加されてもよく、そこから削除されてもよい。したがって、他の実装形態は添付の特許請求の範囲内である。
本開示のいくつかの実装形態を説明してきた。しかし、本開示の趣旨および範囲から逸脱することなしに様々な改変形態が作成されてよいことが理解されよう。したがって、他の実装形態は添付の特許請求の範囲内である。
100 例示的システム
102 クライアントコンピュータ
106 バックエンドサーバシステム
110 ネットワーク
112 アプリケーションサーバ
114 データベース
200 アプリケーションサーバシステム
202 アプリケーションサーバシステム
204 ワークロードジェネレータ
206 ユーザ
208 データベース
210 ディスパッチャ
212 作業過程
300 M/M/1//Nモデル
302 遅延サーバ
304 ERPシステム
306 ウェイティングバッファ
308 作業過程およびデータベースシステム
400 データ収集
402 モデリング仮定(たとえばスケジューリングおよびサービス分布)
404 需要推定
406 モデル生成およびソリューション
1000 例示的なハードウェアコンポーネント
1010 プロセッサ
1020 メモリ
1030 記憶装置
1040 入力/出力装置
1050 システムバス

Claims (20)

  1. 複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
    サービス要求を受信および処理するコンピュータシステムに前記ワークロードを適用するステップと、
    前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
    前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
    前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える、待ち行列モデルを生成するコンピュータ実施方法。
  2. 前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項1に記載の方法。
  3. 前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項2に記載の方法。
  4. 前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項1に記載の方法。
  5. 平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して前記基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項1に記載の方法。
  6. 前記待ち行列モデルを生成するステップが、前記平均サービス需要を使用して前記基本的な待ち行列モデルをパラメータ化するステップを備える、請求項1に記載の方法。
  7. 複数の入力を使用して前記待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに備える、請求項1に記載の方法。
  8. 1つまたは複数のプロセッサに結合されており、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
    サービス要求を受信および処理するコンピュータシステムに前記ワークロードを適用するステップと、
    前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
    前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
    前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える動作を実行させる命令を内部に格納した、コンピュータ可読記憶媒体。
  9. 前記動作が、前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項8に記載の記憶媒体。
  10. 前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項9に記載の記憶媒体。
  11. 前記動作が、前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項8に記載の記憶媒体。
  12. 平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して前記基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項8に記載の記憶媒体。
  13. 前記待ち行列モデルを生成するステップが、前記平均サービス需要を使用して前記基本的な待ち行列モデルをパラメータ化するステップを備える、請求項8に記載の記憶媒体。
  14. 複数の入力を使用して前記待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに備える、請求項8に記載の記憶媒体。
  15. サービス要求を受信および処理するコンピュータシステムと、
    1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合されており、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
    前記コンピュータシステムに前記ワークロードを適用するステップと、
    前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
    前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
    前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体とを備える、システム。
  16. 前記動作が、前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項15に記載のシステム。
  17. 前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項16に記載のシステム。
  18. 前記動作が、前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項15に記載のシステム。
  19. 平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項15に記載の記憶媒体。
  20. 前記コンピュータシステムが、アプリケーションを実行するアプリケーションサーバ、および前記要求を生成する1つまたは複数のクライアントシステムを備える、請求項15に記載の記憶媒体。
JP2010232543A 2009-10-16 2010-10-15 応答時間に基づいてサービスリソース消費を推定すること Active JP5313990B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/580,901 2009-10-16
US12/580,901 US9804943B2 (en) 2009-10-16 2009-10-16 Estimating service resource consumption based on response time

Publications (2)

Publication Number Publication Date
JP2011086295A true JP2011086295A (ja) 2011-04-28
JP5313990B2 JP5313990B2 (ja) 2013-10-09

Family

ID=43384419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010232543A Active JP5313990B2 (ja) 2009-10-16 2010-10-15 応答時間に基づいてサービスリソース消費を推定すること

Country Status (4)

Country Link
US (1) US9804943B2 (ja)
EP (1) EP2312445A1 (ja)
JP (1) JP5313990B2 (ja)
CN (1) CN102043674B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203371A (ja) * 2013-04-09 2014-10-27 日本電信電話株式会社 品質評価装置、品質評価方法及びプログラム

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650450B2 (en) 2009-12-10 2020-05-12 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US8812674B2 (en) * 2010-03-03 2014-08-19 Microsoft Corporation Controlling state transitions in a system
US20130185038A1 (en) * 2010-09-27 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Performance Calculation, Admission Control, and Supervisory Control for a Load Dependent Data Processing System
US20130326249A1 (en) * 2011-06-09 2013-12-05 Guillermo Navarro Regulating power consumption of a mass storage system
US8578023B2 (en) 2011-07-29 2013-11-05 Hewlett-Packard Development Company, L.P. Computer resource utilization modeling for multiple workloads
CN102253883B (zh) * 2011-07-29 2014-06-25 国家电网公司 一种服务器性能评价的方法和系统
US9111022B2 (en) * 2012-06-22 2015-08-18 Sap Se Simulation techniques for predicting in-memory database systems performance
US8984125B2 (en) * 2012-08-16 2015-03-17 Fujitsu Limited Computer program, method, and information processing apparatus for analyzing performance of computer system
US9660891B2 (en) * 2013-01-17 2017-05-23 TravelClick, Inc. Methods and systems for computer monitoring
CN104283934B (zh) * 2013-07-12 2018-05-22 中国移动通信集团重庆有限公司 一种基于可靠性预测的web服务推送方法、装置及服务器
US9699032B2 (en) * 2013-10-29 2017-07-04 Virtual Instruments Corporation Storage area network queue depth profiler
US9858363B2 (en) * 2014-04-07 2018-01-02 Vmware, Inc. Estimating think times using a measured response time
CN103903070B (zh) * 2014-04-15 2017-03-15 广东电网有限责任公司信息中心 应用系统资源需求测算系统
CN105446896B (zh) * 2014-08-29 2018-05-04 国际商业机器公司 映射化简应用的缓存管理方法和装置
US10044786B2 (en) * 2014-11-16 2018-08-07 International Business Machines Corporation Predicting performance by analytically solving a queueing network model
US9984044B2 (en) 2014-11-16 2018-05-29 International Business Machines Corporation Predicting performance regression of a computer system with a complex queuing network model
KR20160070636A (ko) * 2014-12-10 2016-06-20 경희대학교 산학협력단 분산 클라우드 환경에서의 마이그레이션 제어 장치 및 이를 이용한 마이그레이션 제어 방법
US9544403B2 (en) * 2015-02-02 2017-01-10 Linkedin Corporation Estimating latency of an application
US9774654B2 (en) 2015-02-02 2017-09-26 Linkedin Corporation Service call graphs for website performance
US11010833B2 (en) * 2015-10-09 2021-05-18 Chicago Mercantile Exchange Inc. Systems and methods for calculating a latency of a transaction processing system
US10733526B2 (en) * 2015-12-09 2020-08-04 International Business Machines Corporation Estimation of latent waiting and service times from incomplete event logs
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
JP2018022305A (ja) * 2016-08-03 2018-02-08 富士通株式会社 境界値特定プログラム、境界値特定方法および境界値特定装置
CN106407007B (zh) * 2016-08-31 2020-06-12 上海交通大学 面向弹性分析流程的云资源配置优化方法
EP3296876B1 (en) * 2016-09-20 2019-08-21 Tata Consultancy Services Limited Systems and methods for predicting performance of applications on an internet of things (iot) platform
CN106649471A (zh) * 2016-09-28 2017-05-10 新华三技术有限公司 一种访问控制方法及装置
CN109902262B (zh) * 2019-03-19 2022-06-21 福建工程学院 一种具两异质服务类型排队线的稳态机率矩阵计算方法
WO2020243652A1 (en) * 2019-05-31 2020-12-03 Nike Innovate C.V. Multi-channel communication platform with dynamic response goals
US11711274B2 (en) 2020-02-11 2023-07-25 International Business Machines Corporation Request response based on a performance value of a server
CN112084018B (zh) * 2020-08-11 2022-06-24 河海大学 快速评估边缘计算网络中非均匀访问用户平均时延的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086335A1 (en) * 2003-10-20 2005-04-21 International Business Machines Corporation Method and apparatus for automatic modeling building using inference for IT systems
JP2005148799A (ja) * 2003-11-11 2005-06-09 Fujitsu Ltd 情報処理方法、サービス時間導出方法、及び処理ユニット数調整方法
US20070168494A1 (en) * 2005-12-22 2007-07-19 Zhen Liu Method and system for on-line performance modeling using inference for real production it systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086335A1 (en) * 2003-10-20 2005-04-21 International Business Machines Corporation Method and apparatus for automatic modeling building using inference for IT systems
JP2005148799A (ja) * 2003-11-11 2005-06-09 Fujitsu Ltd 情報処理方法、サービス時間導出方法、及び処理ユニット数調整方法
US20070168494A1 (en) * 2005-12-22 2007-07-19 Zhen Liu Method and system for on-line performance modeling using inference for real production it systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203371A (ja) * 2013-04-09 2014-10-27 日本電信電話株式会社 品質評価装置、品質評価方法及びプログラム

Also Published As

Publication number Publication date
US20110093253A1 (en) 2011-04-21
CN102043674A (zh) 2011-05-04
JP5313990B2 (ja) 2013-10-09
US9804943B2 (en) 2017-10-31
CN102043674B (zh) 2016-02-03
EP2312445A1 (en) 2011-04-20

Similar Documents

Publication Publication Date Title
JP5313990B2 (ja) 応答時間に基づいてサービスリソース消費を推定すること
US8560618B2 (en) Characterizing web workloads for quality of service prediction
Han et al. Enabling cost-aware and adaptive elasticity of multi-tier cloud applications
Kraft et al. Estimating service resource consumption from response time measurements
Barna et al. Autonomic load-testing framework
EP2040170B1 (en) System configuration parameter set optimizing method, program, and device
Casale et al. Dealing with burstiness in multi-tier applications: Models and their parameterization
US8756307B1 (en) Translating service level objectives to system metrics
US20120221373A1 (en) Estimating Business Service Responsiveness
Bacigalupo et al. Managing dynamic enterprise and urgent workloads on clouds using layered queuing and historical performance models
Pérez et al. An offline demand estimation method for multi-threaded applications
Zheng et al. Probabilistic QoS aggregations for service composition
Mahmoudi et al. Performance modeling of metric-based serverless computing platforms
Zhang et al. {K-Scope}: Online Performance Tracking for Dynamic Cloud Applications
Kumar et al. Hold'em or fold'em? aggregation queries under performance variations
Bergsma et al. Generating complex, realistic cloud workloads using recurrent neural networks
Shariffdeen et al. Workload and resource aware proactive auto-scaler for paas cloud
Zhang et al. PaaS-oriented performance modeling for cloud computing
Giannakopoulos et al. Towards an adaptive, fully automated performance modeling methodology for cloud applications
Kannan Enabling fairness in cloud computing infrastructures
Wang et al. Service demand distribution estimation for microservices using Markovian arrival processes
Kumar et al. Estimating model parameters of adaptive software systems in real-time
Mahmoudi Performance Modelling and Optimization of Serverless Computing Platforms
Luo et al. Runtime verification of business cloud workflow temporal conformance
US11714739B2 (en) Job performance breakdown

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5313990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250