JP3884427B2 - 計算機システム及び資源割り当てプログラム - Google Patents

計算機システム及び資源割り当てプログラム Download PDF

Info

Publication number
JP3884427B2
JP3884427B2 JP2003412247A JP2003412247A JP3884427B2 JP 3884427 B2 JP3884427 B2 JP 3884427B2 JP 2003412247 A JP2003412247 A JP 2003412247A JP 2003412247 A JP2003412247 A JP 2003412247A JP 3884427 B2 JP3884427 B2 JP 3884427B2
Authority
JP
Japan
Prior art keywords
parallelism
effective
resource
service
resource number
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 - Lifetime
Application number
JP2003412247A
Other languages
English (en)
Other versions
JP2005173928A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2003412247A priority Critical patent/JP3884427B2/ja
Publication of JP2005173928A publication Critical patent/JP2005173928A/ja
Application granted granted Critical
Publication of JP3884427B2 publication Critical patent/JP3884427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、複数の資源を利用して複数種類のサービスを実行可能な計算機システムに係り、特に当該各サービスの負荷を計測し、その計測結果を利用して各サービスへの資源の再割り当てを行うのに好適な計算機システム及び資源割り当てプログラムに関する。
複数の資源を利用して複数種類のサービスを実行可能な計算機システムでは、負荷に応じて資源の再割り当てが行われるのが一般的である。この種の計算機システムでの資源の再割り当ては次のように行われる。まず、1つの資源で適切に処理できる負荷の閾値が予め設定される。そして、閾値の何倍のシステム負荷が測定されたかによって必要となる資源の量が予測される。この予測値に応じて適切な資源の再割り当てが行われる。
測定された負荷が閾値を超過したことを検出する手法として、一定時間間隔(インターバルタイム)で超過がないかをチェックするポーリング方式が知られている。このポーリング方式では、インターバルタイムの設定値により、俊敏に反応させたり、鈍感に反応させたりすることが可能になる。短いインターバルタイムを設定すると、俊敏な資源割り当てが可能になるが、閾値付近の変動が頻繁に起きると、頻繁に資源の再割り当てが行われる不安定な状態になる。逆に、長いインターバルタイムを設定すると、過敏な反応は起きないが、急激な負荷変動が起きるスパイク現象に対しての早急な対応ができなくなる。
そこで、短いインターバルタイムでポーリングすることを前提に、資源割り当ての判定に用いる負荷の加工に関する方式として、加工なし、複数回の負荷測定値の平均(移動平均)を取る方式、及び負荷測定値を規格化する方式の中から、1つをユーザが選択可能とした計算機システムが提案されている(例えば、特許文献1参照)。この文献には、資源割り当て率の計算法として、比例法及び閾値法の中から1つをユーザが選択可能とすることも記載されている。この文献に記載された先行技術によれば、対象となるサービスのワークロード特性(定常時の負荷、ピーク時の負荷、ピーク幅など)に応じて、負荷加工法、資源割り当て率の計算法をそれぞれ適切に選択することにより、資源の動的な再割り当てを適切に行うことが可能となる。例えば、移動平均を選択することにより、短い負荷の変動に過敏に反応して資源の再割り当てが頻繁に発生することを防止できる。
特開2003−157177(段落0042乃至0045、段落0128及び0129、図4)
上記したように先行技師においては、資源割り当ての対象となるサービスのワークロード特性(定常時の負荷、ピーク時の負荷、ピーク幅など)に応じて、負荷加工法、資源割り当て率の計算法をそれぞれ適切に選択することにより、資源の動的な再割り当てを適切に行うことが可能となる。しかしながら、負荷の変動に対して過敏に反応する設定では、頻繁に資源の再割り当てが行われる不安定な状態になる。また、過敏に反応しない設定を行うと、急激な負荷変動が起きるスパイク現象に対しては、早急な対応処理ができない。つまり、先行技術では、急激な負荷変動が起きるスパイク現象に対して速やかに対応させるためには、負荷の変動に対して過敏に反応する設定を必要とする。
本発明は上記事情を考慮してなされたものでその目的は、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応できる計算機システム及び資源割り当てプログラムを提供することにある。
本発明の1つの観点によれば、複数の資源を利用して複数種類のサービスを実行可能な計算機システムが提供される。この計算機システムは、上記複数種類のサービスの負荷を測定する負荷測定手段と、測定された上記サービスの負荷の変動状況から当該サービスに必要な資源数を算出するのに用いられる種類の異なる複数の資源数算出式を定義した情報を保持するための資源数算出式保持手段と、測定された上記サービスの負荷の変動状況から上記資源数算出式保持手段に保持されている情報によって定義された上記複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する必要資源数算出手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の中から有効な資源数を判定するのに必要な複数の有効資源数判定式を定義した情報を保持するための有効資源数判定式保持手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の中から有効な資源数を判定するのに用いられる有効資源数判定式を、上記有効資源数判定式保持手段に保持されている情報によって定義された上記複数の有効資源数判定式から選択する有効資源数判定式選択手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の1つを、上記有効資源数判定式選択手段によって選択された有効資源数判定式に従って有効資源数として判定する有効資源数判定手段と、この有効資源数判定手段によって判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整する割り当て資源数調整手段とを備えることを特徴とする。
このような構成においては、サービスの負荷の変動状況から、複数の資源数算出式(例えば当該サービスに対応して設定されている情報によって定義される複数の資源数算出式)に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数が算出される。この複数の資源数算出式毎に算出された資源数の中から1つだけが有効資源数として判定される。この判定には、複数の有効資源数判定式から選択された判定式が用いられる。有効資源数として判定された資源数は、対応するサービスに割り当てる資源数の調整(決定)に利用される。このため、例えばサービスの負荷が急激に変化するスパイク現象が起きている期間に有効資源数として判定される資源数の算出に用いられた資源数算出式と、それ以外の期間に有効資源数として判定される資源数の算出に用いられた資源数算出式とが異なるようにすることが可能となる。これにより、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応することが可能となる。
ここで、上記負荷測定手段による負荷測定の時間間隔を表すインターバルタイム情報及び上記必要資源数算出手段による資源数の算出に必要な閾値を保持するための資源数算出基本条件保持手段とを追加して、上記資源数算出基本条件保持手段に保持されているインターバルタイム情報の示すインターバルタイムで上記サービスの負荷が測定され、この測定された負荷の変動状況及び上記閾値とから、上記複数の算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出するとよい。
また、サービスに割り当てる資源数を調整(決定)する際の複数の制約条件であって、上記サービスに割り当てる資源数の上限及び下限を表す最大値及び最小値と、上記有効資源数との関係で上記サービスに割り当てる資源数を決定するのに用いられる通常値とを含む複数の制約条件を保持するための制約条件保持手段を追加し、上記サービスに割り当てる資源数が上記最大値を超えることと上記最小値を下回ることを抑制すると共に、上記有効資源数が上記通常値以下となった場合には、上記サービスに割り当てる資源数を一時的に通常値とすることにより上記有効資源数に調整されるのを遅延させ、上記有効資源数の上記通常値を超える増減時には、上記サービスに割り当てる資源数を直ちに当該有効資源数とすると良い。
本発明によれば、サービスの負荷の変動状況から複数の資源数算出式毎に当該サービスに必要な資源数が算出されて、この複数の資源数算出式毎に算出された資源数の中から1つだけが有効資源数判定式に従って有効資源数として判定されて、当該サービスに割り当てる資源数の調整に用いられるため、急激な負荷変動が起きるスパイク現象に対しては速やかに反応し、それ以外では、負荷の変動に対して過敏に反応しないようにすることができる。即ち本発明によれば、頻繁に資源の再割り当てが行われるような不安定な状態になるのを防止してコストの高い資源割り当て処理の発生回数を減らしながら、スパイク現象に対しては早急な対応処理が可能になる。
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係る計算機システムの資源割り当て機構の基本構成を示すブロック図である。図1の資源割り当て機構が設けられる計算機システムでは、複数の資源を利用して複数種類のサービスが実行可能である。このサービスが、複数の計算機で同時並行して実行可能なタイプの、いわゆる並列実行型サービスの場合、上記資源は計算機である。また、上記サービスが1つの計算機で実行されるものである場合、上記資源は当該1つの計算機上のCPU、メモリ及び入出力装置、更には当該計算機を含む複数の計算機により共有されるディスク装置等である。
図1の資源割り当て機構は、最適資源数解析機構10と割り当て資源数調整機構14とを備えている。最適資源数解析機構10は、必要資源数算出機構11と有効資源数判定式選択機構12と有効資源数判定機構13とを含む。
必要資源数算出機構11は、資源数算出式テーブル110を有する。資源数算出式テーブル110には、必要資源数を算出するための複数の算出法を定義した情報、例えば複数の資源数算出式を定義した情報が保持されている。必要資源数算出機構11は、図示せぬ負荷測定機構(負荷検出機構)によって測定(検出)された、資源割り当て調整の対象となるサービス(以下、対象サービスと称する)の負荷の値(負荷値)をもとに、当該負荷値に対応する必要資源数を算出する。ここでは必要資源数算出機構11は、資源数算出式テーブル110に保持されている情報によって定義された複数の資源数算出式を用いて、予め定められたインターバルタイムで当該複数の資源数算出式毎に必要資源数を算出する。必要資源数算出機構11によって資源数算出式毎に算出された必要資源数は有効資源数判定機構13に渡される。
有効資源数判定式選択機構12は、有効資源数判定式テーブル120を有する。有効資源数判定式テーブル120には、複数の有効資源数判定式を定義した情報が保持される。有効資源数判定式は、必要資源数算出機構11によって資源数算出式毎に算出された必要資源数の中から、資源の再割り当てに利用する唯一の資源数を有効資源数として判定(決定)するのに用いられる。有効資源数判定式の詳細については、後述する第2の実施形態で説明する。有効資源数判定式選択機構12は、有効資源数判定式テーブル120に保持されている情報によって定義された複数の有効資源数判定式の中からユーザの指定する有効資源数判定式を選択して、有効資源数判定機構13に通知する。
有効資源数判定機構13は、有効資源数判定式選択機構12によって選択され有効資源数判定式に従い、必要資源数算出機構11によって資源数算出式毎に算出された必要資源数の中の1つを有効資源数として判定する。ここで、有効資源数判定式には、例えば時間帯に応じて切り替え使用される複数の条件を含ませることが可能である。これにより、例えばスパイク減少が発生する可能性が高い時間帯には、資源数算出式毎に算出された必要資源数の中の最大の資源数を有効資源数として判定し、それ以外の時間帯は同じ資源数算出式を用いて前回算出された資源数との差が最小の資源数を有効資源数として判定することも可能である。つまり有効資源数判定機構13は、資源数算出式毎に算出された必要資源数から有効資源数を動的に判定する。このようにすると、スパイク現象に対して速やかに対応でき、しかも負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止できる。
有効資源数判定機構13によって判定された有効資源数は割り当て資源数調整機構14に渡される。割り当て資源数調整機構14は、制約条件テーブル140を有する。制約条件テーブル140には、有効資源数判定機構13によって判定された有効資源数に従って対象サービスに割り当てられる資源数を調整する際に適用される複数の制約条件が保持されている。この制約条件は、例えばサービス毎の資源数の最大値、最小値及び通常値を含む。この場合、最大値を超える資源数、或いは最小値を下回る資源数に調整されることが防止される。これにより、負荷の異常な変動で対象サービスに割り当てるべき資源数が際限なく増加または減少して、他のサービスの実行の阻害要因になることを防ぐことができる。また割り当て資源数調整機構14では、有効資源数と通常値との関係で、対象サービスに割り当てられる資源数が決定される。これにより、例えば有効資源数の変動で当該有効資源数が通常値以下となった場合には、資源数の調整が行われにくくし、通常値を超える有効資源数の増減には敏感に反応させることが可能となる。
[第2の実施形態]
図2は、本発明の第2の実施形態に係るクラスタシステムの構成を示すブロック図である。第2の実施形態の特徴は、図1の構成の資源割り当て機構をクラスタシステムに適用した点にある。
図2のクラスタシステムは、4台の計算機(サーバ計算機)20-1〜20-4から構成される計算機システムである。計算機20-1〜20-4は、当該計算機20-1〜20-4間の通信に用いられるネットワーク(内部ネットワーク)30によって相互接続されている。図1では、計算機20-1〜20-4とクライアント端末との間の通信に用いられるネットワーク(外部ネットワーク)は省略されている。クライアント端末からのサービスの実行要求は、この外部ネットワークを介して図2のクラスタシステムに送信される。クラスタシステム内の計算機20-i(i=1〜4)は、クライアント端末からの要求で指定されたサービスを実行し、その実行結果を示す応答を外部ネットワークを介して要求元のクライアント端末に返す。なお、計算機20-1〜20-4間の通信と、計算機20-1〜20-4とクライアント端末との間の通信とが、同一のネットワークを介して行われる構成であっても構わない。但し、ネットワークにおける通信トラフィックの増大を招く。
計算機20-1〜20-4では、オペレーティングシステム(以下、OSと称する)21-1〜21-4が動作する。また、計算機20-1〜20-4によって構成されるクラスタシステムでは、クラスタ制御機構22が動作する。クラスタ制御機構22は、計算機20-1〜20-4にそれぞれ設けられたクラスタ制御部(図示せず)が相互に通信を行いながら同期して一体となって動作することにより実現されるバーチャルマシンである。このため、クラスタ制御機構22は、計算機20-1〜20-4にまたがって存在していると考えることができる。クラスタ制御部は、サービスの負荷分散を含むクラスタ制御用のプログラム(クラスタソフトウェア)を計算機20-iが読み取り実行することにより実現される。このソフトウェアは、資源割り当て機構を実現する資源割り当てプログラムを含む。クラスタ制御機構22は、各計算機20-1〜20-4上のクラスタ制御部が相互に通信を行いながら同期して動作することにより、計算機の障害を迅速に検出することができる。
クラスタ制御機構22は、サービス実行制御機構221と並列度調整機構222とを有している。サービス実行制御機構221及び並列度調整機構222は、計算機20-1〜20-4にそれぞれ設けられたサービス実行制御部及び並列度調整部(図示せず)が相互に通信を行いながら同期して一体となって動作することにより実現されるバーチャルマシンである。サービス実行制御機構221及び並列度調整機構222は、クラスタ制御機構22を通して計算機20-1〜20-4で使用することができる。サービス実行制御機構221は、クラスタシステム上で稼動しているサービスの起動、停止及び監視を行う。並列度調整機構222は図1中の割り当て資源数調整機構14に相当し、クラスタシステム上で稼動している並列実行型サービスの並列度を調整する。並列度は、第1の実施形態における資源数(必要資源数)に相当し、クラスタシステム上で並列実行型サービスが同時並行して実行される計算機の数、つまりクラスタシステム上で同時並行して実行される同種の並列実行型サービスの実行数を指す。並列実行型サービスの並列度を増加すると並列実行型サービス全体の処理能力を増加前より増大させ、並列度を減少すると処理能力を減少させることができる。並列度調整機構222は、上記クラスタソフトウェア中の資源割り当てプログラムを20-1〜20-4のいずれかが実行することにより実現される。
図2のクラスタシステムではまた、クラスタ制御機構22によって管理される並列実行型サービス実行機構が動作する。ここでは、2つの並列実行型サービス実行機構23-1,23-2が動作するものとする。並列実行型サービス実行機構23-1,23-2は、クラスタ制御機構22と同様に計算機20-1〜20-4によって実現され、当該計算機20-1〜20-4にまたがって存在する。並列実行型サービス実行機構23-i(i=1,2)は、並列実行型サービスPSVCiを計算機20-1〜20-4のうちの複数の計算機(ノード)上で同時並行して実行する機能を有する。図2では、並列実行型サービス実行機構23-1により2台の計算機20-3,20-4上でそれぞれ並列実行型サービスPSVC1が実行され、並列実行型サービス実行機構23-2により2台の計算機20-1,20-2上でそれぞれ並列実行型サービスPSVC2が実行されている状態が示されている。この場合、並列実行型サービスPSVC1,PSVC2の並列度は、いずれも2である。この並列度は、並列度調整機構222によって調整される。なお、本実施形態で適用される並列実行型サービスPSVC1,PSVC2はアプリケーションであり、例えばユーザによって作成される。
図2のクラスタシステムでは更に、並列実行型サービス実行機構23-1,23-2の動作に応じて、それぞれ並列度調整サービス230-1,230-2が動作する。本実施形態において、並列度調整サービス230-1,230-2は上記クラスタソフトウェア中の資源割り当てプログラムに含まれている。この並列度調整サービス230-1,230-2が、クラスタソフトウェアから独立のプログラムに含まれていても良い。並列度調整サービス230-1,230-2は、それぞれ並列実行型サービスPSVC1,PSVC2の並列度を調整するためのサービスで、クラスタシステムのフェイルオーバ型サービスとして起動される。フェイルオーバ型サービスとは、当該サービスを実行していた計算機で障害が発生した場合に、そのサービスを他の計算機に割り当て直す(フェイルオーバする)再スケジュールが行われるサービスのことである。図2では、並列度調整サービス230-1,230-2が、それぞれ計算機20-1,20-2上で動作している状態が示されている。
並列度調整サービス230-1,230-2は、それぞれ負荷測定機構231-1,231-2と最適並列度解析機構232-1,232-2とを持つ。負荷測定機構231-1,231-2は、後述する並列度算出基本条件テーブル111-1,111-2(図3参照)に設定されているインターバルタイムで、並列実行型サービスPSVC1,PSVC2の負荷を測定する。最適並列度解析機構232-1,232-2は図1中の最適資源数解析機構10に相当する。そのため最適並列度解析機構232-1,232-2は、図1中の必要資源数算出機構11、有効資源数判定式選択機構12及び有効資源数判定機構13にそれぞれ相当する、必要並列度算出機構、有効並列度判定式選択機構及び有効並列度判定機構(いずれも図示せず)を有する。最適並列度解析機構232-1,232-2は、負荷測定機構231-1,231-2によって測定された並列実行型サービスPSVC1,PSCV2の負荷値をもとに有効並列度(最適並列度)を判定する。有効並列度は、上記第1の実施形態における有効資源数に相当する。
最適並列度解析機構232-1,232-2からは、それぞれ並列実行型サービスPSVC1,PSVC2毎に用意される、図3に示すデータ構造の並列度算出基本条件テーブル111-1,111-2と、図4に示すデータ構造の並列度算出式テーブル112-1,112-2とが参照可能である。テーブル111-i及び112-i(i=1,2)は、並列実行型サービスPSVCiが実行されている計算機からアクセス可能なディスク装置等に保存されている。
並列度算出基本条件テーブル111-1,111-2は、負荷測定機構231-1,231-2によって並列実行型サービスPSVC1,PSVC2の負荷値を測定する際の時間間隔であるインターバルタイムの情報と、並列度の算出に必要な負荷を解析する際の基準となる閾値とを保持する。このテーブル111-1,111-2に保持されるインターバルタイム及び閾値は、ユーザの操作により、計算機20-1〜20-4、或いは当該計算機20-1〜20-4と外部ネットワークを介して接続されるクライアント端末から設定可能である。
並列度算出式テーブル112-1,112-2は図1中の資源数算出式テーブル110に相当する。並列度算出式テーブル112-1,112-2は、並列実行型サービスPSVC1,PSVC2の負荷を解析して当該サービスPSVC1,PSVC2の最適な並列度を算出するのに必要な並列度算出式(並列度算出手法)を定義する情報が保持される複数のエントリを有する。つまり、テーブル112-1,112-2は、複数の並列度算出式(の情報)を保持可能である。並列度算出式テーブル112-1,112-2の各エントリは、「解析タイプ」、「回数」、「反応する閾値の倍率」、「緩衝幅」、「アッパ処置」及び「アンダ処置」の各設定項目を含む。本実施形態では、テーブル112-1,112-2の各エントリの当該各項目の内容は、ユーザの操作により、計算機20-1〜20-4、或いはクライアント端末から設定可能である。
負荷測定機構231-1,231-2は、並列度算出基本条件テーブル111-1,111-2に保持されているインターバルタイム情報で指定される時間間隔(インターバルタイム)で、それぞれ調整対象の並列実行型サービスPSVC1,PSVC2全体の負荷の値を測定(検出)する。この負荷の値(負荷値)は、例えば、クライアント端末からのリクエストに対してサービスPSVC1,PSVC2からレスポンスが返されるまでの時間、或いは当該サービスPSVC1,PSVC2に対するコネクションの数をもとに算出される数値である。また、インターバルタイムとして、充分短い時間、例えば5秒が設定される。
負荷測定機構231-1,231-2によってインターバルタイム毎に測定される、並列実行型サービスPSVC1,PSVC2全体の負荷値は、その都度最適並列度解析機構232-1,232-2に渡される。
最適並列度解析機構232-1,232-2は、負荷測定機構231-1,231-2によって測定された並列実行型サービスPSVC1,PSVC2全体の負荷値をもとに、有効並列度を決定する。有効並列度は、上記第1の実施形態における有効資源数に相当する。この最適並列度解析機構232-i(i=1,2)による有効並列度の決定処理の手順について、図5のフローチャートを参照して説明する。
最適並列度解析機構232-i(内の必要並列度算出機構)は、並列度算出式テーブル112-iの各エントリに保持されている並列度算出式の情報により定義される手法で、それぞれ独立して当該負荷値を解析して、並列度算出式毎に最適な並列度(必要な並列度)を算出する(ステップS1)。ここでは、エントリ順に並列度算出式を用いて、順次並列度を算出するものとする。
さて、本実施形態では、並列実行型サービスPSVCiの並列度を算出するのに必要な閾値は、図3に示した並列度算出基本条件テーブル111-iに、1つの資源(ここでは、計算機)で処理するのに最適な負荷値として設定される。したがって、並列実行型サービス全体の負荷値が分かれば、最適な並列度は、次式
並列度=(負荷値÷閾値)の整数部+1 (1)
に示すように、当該負荷値の閾値に対する倍率から算出できる。この負荷値の時間変化に対する並列度の変化の一例を、閾値と対応させて図6に示す。この図6からも明らかなように、閾値は範囲を持った値として扱われる。閾値の整数倍の値は、並列度が変化する閾値境界を表す。
ここで、負荷測定機構231-iによって測定された負荷値は、短いインターバルタイムで検出された値である。このため、上記(1)式に従って、この値だけで並列度を計算すると、並列度の増減が頻繁に起きる不安定な状態となる。これは、計算機システムなどの負荷は、短い時間であるほど、変動が大きくなることが知られているためである。そこで本実施形態では、並列度算出式テーブル112-iの各エントリ中の「解析タイプ」によって、負荷値の「まるめ」、或いは並列度の調整処理の遅延を定義可能としている。本実施形態で適用可能な「解析タイプ」は、次に述べる(1)平均方式、(2)閾値方式の2種類である。
(1)平均方式
平均方式が指定された場合、ユーザ指定の回数分の負荷値の移動平均を取った値(移動平均値)で並列度が算出され、前回算出された並列度から変化があると、並列度調整処理が実施される。
(2)閾値方式
閾値方式が指定された場合、負荷値から算出された並列度が、ユーザ指定の回数を超えて閾値をオーバまたはアンダすると、並列度調整処理が実施される。
上記平均方式または閾値方式のいずれの方式も、ユーザ指定の回数が大きければ検出の感度が鈍くなり、小さければ鋭くなる。このユーザ指定の回数は、並列度算出式テーブル112-iのエントリ中の「回数」の項目に設定される。また、テーブル112-iのエントリ中の「反応する閾値の倍率」の項目では、反応する閾値の倍率(以下、単に閾値倍率と称する)が指定される。この倍率指定は、並列度が、この指定倍率以上に変動しない場合は、並列度調整処理を行わないようにするものである。したがって、指定倍率以上の変動がない場合に、最終的に算出される並列度は現状と同じとなる。
閾値方式で、「回数」=小、「閾値倍率」=大を指定すると、短時間に急激な負荷の変動が起きるスパイク現象への対応が可能になる。この場合、閾値倍率が大きいため、小さな変動に対して過敏に反応することはなく、頻繁に資源の再割り当てが行われる不安定な状態になることはない。
また、閾値方式で、「回数」=大、「閾値倍率」=1(最小値)を指定すると、緩やかな負荷の増減には、緩やかな並列度の増減をするように設定することが可能である。
上記(1)式に従って閾値だけで並列度を決定していると、閾値境界付近で負荷値(コネクション数)が増減すると、並列度が敏感に反応してしまい、サービスの起動・停止を繰返すという望ましくない状態になる。そこで本実施形態では、適用並列度算出式テーブル112-iのエントリ中に「緩衝幅」という設定項目を用意し、閾値と緩衝幅とを利用して並列度の算出、つまり並列度の制御を行うようにしている。この緩衝幅を利用した並列度の制御の例を図7に示す。図7において、緩衝幅BWは、閾値THの上側の閾値境界THBを基準に負荷値が小さい方向に設定される。ここでは、閾値境界THBを超えて負荷値が増加する場合、例えば時刻t1では、並列度を増加させる。これに対し、負荷値が閾値境界THB以下に減少しても緩衝幅BWを超えた減少でない場合、例えば時刻t2から時刻t3までの間、時刻t4から時刻t5までの間、及び時刻t6から時刻t7までの間では、並列度を減少させない。このため、時刻t3、時刻t5で負荷値が閾値境界THBを超えても、並列度は変更されない。このように、閾値と緩衝幅とを利用して並列度を制御することで、閾値境界付近で負荷値の変動が起きても緩衝幅の範囲内の変動に対しては敏感に反応しないようにすることができる。図7の例では、負荷値が閾値境界THBから緩衝幅BWを超えて減少する時刻t7で、並列度が減少される。
また本実施形態において最適並列度解析機構232-iは、システム起動直後は、次のように動作する。
・システム起動直後は、通常値を並列度とする。
・システム起動直後、並列度算出式テーブル112-iの各エントリに設定されているユーザ指定の回数分の時間がそれぞれ経過するまでは、当該エントリの情報によって定義されている並列度算出式によって算出される並列度は採用せず、前回採用された並列度を用いる。その理由は、平均方式では、ユーザ指定の回数分の時間が経過するまでは、有効な移動平均値を算出できず、閾値方式では、ユーザ指定の回数分の時間が経過するまでは、有効な閾値判定ができないことによる。
・システム起動時の不安定な状態の影響を排除するため、平均方式及び閾値方式でのユーザ指定の回数とは別に、上記並列度度算出式毎に初期変動の抑制回数を指定可能とする。この抑制回数分の時間が経過するまでは、対応する並列度算出式で算出される並列度は採用せず、前回採用された並列度を用いる。
さて、最適並列度解析機構232-iは、上記ステップS1により、並列度算出式テーブル112-iで指定されている複数の並列度算出式(並列度算出手法)に従って、並列度算出式毎に並列度を算出すると、ステップS2に進む。ステップS2において、最適並列度解析機構232-i(内の有効並列度判定機構)は、並列実行型サービスPSVC1の現在の並列度を有効並列度として設定する。次に最適並列度解析機構232-iは、複数の並列度算出式に従ってそれぞれ算出された並列度の中から、先頭の並列度を取り出す(ステップS3)。
最適並列度解析機構232-iは、取り出された並列度が、有効並列度に比べて最適であるかを判定する(ステップS4)。この判定には、ユーザにより指定された有効並列度判定式が用いられる。有効並列度判定式は、上記第1の実施形態で適用された有効資源数判定式に相当する。ステップS4での判定に用いられる有効並列度判定式は、図示せぬ有効並列度判定式テーブル(図1中の有効資源数判定式テーブル120に相当)に保持されている複数の有効並列度判定式の中から、ユーザの指定に応じて、最適並列度解析機構232-i内の有効並列度判定式選択機構によって選択される。
本実施形態において、ユーザが指定可能な判定式で定義される有効並列度の判定(決定)手法は次の通りである。
・最大の並列度
・前回並列度との差が最小の並列度
・通常値との差が最小の並列度
・並列度算出式テーブル112-iの先頭エントリで指定された方式で算出された並列度
・並列度算出式テーブル112-iの最終エントリで指定された方式で算出された並列度
ここで、通常値とは、初期状態、或いは定常状態で望ましいとされている並列度である。
本実施形態では、並列度の増加時と減少時とで異なる並列度判定式が適用されるように指定することが可能である。更に、時間帯によって異なる並列度判定式が適用されるように指定することも可能である。
最適並列度解析機構232-iは、ステップS4での判定の結果、取り出された並列度の方が現在の有効並列度よりも最適である場合、当該取り出された並列度を、現在の有効並列度に代えて新たに有効並列度として設定する(ステップS5)。最適並列度解析機構232-iはステップS5を実行するとステップS6に進む。これに対し、ステップS4での判定の結果、取り出された並列度よりも現在の有効並列度の方が最適である場合には、最適並列度解析機構232-iはステップS5をスキップしてステップS6に進む。
ステップS6において、最適並列度解析機構232-iは、複数の並列度算出式に従ってそれぞれ算出された並列度のうちの最後の並列度まで処理したか否かを判定する。もし、未処理の並列度が残されているならば、最適並列度解析機構232-iは次の並列度を取り出して(ステップS7)、ステップS4の判定を行う。これに対し、最後の並列度まで処理し終えたならば、最適並列度解析機構232-iは、その時点における有効並列度が、真の有効並列度として決定されたとして、有効並列度の決定処理を終了する。この場合、最適並列度解析機構232-iは、決定された有効並列度をクラスタ制御機構22に渡して並列度調整を要求する。このとき、最適並列度解析機構232-iからクラスタ制御機構22には、有効並列度の他に、並列度算出式テーブル112-iに保持されている各エントリの情報のうち、当該有効並列度を算出するのに用いられた情報に含まれている「アッパ処置」及び「アンダ処置」の設定項目の設定内容も渡される。
クラスタ制御機構22は最適並列度解析機構232-iから並列度調整が要求されると、当該クラスタ制御機構22内の並列度調整機構222を起動する。これにより並列度調整機構222は、最適並列度解析機構232-iにより決定された有効並列度と、当該有効並列度と共に最適並列度解析機構232-iから渡される「アッパ処置」または「アンダ処置」(つまり当該有効並列度に対応する「アッパ処置」または「アンダ処置」)の設定内容をもとに、並列実行型サービスPSVCiの並列度を調整する処理を行う。この並列度の調整の仕組みについて以下に説明する。
まず、最適並列度解析機構232-iにより決定された並列実行型サービスPSVCiの有効並列度が現在の並列度と異なる場合は、次の処理のいずれか1つを行う。
・並列実行型サービスPSVCiの並列度を有効並列度にセットする。
・並列実行型サービスPSVCiの並列度を1つ増加または減少させる。
・並列実行型サービスPSVCiの並列度を通常値に戻す。
・ユーザに通知する。
いずれの処理を実行するかは、有効並列度と共に最適並列度解析機構232-iから渡される「アッパ処置」または「アンダ処置」の設定内容によって決定される。「アッパ処置」は有効並列度が現在の並列度より大きい場合の処理を指定し、「アンダ処置」は有効並列度が現在の並列度より小さい場合の処理を指定する。
例えば「アッパ処置」で「1つ増加」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスPSVCiの並列度が1つ増加される。同様に、「アンダ処置」で「1つ減少」が指定されている場合、有効並列度が現在の並列度より小さいならば、並列実行型サービスPSVCiの並列度が1つ減少される。これにより、負荷変動に鈍感に反応させることができる。
また、「アッパ処置」で「並列度セット」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスPSVCiの並列度が当該有効並列度にセットされる。同様に、「アンダ処置」で「並列度セット」が指定されている場合、有効並列度が現在の並列度より小さいならば、並列実行型サービスPSVCiの並列度が当該有効並列度にセットされる。これにより、負荷変動に俊敏に反応させることができる。
また、「アッパ処置」または「アンダ処置」で「通常値セット」が指定されている場合、並列実行型サービスPSVCiの並列度が、有効並列度と現在の並列度とに無関係に通常値にセットされる。
また、「アッパ処置」で「ユーザ通知」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスPSVCiを管理しているユーザに対し、当該ユーザのクライアント端末を介して当該サービスPSVCiの負荷が指定の上限値まで増加した旨が通知される。「ユーザ通知」が指定される並列度算出式テーブル112-iのエントリ中の「解析タイプ」、「回数」、「閾値倍率」には、図4の例のように、それぞれ「平均方式」、「(他のエントリよりも)大きい回数」、「(他のエントリよりも)大きい閾値倍率」を設定すると良い。このようにすると、例えば1年といった長期間の経過で並列度が増加し、したがって計算機の増設が必要なことをユーザに通知できる。
さて本実施形態では並列度調整機構222による並列度の調整に複数の制約条件が適用される。この制約条件は、図示せぬ制約条件テーブル(図1中の制約条件テーブル140に相当)に保持されている。この制約条件は、並列実行型サービス毎に設定される並列度の最大値、最小値及び通常値を含む。並列度の最大値は、並列度の上限を示し、どのような方法でも当該最大値を超える並列度になることはない。並列度の最小値は、並列度の下限を示し、通常運転時に当該最小値を下回る並列度になることはないが、緊急時にはユーザ指示で0までの並列度にすることが可能な値である。並列度の最大値及び最小値を設定することで、負荷の異常な変動で、並列度が際限なく増加または減少してしまい他のサービス実行の阻害要因になることを防ぐことができる。通常値は、システムの初期状態、或いは定常状態での並列度を表す。この通常値を用いることで、並列度調整機構222での並列度の調整に次のような特徴を持たせることが可能になる。
・通常値を基準に処理を切り替える。
・有効並列度が現在の並列度より増加していて且つ通常値を超えている場合
並列実行型サービスPSVCiの並列度を有効並列度に速やかに調整する。
・有効並列度が現在の並列度より減少していて且つ通常値を下回っている場合
この状態となってから一定時間経過するまでは並列度の調整を行わない。
・並列実行型サービスPSVCiの並列度を通常値に戻す時間帯を設定
・この時間帯は、有効並列度が通常値を下回っていても通常値にする。
・但し、他のサービスでスパイクが発生している場合には、必要な並列度まで下げる。必要な並列度は、有効並列度の算出に用いられた算出式を定義した情報(並列度算出式テーブル112-iのエントリ情報)に含まれている処置内容、つまり有効並列度の算出に対応した処置内容(更には当該有効並列度)によって決定される。
・スパイク状態が解消されると、通常値に戻す。
並列度調整機構222において、上述した通常値を基準とする並列度の調整処理を行うことで、並列実行型サービスPSVCiの負荷が変動して通常値を下回る有効並列度となった場合に、その並列度低下に応じて直ちに並列度が調整されるのを抑止する一方、通常値を超える並列度の増減には敏感に反応することが可能になる。
以下、並列度調整機構222による並列度の調整処理の手順について、図8のフローチャートを参照して説明する。
まず並列度調整機構222は、現時点が並列実行型サービスPSVCiの並列度を通常値に戻す時間帯(以下、通常値対応時間帯と称する)に属しているか否かを判定する(ステップS11)。もし、現時点が通常値対応時間帯でないならば、並列度調整機構222は最適並列度解析機構232-iによって決定された有効並列度が通常値より小さいか否かを判定する(ステップS12)。
もし、有効並列度が通常値より小さくないならば、並列度調整機構222は、有効並列度の算出に対応した「アッパ処置」により「通常値セット」(通常値セット処理)が指定されているか否かを判定する(ステップS13)。もし、「通常値セット」が指定されていないならば、並列度調整機構222は、上記「アッパ処置」により「並列度セット」(並列度セット処理)が指定されているか否かを判定する(ステップS14)。
もし、「並列度セット」が指定されているならば、並列度調整機構222は並列実行型サービスPSVCiの並列度を有効並列度にセットする(ステップS15)。これに対して、「並列度セット」が指定されていないならば、並列度調整機構222は上記「アッパ処置」により「1つ増加」が指定されているか否かを判定する(ステップS16)。もし、「1つ増加」が指定されているならば、並列度調整機構222は並列実行型サービスPSVCiの並列度を現在の値より1つ増やす(ステップS17)。これに対して、1つ増加」が指定されていないならば、並列度調整機構222は「ユーザ通知」が指定されているものとして、上述のユーザ通知を実行する(ステップS18)。
一方、上記ステップS12で、有効並列度が通常値より小さいと判定されたならば、並列度調整機構222は前回の並列度変更時点から一定時間経過しているかを判定する(ステップS19)。もし、一定時間経過していないならば、並列度調整機構222は並列実行型サービスPSVCiの負荷は安定していないものとして、並列実行型サービスPSVCiの並列度として、まず通常値をセットする(ステップS20)。これに対し、一定時間経過しているならば、並列度調整機構222は、有効並列度が通常値より小さくない場合と同様に、上記ステップS13に進む。このステップS13で「通常値セット」が指定されていると判定された場合、後述するステップS23が実行されて、並列実行型サービスPSVCiの並列度として通常値がセットされる。また、「通常値セット」も「並列度セット」も指定されていない場合には、ステップS13,S14を経てステップS16に進み、上記「アンダ処置」により「1つ減少」が指定されているか否かが判定される。もし、「1つ減少」が指定されているならば、並列実行型サービスPSVCiの並列度が現在の値より1つ減らされる(ステップS17)。
一方、上記ステップS11で現時点が通常値対応時間帯であると判定されたならば、並列度調整機構222は有効並列度が現在の並列度より小さいか否かを判定する(ステップS21)。もし、有効並列度が現在の並列度より小さくないならば、並列度調整機構222は上記ステップS13に進む。これに対して、有効並列度が現在の並列度より小さいならば、並列度調整機構222は、現時点において他の並列実行型サービスがスパイク状態にないかを判定する(ステップS22)。もし、他の並列実行型サービスがスパイク状態にあるならば、並列度調整機構222は、その状態に対応するために上記ステップS13に進む。これに対して、他の並列実行型サービスがスパイク状態にないならば、並列度調整機構222は通常値対応時間帯に適合した処理、即ち、たとえ有効並列度が通常値より小さくても、並列実行型サービスPSVCiの並列度として通常値をセットする処理を実行する(ステップS23)。
クラスタ制御機構22は、並列度調整機構222によって並列度が変更されると、サービス実行制御機構221を使用して並列実行型サービス実行機構23-iを制御することにより、計算機20-1〜20-4のうちのいずれかの計算機で並列実行型サービスPSVCiを稼働状態または待機状態にする。
なお、並列実行型サービスPSVCiの負荷変動のパターンが予め予測される場合に、並列度を増減させる時刻と、その際に設定される並列度とを指定可能とし、指定された時刻が到来すると、並列実行型サービスPSVCiの並列度を指定された並列度に変更する構成とすることも可能である。この場合、予測される(パターン化された)負荷変動への対応が可能になる。
並列度の変更には、資源の再割り当てとサービスの起動、停止が伴うため、処理コストが高くなる。このため、図8のフローチャートに示す手順により、並列度の調整に関し、通常値以下の並列度変動に対して反応しにくくしたり、パターン化された負荷変動への対応を計画することにより、資源の再割り当てとサービスの起動、停止を伴う処理の実行を抑制することが可能になる。
[第3の実施形態]
図9は、本発明の第3の実施形態に係る計算機システムの構成を示すブロック図である。図9の計算機システムは、1台の計算機40を備えている。計算機40上では、複数のサービス、例えば2つのサービス51-1(SVC1),51-2(SVC2)を実行することが可能である。サービス51-1,51-2はOS(オペレーティングシステム)またはアプリケーション(例えばユーザが作成したアプリケーション)である。
計算機40は、CPU、メモリ及び入出力装置の各資源をそれぞれ複数備えている。図9の例では、計算機40は、CPU41-1〜41-8と、メモリ42-1〜42-6と、入出力装置(I/O)43-1〜43-6とを備えている。
サービス51-1,51-2は、後述する割り当て資源数調整機構54によって決定される複数の資源が割り当てられることにより、処理を実行する。
計算機40上では、サービス51-1,51-2毎に、負荷測定機構52-1,52-2及び最適資源数解析機構53-1,53-2が動作する。負荷測定機構52-1,52-2は、図2中の負荷測定機構231-1,231-2に相当する。最適資源数解析機構53-1,53-2は、図1中の最適資源数解析機構10及び図2中の最適並列度解析機構232-1,232-2に相当する。計算機40上ではまた、割り当て資源数調整機構54が動作する。割り当て資源数調整機構54は、図1中の割り当て資源数調整機構14及び図2中の並列度調整機構222に相当する。
負荷測定機構52-1,52-2は、サービス51-1,51-2の負荷を、当該サービス51-1,51-2が必要とするCPU、メモリ及びI/Oの負荷として測定する。ここでは、CPUであれば負荷として使用率が測定され、メモリであれば負荷としてメモリ使用量が測定される
最適資源数解析機構53-1,53-2は、負荷測定機構52-1,52-2によって測定されたサービス51-1,51-2の負荷(サービス51-1,51-2が必要とするCPU、メモリ及びI/Oの負荷)から、サービス51-1,51-2毎に用意されている図示せぬ資源数算出式テーブル(図1中の資源数算出式テーブル110及び図4の並列度算出式テーブル112-1,112-2に相当)に保持されている複数の資源数算出式に従って、資源数算出式毎に、サービス51-1,51-2の実行に必要な資源数(CPU、メモリ及びI/Oの数)を算出する。最適資源数解析機構53-1,53-2は、資源数算出式毎に算出された資源種類別の資源数(CPU、メモリ及びI/Oの数)から、資源種類別の唯一の有効な資源数を判定する。この判定には、図示せぬ有効資源数判定式テーブル(図1中の有効資源数判定式テーブル120に相当)に保持されている複数の有効資源数判定式の中からユーザの指定に応じて選択された判定式が用いられる。
最適資源数解析機構53-1,53-2は、サービス51-1,51-2の実行に必要な資源種類別の有効な資源数を判定すると、その有効な資源数の資源のサービス51-1,51-2への割り当てを割り当て資源数調整機構54に要求する。割り当て資源数調整機構54は、この要求を受けて、図示せぬ制約条件テーブル(図1中の制約条件テーブル140に相当)に保持されている制約条件に従って、サービス51-1,51-2に割り当てるべき資源種類別の資源数、つまりCPU、メモリ及びI/Oの数を決定する。この決定の結果、サービス51-1,51-2に割り当てるべき、CPU、メモリまたはI/Oの数が不足する場合、割り当て資源数調整機構54はサービス51-1,51-2に割り当てる資源種類別の資源数を、例えば当該サービス51-1,51-2の優先度に従って調停する。この調停の結果、サービス51-1,51-2のうちの例えばサービス51-2への必要な資源の割り当てが保留されたものとする。この場合、保留されたサービス51-2は、必要な資源が割り当てられるまで過負荷状態のまま動作することになる。
このように、第3の実施形態によれば、クラスタシステム以外の計算機システムでも、当該システムで実行される複数のサービスの負荷を利用して、各サービスへの資源の再割り当てを行うことができる。したがって、第3の実施形態においても、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応できる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
本発明の第1の実施形態に係る計算機システムの資源割り当て機構の基本構成を示すブロック図。 本発明の第2の実施形態に係るクラスタシステムの構成を示すブロック図。 並列度算出基本条件テーブル111-1,111-2のデータ構造例を示す図。 並列度算出式テーブル112-1,112-2のデータ構造例を示す図。 図2中の最適並列度解析機構232-i(i=1,2)による有効並列度の決定処理の手順を示すフローチャート。 並列実行型サービスPSVCiの負荷値の時間変化に対する並列度の変化の一例を、閾値と対応させて示す図。 緩衝幅を利用した並列度の制御の例を示す図。 図2中の並列度調整機構222による並列度の調整処理の手順を示すフローチャート。 本発明の第3の実施形態に係る計算機システムの構成を示すブロック図。
符号の説明
10,53-1,53-2…最適資源数解析機構、11…必要資源数算出機構、12…有効資源数判定式選択機構、13…有効資源数判定機構、14,54…割り当て資源数調整機構、20-1〜20-4,40…計算機、22…クラスタ制御機構、23-1,23-2…並列実行型サービス実行機構、52-1,52-2,231-1,231-2…負荷測定機構、110…資源数算出式テーブル、111-1,111-2…並列度算出基本条件テーブル、112-1,112-2…並列度算出式テーブル、120…有効資源数判定式テーブル、140…制約条件テーブル、221…サービス実行制御機構、222…並列度調整機構、232-1,232-2…最適並列度解析機構。

Claims (5)

  1. 複数の資源を利用して複数種類のサービスを実行可能な計算機システムにおいて、
    前記複数種類のサービスの負荷を一定のインターバルタイムで測定する負荷測定手段と、
    前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに必要な資源数を算出するのに用いられる種類の異なる複数の資源数算出式を定義した情報であって、当該資源数算出式毎に、平均方式であるか或いは閾値方式であるかを示す解析タイプ及び指定回数を含む情報を保持するための資源数算出式保持手段と、
    前記負荷測定手段によって測定された前記サービスの負荷の変動状況から、前記資源数算出式保持手段に保持されている情報によって定義された前記複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する必要資源数算出手段であって、前記解析タイプが前記平均方式の資源数算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷の指定回数分の移動平均値から当該サービスに必要な資源数を算出し、前記解析タイプが前記閾値方式の資源数算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷から当該サービスに必要な資源数を算出する必要資源数算出手段と、
    前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の中から有効な資源数を判定するのに必要な複数の有効資源数判定式を定義した情報であって、最大の資源数を前記有効な資源数とする第1の有効資源数判定式を定義した情報、前回の資源数との差が最小の資源数を前記有効な資源数とする第2の有効資源数判定式を定義した情報、及び予め定められた通常値との差が最小の資源数を前記有効な資源数とする第3の有効資源数判定式を定義した情報を保持するための有効資源数判定式保持手段と、
    前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の中から有効な資源数を判定するのに用いられる有効資源数判定式を前記有効資源数判定式保持手段に保持されている情報によって定義された前記複数の有効資源数判定式から選択する有効資源数判定式選択手段と、
    前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の1つを、前記有効資源数判定式選択手段によって選択された有効資源数判定式に従って有効資源数として判定する有効資源数判定手段であって、前記第1の有効資源数判定式が選択された場合には最大の資源数を前記有効な資源数として判定し、前記第2の有効資源数判定式が選択された場合には前回の資源数との差が最小の資源数を前記有効な資源数として判定し、前記第3の有効資源数判定式が選択された場合には前記通常値との差が最小の資源数を前記有効な資源数として判定する有効資源数判定手段と、
    前記有効資源数判定手段によって判定された有効資源数を算出するのに用いられた資源数算出式の解析タイプが前記平均方式の場合には、当該有効資源数が前回算出された資源数から変化したときに、前記判定された有効資源数を算出するのに用いられた資源数算出式の解析タイプが前記閾値方式の場合には、前記必要資源数算出手段によって算出された資源数が当該資源数算出式に対応する指定回数を超えて閾値をオーバまたはアンダしたときに、前記判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整する割り当て資源数調整手段と
    を具備することを特徴とする計算機システム。
  2. 前記負荷測定手段による負荷測定の時間間隔を表すインターバルタイム情報及び前記必要資源数算出手段による資源数の算出に必要な閾値を保持するための資源数算出基本条件保持手段とを更に具備し、
    前記負荷測定手段は、前記資源数算出基本条件保持手段に保持されている前記インターバルタイム情報の示すインターバルタイムで前記サービスの負荷を測定し、
    前記必要資源数算出手段は、前記負荷測定手段によって測定された前記サービスの負荷の変動状況及び前記資源数算出基本条件保持手段に保持されている閾値とから、前記複数の算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する
    ことを特徴とする請求項1記載の計算機システム。
  3. 前記サービスに割り当てる資源数を前記割り当て資源数調整手段が調整する際に用いられる複数の制約条件であって、前記サービスに割り当てる資源数の上限及び下限を表す最大値及び最小値と、前記有効資源数との関係で前記サービスに割り当てる資源数を決定するのに用いられる通常値とを含む複数の制約条件を保持するための制約条件保持手段を更に具備し、
    前記割り当て資源数調整手段は、前記サービスに割り当てる資源数が前記最大値を超えることと前記最小値を下回ることを抑制すると共に、前記有効資源数が前記通常値以下となった場合には、前記サービスに割り当てる資源数を一時的に通常値とすることにより前記有効資源数に調整されるのを遅延させ、前記有効資源数の前記通常値を超える増減時には、前記サービスに割り当てる資源数を直ちに当該有効資源数とする
    ことを特徴とする請求項1記載の計算機システム。
  4. 複数種類の並列実行型サービスを実行可能な複数の計算機を備えたクラスタ構成の計算機システムにおいて、
    前記複数の計算機に分散して配置されたクラスタ制御手段であって、相互に通信を行いながら同期して一体となって動作することにより前記サービスの起動、停止を含むクラスタ制御を行うクラスタ制御手段から構成されるクラスタ制御機構と、
    前記並列実行型サービスの実行に応じて前記複数の計算機のいずれかで動作して、当該サービスの負荷を一定のインターバルタイムで測定する負荷測定手段と、
    前記並列実行型サービスの実行に応じて前記複数の計算機のいずれかで動作して、前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに割り当てる最適な計算機の数を示す有効並列度を決定する最適並列度解析手段とを具備し、
    前記最適並列度解析手段は、
    前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに必要な並列度を算出するのに用いられる種類の異なる複数の並列度算出式を定義した情報であって、当該並列度算出式毎に、平均方式であるか或いは閾値方式であるかを示す解析タイプ及び指定回数を含む情報を保持するための並列度算出式保持手段と、
    前記負荷測定手段によって測定された前記サービスの負荷の変動状況から、前記並列度算出式保持手段に保持されている情報によって定義された前記複数の並列度算出式に従って、当該複数の並列度算出式毎に当該サービスに必要な並列度を算出する必要並列度算出手段であって、前記解析タイプが前記平均方式の並列度算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷の指定回数分の移動平均値から当該サービスに必要な並列度を算出し、前記解析タイプが前記閾値方式の並列度算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷から当該サービスに必要な並列度を算出する必要並列度算出手段と、
    前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の中から前記有効並列度を決定するのに必要な複数の有効並列度判定式を定義した情報であって、最大の並列度を有効な並列度とする第1の有効並列度判定式を定義した情報、前回の並列度との差が最小の並列度を有効な並列度とする第2の有効並列度判定式を定義した情報、及び予め定められた通常値との差が最小の並列度を有効な並列度とする第3の有効並列度判定式を定義した情報を保持するための有効並列度判定式保持手段と、
    前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の中から有効並列度を決定するのに用いられる有効並列度判定式を前記有効並列度判定式保持手段に保持されている情報によって定義された前記複数の有効並列度判定式から選択する有効並列度判定式選択手段と、
    前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の1つを、前記有効並列度判定式選択手段によって選択された有効並列度判定式に従って前記有効並列度として決定する有効並列度判定手段であって、前記第1の有効並列度判定式が選択された場合には最大の並列度を前記有効な並列度として決定し、前記第2の有効並列度判定式が選択された場合には前回の並列度との差が最小の並列度を前記有効な並列度として決定し、前記第3の有効並列度判定式が選択された場合には前記通常値との差が最小の並列度を前記有効な並列度として決定する有効並列度判定手段とを含み、
    前記クラスタ制御機構は、前記最適並列度解析手段に含まれている前記有効並列度判定手段によって決定された有効並列度を算出するのに用いられた並列度算出式の解析タイプが前記平均方式の場合には、当該有効並列度が前回算出された並列度から変化したときに、前記判定された有効並列度を算出するのに用いられた並列度算出式の解析タイプが前記閾値方式の場合には、前記必要並列度算出手段によって算出された並列度が当該並列度算出式に対応する指定回数を超えて閾値をオーバまたはアンダしたときに、前記判定された有効並列度をもとに、対応するサービスの並列度を調整する並列度調整手段を含む
    ことを特徴とする計算機システム。
  5. 複数の資源を利用して複数種類のサービスを実行可能な計算機システムにおいて、前記サービスに資源を割り当てるための資源割り当てプログラムであって、
    前記サービスの負荷の変動状況から当該サービスに必要な資源数を算出するのに用いられる種類の異なる複数の資源数算出式を定義した情報であって、当該資源数算出式毎に、平均方式であるか或いは閾値方式であるかを示す解析タイプ及び指定回数を含む情報を保持するための資源数算出式保持手段と、前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の中から有効な資源数を判定するのに必要な複数の有効資源数判定式を定義した情報であって、最大の資源数を前記有効な資源数とする第1の有効資源数判定式を定義した情報、前回の資源数との差が最小の資源数を前記有効な資源数とする第2の有効資源数判定式を定義した情報、及び予め定められた通常値との差が最小の資源数を前記有効な資源数とする第3の有効資源数判定式を定義した情報を保持するための有効資源数判定式保持手段とを有する計算機に、
    一定のインターバルタイムで測定される前記サービスの負荷の変動状況から、前記資源数算出式保持手段に保持されている情報によって定義された前記複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を前記インターバルタイムで算出するステップであって、前記解析タイプが前記平均方式の資源数算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷の指定回数分の移動平均値から当該サービスに必要な資源数を算出し、前記解析タイプが前記閾値方式の資源数算出式に対しては、前記負荷測定手段によって測定された前記サービスの負荷から当該サービスに必要な資源数を算出するステップと、
    前記有効資源数判定式保持手段に保持されている情報によって定義された複数の有効資源数判定式の中からユーザの指定に応じて選択された有効資源数判定式に従い、前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の1つを有効資源数として判定するステップであって、前記第1の有効資源数判定式が選択された場合には最大の資源数を前記有効な資源数として判定し、前記第2の有効資源数判定式が選択された場合には前回の資源数との差が最小の資源数を前記有効な資源数として判定し、前記第3の有効資源数判定式が選択された場合には前記通常値との差が最小の資源数を前記有効な資源数として判定するステップと、
    前記判定された有効資源数を算出するのに用いられた資源数算出式の解析タイプが前記平均方式の場合には、当該有効資源数が前回算出された資源数から変化したときに、前記判定された有効資源数を算出するのに用いられた資源数算出式の解析タイプが前記閾値方式の場合には、前記必要資源数算出手段によって算出された資源数が当該資源数算出式に対応する指定回数を超えて閾値をオーバまたはアンダしたときに、前記判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整するステップと
    を実行させるための資源割り当てプログラム。
JP2003412247A 2003-12-10 2003-12-10 計算機システム及び資源割り当てプログラム Expired - Lifetime JP3884427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003412247A JP3884427B2 (ja) 2003-12-10 2003-12-10 計算機システム及び資源割り当てプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003412247A JP3884427B2 (ja) 2003-12-10 2003-12-10 計算機システム及び資源割り当てプログラム

Publications (2)

Publication Number Publication Date
JP2005173928A JP2005173928A (ja) 2005-06-30
JP3884427B2 true JP3884427B2 (ja) 2007-02-21

Family

ID=34732747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003412247A Expired - Lifetime JP3884427B2 (ja) 2003-12-10 2003-12-10 計算機システム及び資源割り当てプログラム

Country Status (1)

Country Link
JP (1) JP3884427B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4129988B2 (ja) * 2005-11-10 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション リソースのプロビジョニング方法
JP4743904B2 (ja) * 2008-03-13 2011-08-10 Necビッグローブ株式会社 リソース過分配防止システム
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US8548442B2 (en) * 2010-01-11 2013-10-01 Microsoft Corporation Syndication of multiple service instances
JP5152426B1 (ja) * 2012-07-02 2013-02-27 富士電機株式会社 情報処理装置及び冗長化システム、並びに、これらにおけるエラー検出方法
EP3971719A1 (en) * 2016-03-04 2022-03-23 Google LLC Resource allocation for computer processing
CN111694670B (zh) * 2020-06-12 2023-04-25 抖音视界有限公司 资源分配方法、装置、设备和计算机可读介质

Also Published As

Publication number Publication date
JP2005173928A (ja) 2005-06-30

Similar Documents

Publication Publication Date Title
JP4374391B2 (ja) 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法
US9081621B2 (en) Efficient input/output-aware multi-processor virtual machine scheduling
JP5284809B2 (ja) 複数の仮想マシンに対して動的にリソースを割当てる方法及び装置
US10423451B2 (en) Opportunistically scheduling and adjusting time slices
US7748005B2 (en) System and method for allocating a plurality of resources between a plurality of computing domains
US9571561B2 (en) System and method for dynamically expanding virtual cluster and recording medium on which program for executing the method is recorded
JP4261543B2 (ja) 動作不能なマスタ作業負荷管理プロセスを代替するシステムおよび方法
US9525731B2 (en) Robust tenant placement and migration in database-as-a-service environments
CN106452818B (zh) 一种资源调度的方法和系统
JP2940450B2 (ja) クラスタ型コンピュータのジョブスケジュール方法及び装置
CN101473307B (zh) 用于调度计算机微作业以在非干扰时间执行的方法、系统和装置
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
US20030028583A1 (en) Method and apparatus for providing dynamic workload transition during workload simulation on e-business application server
Sampaio et al. PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers
US9870269B1 (en) Job allocation in a clustered environment
US20080034366A1 (en) Virtual computer system with dynamic resource reallocation
US7543306B2 (en) Method, system, and program for handling device interrupts in a multi-processor environment
US9992301B2 (en) Prioritized throttling in a multiusage environment
US8660816B2 (en) Method, system, and computer program product for determining a hang state and distinguishing a hang state from an idle state
US7007150B2 (en) Memory balancing and optimization services
JP3884427B2 (ja) 計算機システム及び資源割り当てプログラム
US7668935B2 (en) Computer system and method for service load distributing
JP4649341B2 (ja) 計算機制御方法、情報処理システムおよび計算機制御プログラム
Sung et al. OMBM: optimized memory bandwidth management for ensuring QoS and high server utilization
Mehta et al. BI batch manager: a system for managing batch workloads on enterprise data-warehouses

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3884427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350