(57)【要約】【課題】  単純にノード単位で省電力状態に遷移させるようにしても、省電力状態が長時間持続しない。【解決手段】  複数のノードと、前記ノード間で共有され前記いずれかのノードと接続する主記憶装置４１及び入出力装置４２を有するコンピュータシステム１０であって、主記憶装置４１とも入出力装置４２とも直接には接続しない特別ノード３０と、特別ノード３０以外のノードである通常ノード２０と、消費電力を低減した省電力状態に特別ノード３０を遷移させる電力制御機能４３を有する。【選択図】      図１
2010211358.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを搭載し互いに接続される複数のノードと、前記ノード間で共有され前記いずれかのノードと接続する主記憶装置及び入出力装置を有するコンピュータシステムであって、
前記主記憶装置および前記入出力装置のいずれとも接続しないノードである特別ノードと、前記特別ノード以外のノードである通常ノードと、消費電力を低減した省電力状態に前記特別ノードを遷移させる電力制御機能を有することを特徴とするコンピュータシステム。
【請求項２】
前記特別ノードに搭載される前記ＣＰＵを省電力状態に遷移させた後に、前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移していた場合に、前記特別ノードを省電力状態に遷移させることを特徴とする請求項１のコンピュータシステム。
【請求項３】
前記通常ノードに搭載されたＣＰＵの１つであるマスタＣＰＵ上で動作する制御ソフトウェアが、前記ＣＰＵと前記特別ノードの状態遷移を制御し、前記特別ノードに搭載されるＣＰＵが前記通常ノードに搭載されるＣＰＵより先行して省電力状態に遷移させるようにプロセスを割り当てることを特徴とする請求項２のコンピュータシステム。
【請求項４】
前記特別ノードに搭載される前記ＣＰＵを省電力状態から通常状態に復旧させる際に、前記特別ノードが省電力状態であった場合、前記特別ノードを省電力状態から通常状態に復旧させた後に前記ＣＰＵを省電力状態から通常状態に復旧させることを特徴とする請求項３のコンピュータシステム。
【請求項５】
前記特別ノードは前記電力制御機能を備え、前記通常ノードは前記電力制御機能を備えないことを特徴とする請求項１乃至４のいずれかのコンピュータシステム。
【請求項６】
前記通常ノードは、前記ＣＰＵと接続し前記主記憶装置のデータを一時的に記憶するキャッシュメモリと、前記主記憶装置との間のインターフェースを制御する主記憶制御部と、前記キャッシュメモリと前記主記憶制御部と他の前記ノードとの間の接続を切り換えるクロスバスイッチを有し、前記主記憶装置と前記入出力装置と接続し、
前記特別ノードは、前記ＣＰＵと接続し前記主記憶装置のデータを一時的に記憶するキャッシュメモリと、前記キャッシュメモリと他の前記ノードとの間の接続を切り換えるクロスバスイッチを有することを特徴とする請求項１乃至５のいずれかのコンピュータシステム。
【請求項７】
ＣＰＵを搭載し互いに接続される複数のノードと、前記ノード間で共有され前記いずれかのノードと接続する主記憶装置及び入出力装置を有するコンピュータシステムの制御方法であって、
前記主記憶装置および前記入出力装置のいずれとも接続しないノードである特別ノードに搭載される前記ＣＰＵを、消費電力を低減した省電力状態に遷移させるステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移しているか否かを確認するステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移していた場合に、前記特別ノードを省電力状態に遷移させるステップを有することを特徴とするコンピュータシステムの制御方法。
【請求項８】
前記特別ノードに搭載されるＣＰＵを、前記特別ノード以外のノードである通常ノードに搭載されるＣＰＵより先行して省電力状態に遷移させるようにプロセスを割り当てることを特徴とする請求項７のコンピュータシステムの制御方法。
【請求項９】
前記特別ノードに搭載される前記ＣＰＵを省電力状態から通常状態に復旧させる際に、前記特別ノードが省電力状態か否か確認するステップと、
前記特別ノードが省電力状態であった場合、前記特別ノードを省電力状態から通常状態に復旧させるステップと、前記特別ノードが通常状態に復旧した後に前記ＣＰＵを省電力状態から通常状態に復旧させるステップを有することを特徴とする請求項８のコンピュータシステムの制御方法。
【請求項１０】
主記憶装置および入出力装置のいずれとも接続しないノードである特別ノードに搭載されるＣＰＵを、消費電力を低減した省電力状態に遷移させるステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移しているか否かを確認するステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移していた場合に、前記特別ノードを省電力状態に遷移させるステップをコンピュータに実行させるプログラム。
【請求項１１】
前記特別ノードに搭載されるＣＰＵを、前記特別ノード以外のノードである通常ノードに搭載されるＣＰＵより先行して省電力状態に遷移させるようにプロセスを割り当てるステップを有することを特徴とする請求項１０のプログラム。
【請求項１２】
前記特別ノードに搭載される前記ＣＰＵを省電力状態から通常状態に復旧させる際に、前記特別ノードが省電力状態か否か確認するステップと、
前記特別ノードが省電力状態であった場合、前記特別ノードを省電力状態から通常状態に復旧させるステップと、
前記特別ノードが通常状態に復旧した後に前記ＣＰＵを省電力状態から通常状態に復旧させるステップを有することを特徴とする請求項１１のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステム、制御方法、及びプログラムに関し、特に、複数のノードで構成されるコンピュータシステムにおいて消費電力を低減させる技術に関する。
【背景技術】
【０００２】
特許文献１の図１に主記憶共有型マルチプロセッサシステムの構成の一例が示されている。特許文献１のシステムは複数の同じ構成のノードで構成される。ノードは、複数のＣＰＵ（Central Processing Unit）とキャッシュモジュールと主記憶モジュールと入出力モジュールとクロスバスイッチモジュール等のモジュールを含み、クロスバスイッチモジュールを介して各ノードが接続される。
【０００３】
また、省電力化志向の高まりにより、コンピュータにおいてハードウェアとソフトウェアの連携による省電力機能が実現されるようになってきている。その機能のひとつに、アイドル状態となったＣＰＵを通常状態から省電力状態に遷移させる機能がある。
【０００４】
特許文献１のようなシステムは複数のＣＰＵで構成されるため、負荷状態に応じてＣＰＵをアイドルとした後省電力状態に遷移させてもシステムの処理を継続することができる。ここでいう省電力状態とは、例えば、ＣＰＵに対して電源やクロック信号の供給を停止することにより実現される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３４８０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、ＣＰＵ単位で省電力状態へ遷移させて消費電力を低減させているが、ノード単位で省電力状態へ遷移させることは記載されていない。しかし、ノード内に搭載される全てのＣＰＵが省電力状態に遷移した場合、ノード内のＣＰＵ以外のモジュールについても、省電力状態に遷移させることで、より大きな省電力効果を得ることができる。
【０００７】
一方で、ノード内のモジュールを省電力状態にした後に、ノードに対してアクセスがあるとノード内のモジュールを通常状態に復旧してアクセスを処理しなければならない。従って、通常状態のノードから省電力状態のノードにアクセスが発生する度に、省電力状態を解除しなければならない。
【０００８】
特許文献１の構成では、各ノードにシステムで共有される主記憶装置や入出力装置が接続されているため、全てのＣＰＵが省電力状態に遷移しても、主記憶装置や入出力装置に対するアクセスが発生するので、ノード単位で省電力状態に遷移させたとしても、ノードの省電力状態が長時間持続しないため消費電力が十分削減できないという課題がある。
【０００９】
本発明の目的は、上述の省電力状態が長時間持続しないため消費電力が十分削減できないという課題を解決したコンピュータシステム、コンピュータシステムの制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明のコンピュータシステムは、ＣＰＵを搭載し互いに接続される複数のノードと、前記ノード間で共有され前記いずれかのノードと接続する主記憶装置及び入出力装置を有するコンピュータシステムであって、
前記主記憶装置および前記入出力装置のいずれとも接続しないノードである特別ノードと、前記特別ノード以外のノードである通常ノードと、消費電力を低減した省電力状態に前記特別ノードを遷移させる電力制御機能を有することを特徴とする。
【００１１】
本発明のコンピュータシステムの制御方法は、ＣＰＵを搭載し互いに接続される複数のノードと、前記ノード間で共有され前記いずれかのノードと接続する主記憶装置及び入出力装置を有するコンピュータシステムの制御方法であって、
前記主記憶装置および前記入出力装置のいずれとも接続しないノードである特別ノードに搭載される前記ＣＰＵを、消費電力を低減した省電力状態に遷移させるステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移しているか否かを確認するステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移していた場合に、前記特別ノードを省電力状態に遷移させるステップを有することを特徴とする。
【００１２】
本発明のプログラムは、主記憶装置および入出力装置のいずれとも接続しないノードである特別ノードに搭載されるＣＰＵを、消費電力を低減した省電力状態に遷移させるステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移しているか否かを確認するステップと、
前記特別ノードに搭載される前記全てのＣＰＵが省電力状態に遷移していた場合に、前記特別ノードを省電力状態に遷移させるステップをコンピュータに実行させる。
【発明の効果】
【００１３】
本発明は、ノードの消費電力を低減させる省電力状態を長時間持続させ消費電力を十分削減できるという効果がある。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態の構成を示したブロック図である。
【図２】本発明の第２の実施の形態の構成を示したブロック図である。
【図３】本発明の制御回路２５の構成を示したブロック図である。
【図４】本発明の状態表２６の内容を示したブロック図である。
【図５】本発明の省電力状態への遷移動作を示したフローチャートである。
【図６】本発明の省電力状態からの復旧動作を示したフローチャートである。
【図７】本発明の第３の実施の形態の１つの構成を示したブロック図である。
【図８】本発明の第３の実施の形態の１つの構成を示したブロック図である。
【発明を実施するための形態】
【００１５】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
図１は本発明のコンピュータシステム１０の基本的な構成を示した図である。コンピュータシステム１０は、通常ノード２０と特別ノード３０と主記憶装置４１と入出力装置４２と電力制御機能４３を有する。なお、図１では１つの通常ノード２０と１つの特別ノード３０を接続する構成を示しているが、通常ノード２０と特別ノード３０は２つ以上接続されてもよく、接続数は制限されない。
【００１６】
通常ノード２０と特別ノード３０はそれぞれＣＰＵ２１を搭載し、互いに接続される。主記憶装置４１と入出力装置４２は通常ノード２０に接続され、通常ノード２０と特別ノード３０とで共有される。特別ノード３０は主記憶装置４１と入出力装置４２と接続されない。入出力装置４２は通常様々な種類の入出力装置で構成される。主記憶装置４１も複数の主記憶装置で構成されることがある。
【００１７】
図１の構成では、通常ノード２０は主記憶装置４１と入出力装置４２の両方が接続されるが、通常ノード２０はどちらか一方のみを接続する構成であっても、コンピュータシステム１０全体で主記憶装置４１と入出力装置４２がそれぞれ１つ以上接続されればよい。
【００１８】
このような構成において、電力制御機能４３は消費電力を低減した省電力状態に特別ノード３０を遷移させる。特別ノード３０は、主記憶装置４１とも入出力装置４２とも接続されないため、省電力状態に遷移した特別ノード３０に対し通常のアクセスは発生しない。通常のアクセスとはノード省電力状態の解除指示のようなアクセスを除くアクセスである。従って、本発明は、特別ノード３０の消費電力を低減する省電力状態を長時間持続させ消費電力を十分削減できるという効果がある。
【００１９】
また、省電力状態からの復旧には長時間を要する。従って、省電力状態のノードへアクセスするとその応答時間が著しく大きくなり性能が低下してしまう。ところが、本発明は、通常ノード２０を省電力状態とはしないため、通常ノード２０へのアクセスに対して復旧による応答時間の遅れが発生することを回避できる。特別ノード３０は通常のアクセスが発生しないので応答時間の遅れも発生せず、本発明は性能低下を回避することもできる。
【００２０】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
図２は本発明のコンピュータシステム１１の構成を示した図である。コンピュータシステム１１は図１のコンピュータシステム１０のより具体的な構成を示している。コンピュータシステム１１は、主記憶装置４１と入出力装置４２が接続されている通常ノード２０と、主記憶装置４１も入出力装置４２も接続されない特別ノード３０を含む。なお、図１のコンピュータシステム１０と同じものは同じ符号を付している。
【００２１】
主記憶装置４１と入出力装置４２はコンピュータシステム１１の共有資源であり、全てのノード（図２では通常ノード２０と特別ノード３０）で共有される。図２のコンピュータシステム１１は、通常ノード２０と特別ノード３０の２つのノードで構成されるが、ノード数に制限はなく、通常ノード２０や特別ノード３０を任意に追加して構成することが可能である。
【００２２】
通常ノード２０は、２つのＣＰＵ（Central Processing Unit）２１−１（ＣＰＵ２１−１ＡとＣＰＵ２１−１Ｂ）と、キャッシュメモリ２２−１と、主記憶装置４１との間のインターフェースを制御する主記憶制御部２４−１と、キャッシュメモリ２２−１と主記憶制御部２４−１と入出力装置４２と他のノード（この場合特別ノード３０のみ）との接続を切り換えるクロスバスイッチ２３−１を含む。通常ノード２０は、主記憶装置４１と入出力装置４２と接続する。
【００２３】
特別ノード３０は、２つのＣＰＵ２１−３（図１ではＣＰＵ２１−３ＡとＣＰＵ２１−３Ｂ）と、キャッシュメモリ２２−３と、キャッシュメモリ２２−３と他のノード（この場合通常ノード２０のみ）との接続を切り換えるクロスバスイッチ２３−３と、ノードへの電源供給やリセットを制御する制御回路２５−３を含む。特別ノード３０は、主記憶装置４１とも入出力装置４２とも接続しない。
【００２４】
ＣＰＵ２１−１とＣＰＵ２１−３は機能・構成が同じため同じ符号“２１”を付している。ＣＰＵ２１−１とＣＰＵ２１−３を区別せずに説明する場合は“ＣＰＵ２１”と記載する。キャッシュメモリ２２、クロスバスイッチ２３、主記憶制御部２４等も同様である。また、ＣＰＵ２１−１ＡとＣＰＵ２１−１Ｂを区別せずに説明する場合は“ＣＰＵ２１−１”と記載する。ＣＰＵ２１−３も同様である。また、通常ノード２０と特別ノード３０を区別せずに説明する場合は“ノード”と記載する。
【００２５】
ＣＰＵ２１は、主記憶装置４１に記憶されるプログラムを実行するプロセッサである。ＣＰＵ２１−１Ａ、ＣＰＵ２１−１Ｂ、ＣＰＵ２１−３Ａ、ＣＰＵ２１−３Ｂは全て同じ仕様であるとする。ただし、異なる仕様のＣＰＵを組み合わせて構成してもよい。ＣＰＵ２１−１は、キャッシュメモリ２２−１とクロスバスイッチ２３−１と主記憶制御部２４−１を介して主記憶装置４１にアクセスする。また、ＣＰＵ２１−１は、キャッシュメモリ２２−１とクロスバスイッチ２３−１を介して、入出力装置４２や特別ノード３０にアクセスする。なお、アクセス内容によってはキャッシュメモリ２２はバイパスされることもある。
【００２６】
一方、ＣＰＵ２１−３は、キャッシュメモリ２２−３とクロスバスイッチ２３−３とクロスバスイッチ２３−１と主記憶制御部２４−１を介して主記憶装置４１にアクセスする。また、ＣＰＵ２１−１は、キャッシュメモリ２２−３とクロスバスイッチ２３−３とクロスバスイッチ２３−１を介して、入出力装置４２や特別ノード３０にアクセスする。
【００２７】
キャッシュメモリ２２は、主記憶装置４１のデータを一時的に記憶するキャッシュメモリであり、ＣＰＵ２１に１次キャッシュが搭載される場合は２次キャッシュとして機能する。通常、キャッシュメモリ２２は主記憶装置４１より高速にアクセスできるように高速のＲＡＭ（Random Access Memory）を用いて実現される。また、特別ノード３０は、主記憶装置４１までのアクセスが通常ノード２０に比べて遅くなるが、キャッシュメモリ２２−３を設けることにより、遅れを改善している。
【００２８】
クロスバスイッチ２３は、接続を切り換える回路であり、１回の切換により１つの予め決められた転送単位を転送することができる。ここで転送単位は固定長でも可変長でも良く、通信で用いられるパケットのような形式でも良い。例えば、クロスバスイッチ２３−１はキャッシュメモリ２２−１と主記憶制御部２４−１を接続するように切り換えることで、ＣＰＵ２１−１Ａ（又はＣＰＵ２１−１Ｂ）から主記憶装置４１へのアクセスを可能とする。クロスバスイッチ２３−１は、キャッシュメモリ２２−１とクロスバスイッチ２３−３とを接続するように切り換えることで、ＣＰＵ２１−１Ａ（又はＣＰＵ２１−１Ｂ）から特別ノード３０へのアクセスを可能とする。
【００２９】
また、クロスバスイッチ２３は、特別ノード３０が省電力状態のときでも、電源やクロック信号の供給を受けて動作可能な復旧回路（図示せず）を搭載している。復旧回路は、他のノードから省電力状態への遷移指示や省電力状態からの復旧指示を受信して解読し、制御回路２５へ指示を送る。この復旧回路と制御回路２５を合わせた機能がコンピュータシステム１０（図１）の電力制御機能４３に相当する。
【００３０】
主記憶制御部２４はクロスバスイッチ２３と主記憶装置４１と接続し、主記憶装置４１との間のインターフェースを制御する。
【００３１】
制御回路２５は特別ノード３０のみに搭載される。制御回路２５は特別ノード３０が省電力状態のときでも、電源やクロック信号の供給を受けて、クロスバスイッチ２３から出力される指令信号Ｘｎ（ｎ＝２、３、４）に従ってノードに供給する電源のオン／オフを制御する。
【００３２】
図３は制御回路２５の構成を示したブロック図である。図３を参照すると、制御回路２５は指令信号Ｘｎを解読する解読回路４３とスイッチ４４を含む。スイッチ４４は解読回路４３の指示に従ってノードへ電源を供給するか停止するかを切り換える。図２では、制御回路２５は、ノード上に独立して搭載しているが、クロスバスイッチ２３の内部に搭載したり、ＣＰＵ２１の内部に搭載したり、それ以外に搭載するようにしてもよい。
【００３３】
主記憶装置４１は、プログラムやプログラムでアクセスされるデータや各種制御情報を記憶する装置であり、通常、ＤＲＡＭ（Dynamic Random access Memory）のような揮発性の半導体デバイスで構成される。図２では主記憶装置４１は１つのみ接続されるが、接続数を限定するものではなく、複数接続する構成でもかまわない。
【００３４】
状態表２６は、コンピュータシステム１１内の各要素（ＣＰＵ２１とノード）が通常状態か省電力状態かを示すテーブルである。図４に状態表２６の内容の一例が示されているが、詳細は以降の動作説明で記載する。状態表２６は、主記憶装置４１上に設けられるものとして説明するが、状態表２６は、ＣＰＵ２１からアクセスできれば、主記憶装置４１以外の記憶手段に設けるようにしてもよい。
【００３５】
入出力装置４２は、磁気ディスク装置等の補助記憶装置や、キーボードやマウスなどの入力装置や、印刷装置のような出力装置や、表示装置や、システム外部との通信を行う通信装置などの入出力装置を含んだ入出力サブシステムである。通常、入出力サブシステムは入出力装置毎に制御するための制御装置を含み、制御装置を介してクロスバスイッチ２３と接続するが、制御装置を通常ノード２０に搭載するようにしてもよい。
【００３６】
ＣＰＵ２１は、省電力機能を含んでおり、省電力機能によって消費電力を低減する状態である省電力状態を実現する。また、ＣＰＵ２１は、外部からの指示に従って通常状態と省電力状態との間を遷移する。省電力機能とは、例えば、いずれかのＣＰＵ２１の指示により、省電力機能を実行する一部の回路を除いたほとんどの回路に対して、電源やクロックの供給を停止する機能や、通常状態と省電力状態の間の状態遷移を制御する機能である。
【００３７】
ＣＰＵ２１−１Ａのみが省電力状態に遷移した状態を個別省電力状態といい、このときノードは通常状態である。ノード全体が省電力状態に遷移した状態をノード省電力状態という。ノード省電力状態とは、例えば、ノードへの電源供給を停止させた状態であるが状態の具体的な内容を限定するものではない。ただし、以降、ノード省電力状態とは、ノードへの電源供給を停止させた状態として説明する。
【００３８】
サービスプロセッサや診断プロセッサと呼ばれ、システムの立ち上げや保守診断を制御する診断制御装置が知られている。診断制御装置は、通常備えるシステム立ち上げ機能の中に、装置や部品単位に電源供給を制御する電源制御機能やリセット機能などを備える。従って診断制御装置を備えるコンピュータシステムでは診断制御装置を電力制御機能４３として使用することもできる。本発明では、電力制御機能４３をどのように構成するかは限定しない。
【００３９】
次に、本発明の第２の実施の形態の動作について図面を参照して説明する。
ＣＰＵ２１を省電力状態に遷移させるのは、ＯＳ（Operating System）のようにプロセスをＣＰＵ２１に割り当てる機能を有するソフトウェアである。プロセスとはプログラムを実行する際の処理単位である。また、仮想計算機システムでは仮想計算機をＣＰＵ２１に割り当てる機能を有する仮想計算機モニタがＣＰＵ２１を省電力状態に遷移させる。通常、ＯＳや仮想計算機モニタ自身も複数のプロセスで構成される。ＯＳや仮想計算機モニタの中で、プロセスや仮想計算機の割り当てを制御する部分を割り当て制御部とし、割り当て制御部がＣＰＵ２１−１Ａ上で動作するものとして、以降説明する。
【００４０】
割り当て制御部はプロセスをＣＰＵ２１に割り当てる際に、特別ノード３０のＣＰＵ２１−３より通常ノード２０上のＣＰＵ２１−１へ優先してより多くのプロセスを割り当てるようにする。すなわち、割り当て制御部は通常ノード２０のＣＰＵ２１−１で動作するプロセス数に比べて、特別ノード３０のＣＰＵ２１−３で動作するプロセス数が少なくなるように割り当てる。
【００４１】
コンピュータシステム１１全体で動作するプロセス数が少なくなると、処理すべきプロセス数が“０”（アイドル状態という）となるＣＰＵ２１が発生する。この状態でＣＰＵ２１を省電力状態へ遷移させることにより、コンピュータシステム１１は消費電力を大幅に低減することができる。なお、割り当て制御部やアイドル状態で動作する一部のプログラムはプロセス数としてはカウントしない。
【００４２】
割り当て制御部は通常ノード２０のＣＰＵ２１−１で動作するプロセス数に比べて、特別ノード３０のＣＰＵ２１−３で動作するプロセス数が少なくなるように割り当てる。このように割り当てることにより、割り当て制御部は特別ノード３０上のＣＰＵ２１−３の方を通常ノード２０上のＣＰＵ２１−１より先にアイドル状態にすることができる。
【００４３】
次に、省電力状態への遷移動作について詳細に説明する。図５はＣＰＵ２１、特別ノード３０を省電力状態へ遷移させる動作を示したフローチャートである。
【００４４】
割り当て制御部は、例えば、プロセスが１つ終了したことを契機に、特別ノード３０内に省電力状態へ遷移可能なＣＰＵ２１があるか否か調べる（Ｓ５１）。ただし、ステップ５１の実行を開始する契機はプロセス終了以外の契機でもよい。例えば、割り当て制御部は一定時間毎に図５の動作を実行するようにしてもよい。
【００４５】
割り当て制御部は、ＣＰＵ２１がアイドル状態なら遷移可能と判断する。ＣＰＵ２１−３ＡかＣＰＵ２１−３Ｂの少なくとも一方がアイドル状態であれば、割り当て制御部は省電力状態へ遷移可能なＣＰＵ２１があると判断する。なお、割り当て制御部は一定時間毎にステップ５１の実行を開始するようにしてもよい。
【００４６】
特別ノード３０内に省電力状態へ遷移可能なＣＰＵ２１−３があった場合（Ｓ５１／Ｙｅｓ）、割り当て制御部は特別ノード３０内の遷移可能なＣＰＵ２１−３に対して省電力状態への遷移指示を送る（Ｓ５２）。このとき、割り当て制御部は省電力状態へ遷移したＣＰＵ２１−３の状態を通常状態から省電力状態へ変更するように状態表２６を更新する。
【００４７】
割り当て制御部がＣＰＵ２１−１Ａから省電力状態への遷移指示を送ると、キャッシュメモリ２２−１、クロスバスイッチ２３−１、クロスバスイッチ２３−３、キャッシュメモリ２２−３を介してＣＰＵ２１−３Ａへ到着する。ＣＰＵ２１−３Ａは省電力状態への遷移指示を受信し、内蔵する省電力機能を起動して通常状態から省電力状態へ遷移する。この場合、アクセス内容は遷移指示なので、実際には、キャッシュメモリ２２−１とキャッシュメモリ２２−３はバイパスされる。
【００４８】
次に、割り当て制御部は特別ノード３０内の全てのＣＰＵ２１−３が省電力状態となったか否かを確認する（Ｓ５３）。特別ノード３０内の全てのＣＰＵ２１−３が省電力状態となっていなければ（Ｓ５３／Ｎｏ）、割り当て制御部は図５の処理を終了し、元に戻る。特別ノード３０内の全てのＣＰＵ２１−３が省電力状態となっていれば（Ｓ５３／Ｙｅｓ）、割り当て制御部は特別ノード３０に対しノード省電力状態への遷移指示を送る（Ｓ５４）。
【００４９】
このとき、割り当て制御部はノード省電力状態へ遷移した特別ノード３０の状態を通常状態からノード省電力状態へ変更するように状態表２６を更新する。また、割り当て制御部は特別ノード３０内の全てのＣＰＵ２１−３が省電力状態となったか否かを、状態表２６を参照することにより判断する。
【００５０】
ノード省電力状態への遷移指示は、ＣＰＵ２１−１Ａ上の割り当て制御部から特別ノード３０宛に出力される。キャッシュメモリ２２−１、クロスバスイッチ２３−１を介して、クロスバスイッチ２３−３はノード省電力状態への遷移指示を受信する。この場合、アクセス内容が遷移指示なので、実際には、キャッシュメモリ２２−１はバイパスされる。
【００５１】
クロスバスイッチ２３−３に搭載される復旧回路は、受信した転送単位がノード省電力状態への遷移指示であることを解読すると、制御回路２５−３に対して電源の供給を停止するように指示する。制御回路２５−３の解読回路４３は、電源供給停止指示を受けると、スイッチ４４を制御して、特別ノード３０へ供給される電源を全て停止する。
【００５２】
このようにして、特別ノード３０への電源供給が停止され、特別ノード３０はＣＰＵ２１−３だけでなく、キャッシュメモリ２２−３やクロスバスイッチ２３−３の電源も停止するので、より大きな消費電力の低減ができる。
【００５３】
一方、特別ノード３０内に省電力状態へ遷移可能なＣＰＵ２１−３がなかった場合（Ｓ５１／Ｎｏ）、割り当て制御部は通常ノード２０内に省電力状態へ遷移可能なＣＰＵ２１があるか否か調べる（Ｓ５５）。通常ノード２０内に省電力状態へ遷移可能なＣＰＵ２１がない場合（Ｓ５５／Ｎｏ）、割り当て制御部は図５の処理を終了し、元に戻る。
【００５４】
通常ノード２０内に省電力状態へ遷移可能なＣＰＵ２１−１があった場合（Ｓ５５／Ｙｅｓ）、割り当て制御部は通常ノード２０内の遷移可能なＣＰＵ２１−１に対して省電力状態への遷移を指示する（Ｓ５６）。このとき、割り当て制御部は省電力状態へ遷移したＣＰＵ２１−１の状態を通常状態から省電力状態へ変更するように状態表２６を更新する。
【００５５】
例えば、ＣＰＵ２１−１Ｂがアイドル状態になったとすると、割り当て制御部は省電力状態への遷移指示をＣＰＵ２１−１Ｂ宛に送信する。ＣＰＵ２１−１Ｂは、省電力状態への遷移指示を受信し、内蔵する省電力機能を起動して通常状態から省電力状態へ遷移する。
【００５６】
割り当て制御部は、通常ノード２０については、ノード省電力状態への遷移を実行しないので、ステップＳ５３、Ｓ５４に相当する動作は実行しない。その理由は、通常ノード２０は、主記憶装置４１や入出力装置４２が接続されるため、他のノードからのアクセスが頻繁に発生しノード省電力状態が長時間継続しないためである。
【００５７】
ただし、例えば、通常ノード２０が複数接続される場合で、通常ノードに接続される主記憶装置４１や入出力装置４２の動作を停止して特別ノード３０と同様な状態にできれば、その通常ノード２０をノード省電力状態とすることもできる。それは、特別ノード３０と同様にステップＳ５３、Ｓ５４に相当する動作を実行することで容易に実現できる。
【００５８】
次に、省電力状態への遷移動作について具体例を用いて説明する。ＣＰＵ２１−３ＡとＣＰＵ２１−３Ｂが順にアイドル状態となり、特別ノード３０がノード省電力状態となる動作を具体例として説明する。なお、最初の状態は図４−（ａ）に示した状態表２６の状態とする。すなわち、全てのＣＰＵ２１とノードが通常状態である。
【００５９】
ＣＰＵ２１−３Ａ上で動作するプロセスが終了して、ＣＰＵ２１−３Ａがアイドル状態となると、割り当て制御部はＣＰＵ２１−３Ａを省電力状態へ遷移可能なＣＰＵ２１と判断し（Ｓ５１／Ｙｅｓ）、ＣＰＵ２１−３Ａに対して省電力状態への遷移を指示する（Ｓ５２）。ＣＰＵ２１−３Ａは省電力状態への遷移指示を受けて、自身を省電力状態へと遷移させる。
【００６０】
このとき、割り当て制御部はＣＰＵ２１−３Ａの状態を通常状態から省電力状態へ変更するように状態表２６を更新する。この結果、状態表２６の内容は図４−（ｂ）となる。ＣＰＵ２１−３Ｂは通常状態なので、割り当て制御部は全てのＣＰＵ２１が省電力状態ではないと判断し（Ｓ５３／Ｎｏ）、図５の処理を終了する。
【００６１】
この後、さらに、プロセス数が減りＣＰＵ２１−３Ｂがアイドル状態となると、割り当て制御部はＣＰＵ２１−３Ｂを省電力状態へ遷移可能なＣＰＵ２１と判断し（Ｓ５１／Ｙｅｓ）、ＣＰＵ２１−３Ｂに対して省電力状態への遷移を指示する（Ｓ５２）。ＣＰＵ２１−３Ｂは省電力状態への遷移指示を受けて、自身を省電力状態へと遷移させる。
【００６２】
このとき、割り当て制御部はＣＰＵ２１−３Ｂの状態を通常状態から省電力状態へ変更するように状態表２６を更新する。この結果、状態表２６の内容は図４−（ｃ）となる。この状態では、ＣＰＵ２１−３ＡもＣＰＵ２１−３Ｂも省電力状態なので、割り当て制御部は全てのＣＰＵ２１が省電力状態になったと判断する（Ｓ５３／Ｙｅｓ）。
【００６３】
続いて、割り当て制御部は特別ノード３０に対しノード省電力状態への遷移を指示する（Ｓ５４）。特別ノード３０上のクロスバスイッチ２３−３はノード省電力状態への遷移指示を受信する。クロスバスイッチ２３−３に搭載される復旧回路が遷移指示を解読し、制御回路２５−３に対して電源の供給を停止する指示を指令信号Ｘ３で通知する。制御回路２５−３は指令信号Ｘ３により電源供給停止指示を受けると、スイッチ４４を制御して、特別ノード３０へ供給される電源を全て停止する。
【００６４】
このとき、割り当て制御部は特別ノード３０の状態を通常状態からノード省電力状態へ変更するように状態表２６を更新する。この結果、状態表２６は図４−（ｄ）となる。このようにして、特別ノード３０が、ノード省電力状態へ遷移し、特別ノード３０の消費電力は大幅に低減される。
【００６５】
なお、ノード省電力状態として、ノード上の各要素の電源をオフした状態を例として説明した。しかし、ノード省電力状態として電源をオンのままで、電圧を下げた状態とかクロック信号を停止した状態とすることもできる。その場合、制御回路２５は、電源をオフするスイッチ４４を、各要素に供給する電圧を制御したり、各要素に供給するクロックを停止したりする回路に置き換えることにより実現できる。
【００６６】
次に、省電力状態から通常状態への復旧動作について簡単に説明する。コンピュータシステム１１でプロセス数が増加し、予め決められた条件を満足すると、割り当て制御部はＣＰＵ２１の省電力状態の解除条件が成立したと判断する（Ｓ６１）。予め決められた条件とは例えば、省電力状態のＣＰＵ２１が少なくとも１つ有り、かつ、通常状態のＣＰＵ２１の負荷が所定値を越えたという条件である。すなわち、省電力状態のＣＰＵ２１を通常状態に復旧させないとプロセスの処理が遅延したり遅延が予測されたりする場合に省電力状態の解除条件が成立するものとする。なお、省電力状態の解除条件は上記のケースに限定するものではなく、他の条件としてもよい。
【００６７】
省電力状態の解除条件が成立すると（Ｓ６１／Ｙｅｓ）、割り当て制御部は予め決められた手順により通常状態に復旧させるＣＰＵ２１を決定する（Ｓ６２）。この手順は詳細には限定しないが、通常ノード２０のＣＰＵ２１を特別ノード３０のＣＰＵ２１より優先して解除し、通常状態の特別ノード３０のＣＰＵ２１をノード省電力状態の特別ノード３０のＣＰＵ２１より優先して解除するものとする。
【００６８】
割り当て制御部は状態表２６を参照して、復旧させるＣＰＵ２１が搭載されるノードがノード省電力状態か否か調べる（Ｓ６３）。復旧させるＣＰＵ２１が搭載されるノードがノード省電力状態であれば（Ｓ６３／Ｙｅｓ）、割り当て制御部は復旧させるＣＰＵ２１が搭載されるノードに対してノード省電力状態の解除指示を送る（Ｓ６４）。
【００６９】
ノード省電力状態の解除指示を受けると、クロスバスイッチ２３−３に搭載される復旧回路は解除指示を解読して、復旧指示を指令信号Ｘ３にて制御回路２５に通知する。制御回路２５は、指令信号Ｘ３により通知された復旧指示を解読回路で解読しスイッチ４４を制御して電源の供給を再開し、リセット信号を出力してノードを通常状態にする。
【００７０】
このとき、ＣＰＵ２１は自身の状態が通常状態か省電力状態かを省電力機能内部の不揮発性の記憶手段に記憶しており、電源の供給を受けリセット信号を受けると電源停止前の状態に復旧する。ＣＰＵ２１に不揮発性の記憶手段がない場合、制御回路２５は、例えば、状態を記憶する回路に対してだけ、ノード省電力状態でも電源を供給しておくようにしてもよい。ＣＰＵ２１の状態を制御回路２５のようなＣＰＵ２１の外部の回路に記憶しておき、復旧時に元の状態をＣＰＵ２１に通知するようにすることもできる。
【００７１】
次に、割り当て制御部はノード省電力状態の解除の完了を確認した後（Ｓ６５／Ｙｅｓ）、復旧させるＣＰＵ２１に対して省電力状態の解除指示を送る（Ｓ６６）。ＣＰＵ２１は省電力状態の解除指示を受信すると、内蔵する省電力機能を動作させて、自身を通常状態へと復旧させる。
【００７２】
また、復旧させるＣＰＵ２１が搭載されるノードがノード省電力状態でなければ（Ｓ６３／Ｎｏ）、復旧させるＣＰＵ２１に対して省電力状態の解除指示を送る（Ｓ６６）。ＣＰＵ２１は省電力状態の解除指示を受信すると、内蔵する省電力機能を動作させて、自身を通常状態へと復旧させる。
【００７３】
このようにして、ＣＰＵ２１が通常状態へと復旧するので、その後割り当て制御部は復旧したＣＰＵ２１に対してプロセスを割り当てることができる。割り当て制御部は新たに生成されたプロセスを復旧したＣＰＵ２１に割り当てることにより、負荷の高いＣＰＵ２１の負荷を軽減することができる。
【００７４】
このように、本発明の特別ノード３０は、主記憶装置４１と入出力装置４２を接続しないため、ノード省電力状態の特別ノード３０に対する通常のアクセスは発生しない。従って、本発明は、特別ノード３０のノード省電力状態を長時間持続できるという効果がある。
【００７５】
また、省電力状態からの復旧には長時間を要する。従って、ノード省電力状態のノードへアクセスするとその応答時間が著しく大きくなり性能が低下してしまう。ところが、本発明は、通常ノード２０を省電力状態とはしないため、通常ノード２０へのアクセスに対して復旧による応答時間の遅れが発生することを回避できる。特別ノード３０は通常のアクセスが発生しないので応答時間の遅れも発生せず、本発明は性能低下を回避することもできる。
【００７６】
次に、本発明の第３の実施の形態について説明する。図７は第３の実施の形態の一例であるコンピュータシステム１２の構成を示した図である。コンピュータシステム１１と同じ機能の要素については同じ符号を付している。以降は、コンピュータシステム１１との差分について説明する。
【００７７】
コンピュータシステム１２は、コンピュータシステム１１に対して、通常ノード２０を通常ノード２１に置き換え、特別ノード３０を特別ノード３１に置き換えている。コンピュータシステム１２は通常ノード２１と特別ノード３１の内部構成が共通化されている点に特長がある。
【００７８】
通常ノード２１は、通常ノード２０と比べて、制御回路２５−２が追加されているが、他の構成要素は同じなので説明は省略する。制御回路２５−２は制御回路２５−３と同じである。通常ノード２１は制御回路２５−２を備えるが、ノード省電力状態への遷移は指示されないので、通常ノード２０と同様に動作する。ノード省電力状態への遷移を抑止するように設定しておいてもよい。
【００７９】
特別ノード３１は特別ノード３０に主記憶制御部２４−４が追加されているが、他の構成要素は同じであるので説明は省略する。特別ノード３１は主記憶制御部２４−４を備えるが主記憶装置４１とは接続しないため主記憶制御部２４−４は動作しないので、特別ノード３０と同様に動作する。
【００８０】
通常ノード２１は通常ノード２０と同様に動作し、特別ノード３１は特別ノード３０と同様に動作するので、コンピュータシステム１２はコンピュータシステム１１と同様に動作する。従って動作説明は省略する。
【００８１】
本発明の第３の実施の形態のコンピュータシステム１２は、通常ノード２１と特別ノード３１のハードウェアを共通化したので、保守部品を共通化することができ、保守コストを低減できるという効果がある。
【００８２】
なお、特別ノード３１と通常ノード２１の共通ハードウェアに切り換え手段を設けて、特別ノード３１として利用する場合は主記憶制御部２４−４への電源供給を停止させ、通常ノード２１として利用する場合は制御回路２５−２への電源供給を停止させることもできる。そうすることによりさらに消費電力を削減できる。
【００８３】
また、図８に、通常ノード２０と通常ノード２１と特別ノード３０と特別ノード３１を混在させたコンピュータシステム１３を示す。これらを混在させても、動作はコンピュータシステム１１と同じであることは容易に理解できるので、説明は省略する。コンピュータシステム１３は、通常ノードが２つ搭載されるので、例えば、通常ノード２１に接続する主記憶装置４１−２と入出力装置４２−２を論理的に切り離して、通常ノード２１を特別ノード３１と置き換えて制御することもできる。
【００８４】
このように、第３の実施の形態においても、本発明は、第２の実施の形態と同様の効果を得られることは明らかである。また、特別ノード３１と通常ノード２０を共通部品とすることにより、保守コストを低減できるという効果もある。
【００８５】
また、上記の説明では、ステップＳ５１〜Ｓ５５、Ｓ６１〜Ｓ６６の動作を全て割り当て制御部というプログラムで実行するものとしたが、一部をハードウェア回路で実現してもかまわない。例えば、各ノード内に搭載される各ＣＰＵ２１の状態を監視して、搭載される全てのＣＰＵ２１が省電力状態になったら、ノード省電力状態に遷移させる回路（自動遷移回路という）により、実現できる。自動遷移回路は、例えば、制御回路５１やＣＰＵ２１の１つに搭載することもできる。この場合、ＣＰＵ２１の状態はＣＰＵ２１の省電力機能により取得できるものとする。
【００８６】
また、第３の実施例のように、通常ノード２０と特別ノード３０の内部を共通化した場合は、上記自動遷移回路を有効にするか否かを切り換える手段を設けることにより、共通ハードウェアを通常ノード２０と特別ノード３０のいずれとしても使用できる。共通ハードウェアの切り換え手段は、ハードウェアのスイッチを利用してもよいし、ＢＩＯＳ（Basic Input Output System）の指示により切り換えるようにしてもよい。
【符号の説明】
【００８７】
１０    コンピュータシステム
１１    コンピュータシステム
１２    コンピュータシステム
１３    コンピュータシステム
２０    通常ノード
２１    ＣＰＵ
２２    キャッシュメモリ
２３    クロスバスイッチ
２４    主記憶制御部
２５    制御回路
２６    状態表
３０    特別ノード
３１    特別ノード
４１    主記憶装置
４２    入出力装置
４３    解読回路
４４    スイッチ
【図１】
2010211358.tif 000003
【図２】
2010211358.tif 000004
【図３】
2010211358.tif 000005
【図４】
2010211358.tif 000006
【図５】
2010211358.tif 000007
【図６】
2010211358.tif 000008
【図７】
2010211358.tif 000009
【図８】
2010211358.tif 000010