(57)【要約】【課題】負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応可能とする。【解決手段】必要資源数算出機構１１は、測定されたサービスの負荷値から、資源数算出式テーブル１１０に保持されている情報の定義する複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する。有効資源数判定機構１３は、複数の資源数算出式毎に算出された必要資源数の１つを、有効資源数判定式選択機構１２によって有効資源数判定式テーブル１２０の中から選択された有効資源数判定式に従って有効資源数として判定する。割り当て資源数調整機構１４は、この判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整する。【選択図】      図１
2005173928.tif 000002
【特許請求の範囲】
【請求項１】
複数の資源を利用して複数種類のサービスを実行可能な計算機システムにおいて、
前記複数種類のサービスの負荷を測定する負荷測定手段と、
前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに必要な資源数を算出するのに用いられる種類の異なる複数の資源数算出式を定義した情報を保持するための資源数算出式保持手段と、
前記負荷測定手段によって測定された前記サービスの負荷の変動状況から、前記資源数算出式保持手段に保持されている情報によって定義された前記複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する必要資源数算出手段と、
前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の中から有効な資源数を判定するのに必要な複数の有効資源数判定式を定義した情報を保持するための有効資源数判定式保持手段と、
前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の中から有効な資源数を判定するのに用いられる有効資源数判定式を前記有効資源数判定式保持手段に保持されている情報によって定義された前記複数の有効資源数判定式から選択する有効資源数判定式選択手段と、
前記必要資源数算出手段によって前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の１つを、前記有効資源数判定式選択手段によって選択された有効資源数判定式に従って有効資源数として判定する有効資源数判定手段と、
前記有効資源数判定手段によって判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整する割り当て資源数調整手段と
を具備することを特徴とする計算機システム。
【請求項２】
前記負荷測定手段による負荷測定の時間間隔を表すインターバルタイム情報及び前記必要資源数算出手段による資源数の算出に必要な閾値を保持するための資源数算出基本条件保持手段とを更に具備し、
前記負荷測定手段は、前記資源数算出基本条件保持手段に保持されている前記インターバルタイム情報の示すインターバルタイムで前記サービスの負荷を測定し、
前記必要資源数算出手段は、前記負荷測定手段によって測定された前記サービスの負荷の変動状況及び前記資源数算出基本条件保持手段に保持されている閾値とから、前記複数の算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する
ことを特徴とする請求項１記載の計算機システム。
【請求項３】
前記サービスに割り当てる資源数を前記割り当て資源数調整手段が調整する際に用いられる複数の制約条件であって、前記サービスに割り当てる資源数の上限及び下限を表す最大値及び最小値と、前記有効資源数との関係で前記サービスに割り当てる資源数を決定するのに用いられる通常値とを含む複数の制約条件を保持するための制約条件保持手段を更に具備し、
前記割り当て資源数調整手段は、前記サービスに割り当てる資源数が前記最大値を超えることと前記最小値を下回ることを抑制すると共に、前記有効資源数が前記通常値以下となった場合には、前記サービスに割り当てる資源数を一時的に通常値とすることにより前記有効資源数に調整されるのを遅延させ、前記有効資源数の前記通常値を超える増減時には、前記サービスに割り当てる資源数を直ちに当該有効資源数とする
ことを特徴とする請求項１記載の計算機システム。
【請求項４】
複数種類の並列実行型サービスを実行可能な複数の計算機を備えたクラスタ構成の計算機システムにおいて、
前記複数の計算機に分散して配置されたクラスタ制御手段であって、相互に通信を行いながら同期して一体となって動作することにより前記サービスの起動、停止を含むクラスタ制御を行うクラスタ制御手段から構成されるクラスタ制御機構と、
前記並列実行型サービスの実行に応じて前記複数の計算機のいずれかで動作して、当該サービスの負荷を測定する負荷測定手段と、
前記並列実行型サービスの実行に応じて前記複数の計算機のいずれかで動作して、前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに割り当てる最適な計算機の数を示す有効並列度を決定する最適並列度解析手段とを具備し、
前記最適並列度解析手段は、
前記負荷測定手段によって測定された前記サービスの負荷の変動状況から当該サービスに必要な並列度を算出するのに用いられる種類の異なる複数の並列度算出式を定義した情報を保持するための並列度算出式保持手段と、
前記負荷測定手段によって測定された前記サービスの負荷の変動状況から、前記並列度算出式保持手段に保持されている情報によって定義された前記複数の並列度算出式に従って、当該複数の並列度算出式毎に当該サービスに必要な並列度を算出する必要並列度算出手段と、
前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の中から前記有効並列度を決定するのに必要な複数の有効並列度判定式を定義した情報を保持するための有効並列度判定式保持手段と、
前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の中から有効並列度を決定するのに用いられる有効並列度判定式を前記有効並列度判定式保持手段に保持されている情報によって定義された前記複数の有効並列度判定式から選択する有効並列度判定式選択手段と、
前記必要並列度算出手段によって前記複数の並列度算出式毎に算出された前記サービスに必要な並列度の１つを、前記有効並列度判定式選択手段によって選択された有効並列度判定式に従って前記有効並列度として決定する有効並列度判定手段とを含み、
前記クラスタ制御機構は、前記最適並列度解析手段に含まれている前記有効並列度判定手段によって決定された有効並列度をもとに対応するサービスの並列度を調整する並列度調整手段を含む
ことを特徴とする計算機システム。
【請求項５】
複数の資源を利用して複数種類のサービスを実行可能な計算機システムにおいて、前記サービスに資源を割り当てるための資源割り当てプログラムであって、
計算機に、
一定のインターバルタイムで測定される前記サービスの負荷の変動状況から複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を前記インターバルタイムで算出するステップと、
複数の有効資源数判定式の中からユーザの指定に応じて選択された有効資源数判定式に従い、前記複数の資源数算出式毎に算出された前記サービスに必要な資源数の１つを有効資源数として判定するステップと、
判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整するステップと
を実行させるための資源割り当てプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の資源を利用して複数種類のサービスを実行可能な計算機システムに係り、特に当該各サービスの負荷を計測し、その計測結果を利用して各サービスへの資源の再割り当てを行うのに好適な計算機システム及び資源割り当てプログラムに関する。
【背景技術】
【０００２】
複数の資源を利用して複数種類のサービスを実行可能な計算機システムでは、負荷に応じて資源の再割り当てが行われるのが一般的である。この種の計算機システムでの資源の再割り当ては次のように行われる。まず、１つの資源で適切に処理できる負荷の閾値が予め設定される。そして、閾値の何倍のシステム負荷が測定されたかによって必要となる資源の量が予測される。この予測値に応じて適切な資源の再割り当てが行われる。
【０００３】
測定された負荷が閾値を超過したことを検出する手法として、一定時間間隔（インターバルタイム）で超過がないかをチェックするポーリング方式が知られている。このポーリング方式では、インターバルタイムの設定値により、俊敏に反応させたり、鈍感に反応させたりすることが可能になる。短いインターバルタイムを設定すると、俊敏な資源割り当てが可能になるが、閾値付近の変動が頻繁に起きると、頻繁に資源の再割り当てが行われる不安定な状態になる。逆に、長いインターバルタイムを設定すると、過敏な反応は起きないが、急激な負荷変動が起きるスパイク現象に対しての早急な対応ができなくなる。
【０００４】
そこで、短いインターバルタイムでポーリングすることを前提に、資源割り当ての判定に用いる負荷の加工に関する方式として、加工なし、複数回の負荷測定値の平均（移動平均）を取る方式、及び負荷測定値を規格化する方式の中から、１つをユーザが選択可能とした計算機システムが提案されている（例えば、特許文献１参照）。この文献には、資源割り当て率の計算法として、比例法及び閾値法の中から１つをユーザが選択可能とすることも記載されている。この文献に記載された先行技術によれば、対象となるサービスのワークロード特性（定常時の負荷、ピーク時の負荷、ピーク幅など）に応じて、負荷加工法、資源割り当て率の計算法をそれぞれ適切に選択することにより、資源の動的な再割り当てを適切に行うことが可能となる。例えば、移動平均を選択することにより、短い負荷の変動に過敏に反応して資源の再割り当てが頻繁に発生することを防止できる。
【特許文献１】特開２００３−１５７１７７（段落００４２乃至００４５、段落０１２８及び０１２９、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記したように先行技師においては、資源割り当ての対象となるサービスのワークロード特性（定常時の負荷、ピーク時の負荷、ピーク幅など）に応じて、負荷加工法、資源割り当て率の計算法をそれぞれ適切に選択することにより、資源の動的な再割り当てを適切に行うことが可能となる。しかしながら、負荷の変動に対して過敏に反応する設定では、頻繁に資源の再割り当てが行われる不安定な状態になる。また、過敏に反応しない設定を行うと、急激な負荷変動が起きるスパイク現象に対しては、早急な対応処理ができない。つまり、先行技術では、急激な負荷変動が起きるスパイク現象に対して速やかに対応させるためには、負荷の変動に対して過敏に反応する設定を必要とする。
【０００６】
本発明は上記事情を考慮してなされたものでその目的は、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応できる計算機システム及び資源割り当てプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の１つの観点によれば、複数の資源を利用して複数種類のサービスを実行可能な計算機システムが提供される。この計算機システムは、上記複数種類のサービスの負荷を測定する負荷測定手段と、測定された上記サービスの負荷の変動状況から当該サービスに必要な資源数を算出するのに用いられる種類の異なる複数の資源数算出式を定義した情報を保持するための資源数算出式保持手段と、測定された上記サービスの負荷の変動状況から上記資源数算出式保持手段に保持されている情報によって定義された上記複数の資源数算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出する必要資源数算出手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の中から有効な資源数を判定するのに必要な複数の有効資源数判定式を定義した情報を保持するための有効資源数判定式保持手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の中から有効な資源数を判定するのに用いられる有効資源数判定式を、上記有効資源数判定式保持手段に保持されている情報によって定義された上記複数の有効資源数判定式から選択する有効資源数判定式選択手段と、上記複数の資源数算出式毎に算出された上記サービスに必要な資源数の１つを、上記有効資源数判定式選択手段によって選択された有効資源数判定式に従って有効資源数として判定する有効資源数判定手段と、この有効資源数判定手段によって判定された有効資源数をもとに、対応するサービスに割り当てる資源数を調整する割り当て資源数調整手段とを備えることを特徴とする。
【０００８】
このような構成においては、サービスの負荷の変動状況から、複数の資源数算出式（例えば当該サービスに対応して設定されている情報によって定義される複数の資源数算出式）に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数が算出される。この複数の資源数算出式毎に算出された資源数の中から１つだけが有効資源数として判定される。この判定には、複数の有効資源数判定式から選択された判定式が用いられる。有効資源数として判定された資源数は、対応するサービスに割り当てる資源数の調整（決定）に利用される。このため、例えばサービスの負荷が急激に変化するスパイク現象が起きている期間に有効資源数として判定される資源数の算出に用いられた資源数算出式と、それ以外の期間に有効資源数として判定される資源数の算出に用いられた資源数算出式とが異なるようにすることが可能となる。これにより、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応することが可能となる。
【０００９】
ここで、上記負荷測定手段による負荷測定の時間間隔を表すインターバルタイム情報及び上記必要資源数算出手段による資源数の算出に必要な閾値を保持するための資源数算出基本条件保持手段とを追加して、上記資源数算出基本条件保持手段に保持されているインターバルタイム情報の示すインターバルタイムで上記サービスの負荷が測定され、この測定された負荷の変動状況及び上記閾値とから、上記複数の算出式に従って、当該複数の資源数算出式毎に当該サービスに必要な資源数を算出するとよい。
【００１０】
また、サービスに割り当てる資源数を調整（決定）する際の複数の制約条件であって、上記サービスに割り当てる資源数の上限及び下限を表す最大値及び最小値と、上記有効資源数との関係で上記サービスに割り当てる資源数を決定するのに用いられる通常値とを含む複数の制約条件を保持するための制約条件保持手段を追加し、上記サービスに割り当てる資源数が上記最大値を超えることと上記最小値を下回ることを抑制すると共に、上記有効資源数が上記通常値以下となった場合には、上記サービスに割り当てる資源数を一時的に通常値とすることにより上記有効資源数に調整されるのを遅延させ、上記有効資源数の上記通常値を超える増減時には、上記サービスに割り当てる資源数を直ちに当該有効資源数とすると良い。
【発明の効果】
【００１１】
本発明によれば、サービスの負荷の変動状況から複数の資源数算出式毎に当該サービスに必要な資源数が算出されて、この複数の資源数算出式毎に算出された資源数の中から１つだけが有効資源数判定式に従って有効資源数として判定されて、当該サービスに割り当てる資源数の調整に用いられるため、急激な負荷変動が起きるスパイク現象に対しては速やかに反応し、それ以外では、負荷の変動に対して過敏に反応しないようにすることができる。即ち本発明によれば、頻繁に資源の再割り当てが行われるような不安定な状態になるのを防止してコストの高い資源割り当て処理の発生回数を減らしながら、スパイク現象に対しては早急な対応処理が可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態につき図面を参照して説明する。  
［第１の実施形態］
図１は本発明の第１の実施形態に係る計算機システムの資源割り当て機構の基本構成を示すブロック図である。図１の資源割り当て機構が設けられる計算機システムでは、複数の資源を利用して複数種類のサービスが実行可能である。このサービスが、複数の計算機で同時並行して実行可能なタイプの、いわゆる並列実行型サービスの場合、上記資源は計算機である。また、上記サービスが１つの計算機で実行されるものである場合、上記資源は当該１つの計算機上のＣＰＵ、メモリ及び入出力装置、更には当該計算機を含む複数の計算機により共有されるディスク装置等である。
【００１３】
図１の資源割り当て機構は、最適資源数解析機構１０と割り当て資源数調整機構１４とを備えている。最適資源数解析機構１０は、必要資源数算出機構１１と有効資源数判定式選択機構１２と有効資源数判定機構１３とを含む。
【００１４】
必要資源数算出機構１１は、資源数算出式テーブル１１０を有する。資源数算出式テーブル１１０には、必要資源数を算出するための複数の算出法を定義した情報、例えば複数の資源数算出式を定義した情報が保持されている。必要資源数算出機構１１は、図示せぬ負荷測定機構（負荷検出機構）によって測定（検出）された、資源割り当て調整の対象となるサービス（以下、対象サービスと称する）の負荷の値（負荷値）をもとに、当該負荷値に対応する必要資源数を算出する。ここでは必要資源数算出機構１１は、資源数算出式テーブル１１０に保持されている情報によって定義された複数の資源数算出式を用いて、予め定められたインターバルタイムで当該複数の資源数算出式毎に必要資源数を算出する。必要資源数算出機構１１によって資源数算出式毎に算出された必要資源数は有効資源数判定機構１３に渡される。
【００１５】
有効資源数判定式選択機構１２は、有効資源数判定式テーブル１２０を有する。有効資源数判定式テーブル１２０には、複数の有効資源数判定式を定義した情報が保持される。有効資源数判定式は、必要資源数算出機構１１によって資源数算出式毎に算出された必要資源数の中から、資源の再割り当てに利用する唯一の資源数を有効資源数として判定（決定）するのに用いられる。有効資源数判定式の詳細については、後述する第２の実施形態で説明する。有効資源数判定式選択機構１２は、有効資源数判定式テーブル１２０に保持されている情報によって定義された複数の有効資源数判定式の中からユーザの指定する有効資源数判定式を選択して、有効資源数判定機構１３に通知する。
【００１６】
有効資源数判定機構１３は、有効資源数判定式選択機構１２によって選択され有効資源数判定式に従い、必要資源数算出機構１１によって資源数算出式毎に算出された必要資源数の中の１つを有効資源数として判定する。ここで、有効資源数判定式には、例えば時間帯に応じて切り替え使用される複数の条件を含ませることが可能である。これにより、例えばスパイク減少が発生する可能性が高い時間帯には、資源数算出式毎に算出された必要資源数の中の最大の資源数を有効資源数として判定し、それ以外の時間帯は同じ資源数算出式を用いて前回算出された資源数との差が最小の資源数を有効資源数として判定することも可能である。つまり有効資源数判定機構１３は、資源数算出式毎に算出された必要資源数から有効資源数を動的に判定する。このようにすると、スパイク現象に対して速やかに対応でき、しかも負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止できる。
【００１７】
有効資源数判定機構１３によって判定された有効資源数は割り当て資源数調整機構１４に渡される。割り当て資源数調整機構１４は、制約条件テーブル１４０を有する。制約条件テーブル１４０には、有効資源数判定機構１３によって判定された有効資源数に従って対象サービスに割り当てられる資源数を調整する際に適用される複数の制約条件が保持されている。この制約条件は、例えばサービス毎の資源数の最大値、最小値及び通常値を含む。この場合、最大値を超える資源数、或いは最小値を下回る資源数に調整されることが防止される。これにより、負荷の異常な変動で対象サービスに割り当てるべき資源数が際限なく増加または減少して、他のサービスの実行の阻害要因になることを防ぐことができる。また割り当て資源数調整機構１４では、有効資源数と通常値との関係で、対象サービスに割り当てられる資源数が決定される。これにより、例えば有効資源数の変動で当該有効資源数が通常値以下となった場合には、資源数の調整が行われにくくし、通常値を超える有効資源数の増減には敏感に反応させることが可能となる。
【００１８】
［第２の実施形態］
図２は、本発明の第２の実施形態に係るクラスタシステムの構成を示すブロック図である。第２の実施形態の特徴は、図１の構成の資源割り当て機構をクラスタシステムに適用した点にある。
【００１９】
図２のクラスタシステムは、４台の計算機（サーバ計算機）２０-1〜２０-4から構成される計算機システムである。計算機２０-1〜２０-4は、当該計算機２０-1〜２０-4間の通信に用いられるネットワーク（内部ネットワーク）３０によって相互接続されている。図１では、計算機２０-1〜２０-4とクライアント端末との間の通信に用いられるネットワーク（外部ネットワーク）は省略されている。クライアント端末からのサービスの実行要求は、この外部ネットワークを介して図２のクラスタシステムに送信される。クラスタシステム内の計算機２０-i（ｉ＝１〜４）は、クライアント端末からの要求で指定されたサービスを実行し、その実行結果を示す応答を外部ネットワークを介して要求元のクライアント端末に返す。なお、計算機２０-1〜２０-4間の通信と、計算機２０-1〜２０-4とクライアント端末との間の通信とが、同一のネットワークを介して行われる構成であっても構わない。但し、ネットワークにおける通信トラフィックの増大を招く。
【００２０】
計算機２０-1〜２０-4では、オペレーティングシステム（以下、ＯＳと称する）２１-1〜２１-4が動作する。また、計算機２０-1〜２０-4によって構成されるクラスタシステムでは、クラスタ制御機構２２が動作する。クラスタ制御機構２２は、計算機２０-1〜２０-4にそれぞれ設けられたクラスタ制御部（図示せず）が相互に通信を行いながら同期して一体となって動作することにより実現されるバーチャルマシンである。このため、クラスタ制御機構２２は、計算機２０-1〜２０-4にまたがって存在していると考えることができる。クラスタ制御部は、サービスの負荷分散を含むクラスタ制御用のプログラム（クラスタソフトウェア）を計算機２０-iが読み取り実行することにより実現される。このソフトウェアは、資源割り当て機構を実現する資源割り当てプログラムを含む。クラスタ制御機構２２は、各計算機２０-1〜２０-4上のクラスタ制御部が相互に通信を行いながら同期して動作することにより、計算機の障害を迅速に検出することができる。
【００２１】
クラスタ制御機構２２は、サービス実行制御機構２２１と並列度調整機構２２２とを有している。サービス実行制御機構２２１及び並列度調整機構２２２は、計算機２０-1〜２０-4にそれぞれ設けられたサービス実行制御部及び並列度調整部（図示せず）が相互に通信を行いながら同期して一体となって動作することにより実現されるバーチャルマシンである。サービス実行制御機構２２１及び並列度調整機構２２２は、クラスタ制御機構２２を通して計算機２０-1〜２０-4で使用することができる。サービス実行制御機構２２１は、クラスタシステム上で稼動しているサービスの起動、停止及び監視を行う。並列度調整機構２２２は図１中の割り当て資源数調整機構１４に相当し、クラスタシステム上で稼動している並列実行型サービスの並列度を調整する。並列度は、第１の実施形態における資源数（必要資源数）に相当し、クラスタシステム上で並列実行型サービスが同時並行して実行される計算機の数、つまりクラスタシステム上で同時並行して実行される同種の並列実行型サービスの実行数を指す。並列実行型サービスの並列度を増加すると並列実行型サービス全体の処理能力を増加前より増大させ、並列度を減少すると処理能力を減少させることができる。並列度調整機構２２２は、上記クラスタソフトウェア中の資源割り当てプログラムを２０-1〜２０-4のいずれかが実行することにより実現される。
【００２２】
図２のクラスタシステムではまた、クラスタ制御機構２２によって管理される並列実行型サービス実行機構が動作する。ここでは、２つの並列実行型サービス実行機構２３-1，２３-2が動作するものとする。並列実行型サービス実行機構２３-1，２３-2は、クラスタ制御機構２２と同様に計算機２０-1〜２０-4によって実現され、当該計算機２０-1〜２０-4にまたがって存在する。並列実行型サービス実行機構２３-i（ｉ＝１，２）は、並列実行型サービスＰＳＶＣｉを計算機２０-1〜２０-4のうちの複数の計算機（ノード）上で同時並行して実行する機能を有する。図２では、並列実行型サービス実行機構２３-1により２台の計算機２０-3，２０-4上でそれぞれ並列実行型サービスＰＳＶＣ１が実行され、並列実行型サービス実行機構２３-2により２台の計算機２０-1，２０-2上でそれぞれ並列実行型サービスＰＳＶＣ２が実行されている状態が示されている。この場合、並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２の並列度は、いずれも２である。この並列度は、並列度調整機構２２２によって調整される。なお、本実施形態で適用される並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２はアプリケーションであり、例えばユーザによって作成される。
【００２３】
図２のクラスタシステムでは更に、並列実行型サービス実行機構２３-1，２３-2の動作に応じて、それぞれ並列度調整サービス２３０-1，２３０-2が動作する。本実施形態において、並列度調整サービス２３０-1，２３０-2は上記クラスタソフトウェア中の資源割り当てプログラムに含まれている。この並列度調整サービス２３０-1，２３０-2が、クラスタソフトウェアから独立のプログラムに含まれていても良い。並列度調整サービス２３０-1，２３０-2は、それぞれ並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２の並列度を調整するためのサービスで、クラスタシステムのフェイルオーバ型サービスとして起動される。フェイルオーバ型サービスとは、当該サービスを実行していた計算機で障害が発生した場合に、そのサービスを他の計算機に割り当て直す（フェイルオーバする）再スケジュールが行われるサービスのことである。図２では、並列度調整サービス２３０-1，２３０-2が、それぞれ計算機２０-1，２０-2上で動作している状態が示されている。
【００２４】
並列度調整サービス２３０-1，２３０-2は、それぞれ負荷測定機構２３１-1，２３１-2と最適並列度解析機構２３２-1，２３２-2とを持つ。負荷測定機構２３１-1，２３１-2は、後述する並列度算出基本条件テーブル１１１-1，１１１-2（図３参照）に設定されているインターバルタイムで、並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２の負荷を測定する。最適並列度解析機構２３２-1，２３２-2は図１中の最適資源数解析機構１０に相当する。そのため最適並列度解析機構２３２-1，２３２-2は、図１中の必要資源数算出機構１１、有効資源数判定式選択機構１２及び有効資源数判定機構１３にそれぞれ相当する、必要並列度算出機構、有効並列度判定式選択機構及び有効並列度判定機構（いずれも図示せず）を有する。最適並列度解析機構２３２-1，２３２-2は、負荷測定機構２３１-1，２３１-2によって測定された並列実行型サービスＰＳＶＣ１，ＰＳＣＶ２の負荷値をもとに有効並列度（最適並列度）を判定する。有効並列度は、上記第１の実施形態における有効資源数に相当する。
【００２５】
最適並列度解析機構２３２-1，２３２-2からは、それぞれ並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２毎に用意される、図３に示すデータ構造の並列度算出基本条件テーブル１１１-1，１１１-2と、図４に示すデータ構造の並列度算出式テーブル１１２-1，１１２-2とが参照可能である。テーブル１１１-i及び１１２-i（ｉ＝１，２）は、並列実行型サービスＰＳＶＣｉが実行されている計算機からアクセス可能なディスク装置等に保存されている。
【００２６】
並列度算出基本条件テーブル１１１-1，１１１-2は、負荷測定機構２３１-1，２３１-2によって並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２の負荷値を測定する際の時間間隔であるインターバルタイムの情報と、並列度の算出に必要な負荷を解析する際の基準となる閾値とを保持する。このテーブル１１１-1，１１１-2に保持されるインターバルタイム及び閾値は、ユーザの操作により、計算機２０-1〜２０-4、或いは当該計算機２０-1〜２０-4と外部ネットワークを介して接続されるクライアント端末から設定可能である。
【００２７】
並列度算出式テーブル１１２-1，１１２-2は図１中の資源数算出式テーブル１１０に相当する。並列度算出式テーブル１１２-1，１１２-2は、並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２の負荷を解析して当該サービスＰＳＶＣ１，ＰＳＶＣ２の最適な並列度を算出するのに必要な並列度算出式（並列度算出手法）を定義する情報が保持される複数のエントリを有する。つまり、テーブル１１２-1，１１２-2は、複数の並列度算出式（の情報）を保持可能である。並列度算出式テーブル１１２-1，１１２-2の各エントリは、「解析タイプ」、「回数」、「反応する閾値の倍率」、「緩衝幅」、「アッパ処置」及び「アンダ処置」の各設定項目を含む。本実施形態では、テーブル１１２-1，１１２-2の各エントリの当該各項目の内容は、ユーザの操作により、計算機２０-1〜２０-4、或いはクライアント端末から設定可能である。
【００２８】
負荷測定機構２３１-1，２３１-2は、並列度算出基本条件テーブル１１１-1，１１１-2に保持されているインターバルタイム情報で指定される時間間隔（インターバルタイム）で、それぞれ調整対象の並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２全体の負荷の値を測定（検出）する。この負荷の値（負荷値）は、例えば、クライアント端末からのリクエストに対してサービスＰＳＶＣ１，ＰＳＶＣ２からレスポンスが返されるまでの時間、或いは当該サービスＰＳＶＣ１，ＰＳＶＣ２に対するコネクションの数をもとに算出される数値である。また、インターバルタイムとして、充分短い時間、例えば５秒が設定される。
【００２９】
負荷測定機構２３１-1，２３１-2によってインターバルタイム毎に測定される、並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２全体の負荷値は、その都度最適並列度解析機構２３２-1，２３２-2に渡される。
【００３０】
最適並列度解析機構２３２-1，２３２-2は、負荷測定機構２３１-1，２３１-2によって測定された並列実行型サービスＰＳＶＣ１，ＰＳＶＣ２全体の負荷値をもとに、有効並列度を決定する。有効並列度は、上記第１の実施形態における有効資源数に相当する。この最適並列度解析機構２３２-i（ｉ＝１，２）による有効並列度の決定処理の手順について、図５のフローチャートを参照して説明する。
【００３１】
最適並列度解析機構２３２-i（内の必要並列度算出機構）は、並列度算出式テーブル１１２-iの各エントリに保持されている並列度算出式の情報により定義される手法で、それぞれ独立して当該負荷値を解析して、並列度算出式毎に最適な並列度（必要な並列度）を算出する（ステップＳ１）。ここでは、エントリ順に並列度算出式を用いて、順次並列度を算出するものとする。
【００３２】
さて、本実施形態では、並列実行型サービスＰＳＶＣｉの並列度を算出するのに必要な閾値は、図３に示した並列度算出基本条件テーブル１１１-iに、１つの資源（ここでは、計算機）で処理するのに最適な負荷値として設定される。したがって、並列実行型サービス全体の負荷値が分かれば、最適な並列度は、次式
並列度＝（負荷値÷閾値）の整数部＋１      （１）
に示すように、当該負荷値の閾値に対する倍率から算出できる。この負荷値の時間変化に対する並列度の変化の一例を、閾値と対応させて図６に示す。この図６からも明らかなように、閾値は範囲を持った値として扱われる。閾値の整数倍の値は、並列度が変化する閾値境界を表す。
【００３３】
ここで、負荷測定機構２３１-iによって測定された負荷値は、短いインターバルタイムで検出された値である。このため、上記（１）式に従って、この値だけで並列度を計算すると、並列度の増減が頻繁に起きる不安定な状態となる。これは、計算機システムなどの負荷は、短い時間であるほど、変動が大きくなることが知られているためである。そこで本実施形態では、並列度算出式テーブル１１２-iの各エントリ中の「解析タイプ」によって、負荷値の「まるめ」、或いは並列度の調整処理の遅延を定義可能としている。本実施形態で適用可能な「解析タイプ」は、次に述べる（１）平均方式、（２）閾値方式の２種類である。
【００３４】
（１）平均方式
平均方式が指定された場合、ユーザ指定の回数分の負荷値の移動平均を取った値（移動平均値）で並列度が算出され、前回算出された並列度から変化があると、並列度調整処理が実施される。
【００３５】
（２）閾値方式
閾値方式が指定された場合、負荷値から算出された並列度が、ユーザ指定の回数を超えて閾値をオーバまたはアンダすると、並列度調整処理が実施される。
【００３６】
上記平均方式または閾値方式のいずれの方式も、ユーザ指定の回数が大きければ検出の感度が鈍くなり、小さければ鋭くなる。このユーザ指定の回数は、並列度算出式テーブル１１２-iのエントリ中の「回数」の項目に設定される。また、テーブル１１２-iのエントリ中の「反応する閾値の倍率」の項目では、反応する閾値の倍率（以下、単に閾値倍率と称する）が指定される。この倍率指定は、並列度が、この指定倍率以上に変動しない場合は、並列度調整処理を行わないようにするものである。したがって、指定倍率以上の変動がない場合に、最終的に算出される並列度は現状と同じとなる。
【００３７】
閾値方式で、「回数」＝小、「閾値倍率」＝大を指定すると、短時間に急激な負荷の変動が起きるスパイク現象への対応が可能になる。この場合、閾値倍率が大きいため、小さな変動に対して過敏に反応することはなく、頻繁に資源の再割り当てが行われる不安定な状態になることはない。  
また、閾値方式で、「回数」＝大、「閾値倍率」＝１（最小値）を指定すると、緩やかな負荷の増減には、緩やかな並列度の増減をするように設定することが可能である。
【００３８】
上記（１）式に従って閾値だけで並列度を決定していると、閾値境界付近で負荷値（コネクション数）が増減すると、並列度が敏感に反応してしまい、サービスの起動・停止を繰返すという望ましくない状態になる。そこで本実施形態では、適用並列度算出式テーブル１１２-iのエントリ中に「緩衝幅」という設定項目を用意し、閾値と緩衝幅とを利用して並列度の算出、つまり並列度の制御を行うようにしている。この緩衝幅を利用した並列度の制御の例を図７に示す。図７において、緩衝幅ＢＷは、閾値ＴＨの上側の閾値境界ＴＨＢを基準に負荷値が小さい方向に設定される。ここでは、閾値境界ＴＨＢを超えて負荷値が増加する場合、例えば時刻ｔ１では、並列度を増加させる。これに対し、負荷値が閾値境界ＴＨＢ以下に減少しても緩衝幅ＢＷを超えた減少でない場合、例えば時刻ｔ２から時刻ｔ３までの間、時刻ｔ４から時刻ｔ５までの間、及び時刻ｔ６から時刻ｔ７までの間では、並列度を減少させない。このため、時刻ｔ３、時刻ｔ５で負荷値が閾値境界ＴＨＢを超えても、並列度は変更されない。このように、閾値と緩衝幅とを利用して並列度を制御することで、閾値境界付近で負荷値の変動が起きても緩衝幅の範囲内の変動に対しては敏感に反応しないようにすることができる。図７の例では、負荷値が閾値境界ＴＨＢから緩衝幅ＢＷを超えて減少する時刻ｔ７で、並列度が減少される。
【００３９】
また本実施形態において最適並列度解析機構２３２-iは、システム起動直後は、次のように動作する。  
・システム起動直後は、通常値を並列度とする。  
・システム起動直後、並列度算出式テーブル１１２-iの各エントリに設定されているユーザ指定の回数分の時間がそれぞれ経過するまでは、当該エントリの情報によって定義されている並列度算出式によって算出される並列度は採用せず、前回採用された並列度を用いる。その理由は、平均方式では、ユーザ指定の回数分の時間が経過するまでは、有効な移動平均値を算出できず、閾値方式では、ユーザ指定の回数分の時間が経過するまでは、有効な閾値判定ができないことによる。
【００４０】
・システム起動時の不安定な状態の影響を排除するため、平均方式及び閾値方式でのユーザ指定の回数とは別に、上記並列度度算出式毎に初期変動の抑制回数を指定可能とする。この抑制回数分の時間が経過するまでは、対応する並列度算出式で算出される並列度は採用せず、前回採用された並列度を用いる。
【００４１】
さて、最適並列度解析機構２３２-iは、上記ステップＳ１により、並列度算出式テーブル１１２-iで指定されている複数の並列度算出式（並列度算出手法）に従って、並列度算出式毎に並列度を算出すると、ステップＳ２に進む。ステップＳ２において、最適並列度解析機構２３２-i（内の有効並列度判定機構）は、並列実行型サービスＰＳＶＣ１の現在の並列度を有効並列度として設定する。次に最適並列度解析機構２３２-iは、複数の並列度算出式に従ってそれぞれ算出された並列度の中から、先頭の並列度を取り出す（ステップＳ３）。
【００４２】
最適並列度解析機構２３２-iは、取り出された並列度が、有効並列度に比べて最適であるかを判定する（ステップＳ４）。この判定には、ユーザにより指定された有効並列度判定式が用いられる。有効並列度判定式は、上記第１の実施形態で適用された有効資源数判定式に相当する。ステップＳ４での判定に用いられる有効並列度判定式は、図示せぬ有効並列度判定式テーブル（図１中の有効資源数判定式テーブル１２０に相当）に保持されている複数の有効並列度判定式の中から、ユーザの指定に応じて、最適並列度解析機構２３２-i内の有効並列度判定式選択機構によって選択される。
【００４３】
本実施形態において、ユーザが指定可能な判定式で定義される有効並列度の判定（決定）手法は次の通りである。  
・最大の並列度
・前回並列度との差が最小の並列度
・通常値との差が最小の並列度
・並列度算出式テーブル１１２-iの先頭エントリで指定された方式で算出された並列度
・並列度算出式テーブル１１２-iの最終エントリで指定された方式で算出された並列度
ここで、通常値とは、初期状態、或いは定常状態で望ましいとされている並列度である。
【００４４】
本実施形態では、並列度の増加時と減少時とで異なる並列度判定式が適用されるように指定することが可能である。更に、時間帯によって異なる並列度判定式が適用されるように指定することも可能である。
【００４５】
最適並列度解析機構２３２-iは、ステップＳ４での判定の結果、取り出された並列度の方が現在の有効並列度よりも最適である場合、当該取り出された並列度を、現在の有効並列度に代えて新たに有効並列度として設定する（ステップＳ５）。最適並列度解析機構２３２-iはステップＳ５を実行するとステップＳ６に進む。これに対し、ステップＳ４での判定の結果、取り出された並列度よりも現在の有効並列度の方が最適である場合には、最適並列度解析機構２３２-iはステップＳ５をスキップしてステップＳ６に進む。
【００４６】
ステップＳ６において、最適並列度解析機構２３２-iは、複数の並列度算出式に従ってそれぞれ算出された並列度のうちの最後の並列度まで処理したか否かを判定する。もし、未処理の並列度が残されているならば、最適並列度解析機構２３２-iは次の並列度を取り出して（ステップＳ７）、ステップＳ４の判定を行う。これに対し、最後の並列度まで処理し終えたならば、最適並列度解析機構２３２-iは、その時点における有効並列度が、真の有効並列度として決定されたとして、有効並列度の決定処理を終了する。この場合、最適並列度解析機構２３２-iは、決定された有効並列度をクラスタ制御機構２２に渡して並列度調整を要求する。このとき、最適並列度解析機構２３２-iからクラスタ制御機構２２には、有効並列度の他に、並列度算出式テーブル１１２-iに保持されている各エントリの情報のうち、当該有効並列度を算出するのに用いられた情報に含まれている「アッパ処置」及び「アンダ処置」の設定項目の設定内容も渡される。
【００４７】
クラスタ制御機構２２は最適並列度解析機構２３２-iから並列度調整が要求されると、当該クラスタ制御機構２２内の並列度調整機構２２２を起動する。これにより並列度調整機構２２２は、最適並列度解析機構２３２-iにより決定された有効並列度と、当該有効並列度と共に最適並列度解析機構２３２-iから渡される「アッパ処置」または「アンダ処置」（つまり当該有効並列度に対応する「アッパ処置」または「アンダ処置」）の設定内容をもとに、並列実行型サービスＰＳＶＣｉの並列度を調整する処理を行う。この並列度の調整の仕組みについて以下に説明する。
【００４８】
まず、最適並列度解析機構２３２-iにより決定された並列実行型サービスＰＳＶＣｉの有効並列度が現在の並列度と異なる場合は、次の処理のいずれか１つを行う。  
・並列実行型サービスＰＳＶＣｉの並列度を有効並列度にセットする。  
・並列実行型サービスＰＳＶＣｉの並列度を1つ増加または減少させる。  
・並列実行型サービスＰＳＶＣｉの並列度を通常値に戻す。  
・ユーザに通知する。
【００４９】
いずれの処理を実行するかは、有効並列度と共に最適並列度解析機構２３２-iから渡される「アッパ処置」または「アンダ処置」の設定内容によって決定される。「アッパ処置」は有効並列度が現在の並列度より大きい場合の処理を指定し、「アンダ処置」は有効並列度が現在の並列度より小さい場合の処理を指定する。
【００５０】
例えば「アッパ処置」で「１つ増加」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスＰＳＶＣｉの並列度が１つ増加される。同様に、「アンダ処置」で「１つ減少」が指定されている場合、有効並列度が現在の並列度より小さいならば、並列実行型サービスＰＳＶＣｉの並列度が１つ減少される。これにより、負荷変動に鈍感に反応させることができる。
【００５１】
また、「アッパ処置」で「並列度セット」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスＰＳＶＣｉの並列度が当該有効並列度にセットされる。同様に、「アンダ処置」で「並列度セット」が指定されている場合、有効並列度が現在の並列度より小さいならば、並列実行型サービスＰＳＶＣｉの並列度が当該有効並列度にセットされる。これにより、負荷変動に俊敏に反応させることができる。
【００５２】
また、「アッパ処置」または「アンダ処置」で「通常値セット」が指定されている場合、並列実行型サービスＰＳＶＣｉの並列度が、有効並列度と現在の並列度とに無関係に通常値にセットされる。
【００５３】
また、「アッパ処置」で「ユーザ通知」が指定されている場合、有効並列度が現在の並列度より大きいならば、並列実行型サービスＰＳＶＣｉを管理しているユーザに対し、当該ユーザのクライアント端末を介して当該サービスＰＳＶＣｉの負荷が指定の上限値まで増加した旨が通知される。「ユーザ通知」が指定される並列度算出式テーブル１１２-iのエントリ中の「解析タイプ」、「回数」、「閾値倍率」には、図４の例のように、それぞれ「平均方式」、「（他のエントリよりも）大きい回数」、「（他のエントリよりも）大きい閾値倍率」を設定すると良い。このようにすると、例えば１年といった長期間の経過で並列度が増加し、したがって計算機の増設が必要なことをユーザに通知できる。
【００５４】
さて本実施形態では並列度調整機構２２２による並列度の調整に複数の制約条件が適用される。この制約条件は、図示せぬ制約条件テーブル（図１中の制約条件テーブル１４０に相当）に保持されている。この制約条件は、並列実行型サービス毎に設定される並列度の最大値、最小値及び通常値を含む。並列度の最大値は、並列度の上限を示し、どのような方法でも当該最大値を超える並列度になることはない。並列度の最小値は、並列度の下限を示し、通常運転時に当該最小値を下回る並列度になることはないが、緊急時にはユーザ指示で０までの並列度にすることが可能な値である。並列度の最大値及び最小値を設定することで、負荷の異常な変動で、並列度が際限なく増加または減少してしまい他のサービス実行の阻害要因になることを防ぐことができる。通常値は、システムの初期状態、或いは定常状態での並列度を表す。この通常値を用いることで、並列度調整機構２２２での並列度の調整に次のような特徴を持たせることが可能になる。
【００５５】
・通常値を基準に処理を切り替える。  
・有効並列度が現在の並列度より増加していて且つ通常値を超えている場合
並列実行型サービスＰＳＶＣｉの並列度を有効並列度に速やかに調整する。  
・有効並列度が現在の並列度より減少していて且つ通常値を下回っている場合
この状態となってから一定時間経過するまでは並列度の調整を行わない。
【００５６】
・並列実行型サービスＰＳＶＣｉの並列度を通常値に戻す時間帯を設定
・この時間帯は、有効並列度が通常値を下回っていても通常値にする。  
・但し、他のサービスでスパイクが発生している場合には、必要な並列度まで下げる。必要な並列度は、有効並列度の算出に用いられた算出式を定義した情報（並列度算出式テーブル１１２-iのエントリ情報）に含まれている処置内容、つまり有効並列度の算出に対応した処置内容（更には当該有効並列度）によって決定される。  
・スパイク状態が解消されると、通常値に戻す。
【００５７】
並列度調整機構２２２において、上述した通常値を基準とする並列度の調整処理を行うことで、並列実行型サービスＰＳＶＣｉの負荷が変動して通常値を下回る有効並列度となった場合に、その並列度低下に応じて直ちに並列度が調整されるのを抑止する一方、通常値を超える並列度の増減には敏感に反応することが可能になる。
【００５８】
以下、並列度調整機構２２２による並列度の調整処理の手順について、図８のフローチャートを参照して説明する。  
まず並列度調整機構２２２は、現時点が並列実行型サービスＰＳＶＣｉの並列度を通常値に戻す時間帯（以下、通常値対応時間帯と称する）に属しているか否かを判定する（ステップＳ１１）。もし、現時点が通常値対応時間帯でないならば、並列度調整機構２２２は最適並列度解析機構２３２-iによって決定された有効並列度が通常値より小さいか否かを判定する（ステップＳ１２）。
【００５９】
もし、有効並列度が通常値より小さくないならば、並列度調整機構２２２は、有効並列度の算出に対応した「アッパ処置」により「通常値セット」（通常値セット処理）が指定されているか否かを判定する（ステップＳ１３）。もし、「通常値セット」が指定されていないならば、並列度調整機構２２２は、上記「アッパ処置」により「並列度セット」（並列度セット処理）が指定されているか否かを判定する（ステップＳ１４）。
【００６０】
もし、「並列度セット」が指定されているならば、並列度調整機構２２２は並列実行型サービスＰＳＶＣｉの並列度を有効並列度にセットする（ステップＳ１５）。これに対して、「並列度セット」が指定されていないならば、並列度調整機構２２２は上記「アッパ処置」により「１つ増加」が指定されているか否かを判定する（ステップＳ１６）。もし、「１つ増加」が指定されているならば、並列度調整機構２２２は並列実行型サービスＰＳＶＣｉの並列度を現在の値より１つ増やす（ステップＳ１７）。これに対して、１つ増加」が指定されていないならば、並列度調整機構２２２は「ユーザ通知」が指定されているものとして、上述のユーザ通知を実行する（ステップＳ１８）。
【００６１】
一方、上記ステップＳ１２で、有効並列度が通常値より小さいと判定されたならば、並列度調整機構２２２は前回の並列度変更時点から一定時間経過しているかを判定する（ステップＳ１９）。もし、一定時間経過していないならば、並列度調整機構２２２は並列実行型サービスＰＳＶＣｉの負荷は安定していないものとして、並列実行型サービスＰＳＶＣｉの並列度として、まず通常値をセットする（ステップＳ２０）。これに対し、一定時間経過しているならば、並列度調整機構２２２は、有効並列度が通常値より小さくない場合と同様に、上記ステップＳ１３に進む。このステップＳ１３で「通常値セット」が指定されていると判定された場合、後述するステップＳ２３が実行されて、並列実行型サービスＰＳＶＣｉの並列度として通常値がセットされる。また、「通常値セット」も「並列度セット」も指定されていない場合には、ステップＳ１３，Ｓ１４を経てステップＳ１６に進み、上記「アンダ処置」により「１つ減少」が指定されているか否かが判定される。もし、「１つ減少」が指定されているならば、並列実行型サービスＰＳＶＣｉの並列度が現在の値より１つ減らされる（ステップＳ１７）。
【００６２】
一方、上記ステップＳ１１で現時点が通常値対応時間帯であると判定されたならば、並列度調整機構２２２は有効並列度が現在の並列度より小さいか否かを判定する（ステップＳ２１）。もし、有効並列度が現在の並列度より小さくないならば、並列度調整機構２２２は上記ステップＳ１３に進む。これに対して、有効並列度が現在の並列度より小さいならば、並列度調整機構２２２は、現時点において他の並列実行型サービスがスパイク状態にないかを判定する（ステップＳ２２）。もし、他の並列実行型サービスがスパイク状態にあるならば、並列度調整機構２２２は、その状態に対応するために上記ステップＳ１３に進む。これに対して、他の並列実行型サービスがスパイク状態にないならば、並列度調整機構２２２は通常値対応時間帯に適合した処理、即ち、たとえ有効並列度が通常値より小さくても、並列実行型サービスＰＳＶＣｉの並列度として通常値をセットする処理を実行する（ステップＳ２３）。
【００６３】
クラスタ制御機構２２は、並列度調整機構２２２によって並列度が変更されると、サービス実行制御機構２２１を使用して並列実行型サービス実行機構２３-iを制御することにより、計算機２０-1〜２０-4のうちのいずれかの計算機で並列実行型サービスＰＳＶＣｉを稼働状態または待機状態にする。
【００６４】
なお、並列実行型サービスＰＳＶＣｉの負荷変動のパターンが予め予測される場合に、並列度を増減させる時刻と、その際に設定される並列度とを指定可能とし、指定された時刻が到来すると、並列実行型サービスＰＳＶＣｉの並列度を指定された並列度に変更する構成とすることも可能である。この場合、予測される（パターン化された）負荷変動への対応が可能になる。
【００６５】
並列度の変更には、資源の再割り当てとサービスの起動、停止が伴うため、処理コストが高くなる。このため、図８のフローチャートに示す手順により、並列度の調整に関し、通常値以下の並列度変動に対して反応しにくくしたり、パターン化された負荷変動への対応を計画することにより、資源の再割り当てとサービスの起動、停止を伴う処理の実行を抑制することが可能になる。
【００６６】
［第３の実施形態］
図９は、本発明の第３の実施形態に係る計算機システムの構成を示すブロック図である。図９の計算機システムは、１台の計算機４０を備えている。計算機４０上では、複数のサービス、例えば２つのサービス５１-1（ＳＶＣ１），５１-2（ＳＶＣ２）を実行することが可能である。サービス５１-1，５１-2はＯＳ（オペレーティングシステム）またはアプリケーション（例えばユーザが作成したアプリケーション）である。
【００６７】
計算機４０は、ＣＰＵ、メモリ及び入出力装置の各資源をそれぞれ複数備えている。図９の例では、計算機４０は、ＣＰＵ４１-1〜４１-8と、メモリ４２-1〜４２-6と、入出力装置（Ｉ／Ｏ）４３-1〜４３-6とを備えている。
【００６８】
サービス５１-1，５１-2は、後述する割り当て資源数調整機構５４によって決定される複数の資源が割り当てられることにより、処理を実行する。
【００６９】
計算機４０上では、サービス５１-1，５１-2毎に、負荷測定機構５２-1，５２-2及び最適資源数解析機構５３-1，５３-2が動作する。負荷測定機構５２-1，５２-2は、図２中の負荷測定機構２３１-1，２３１-2に相当する。最適資源数解析機構５３-1，５３-2は、図１中の最適資源数解析機構１０及び図２中の最適並列度解析機構２３２-1，２３２-2に相当する。計算機４０上ではまた、割り当て資源数調整機構５４が動作する。割り当て資源数調整機構５４は、図１中の割り当て資源数調整機構１４及び図２中の並列度調整機構２２２に相当する。
【００７０】
負荷測定機構５２-1，５２-2は、サービス５１-1，５１-2の負荷を、当該サービス５１-1，５１-2が必要とするＣＰＵ、メモリ及びＩ／Ｏの負荷として測定する。ここでは、ＣＰＵであれば負荷として使用率が測定され、メモリであれば負荷としてメモリ使用量が測定される
最適資源数解析機構５３-1，５３-2は、負荷測定機構５２-1，５２-2によって測定されたサービス５１-1，５１-2の負荷（サービス５１-1，５１-2が必要とするＣＰＵ、メモリ及びＩ／Ｏの負荷）から、サービス５１-1，５１-2毎に用意されている図示せぬ資源数算出式テーブル（図１中の資源数算出式テーブル１１０及び図４の並列度算出式テーブル１１２-1，１１２-2に相当）に保持されている複数の資源数算出式に従って、資源数算出式毎に、サービス５１-1，５１-2の実行に必要な資源数（ＣＰＵ、メモリ及びＩ／Ｏの数）を算出する。最適資源数解析機構５３-1，５３-2は、資源数算出式毎に算出された資源種類別の資源数（ＣＰＵ、メモリ及びＩ／Ｏの数）から、資源種類別の唯一の有効な資源数を判定する。この判定には、図示せぬ有効資源数判定式テーブル（図１中の有効資源数判定式テーブル１２０に相当）に保持されている複数の有効資源数判定式の中からユーザの指定に応じて選択された判定式が用いられる。
【００７１】
最適資源数解析機構５３-1，５３-2は、サービス５１-1，５１-2の実行に必要な資源種類別の有効な資源数を判定すると、その有効な資源数の資源のサービス５１-1，５１-2への割り当てを割り当て資源数調整機構５４に要求する。割り当て資源数調整機構５４は、この要求を受けて、図示せぬ制約条件テーブル（図１中の制約条件テーブル１４０に相当）に保持されている制約条件に従って、サービス５１-1，５１-2に割り当てるべき資源種類別の資源数、つまりＣＰＵ、メモリ及びＩ／Ｏの数を決定する。この決定の結果、サービス５１-1，５１-2に割り当てるべき、ＣＰＵ、メモリまたはＩ／Ｏの数が不足する場合、割り当て資源数調整機構５４はサービス５１-1，５１-2に割り当てる資源種類別の資源数を、例えば当該サービス５１-1，５１-2の優先度に従って調停する。この調停の結果、サービス５１-1，５１-2のうちの例えばサービス５１-2への必要な資源の割り当てが保留されたものとする。この場合、保留されたサービス５１-2は、必要な資源が割り当てられるまで過負荷状態のまま動作することになる。
【００７２】
このように、第３の実施形態によれば、クラスタシステム以外の計算機システムでも、当該システムで実行される複数のサービスの負荷を利用して、各サービスへの資源の再割り当てを行うことができる。したがって、第３の実施形態においても、負荷の変動に対して過敏に反応して資源の再割り当てが頻繁に発生するのを防止しながら、急激な負荷変動が起きるスパイク現象に対して速やかに対応できる。
【００７３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００７４】
【図１】本発明の第１の実施形態に係る計算機システムの資源割り当て機構の基本構成を示すブロック図。
【図２】本発明の第２の実施形態に係るクラスタシステムの構成を示すブロック図。
【図３】並列度算出基本条件テーブル１１１-1，１１１-2のデータ構造例を示す図。
【図４】並列度算出式テーブル１１２-1，１１２-2のデータ構造例を示す図。
【図５】図２中の最適並列度解析機構２３２-i（ｉ＝１，２）による有効並列度の決定処理の手順を示すフローチャート。
【図６】並列実行型サービスＰＳＶＣｉの負荷値の時間変化に対する並列度の変化の一例を、閾値と対応させて示す図。
【図７】緩衝幅を利用した並列度の制御の例を示す図。
【図８】図２中の並列度調整機構２２２による並列度の調整処理の手順を示すフローチャート。
【図９】本発明の第３の実施形態に係る計算機システムの構成を示すブロック図。
【符号の説明】
【００７５】
１０，５３-1，５３-2…最適資源数解析機構、１１…必要資源数算出機構、１２…有効資源数判定式選択機構、１３…有効資源数判定機構、１４，５４…割り当て資源数調整機構、２０-1〜２０-4，４０…計算機、２２…クラスタ制御機構、２３-1，２３-2…並列実行型サービス実行機構、５２-1，５２-2，２３１-1，２３１-2…負荷測定機構、１１０…資源数算出式テーブル、１１１-1，１１１-2…並列度算出基本条件テーブル、１１２-1，１１２-2…並列度算出式テーブル、１２０…有効資源数判定式テーブル、１４０…制約条件テーブル、２２１…サービス実行制御機構、２２２…並列度調整機構、２３２-1，２３２-2…最適並列度解析機構。
【図１】
2005173928.tif 000003
【図２】
2005173928.tif 000004
【図３】
2005173928.tif 000005
【図４】
2005173928.tif 000006
【図５】
2005173928.tif 000007
【図６】
2005173928.tif 000008
【図７】
2005173928.tif 000009
【図８】
2005173928.tif 000010
【図９】
2005173928.tif 000011