JP3993848B2 - 計算機装置及び計算機装置の制御方法 - Google Patents

計算機装置及び計算機装置の制御方法 Download PDF

Info

Publication number
JP3993848B2
JP3993848B2 JP2003364816A JP2003364816A JP3993848B2 JP 3993848 B2 JP3993848 B2 JP 3993848B2 JP 2003364816 A JP2003364816 A JP 2003364816A JP 2003364816 A JP2003364816 A JP 2003364816A JP 3993848 B2 JP3993848 B2 JP 3993848B2
Authority
JP
Japan
Prior art keywords
load
input
computer
change
time
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.)
Expired - Fee Related
Application number
JP2003364816A
Other languages
English (en)
Other versions
JP2005128866A (ja
Inventor
高明 春名
讓 真矢
正也 市川
英智 三瓶
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003364816A priority Critical patent/JP3993848B2/ja
Priority to US10/969,959 priority patent/US20050089063A1/en
Publication of JP2005128866A publication Critical patent/JP2005128866A/ja
Application granted granted Critical
Publication of JP3993848B2 publication Critical patent/JP3993848B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

本発明は、負荷変動に伴い計算機リソースの再割り当てが必要な計算機装置に係わり、特に、この計算機リソースの最適な割り当て方式に関する。
近年の計算機システムでは、Web上のショッピング、証券取引やオンラインバンキングなど、ユーザ固有の事情や市場動向など、特定の条件下でのみ負荷が急激に増大するケースがある。このような場合には応答時間が遅くなり、あるいはシステムが停止に至ることもある。一方、このような一時的な負荷の増大に備えて常に十分な計算機リソースを用意しておくのはコスト面で非効率である。このため、急激な負荷の変動に対してサービスレベルの低下を招かない仕組みが求められている。
このような仕組みの一つとして、必要に応じてリソースを追加し、また不要になったリソースを解放して別の利用に備える方式が知られている(例えば、非特許文献1参照)。
この例では、サーバは定期的に過去の負荷情報を時系列情報として管理し、これとあらかじめ用意した規則を用いて負荷を予測し、また、必要に応じて予備ハードウェアの有効化および無効化を実施している。
IBM社のHotRod Demo.2003年7月15日検索 <参照URL:http://www-6.ibm.com/jp/autonomic/casestudies/hotrod.htm >
前記従来技術によれば、サーバは定期的に過去の負荷情報を時系列情報として管理し、これとあらかじめ用意した規則を用いて負荷を予測し、また、必要に応じて予備ハードウェアの有効化および無効化を実施している。
このような負荷予測を特定の関数やアルゴリズム等に従って適切に行なうために、パラメータの設定を適切に行なう必要があり、この設定には時間を要する。また、このようにしてパラメータを設定しても設定したパラメータが環境変化に伴ってすぐに役立たなくなる場合がある。
本発明は、これらの問題点に鑑みてなされたもので、負荷変動が発生してもリソースの割り当てを有効に行い、応答時間などのサービスレベルを所定値に維持することのできる計算機装置を提供する。
本発明は上記課題を解決するため、次のような手段を採用した。
負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を
備える計算機装置において、前記リソース制御部は、前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、前記システムの構成を変更した履歴を示す構成変更履歴と、一定時間内において、前記計算機において入力される入力時系列情報と、前記負荷時系列情報を用いて、前記リソースにおける負荷の予測値を算出する負荷予測規則とを有し、前記予測規則によって予測された負荷を処理するために必要なリソース量を算出し、前記負荷の予測を処理するために必要なリソース量に適合するように前記システムの構成を変更し、該システムの構成の変更の内容を前記構成変更履歴に記録し、前記負荷予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行う。
本発明は、以上の構成を備えるため、負荷変動が発生してもリソースの割り当てを有効に行い、応答時間などのサービスレベルを所定値に維持することのできる計算機装置を提供することができる。
以下、最良の実施形態を添付図面を参照しながら説明する。図1は、本発明による計算機装置の構成を説明する図である。計算機装置は、端末1〜端末4(1010〜1040)、集線装置(1100)、ネットワーク(1501)、ユーザとの入出力インタフェースを管理するフロントエンドサーバ(1310)、サービスのロジックを実行するアプリケーションサーバ(1320)、およびサービスに必要なデータを管理するデータベースサーバ(1330)を備える。
集線装置(1100)は、端末1〜端末4(1010〜1040)と接続し、ネットワーク(1501)を経由してフロントエンドサーバ(1310)と接続する。集線装置(1100)は入力集計機能(1200)(詳細は後述)を備え、外部記憶装置に格納した入力分類用情報(1210)および入力時系列情報(1220)にアクセス可能である。
フロントエンドサーバ(1310)はリソース制御機能(1410)(詳細は後述)を備え、外部記憶装置に格納した負荷時系列情報(1411)、負荷予測規則(1412)および構成変更履歴(1413)にアクセス可能である。アプリケーションサーバ(1320)は同様にリソース制御機能(1420)を備え、負荷時系列情報(1421)、負荷予測規則(1422)および構成変更履歴(1423)にアクセス可能である。データベースサーバ(1330)も同様にリソース制御機能(1430)を備え、負荷時系列情報(1431)、負荷予測規則(1432)および構成変更履歴(1433)にアクセス可能である。
図2は、計算機装置における情報の流れを説明する図である。図において、情報の流れ(11〜28)は、処理の流れに沿って発生する情報の移動を示す。
端末(1010〜1040)からのユーザ入力(11)は、入力集計機能(1200)により集計される。入力集計機能(1200)は入力時系列情報(1220)に記録された過去の入力時系列情報(18)を参照し、新たな入力に関する情報(19)を追加登録する。
イベント管理機能(1500)は、装置内を監視し、イベント時系列情報(1510)から得られる過去のイベント情報(25)を参照して、負荷の変動に関係するイベントの発生を監視する。イベント管理機能(1500)によって負荷の変動に関係すると判定された新規イベント(24)はイベント時系列情報(1510)に登録する。イベント管理機能(1500)は、入力時系列情報(1220)を参照して過去の入力情報(23)を適宜取得し、入力情報に関する傾向の変化等についても新規イベント(24)としてイベント時系列情報(1510)に登録する。
また、ユーザ入力(11)はフロントエンドサーバ(1310)にそのままの形式の電文(12)として転送し処理する。このフロントエンドサーバ(1310)による処理の際、必要に応じてアプリケーションサーバ(1320)に要求(13)を転送し処理する。アプリケーションサーバ(1320)における処理の際、さらに必要に応じてデータベースサーバ(1330)に要求(14)を転送し処理する。データベースサーバ(1330)による処理の結果(15)はアプリケーションサーバ(1320)に返され、さらにアプリケーションサーバ(1320)による処理の結果(16)はフロントエンドサーバ(1310)に返され、フロントエンドサーバ(1310)による処理の結果は応答(17)として端末(1010〜1040)に送られる。これらの処理が実行される間、サーバ(1310、1320、1330)の負荷は変動する。
フロントエンドサーバ(1310)のリソース制御機能(1410)は、負荷時系列情報(1411)に加え、入力時系列情報(1220)に記録された負荷予測用情報(20)、イベント時系列情報(1510)に記録された負荷予測用情報(26)等を合わせて将来のシステム負荷の値を予測する。このフロントエンドサーバ(1310)における負荷予測には、専用の負荷予測規則(1412)を用いる。また、これらの予測結果に基づき、リソース制御機能(1410)はフロントエンドサーバ(1310)のリソース量を変更する。リソース制御機能(1410)は、このリソース量変更が適切であったかどうか検証を実施し、その結果に基づき負荷予測規則(1412)を修正する。
なお、アプリケーションサーバ(1320)のリソース制御機能(1420)およびデータベースサーバ(1330)のリソース制御機能(1430)におけるデータ参照および処理の動きは、フロントエンドサーバ(1310)のリソース制御機能(1410)と同様である。
次に、図3、図4および図5を用いて、本発明による計算機装置が扱う情報の内容について説明する。
図3は、負荷時系列情報を説明する図である。時系列表(3000)は負荷の種類ごとに時間による変化を記録するものである。ここでは例として、CPU使用率の時間変化を示すCPU使用率表(3100)およびメモリ使用量の時間変化を示すメモリ使用量表(3200)を有する。
CPU使用率表(3100)は、時刻値の並び(3110)および負荷値(CPU使用率)の並び(3120)からなる。時刻値の並び(3110)は値t1〜t5(3111〜3115)から構成され、負荷値の並び(3120)は値Lcpu1〜Lcpu5(3121〜3125)から構成される。メモリ使用量表(3200)も同様に、時刻値の並び(3210)および負荷値(メモリ使用率)の並び(3220)からなる。時刻値の並び(3210)は値t1〜t5(3211〜3215)から構成され、負荷値の並び(3220)は値Lmem1〜Lmem5(3221〜3225)から構成される。
図4は、入力分類情報を説明する図である。入力電文分類表(4000)は、入力電文の種類と、それにより負荷に影響の及ぶサーバ(1310、1320、1330)との対応関係を示し、要求の種類の並び(4010)および影響の及ぶサーバの指定の並び(4020)からなる。要求の種類の並び(4010)は、要求の種類を示す項目(4011〜4015、以下省略)から構成され、影響の及ぶサーバの指定の並び(4020)は、影響の及ぶサーバの指定(4021〜4025、以下略)の組から構成される。
この例では、要求の種類を示す項目(4021〜4025)の示す内容は、以下の3通りとする。
(1)F(4021):フロントエンドサーバ(1310)のみ影響する。
(2)F+A(4022、4023):フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)に影響する。
(3)F+A+D(4024、4025):フロントエンドサーバ(1310)、アプリケーションサーバ(1320)、データベースサーバ(1330)のすべてのサーバに影響する。
図5は、入力電文の時系列情報の形式を説明する図である。時系列情報をあらわす表(5000)は、単位時間あたりの電文到着数の推移を入力電文の種類ごとにまとめたものであり、電文req1の到着数の推移を示すreq1到着数表(5100)および電文req2に対応する表(5200)を含む。req1到着数表(5100)は、時刻値の並び(5110)および到着数の並び(5120)を含む。時刻値の並び(5110)は、単位時間Δtで区切られた時刻t1〜t5(5111〜5115)からなる。また、到着数の並び(5120)は、時刻t1〜t5それぞれについて、その前の時間Δtの間のreq1の到着数cnt11〜cnt15(5121〜5125)を記録したものである。req2到着数表(5200)も同様に、時刻値の並び(5210)および到着数の並び(5220)を含み、時刻値の並び(5210)は時刻t1〜t5(5211〜5215)から、到着数の並び(5220)は、到着数cnt21〜cnt25(5221〜6225)から構成される。
図6は、本発明におけるサーバシステムのソフトウェア構成を説明する図である。入力集計機能(6000)は、入力電文解析分類機能(6010)および入力電文情報時事系列情報集計する機能(6020)を備える。
入力電文解析分類機能(6010)は、入力電文の解析および図4に示す分類表に従った分類を行なう。入力電文情報時事系列集計機能(6020)は、入力電文を種類別に集計し、図5に示すような時系列情報(1220)として記録する。
サーバ(1310、1320、1330)内のリソース制御機能(1410、1420、1430)は、負荷時系列情報作成機能(6110)、負荷予測機能(6120)、リソース割当量決定機能(6130)、リソース再割り当てのためのシステム構成変更機能(6140)、および負荷予測規則修正機能(6150)の各機能を備える。
負荷時系列情報作成機能(6110)は、サーバ負荷情報の採取、集計、および記録を行ない、図3に示す負荷時系列情報を生成する。負荷予測機能(6120)は、将来のサーバ負荷量の予測を行なう。リソース割当量決定機能(6130)は、サーバ負荷量の予測値に対して、これを処理するのに必要なリソース量を決定する。システム構成変更機能(6140)は、必要なリソース量を割り当てるためのシステム構成変更を行なう。負荷予測規則修正機能(6150)は、負荷予測機能(6120)の行なった予測の結果を評価し、必要に応じて負荷予測規則(1412、1422、1432)の修正を行なう。
次に、図7、図8を用いてサーバ(1310、1320、1330)のリソース使用率を制御し、サービスレベルを維持するための処理を説明する。
は、入力集計機能(1200)の処理を説明する図である。まず、端末プロトコル等の通信規則を元に要求入力となる電文を解析し、これを構成する要素に分解する(ステップ7010)。次に、この解析結果と入力分類用情報(1210)をもとに入力電文を分類する(ステップ7020)。入力分類用情報(1210)は具体的には、図4の入力電文分類表(4000)に示すような内容を持ち、入力電文の種類と、それにより付加に影響の及びサーバがどれであるかの対応関係を示す。
なお、入力分類用情報(1210)は、システムの運転開始前にあらかじめ用意しておく。
最後に、分類された項目ごとに入力電文を集計し、要求入力の時刻情報とともに図5に示すように入力時系列情報(1220)に記録する(ステップ6020)。
図8は、リソース制御機能(1410,1420,1430)の処理を説明する図である。フロントエンドサーバ(1310)、アプリケーションサーバ(1320)およびデータベースサーバ(1330)内のリソース制御機能(それぞれ1410、1420、1430)について、処理の流れを説明する。
上記3種類のサーバ(1310,1320,1330)は、いずれにおいてもリソース制御の流れは同様であるため、以下の説明ではフロントエンドサーバ内のリソース制御機能(1410)を例として説明する。
まず、フロントエンドサーバ(1310)の負荷情報を採取し(ステップ8010)、図3に示すように負荷時系列情報(1411)への記録を行なう(ステップ8020)。
次に、図5に示す入力時系列情報(1220)、図3に示す負荷時系列情報(1411)および負荷予測規則(1412)をもとに、システム内の各リソースについて、あらかじめ定めた時間の範囲(たとえば現時刻から30分以内)における最小使用量の予測値計算を行なう(ステップ6120)。
次に、この予測負荷を処理するために必要なリソース量を算出する(ステップ6130)。この算出値と現在のシステムの持つリソース量とを比較する(ステップ8050)。もし異なる場合には、算出したリソース量に適合するようシステム構成の変更を実施し(ステップ8060)、変更の内容を構成変更履歴(1413)に記録する(ステップ8070)。
次に、負荷時系列情報(1411)とこの構成変更履歴(1413)を照合し(ステップ8080)、構成変更後の負荷が適切に維持されていないと判断できる場合には、負荷時系列情報(1411)、構成変更履歴(1413)に入力時系列情報(1220)も加えて、負荷予測規則(1412)の内容の修正を行なう(ステップ8090)。
これ以降は、その修正結果をもとに上記の手順(ステップ8030〜8070)を繰り返してリソース制御を行なう。
図9は、入力電文の増大によりCPU負荷が増大した場合の処理を説明する図である。フロントエンドサーバ(1310)には、CPUリソースとしてCPU11(1311)、CPU12(1312)が割り当てられており、負荷増大時に備えて予備CPU11〜予備CPU13(1411〜1413)が用意されている。
同様に、アプリケーションサーバ(1320)にはCPU21〜CPU23(1321〜1323)が割り当てられており、予備CPU21〜予備CPU23(1421〜1423)が用意されている。データベースサーバ(1330)にはCPU31〜CPU33(1331〜1333)が割り当てられており、予備CPU31〜予備CPU33(1431〜1433)が用意されている。
端末1〜端末4(1010〜1040)から集線装置(1100)内の入力集計機能(1200)対して、それぞれ端末1(1010)から種別req1(4011)の電文1(1101)が、端末4(1040)から種別req2(4012)の電文2(1102)が送られ、入力集計機能(1200)によってreq1の到着数は表(5100)に、req2の到着数は表(5200)に記録される。サーバ(1310,1320,1330)は処理を実行し、負荷の推移は時系列表(3000)に記録される。このとき、「フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)にかかるCPU負荷の推移Lcpu1〜Lcpu5(3121〜3125)が時刻t1〜t5(3111〜3115)の間で増加傾向にある」という状態を仮定する。
さらに、過去において、同様の種類の電文が到着し、サーバに同様の負荷増加傾向が見られたとき、その1時間後にフロントエンドサーバ(1310)の負荷が1CPU相当分程度増大し、アプリケーションサーバ(1320)の負荷が2CPU相当分増大したといった事象が記録されており、これがフロントエンドサーバおよびアプリケーションサーバの負荷予測規則(1412、1422)に反映されている、とする。
このときフロントエンドサーバおよびアプリケーションサーバのリソース制御機能(1410、1420)は入力集計機能(1200)から現況に関する情報を受け取り、負荷予測規則(1412、1422)から「フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)において負荷の増大が起きる」と結論付け、フロントエンドサーバ(1310)への割当てCPU数を1、アプリケーションサーバ(1320)へのCPU割当て数を2だけ追加する。すなわち、フロントエンドサーバ上の予備CPU11(1411)を新たにCPU13(1313)として稼動させ、アプリケーションサーバ上の予備CPU21(1421)と予備CPU22(1422)を、それぞれ新たにCPU24(1324)、CPU25(1325)として稼動させる。
その後、上記と同様のケースにおいてフロントエンドサーバ(1310)にかかる負荷が増大しない事例が十分な回数確認された場合には、フロントエンドサーバの負荷予測規則修正機能(6150−1)によって、フロントエンドサーバ(1310)の負荷予測規則(1412)を修正する。これにより、これ以降、この例で示した条件において、「フロントエンドサーバ(1310)のCPU負荷が増加する」という予測は行なわれなくなる。
図10は、入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。図9で示したようなCPU負荷の一時的増大からしばらく時間が経過した後、端末(1010〜1040)から集線装置(1100)内の入力集計機能(1200) に送られる電文のうち、種別req1(4011)および種別req2(4012)がなくなり、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)への負荷も一時的増大前の水準まで減少した状態を仮定する。
さらに、「過去においてこのような負荷の減少があった場合、その後急激にフロントエンドサーバ(1310)およびアプリケーションサーバ(1320)の負荷がピーク時に戻る、という事例は記録されておらず、種別req1(4011)および種別req2(4012)がなくなった後の前述のような負荷の減少が、フロントエンドサーバおよびアプリケーションサーバの負荷予測規則(1412、1422)に反映されている」とする。この時、リソース制御機能(1410、1420)はそれぞれ入力集計機能(1200)から現況に関する情報を受け取り、負荷予測規則(1412、1422)から「負荷の減少が起きる」と結論付け、フロントエンドサーバ(1310)への割当てCPU数を1だけ、アプリケーションサーバ(1320)へのCPU割当て数を2だけ減少させる。すなわち、フロントエンドサーバ上のCPU13(1313)を稼動停止させ、予備CPU11(1411)として待機状態にするとともに、アプリケーションサーバ上のCPU24(1324)、CPU25(1325)を稼動停止させ、予備CPU21(1421)、予備CPU22(1422)として待機状態にする。
その後、フロントエンドサーバ(1310)にかかる負荷がピーク時の高さまで戻るようなケースが何度かあった場合には、負荷予測規則修正機能(6150−1)によって、フロントエンドサーバ(1310)の負荷予測規則(1412)は修正され、以降この例のような条件を満たしてもすぐに「CPU負荷がこのまま低い状態で安定する」という予測は行なわれなくなる。
次に、図11と図12を用いて、1台の計算機を複数の論理計算機に分割する構成において、入力電文量の変動によりCPU負荷が増大または減少する場合の処理を説明する。この例は、図9および図10で示したと同様にフロントエンドサーバ(1310)、アプリケーションサーバ(1320)、およびデータベースサーバ(1330)が論理計算機として一つのサーバ(1300)内に構成されている場合を示すものである。
まず、図11は、1台の計算機を複数の論理計算機に分割する構成において、入力電文の増加によりCPU負荷が増大した場合の処理を示す図である。フロントエンドサーバ(1310)にはCPUリソースとしてCPU11(1311)、CPU12(1312)が割り当てられている。同様に、アプリケーションサーバ(1320)にはCPU21〜CPU23(1321〜1323)が、データベースサーバ(1330)にはCPU31〜CPU33(1331〜1333)が割り当てられている。図9の例では予備CPUは各サーバに備えられていたが、この図11の例では予備CPUはサーバ(1300)が持つ共通の予備CPU1〜予備CPU6(1411〜1416)として管理される。
図9の例と同様の前提のもと、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)へのCPU割当てを増やす場合、この図11の例では予備CPU1(1411)をフロントエンドサーバ(1310)のCPU13(1313)に、予備CPU2(1412)と予備CPU3(1413)をアプリケーションサーバ(1320)のCPU24(1324)とCPU25(1325)にそれぞれ割り当てる。それ以外の処理は図9の例と同様である。
図12は、1台の計算機を複数の論理計算機に分割する構成において、入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。なお、図12に示すシステムの構成は図11と同じである。
図10の例と同様の前提のもと、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)へのCPU割当てを減らす場合、図12の例スでは、フロントエンドサーバ(1310)のCPU13(1313)を予備CPU1(1411)に、アプリケーションサーバ(1320)のCPU24、CPU25(1324、1325)を予備CPU2、予備CPU3(1412、1413)にそれぞれ戻す。それ以外の処理は図10の例と同様である。
次に、図13と図14を用いて、グリッドコンピュータやブレードサーバのように、複数の計算機から構成される計算機システムにおいて、入力電文量の変動によりCPU負荷が増大または減少する場合を説明する。
まず、図13は、複数の計算機から構成される計算機システムにおいて、入力電文の増加によりCPU負荷が増大した場合の処理を示す図である。計算機装置は、フロントエンドサーバ(1310)、アプリケーションサーバ(1320)、データベースサーバ(1330)、および予備計算機1〜予備計算機6(1711〜1716)から構成される。計算機11〜計算機33(1611〜1612、1621〜1623、1631〜1633)および予備計算機1〜予備計算機6(1711〜1716)は、具体的にはラック内に納められたブレードサーバの集合、あるいはネットワーク接続によってグリッドコンピュータとして構成されたサーバの集合、などといった形態をとる。フロントエンドサーバ(1310)にはCPU、メモリ等のリソースを備える計算機11(1611)、計算機12(1612)が割り当てられている。同様に、アプリケーションサーバ(1320)には計算機21〜計算機23(1621〜1623)が、データベースサーバ(1330)には計算機31〜計算機33(1631〜1633)が割り当てられている。
図9の例と同様の前提のもと、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)へのCPU割当てを増やす場合、図13の例では予備計算機1(1711)をフロントエンドサーバ(1310)の計算機13(1613)に、予備計算機2、予備計算機3(1712、1713)をアプリケーションサーバ(1320)の計算機24、計算機25(1624、1625)にそれぞれ割り当てる。それ以外の処理の流れは図9の例と同様である。
図14は、複数の計算機から構成される計算機システムにおいて、入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。なお、図14に示すシステムの構成は図13と同じである。
図10の例と同様の前提のもと、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)へのCPU割当てを減らす場合、図14のケースではフロントエンドサーバ(1310)の計算機13(1613)を予備計算機1(1711)に、アプリケーションサーバ(1320)の計算機24、計算機25(1624、1625)を予備計算機2、予備計算機3(1712、1713)にそれぞれ戻す。それ以外の処理の図10の例と同様である。
最後に、再び図13と図14を用いて、入力電文量の変動によりメモリ負荷が増大または減少する場合の処理を説明する。
まず、図13を用いて、入力電文の増加によりメモリ負荷が増大した場合の処理を示す。端末1〜端末4(1010〜1040)から集線装置(1100)内の入力集計機能(1200) に、端末1(1010)から種別req1(4011)の電文1(1101)が、端末4(1040)から種別req2(4012)の電文2(1102)が送られ、入力集計機能(1200)によってreq1の到着数は表(5100)に、req2の到着数は表(5200)に記録される。サーバ(1310,1320,1330)は処理を実行し、負荷の推移は時系列表(3000)に記録される。このとき、「フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)にかかるメモリ負荷の推移Lmem1〜Lmem5(3221〜3225)が時刻t1〜t5(3211〜3215)の間で増加傾向にある」という状態を仮定する。
さらに、過去において、同様の種類の電文が到着し、サーバに同様の負荷増加傾向が見られたとき、その1時間後にフロントエンドサーバ(1310)のメモリ負荷が計算機1台に相当する分増大、アプリケーションサーバ(1320)のメモリ負荷が計算機2台に相当する分増大した、といった事象が記録されており、これがフロントエンドサーバおよびアプリケーションサーバの負荷予測規則(1412、1422)に反映されている、とする。このときフロントエンドサーバおよびアプリケーションサーバのリソース制御機能(1410、1420)は入力集計機能(1200)から現況に関する情報を受け取り、負荷予測規則(1412、1422)から「フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)において負荷の増大が起きる」と結論付け、フロントエンドサーバ(1310)への計算機割当て数を1、アプリケーションサーバ(1320)への計算機割当て数を2だけ追加する。すなわち、予備計算機1(1711)を新たに計算機13(1613)として稼動させ、予備計算機2(1712)と予備計算機3(1713)を、それぞれ新たに計算機24(1624)、計算機25(1625)として稼動させる。
その後、上記と同様のケースにおいてフロントエンドサーバ(1310)にかかる負荷が増大しない事例が十分な回数確認された場合には、フロントエンドサーバの負荷予測規則修正機能(6150−1)によって、フロントエンドサーバ(1310)の負荷予測規則(1412)は修正される。このため、これ以降、この例で示した条件において、「フロントエンドサーバ(1310)のメモリ負荷が増加する」という予測は行なわれなくなる。
次に、図14を用いて、メモリ負荷が減少した場合の処理を説明する。図13で示したメモリ負荷の一時的増大のケースからしばらく時間が経過した後、端末(1010〜1040)から集線装置(1100)内の入力集計機能(1200) に送られる電文のうち、種別req1(4011)および種別req2(4012)のものがなくなり、フロントエンドサーバ(1310)およびアプリケーションサーバ(1320)への負荷も一時的増大前の水準まで減少した状態を仮定する。
さらに、「過去においてこのような負荷の減少があった場合、その後急激にフロントエンドサーバ(1310)およびアプリケーションサーバ(1320)の負荷がピーク時に戻る、という事例は記録されておらず、
種別req1(4011)および種別req2(4012)がなくなった後の前述のような
負荷の減少が、フロントエンドサーバおよびアプリケーションサーバの負荷予測規則(1412、1422)に反映されている」とする。この時、リソース制御機能(1410、1420)はそれぞれ入力集計機能(1200)から現況に関する情報を受け取り、負荷予測規則(1412、1422)から「負荷の減少が起きる」と結論付け、フロントエンドサーバ(1310)への割当て計算機数を計算機1台に相当する分減少、アプリケーションサーバ(1320)の負荷が計算機2台に相当する分だけ減少させる。すなわち、フロントエンドサーバ上の計算機13(1613)を稼動停止させ、予備計算機1(1711)として待機状態にするとともに、アプリケーションサーバ上の計算機24(1624)、計算機25(1625)を稼動停止させ、予備計算機2(1712)、予備計算機3(1713)として待機状態にする。
その後、フロントエンドサーバ(1310)にかかる負荷がピーク時の高さまで戻るようなケースが何度かあった場合には、負荷予測規則修正機能(6150−1)によって、フロントエンドサーバ(1310)の負荷予測規則(1412)は修正され、以降この例のような条件を満たしてもすぐに「メモリ負荷がこのまま低い状態で安定する」という予測は行なわれなくなる。
以上の結果、システムの負荷予測の精度が向上し、システムの応答時間などのユーザに提供するサービスレベルをより確実に維持できるようになる。
以上説明したように、本実施形態によれば、複数のサーバから構成され、負荷変動を考慮した計算機装置において、受信側のサーバは、端末から入力される電文の内容、種類、送信元などの属性および到着数、あるいはその変動、負荷予測規則等をもとに将来の負荷を予測し、これに必要な計算機リソースを確保する。その後、さらに電文を受信し処理を行う。その際、実際に発生した負荷を測定する。そして、負荷予測の結果と実際に発生した負荷変動を比較し、その結果に基づき負荷予測に用いる規則を修正する。この結果、負荷予測の精度を向上することができる
本発明による計算機装置の構成を説明する図である。 計算機装置における情報の流れを説明する図である。 負荷時系列情報を説明する図である。 入力分類情報を説明する図である。 入力電文の時系列情報の形式を説明する図である。 本発明におけるサーバシステムのソフトウェア構成を説明する図である。 入力集計機能の処理を説明する図である。 リソース制御機能の処理を説明する図である。 入力電文の増大によりCPU負荷が増大した場合の処理を説明する図である。 入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。 1台の計算機を複数の論理計算機に分割する構成において、入力電文の増加によりCPU負荷が増大した場合の処理を示す図である。 1台の計算機を複数の論理計算機に分割する構成において、入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。 複数の計算機から構成される計算機システムにおいて、入力電文の増加によりCPU負荷が増大した場合の処理を示す図である。 複数の計算機から構成される計算機システムにおいて、入力電文の減少によりCPU負荷が減少した場合の処理を説明する図である。
符号の説明
1010、1020、1030、1040:端末
1100 集線装置
1200 入力集計機能
1210 入力分類用情報
1220 入力時系列情報
1300 サーバ
1310 フロントエンドサーバ
1320 アプリケーションサーバ
1330 データベースサーバ
1410,1420,1430 リソース制御機能
1411,1421,1431 負荷時系列情報
1412,1422,1432 負荷予測規則
1413,1423,1433 構成変更履歴
1500 イベント管理機能
1510 イベント時系列情報

Claims (10)

  1. 負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を備える計算機装置において、
    前記リソース制御部は、
    前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、
    前記システムの構成を変更した履歴を示す構成変更履歴と、
    一定時間内において、前記計算機において入力される入力時系列情報と、前記負荷時系
    列情報を用いて、前記リソースにおける負荷の予測値を算出する負荷予測規則と
    を有し、
    前記予測規則によって予測された負荷を処理するために必要なリソース量を算出し、
    前記負荷の予測を処理するために必要なリソース量に適合するように前記システムの構
    成を変更し、該システムの構成の変更の内容を前記構成変更履歴に記録し、
    前記負荷予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行うことを特徴とする計算機装置。
  2. 請求項1記載の計算機装置において、
    前記計算機はさらに入力集計部を備え、
    前記入力集計部は、
    前記計算機に入力される電文の種類と、
    該電文の種類とそれにより負荷に影響の及ぶ計算機の対応関係を示す入力分類用情報を有し、
    前記計算機に入力される電文を前記入力分類用情報を用いて集計し、前記入力時系列情
    報に記録することを特徴とする計算機装置。
  3. 請求項2記載の計算機装置において、
    前記入力分類情報は、前記電文の内容及び送信元の属性をさらに有することを特徴とする計算機装置。
  4. 請求項3記載の計算機装置において、
    前記計算機装置はさらにイベント管理部を備え、
    前記イベント管理部は、
    一定時間における負荷の変化に関係するイベントを示すイベント時系列情報を有し、
    前記入力時系列情報を参照し、前記計算機装置に入力される情報の傾向の変化をイベントとして前記イベント時系列情報に記録し、
    前記リソース制御部は、
    前記負荷の予測の算出において、さらに前記イベント時系列情報を用いることを特徴とする計算機装置。
  5. 請求項4記載の計算機装置において、
    前記リソース制御部は、
    負荷の変化が一定回数起こった場合に、前記システムの構成を変更し、該システムの変更を前記負荷予測規則に反映することを特徴とする計算機装置。
  6. 負荷の変化によって、リソースについてシステムの構成の変更を行うリソース制御部を備える計算機装置の制御方法であって、
    前記リソース制御部は、
    前記計算機装置に一定時間において入力される入力時系列情報と、前記計算機装置のリソースの負荷の一定時間における変化を示す負荷時系列情報と、前記システム構成を変更した履歴を示す構成変更履歴と、一定時間における負荷変化の量の予測値を算出する規則である負荷予測規則から、一定時間内での前記リソースにおける負荷の予測値を算出する第1のステップと、
    前記予測された負荷を処理するために必要なリソース量を算出する第2のステップと、 前記予測された負荷を処理するために必要なリソース量に適合するように前記システム
    の構成を変更する第3のステップと、
    前記システムの構成の変更の内容を前記構成履歴に記録する第4のステップと、
    前記負荷の予測の結果と前記変更後の実際の負荷を比較し、前記変更後のシステムの構成において、前記計算機の負荷が適切でないと判断した場合に、前記入力時系列情報と、前記負荷時系列情報と、前記構成変更履歴から、前記負荷予測規則の修正を行う第5のステップと
    を有することを特徴とする計算機装置の制御方法。
  7. 請求項6記載の計算機装置の制御方法において、
    前記計算機装置の備える入力集計部は、
    前記計算機に入力される電文を、該電文の種類と、
    該電文の種類とそれにより負荷に影響の及ぶ計算機の対応関係を示す入力分類情報を用いて集計する第6のステップと、
    前記計算機装置に入力される電文を、前記入力時系列情報に記録する第7のステップと
    を有することを特徴とする計算機装置の制御方法。
  8. 請求項7記載の計算機装置の制御方法において、
    前記入力分類情報は、前記電文の内容及び送信元の属性をさらに有することを特徴とする計算機装置の制御方法。
  9. 請求項8記載の計算機装置の制御方法において、
    前記計算機装置の備えるイベント管理部は、
    前記入力時系列情報を参照し、前記計算機装置に入力される情報の傾向の変化をイベントとして、一定時間における負荷の変化に関係するイベントを示すイベント時系列情報に記録する第8のステップを有し、
    前記第1のステップにおける負荷の予測の算出は、前記イベント時系列情報をさらに用いることを特徴とする計算機装置の制御方法。
  10. 請求項9記載の計算機装置の制御方法において、
    前記第3のステップにおけるシステムの構成の変更は、負荷の変化が一定回数起こった場合に行い、該システムの変更を前記負荷予測規則に反映することを特徴とする計算機装置の制御方法。
JP2003364816A 2003-10-24 2003-10-24 計算機装置及び計算機装置の制御方法 Expired - Fee Related JP3993848B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003364816A JP3993848B2 (ja) 2003-10-24 2003-10-24 計算機装置及び計算機装置の制御方法
US10/969,959 US20050089063A1 (en) 2003-10-24 2004-10-22 Computer system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003364816A JP3993848B2 (ja) 2003-10-24 2003-10-24 計算機装置及び計算機装置の制御方法

Publications (2)

Publication Number Publication Date
JP2005128866A JP2005128866A (ja) 2005-05-19
JP3993848B2 true JP3993848B2 (ja) 2007-10-17

Family

ID=34510129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003364816A Expired - Fee Related JP3993848B2 (ja) 2003-10-24 2003-10-24 計算機装置及び計算機装置の制御方法

Country Status (2)

Country Link
US (1) US20050089063A1 (ja)
JP (1) JP3993848B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957413B2 (en) * 2005-04-07 2011-06-07 International Business Machines Corporation Method, system and program product for outsourcing resources in a grid computing environment
JP2006338322A (ja) * 2005-06-02 2006-12-14 Hitachi Ltd オンラインのリソース割当て方法
US8990055B2 (en) 2009-09-24 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for simulation of a system in a communications network
JP5541908B2 (ja) * 2009-11-26 2014-07-09 株式会社野村総合研究所 データセンター構成管理システム
US9614794B2 (en) * 2013-07-11 2017-04-04 Apollo Education Group, Inc. Message consumer orchestration framework
US9755923B2 (en) * 2013-10-16 2017-09-05 International Business Machines Corporation Predictive cloud provisioning based on human behaviors and heuristics
JP6140052B2 (ja) * 2013-10-30 2017-05-31 株式会社三菱東京Ufj銀行 情報処理システム
CN107622117B (zh) * 2017-09-15 2020-05-12 Oppo广东移动通信有限公司 图像处理方法和装置、计算机设备、计算机可读存储介质
CN108632082A (zh) * 2018-03-27 2018-10-09 北京国电通网络技术有限公司 一种服务器的负载信息的预测方法及装置
US10855808B1 (en) * 2019-07-05 2020-12-01 Servicenow, Inc. Intelligent load balancer
JP2022050219A (ja) * 2020-09-17 2022-03-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US12001310B2 (en) * 2021-04-05 2024-06-04 International Business Machines Corporation Approximating activity loads in databases using smoothed time series
WO2024069948A1 (ja) * 2022-09-30 2024-04-04 楽天モバイル株式会社 通信システムに含まれるハードウェアリソースの管理
WO2024069949A1 (ja) * 2022-09-30 2024-04-04 楽天モバイル株式会社 通信システムに含まれるハードウェアリソースの管理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314263A (ja) * 1993-04-28 1994-11-08 Mitsubishi Electric Corp サーバ処理方式
JPH1083382A (ja) * 1996-09-09 1998-03-31 Toshiba Corp 分散システム運用保守支援装置および運用保守支援方法
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
US7099350B2 (en) * 2001-04-24 2006-08-29 Atitania, Ltd. Method and apparatus for converting data between two dissimilar systems
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7228354B2 (en) * 2002-06-28 2007-06-05 International Business Machines Corporation Method for improving performance in a computer storage system by regulating resource requests from clients
JP2007183883A (ja) * 2006-01-10 2007-07-19 Fujitsu Ltd 資源計画作成プログラム、該プログラムを記録した記録媒体、資源計画作成装置、および資源計画作成方法
JP4592656B2 (ja) * 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置

Also Published As

Publication number Publication date
US20050089063A1 (en) 2005-04-28
JP2005128866A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
JP3993848B2 (ja) 計算機装置及び計算機装置の制御方法
US10158541B2 (en) Group server performance correction via actions to server subset
US8365182B2 (en) Method and system for provisioning of resources
US6557035B1 (en) Rules-based method of and system for optimizing server hardware capacity and performance
US7640231B2 (en) Approach based on self-evolving models for performance guarantees in a shared storage system
JP3974608B2 (ja) ホスト・トランザクション処理システム内の動的トランザクション制御
JP4841982B2 (ja) 性能情報収集方法、装置、及びプログラム
CN106528266B (zh) 一种云计算***中的资源动态调整方法及装置
US8387059B2 (en) Black-box performance control for high-volume throughput-centric systems
JP4089427B2 (ja) 管理システム、管理計算機、管理方法及びプログラム
US8949558B2 (en) Cost-aware replication of intermediate data in dataflows
US11431582B2 (en) Systems and methods for context aware adaptation of services and resources in a distributed computing system
US20160034328A1 (en) Systems and methods for spatially displaced correlation for detecting value ranges of transient correlation in machine data of enterprise systems
US9870269B1 (en) Job allocation in a clustered environment
US9965327B2 (en) Dynamically scalable data collection and analysis for target device
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
US20090254909A1 (en) Methods and Apparatus for Power-aware Workload Allocation in Performance-managed Computing Environments
CN115004156A (zh) 实时多租户工作负载跟踪和自动节流
US20120072456A1 (en) Adaptive resource allocation for multiple correlated sub-queries in streaming systems
US20210365426A1 (en) Generating Compact Data Structures for Monitoring Data Processing Performance Across High Scale Network Infrastructures
JP2003256222A (ja) 分散処理システム、ジョブ分散処理方法およびプログラム
CN114461335A (zh) 云计算环境虚拟机和容器弹性伸缩方法、装置及设备
US20070061429A1 (en) Optimizing utilization of application resources
US9009735B2 (en) Method for processing data, computing node, and system
JP4526774B2 (ja) コンピューターシステムの構成装置の性能バランス評価とサイジングを行う装置と方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070309

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: 20070724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070727

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees