説明

クラスタシステム

【課題】相互スタンバイ型クラスタシステムの正常稼働時の消費電力を削減する有効な方法が存在しないこと。
【解決手段】複数の情報処理装置がネットワークを介して接続され、複数の情報処理装置の何れかに障害が発生したときに、障害の発生した情報処理装置で実行されていた処理を他の情報処理装置で引き継いで実行する相互スタンバイ型のクラスタシステムにおいて、複数の情報処理装置は、電力上限値を記憶する上限値記憶手段114と、上限値記憶手段114に記憶された電力上限値を超えないように自情報処理装置の使用電力を制御する電力制御手段115と、他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を上限値記憶手段114に記憶する上限値設定手段116とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はクラスタシステムに関し、特に消費電力を削減する技術に関する。
【背景技術】
【0002】
クラスタシステムは、複数の情報処理装置(例えばサーバコンピュータ)がネットワークを介して接続され、何れかの情報処理装置に障害が発生したときに、その情報処理装置で実行されていた処理を他の情報処理装置で引き継いで実行することにより、高い可用性を実現している。しかし、クラスタシステムは冗長構成を有するが故に、非クラスタシステムと比較して消費電力が増加する傾向がある。そのためにクラスタシステムの消費電力、特に障害の発生していない冗長構成時、すなわち正常稼働時の消費電力を削減する技術が重要である。
【0003】
クラスタシステムの正常稼働時の消費電力を削減する技術の一例が特許文献1に記載されている。特許文献1に記載される技術では、複数の情報処理装置から構成されるクラスタシステムにおいて、アイドル状態の情報処理装置を動作停止状態とすることにより、正常稼働時の消費電力を削減する。より詳細には、処理すべきジョブが無い情報処理装置は、サスペンド状態に移行させておく。そして、アプリケーションが到来し、処理すべきジョブがその情報処理装置に割り当てられるときに、当該情報処理装置をリジュームして、ジョブの処理を行うようにする。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−162515号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、クラスタシステムの一種に相互スタンバイ型がある。相互スタンバイ型のクラスタシステムでは、それぞれの情報処理装置を実行系として稼働させながら、お互いの待機系とするものである。従って、相互スタンバイ型のクラスタシステムでは、正常稼働時にアイドル状態となる情報処理装置はない。このため、上述した特許文献1に記載の技術は適用できず、他の何らかの方法で正常稼働時の消費電力を削減する必要がある。しかし、そのための有効な技術は未だ提案されていないのが現状である。
【0006】
本発明の目的は、上述した課題、すなわち、相互スタンバイ型クラスタシステムの正常稼働時の消費電力を削減することは困難である、という課題を解決することにある。
【課題を解決するための手段】
【0007】
本発明の一形態にかかるクラスタシステムは、
複数の情報処理装置がネットワークを介して接続され、前記複数の情報処理装置の何れかに障害が発生したときに、前記障害の発生した情報処理装置で実行されていた処理を他の情報処理装置で引き継いで実行する相互スタンバイ型のクラスタシステムにおいて、
前記複数の情報処理装置は、
電力上限値を記憶する上限値記憶手段と、
前記上限値記憶手段に記憶された電力上限値を超えないように自情報処理装置の使用電力を制御する電力制御手段と、
他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を前記上限値記憶手段に記憶する上限値設定手段と
を備える、といった構成を採る。
【発明の効果】
【0008】
本発明は上述したような構成を有するため、相互スタンバイ型クラスタシステムの正常稼働時の消費電力を削減することが可能になる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1の実施形態のブロック図である。
【図2】本発明の第2の実施形態のブロック図である。
【図3】本発明の第2の実施形態における通常運転時の各サーバノードの想定負荷と電力上限とを示す図である。
【図4】本発明の第2の実施形態における障害発生時のサーバノードの想定負荷と電力上限とを示す図である。
【図5】本発明の第2の実施形態における各サーバノードの制御ソフトの処理例を示すフローチャートである。
【図6】本発明の第2の実施形態における障害発生時の処理例を示すフローチャートである。
【発明を実施するための形態】
【0010】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかるクラスタシステム100は、2台の情報処理装置110、120と、それらを相互に通信可能に接続するLAN等のネットワーク130とから構成される。
【0011】
情報処理装置110と情報処理装置120とは、相手の情報処理装置に障害が発生したときに、その情報処理装置で実行されていた業務処理を引き継いで実行するフェールオーバ機能を有している。本実施形態の場合、情報処理装置110には、業務Aの実行系111と業務Bの待機系112と制御部113とがあり、情報処理装置120には、業務Aの待機系121と業務Bの実行系122と制御部123とがある。
【0012】
情報処理装置110の制御部113は、クラスタシステム100の正常時には、業務Aにかかる処理を実行系111で実行させ、業務Bにかかる処理を行う待機系112は停止させている。他方、情報処理装置120の制御部123は、クラスタシステム100の正常時には、業務Bにかかる処理を実行系122で実行させ、業務Aにかかる処理を行う待機系121は停止させている。制御部113と制御部123とは、例えばネットワーク130を通じて互いのハートビート信号を監視することにより、相手装置の障害の有無を監視する。そして、若し情報処理装置110に障害が発生すると、情報処理装置120の制御部123は、業務Aの待機系121を実行系に切替え、業務Aの処理を情報処理装置120で実行する。また、若し情報処理装置120に障害が発生すると、情報処理装置110の制御部113は、業務Bの待機系112を実行系に切替え、業務Bの処理を情報処理装置110で実行する。
【0013】
そして本実施形態は、正常稼働時の消費電力を削減するために、制御部113は、上限値記憶手段114、電力制御手段115、および上限値設定手段116を有し、制御部123は、上限値記憶手段124、電力制御手段125、および上限値設定手段126を有している。
【0014】
情報処理装置110の上限値記憶手段114は、情報処理装置110の消費電力の上限値を記憶する機能を有する。
【0015】
電力制御手段115は、上限値記憶手段114に記憶された電力上限値を超えないように情報処理装置110の消費電力を制御する機能を有する。情報処理装置の消費電力が或る値を超えないようにする方法は任意である。例えば、情報処理装置110が、複数の動作周波数のうち選択された動作周波数で動作するプロセッサを有する場合、電力制御手段115は、そのプロセッサの動作周波数を切替えることにより、情報処理装置110の消費電力が或る値を超えないように制御してよい。一般に、プロセッサの動作周波数を低くすると、演算速度等の処理性能は低下するが、消費電力は少なくなる。
【0016】
上限値設定手段116は、情報処理装置110が情報処理装置120の処理を引き継ぐ必要のないときは、情報処理装置110の最大消費電力より小さな電力上限値を上限値記憶手段114に記憶する機能を有する。これにより、情報処理装置110は最大性能より低い性能しか発揮できないようなる。どの程度の性能しか発揮できない電力上限値とするかは、システム設計時点の性能見積もりにおいて決定しておいても良いし、実際の稼働中にスループット等の性能評価値を電力上限値を切替えながら測定して動的に決定するようにしてもよい。
【0017】
また上限値設定手段116は、情報処理装置120の業務Bの引き継ぎが必要となったときに上限値記憶手段114に記憶されている電力上限値を引き上げる機能を有する。この電力上限値の引き上げは、より値の大きな電力上限値を上限値設定手段114に記憶させることで行ってもよいし、電力上限の設定自体を解除、すなわち電力制御手段115の機能を無効化することにより行ってもよい。
【0018】
さらに上限値設定手段116は、情報処理装置120が正常状態に復帰する等により、業務Bの引き継ぎ必要なくなったときに、上限値記憶手段114に記憶されている電力上限値を引き上げ前の値に戻す機能を有する。
【0019】
情報処理装置120の上限値記憶手段124、電力制御手段125、および上限値設定手段126は、情報処理装置110の上限値記憶手段114、電力制御手段115、および上限値設定手段116と同様の機能を有する。
【0020】
次に本実施形態の動作を説明する。
【0021】
クラスタシステム100が正常に稼働している場合、情報処理装置110で業務Aにかかる処理が実行され、情報処理装置120で業務Bにかかる処理が実行されている。その際、上限値記憶手段114、124には情報処理装置110、120の最大消費電力より小さな電力上限値が設定されているため、情報処理装置110、120は低い処理性能で動作している。正常稼働時は、情報処理装置110は業務Bを実行する必要がなく、情報処理装置120は業務Aを実行する必要がないので、低い性能でも業務A、業務Bの処理には支障はない。
【0022】
他方、何れかの情報処理装置、例えば情報処理装置120に障害が発生し、情報処理装置110で情報処理装置120で実行されていた業務Bの引き継ぎが必要になると、情報処理装置110の上限値設定手段116は、情報処理装置110の処理性能を高めるために上限値記憶手段114に記憶されている電力上限値を引き上げる。これにより、情報処理装置120は業務Aの処理に加えて業務Bの処理も支障なく実行することが可能になる。
【0023】
その後、情報処理装置120が正常状態に復帰すると、情報処理装置110で実行されていた業務Bが再び元の情報処理装置120で実行されるようになる。このとき情報処理装置110の上限値設定手段116は、上限値記憶手段116に記憶されている電力上限値を引き上げ前の値に戻す。これにより、再び情報処理装置110は、低い性能で動作する状態に戻る。
【0024】
このように本実施形態によれば、相互スタンバイ型クラスタシステムの正常稼働時の消費電力を削減することが可能になる。その理由は、電力上限値を設定しないと、処理の負荷が一時的に高まった際に情報処理装置はその処理を早期に完了するために最速で処理を行うことになる。しかし、タスクを実行する場合、デッドライン前に終了してアイドル状態になるよりも、タスクをゆっくり実行しデッドラインと同時に終了する方が、エネルギー効率に優れる場合もある。従って、電力上限値を設定し、或る速度以上に早く処理することができない状態にした方がエネルギー効率が良くなって無駄な電力を削減可能な場合がある。またそれ以外の場合であっても、双方の情報処理装置110、120が共に最速で処理するとなると、これらの情報処理装置110、120に電力を供給する電源設備としては、それぞれの情報処理装置の最大電力を合計した電力を供給できる能力を持たせる必要があり、必要な電力ファシリティの規模が大きくなる。これに対して、電力上限値を設定すれば、情報処理装置110、120の合計の最大電力を抑えることが可能になり、電源設備コストを抑えることができる。
【0025】
また本実施形態によれば、他の情報処理装置の処理の引き継ぎが必要となったときに電力上限値を引き上げるため、他の情報処理装置の処理を支障なく引き継いで実行することが可能である。
【0026】
[第2の実施形態]
[概要]
本実施形態は、相互スタンバイ型可用性向上型クラスタシステムにおいて正常状態では不要な待機リソースの電力を明示的に削減し、障害発生時などの非常時には必要なリソースを利用可能にする制御を行うことで、使用電力の最適化をはかる。そのために本実施形態は、システム設計時点で明らかにする冗長部分の定義情報をもとにシステムの稼動状態を制御することで、冗長構成のシステムの消費電力を明示的に削減する。
【0027】
[構成の説明]
図2を参照して、本実施形態の構成を説明する。本実施形態にかかる可用性向上型クラスタシステム200は、ネットワーク230により相互に接続された複数のサーバノード210、220から構成される。サーバノード210は、プロセッサ211と、このプロセッサ211上で稼働するクラスタソフト212、制御ソフト213、およびアプリケーションAのプログラム214とを有する。サーバノード220は、プロセッサ221と、このプロセッサ221上で稼働するクラスタソフト222、制御ソフト223、およびアプリケーションBのプログラム224とを有する。本実施形態では、2台のサーバノードで1つのクラスタグループを構成しているが、3台以上のサーバノードで1つのクラスタグループが構成されていてもよい。
【0028】
クラスタソフト212、222は、各サーバノード210、220をクラスタシステムの一員として制御するためのミドルウェアソフトである。クラスタソフト211、221は、自サーバと同じクラスタグループに属するサーバ上で稼動するクラスタソフトと通信を行うなどのあらかじめ定められた手法を用いて、自サーバノード以外の稼動状態を監視する機能を有する。
【0029】
本実施形態は、このような既存のクラスタソフト212、222に加えて制御ソフト213、223を各サーバノードに有している。制御ソフト213、223は、自サーバノードで動作するクラスタソフト212、222と通信し、稼動状態の確認、稼動状態の変更の通知を受け取ることができる。
【0030】
また本実施形態のサーバノード210、220は、あらかじめ定められた方法によって、自サーバノードの最大消費電力の上限を設定しその上限に抑える機能と設定中の最大消費電力の上限を調査する機能とを有している。そして、制御ソフト213、223は、この機能に対し上限電力の設定および解除を行う機能を有する。また、制御ソフト213、223は、正常稼動時の最大消費電力の上限を記憶しており、この値をもとに自サーバノードへの消費電力上限の指示を行う。
【0031】
次に本実施形態の動作を説明する。
【0032】
一般的に相互スタンバイ型の可用性向上型クラスタシステムにおいては、システム設計時点において性能見積もりの上、障害発生時に処理を引き継いでもその負荷に耐えられるよう通常時は余裕のある構成でシステム構築がなされる。このシステム設計時点での性能見積もりにおいて、例えば図3の例では、サーバノード210、220は、それぞれa%、b%のサーバ負荷であると性能見積もりされている。この場合の電力上限をそれぞれ電力A、電力Bとする。すなわち、サーバノード210がa%の負荷を支障なく遂行できる最低限の性能あるいはそれより若干高めの性能しか発揮できないような電力上限が電力Aである。また、サーバノード220がb%の負荷を支障なく遂行できる最低限の性能あるいはそれより若干高めの性能しか発揮できないような電力上限が電力Bである。
【0033】
他方、障害が発生した場合には、図4に示すように、正常なサーバノードでアプリケーションAとアプリケーションBが稼動することになり、その場合の想定負荷はa+b+αであり、この合計負荷がサーバノードの最大性能(最大負荷)を超えないようシステム設計されている。ここでαは両方のアプリケーションが単一のサーバで同時に稼動する場合のオーバヘッドによる負荷の増分である。
【0034】
図5は制御ソフト213、223の処理例を示すフローチャートである。図5の処理は、システムの起動時とあらかじめ定められた時間間隔(たとえば10分に1回)ごとに繰り返し実行される。以下、制御ソフト213を例に動作を説明する。
【0035】
制御ソフト213は、自サーバノード210のクラスタソフト212に問い合わせを行い、クラスタシステムとして正常稼動中かどうかを問い合わせる(ステップS1)。ここでもし正常稼動していなければ(ステップS2でNO)、何もせずに図5に示す処理を終了する。正常稼動中であれば、続けて、サーバノード210の電力上限設定状態を調査する(ステップS3)。調査した結果、電力上限の設定値がAワットより小さい場合は(ステップS4でNO)、本実施形態に関連する制御以外の指示により電力上限が設定されているものとみなし、電力上限を変更(引き上げ)することなく、図5に示す処理を終了する。Aワットより電力上限の設定値が大きい場合は、電力上限の設定値としてAワットを設定し(ステップS5)、図5に示す処理を終了する。ステップS5は、典型的には、電力上限設定が解除されているような状態から戻った直後に実施される。
【0036】
図6は何らかの障害が発生した場合の本実施形態の処理例を示すフローチャートである。以下、図6を参照して、サーバノード220に障害が発生した際のサーバノード210の処理を説明する。サーバノード210のクラスタソフト212が、自ノードが処理を引き継ぐべき障害を検出すると(ステップS11)、同じサーバノード210上の制御ソフト213に対してクラスタ引継ぎを通知する(ステップS12)。制御ソフト213は、この通知を受けて自サーバノード210の電力上限値の設定を解除する(ステップS13)。その後、通常の系切替えが実施される。
【0037】
以上の制御を行うことで、相互スタンバイ型の可用性向上型クラスタシステムにおける正常稼動時の消費電力の削減が可能になる。その理由は、冗長構成で動作中に想定以上のリソースを稼動させないように消費電力の上限を設定しているためである。
【0038】
また、障害が発生したために待機系を稼動させる場合には、待機としてきたリソースの利用を許可し非常時に必要なリソースを利用可能とすることができる。その理由は、電力の上限を解除しているためである。
【0039】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明の情報処理装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態における制御部113、123等として機能させる。
【産業上の利用可能性】
【0040】
本発明は、相互スタンバイ型のクラスタシステムの正常状態時の消費電力の削減に利用することができる。また、通常時は、自情報処理装置固有の処理だけを実行し、他の情報処理装置の障害時や管理者からのコマンド投入時に、他の情報処理装置で実行されていた処理を代行する情報処理装置全般、例えば各種のサーバやストレージに利用することができる。
【符号の説明】
【0041】
100…クラスタシステム
110、120…情報処理装置
111…業務Aの実行系
112…業務Bの待機系
113、123…制御部
114、124…上限値記憶手段
115、125…電力制御手段
116、126…上限値設定手段
121…業務Aの待機系
122…業務Bの実行系
123…制御部
130…ネットワーク

【特許請求の範囲】
【請求項1】
複数の情報処理装置がネットワークを介して接続され、前記複数の情報処理装置の何れかに障害が発生したときに、前記障害の発生した情報処理装置で実行されていた処理を他の情報処理装置で引き継いで実行する相互スタンバイ型のクラスタシステムにおいて、
前記複数の情報処理装置は、
電力上限値を記憶する上限値記憶手段と、
前記上限値記憶手段に記憶された電力上限値を超えないように自情報処理装置の使用電力を制御する電力制御手段と、
他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を前記上限値記憶手段に記憶する上限値設定手段と
を備えることを特徴とするクラスタシステム。
【請求項2】
前記上限値設定手段は、他の情報処理装置の処理の引き継ぎが必要となったときに前記上限値記憶手段に記憶されている電力上限値を引き上げる
ことを特徴とする請求項1に記載のクラスタシステム。
【請求項3】
前記上限値設定手段は、前記電力上限値の引き上げは、電力上限の設定自体を解除することにより行う
ことを特徴とする請求項2に記載のクラスタシステム。
【請求項4】
前記上限値設定手段は、他の情報処理装置の処理の引き継ぎ必要なくなったときに前記上限値記憶手段に記憶されている電力上限値を引き上げ前の値に戻す
ことを特徴とする請求項1乃至3の何れかに記載のクラスタシステム。
【請求項5】
前記複数の情報処理装置は、
複数の動作周波数のうち選択された動作周波数で動作するプロセッサを含み、
前記電力制御手段は、前記プロセッサの動作周波数を切替えることにより、自情報処理装置の使用電力を制御する
ことを特徴とする請求項1乃至4の何れかに記載のクラスタシステム。
【請求項6】
複数の情報処理装置がネットワークを介して接続され、前記複数の情報処理装置の何れかに障害が発生したときに、前記障害の発生した情報処理装置で実行されていた処理を他の情報処理装置で引き継いで実行する相互スタンバイ型のクラスタシステムの制御方法において、
前記複数の情報処理装置は、他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を超えないように自情報処理装置の使用電力を制御する
ことを特徴とするクラスタシステムの制御方法。
【請求項7】
前記複数の情報処理装置は、他の情報処理装置の処理の引き継ぎが必要となったときに前記電力上限値を引き上げる
ことを特徴とする請求項6に記載のクラスタシステムの制御方法。
【請求項8】
前記複数の情報処理装置は、前記電力上限値の引き上げは、電力上限の設定自体を解除することにより行う
ことを特徴とする請求項7に記載のクラスタシステムの制御方法。
【請求項9】
前記複数の情報処理装置は、他の情報処理装置の処理の引き継ぎ必要なくなったときに前記電力上限値を引き上げ前の値に戻す
ことを特徴とする請求項6乃至8の何れかに記載のクラスタシステム。
【請求項10】
前記複数の情報処理装置は、
複数の動作周波数のうち選択された動作周波数で動作するプロセッサを含み、
前記複数の情報処理装置は、前記プロセッサの動作周波数を切替えることにより、自情報処理装置の使用電力を制御する
ことを特徴とする請求項6乃至9の何れかに記載のクラスタシステムの制御方法。
【請求項11】
他の情報処理装置とネットワークを介して接続され、前記他の情報処理装置に障害が発生したときに、前記他の情報処理装置で実行されていた処理を引き継いで実行する機能を有する情報処理装置において、
電力上限値を記憶する上限値記憶手段と、
前記上限値記憶手段に記憶された電力上限値を超えないように自情報処理装置の使用電力を制御する電力制御手段と、
前記他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を前記上限値記憶手段に記憶する上限値設定手段と
を備えることを特徴とする情報処理装置。
【請求項12】
前記上限値設定手段は、前記他の情報処理装置の処理の引き継ぎが必要となったときに前記上限値記憶手段に記憶されている電力上限値を引き上げる
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記上限値設定手段は、前記電力上限値の引き上げは、電力上限の設定自体を解除することにより行う
ことを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記上限値設定手段は、他の情報処理装置の処理の引き継ぎ必要なくなったときに前記上限値記憶手段に記憶されている電力上限値を引き上げ前の値に戻す
ことを特徴とする請求項11乃至13の何れかに記載の情報処理装置。
【請求項15】
複数の動作周波数のうち選択された動作周波数で動作するプロセッサを含み、
前記電力制御手段は、前記プロセッサの動作周波数を切替えることにより、自情報処理装置の使用電力を制御する
ことを特徴とする請求項11乃至14の何れかに記載の情報処理装置。
【請求項16】
他の情報処理装置とネットワークを介して接続され、前記他の情報処理装置に障害が発生したときに、前記他の情報処理装置で実行されていた処理を引き継いで実行する機能を有し、電力上限値を記憶する上限値記憶手段を有する情報処理装置を、
前記上限値記憶手段に記憶された電力上限値を超えないように自情報処理装置の使用電力を制御する電力制御手段と、
前記他の情報処理装置の処理を引き継ぐ必要のないときは、自情報処理装置の最大消費電力より小さな電力上限値を前記上限値記憶手段に記憶する上限値設定手段と
して機能させるためのプログラム。
【請求項17】
前記上限値設定手段は、前記他の情報処理装置の処理の引き継ぎが必要となったときに前記上限値記憶手段に記憶されている電力上限値を引き上げる
ことを特徴とする請求項16に記載のプログラム。
【請求項18】
前記上限値設定手段は、前記電力上限値の引き上げは、電力上限の設定自体を解除することにより行う
ことを特徴とする請求項17に記載のプログラム。
【請求項19】
前記上限値設定手段は、他の情報処理装置の処理の引き継ぎ必要なくなったときに前記上限値記憶手段に記憶されている電力上限値を引き上げ前の値に戻す
ことを特徴とする請求項16乃至18の何れかに記載のプログラム。
【請求項20】
前記情報処理装置は、複数の動作周波数のうち選択された動作周波数で動作するプロセッサを含み、
前記電力制御手段は、前記プロセッサの動作周波数を切替えることにより、自情報処理装置の使用電力を制御する
ことを特徴とする請求項16乃至19の何れかに記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate