(57)【要約】      （修正有）【課題】  複数のノードを必要に応じて結合することによってマルチプロセッサとして動作させ得るように構成されたコンピュータシステムにおいて，ノードの結合の前後の障害情報の引き継ぎを低コストのアーキテクチャで実現する。【解決手段】  複数のノード１に，複数のノード１の結合によってマルチプロセッサを構築するように要求する結合要求が与えられたとき，複数のノード１のそれぞれは，それぞれの障害情報１２ｂをそれぞれの主記憶装置１１に格納する。更に，複数のノード１のうちから選択された結合処理ノードは，複数のノード１の主記憶装置１１それぞれの，障害情報１２ｂが記憶された領域を含む少なくとも一部の領域を読み出し，読み出された障害情報１２ｂを複数のノード１から選択された一のノードに含まれるブリッジ回路１４を介して該一のノードに含まれる不揮発性メモリ１２に書き込む。【選択図】  図２
2005173830.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを備え，
前記複数のノードのそれぞれは，前記複数のノードのそれぞれの障害情報を記憶する不揮発性メモリを含み，
前記複数のノードに，前記複数のノードの結合によってマルチプロセッサを構築するように要求する結合要求が与えられたとき，前記複数のノードの前記障害情報は，対応する前記不揮発性メモリからそれぞれに読み出され，前記複数のノードから選択された一のノードに含まれる不揮発性メモリに書き込まれる
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて，
前記複数のノードのそれぞれは，
主記憶装置と，
前記不揮発性メモリに接続されたブリッジ回路
とを更に含み，
前記複数のノードに前記結合要求が与えられたとき，（ａ）前記複数のノードのそれぞれは，それぞれの前記障害情報をそれぞれの前記主記憶装置に格納し，（ｂ）前記複数のノードのうちから選択された結合処理ノードは，前記複数のノードの前記主記憶装置それぞれの，前記障害情報が記憶された領域を含む少なくとも一部の領域を，全体として前記マルチプロセッサの一の主記憶領域として認識し，且つ，前記マルチプロセッサの前記主記憶領域から前記障害情報を読み出して，読み出された前記障害情報を前記一のノードに含まれるブリッジ回路を介して前記一のノードに含まれる前記不揮発性メモリに書き込む
コンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムにおいて，
前記マルチプロセッサが構築された後は，前記一のノード以外のノードの前記ブリッジ回路が非活性化される
コンピュータシステム。
【請求項４】
請求項２に記載のコンピュータシステムにおいて，
前記複数のノードが結合されてマルチプロセッサとして動作しているときに，前記複数のノードに独立して動作するように要求する分割要求が与えられたとき，前記複数のノードのうちから選択された分割処理ノードは，前記複数のノードのそれぞれの前記障害情報を，前記一のノードに含まれる前記ブリッジ回路を介して読み出し，読み出された前記障害情報を，それぞれ，対応する前記ノードの前記主記憶装置に格納し，前記複数のノードのそれぞれは，それぞれの前記主記憶装置に格納された前記障害情報を，それぞれが含む前記不揮発性メモリに保存する
コンピュータシステム。
【請求項５】
複数のノードを備え，
前記複数のノードのそれぞれは，
主記憶装置と，
不揮発性メモリと，
前記不揮発性メモリに接続されたブリッジ回路
とを備え，
前記複数のノードのうちの一のノードに含まれる前記不揮発性メモリは，前記複数のノードそれぞれの障害情報を記憶し，
前記複数のノードが結合されてマルチプロセッサとして動作しているときに，前記複数のノードに独立して動作するように要求する分割要求が与えられたとき，前記複数のノードのうちから選択された分割処理ノードは，前記複数のノードのそれぞれの前記障害情報を，前記一のノードに含まれる前記ブリッジ回路を介して読み出し，読み出された前記障害情報を，それぞれ，対応する前記ノードの前記主記憶装置に格納し，前記複数のノードのそれぞれは，それぞれの前記主記憶装置に格納された前記障害情報を，それぞれが含む前記不揮発性メモリに保存する
コンピュータシステム。
【請求項６】
（ａ）複数のノードの結合によってマルチプロセッサを構築するように要求する結合要求を検出するステップと，
（ｂ）前記結合要求に応答して，前記複数のノードそれぞれの障害情報を前記複数のノードのそれぞれが有する不揮発性メモリから読み出し，前記複数のノードの主記憶装置にそれぞれに格納するステップと，
（ｃ）前記複数のノードの前記主記憶装置それぞれの，前記障害情報が記憶された領域を含む少なくとも一部の領域を，全体として，前記マルチプロセッサの一の主記憶領域として認識するステップと，
（ｄ）前記マルチプロセッサの前記主記憶領域から前記障害情報を読み出して，読み出された前記障害情報を，前記複数のノードから選択された一のノードに含まれるブリッジ回路を介して前記一のノードに含まれる前記不揮発性メモリに書き込むステップ
を備えた
コンピュータシステム動作方法。
【請求項７】
請求項６に記載のコンピュータシステム動作方法において，
更に，
（ｅ）前記一のノード以外のノードに含まれるブリッジ回路を非活性化するステップ
を備えた
コンピュータシステム動作方法。
【請求項８】
請求項６に記載のコンピュータシステム動作方法において，
更に，
（ｆ）前記複数のノードが結合されてマルチプロセッサとして動作しているときに，前記複数のノードに独立して動作するように要求する分割要求を検出するステップと，
（ｇ）前記一のノードに含まれる前記不揮発性メモリに格納されている前記障害情報を，前記一のノードに含まれる前記ブリッジ回路を介して読み出すステップと，
（ｈ）読み出された前記障害情報を，それぞれ，対応する前記ノードの前記主記憶装置に格納するステップと，
（ｉ）前記複数のノードのそれぞれが，前記複数のノードそれぞれの前記主記憶領域に格納された前記障害情報を，それぞれが含む前記不揮発性メモリに保存するステップ
とを備えた
コンピュータシステム動作方法。
【請求項９】
前記（ｈ）ステップは，
（ｈ１）前記複数のノードの前記障害情報を，それぞれ，前記マルチプロセッサの主記憶領域の，前記複数のノードそれぞれの前記主記憶装置に対応する部分に格納するステップと，
（ｈ２）前記複数のノードを，前記主記憶装置の記憶内容を保存したまま再起動するステップ
とを含む
コンピュータシステム動作方法。
【請求項１０】
（ｆ’）複数のノードが結合されてマルチプロセッサとして動作しているときに，前記複数のノードに独立して動作するように要求する分割要求を検出するステップと，
（ｇ）前記複数のノードのそれぞれの前記障害情報を，前記一のノードに含まれる前記ブリッジ回路を介して読み出すステップと，
（ｈ）読み出された前記障害情報を，それぞれ，対応する前記ノードの前記主記憶装置に格納するステップと，
（ｉ）前記複数のノードそれぞれの前記主記憶領域に格納された前記障害情報を，それぞれが含む前記不揮発性メモリに保存するステップ
とを備えた
コンピュータシステム動作方法。
【請求項１１】
請求項１０に記載のコンピュータシステム動作方法において，
前記（ｈ）ステップは，
（ｈ１）前記ノードの前記障害情報を，それぞれ，前記マルチプロセッサの主記憶領域の前記ノードの前記主記憶装置に対応する部分に格納するステップと，
（ｈ２）前記ノードを，前記主記憶装置の記憶内容を保存したまま再起動するステップ
とを含む
コンピュータシステム動作方法。
【請求項１２】
他のノードとの結合によってマルチプロセッサを構築することが可能に構成されたノードに実行されるプログラムであって，
（Ａ）前記ノードと前記他のノードとの結合によってマルチプロセッサを構築するように要求する結合要求に応答して，前記ノードの不揮発性メモリに記憶されている障害情報を前記ノードに含まれているブリッジ回路を介して読み出して前記ノードの主記憶装置に格納するステップと，
（Ｂ）前記ノードが前記マルチプロセッサの起動処理を行う結合処理ノードとして選択されたときに，前記ノードの前記主記憶装置及び前記他のノードの主記憶装置それぞれの，前記障害情報が記憶された領域を含む少なくとも一部の領域を，全体として，前記マルチプロセッサの一の主記憶領域として認識するステップと，
（Ｃ）認識された前記マルチプロセッサの前記主記憶領域から前記障害情報を読み出して，読み出された前記障害情報を，前記ノードと前記他のノードのうちから選択された一のノードに含まれるブリッジ回路を介して，前記一のノードの前記不揮発性メモリに書き込むステップ
とを前記ノードに実行させる
コンピュータプログラム。
【請求項１３】
他のノードとの結合によってマルチプロセッサを構築することが可能に構成されたノードに実行されるコンピュータプログラムであって，
（Ｄ）前記ノードと前記他のノードとが結合されてマルチプロセッサとして動作している間に，前記ノードが前記マルチプロセッサの分割処理を行う分割処理ノードとして選択されたとき，前記ノードと前記他のノードとのそれぞれの前記障害情報を，前記ノードと前記他のノードとのうちの一のノードに含まれるブリッジ回路を介して，前記一のノードの不揮発性メモリから読み出すステップと，
（Ｅ）読み出された前記障害情報のそれぞれを，前記ノード及び前記他のノードの対応する主記憶装置に格納するステップと，
（Ｆ）前記ノードの前記主記憶領域に格納された前記障害情報を，前記ノードの不揮発性メモリに保存するステップ
とを前記ノードに実行させる
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータシステムに関し，特に，複数のコンピュータノードを必要に応じて結合することによって一のマルチプロセッサとして動作させ得るように構成されたコンピュータシステムに関する。
【背景技術】
【０００２】
近年，それぞれが独立して動作可能な複数のコンピュータノード（以下，単に「ノード」という。）を必要に応じて密結合することにより，結合されたノードを密結合マルチプロセッサとして機能させることができる並列コンピュータシステムが実用化されている。かかるコンピュータシステムは，その運用及び管理が容易であり，処理能力が高く，且つ，資源を有効に利用可能であるという利点を有している。
【０００３】
このような並列コンピュータシステムの一つの課題は，障害情報の適切な管理である。並列コンピュータシステムを適切に動作させるためには，各ノードが有する障害の内容を示す障害情報が，当該システムを統括的に制御するプロセッサによって一括に管理される必要がある。
【０００４】
特許文献１は，サービスプロセッサを用いて障害情報を一括に管理する並列計算機システムを開示している。公知のその並列計算機システムは，マスタープロセッサとスレーブプロセッサに加えて，サービスプロセッサを備えている。マスタープロセッサとスレーブプロセッサとサービスプロセッサとは，診断パスを介して接続されている。診断パスは，障害情報の管理に専用に使用される回線である。あるスレーブプロセッサに障害が発生すると，そのスレーブプロセッサは，障害情報（ログデータ）を自プロセッサの内部に格納する。サービスプロセッサは，障害が発生したスレーブプロセッサから診断パスを介して障害情報を読み出して，マスタープロセッサに転送する。これにより，マスタープロセッサは，スレーブプロセッサの障害情報を一括に管理することができる。
【特許文献１】特開平８−６９０９号公報
【０００５】
しかし，専用のサービスプロセッサを設けることは，コストの面から好ましくない。特に，低コストが重要である場合，例えば，標準的なＰＣアーキテクチャ（例えばＰＣ／ＡＴ（Personal Computer/Advanced Technology））に従って設計されたコンピュータをノードとして用いることによって低価格な並列コンピュータシステムを実現しようとする場合には，サービスプロセッサを設けることは好ましくない。
【０００６】
加えて，コンピュータノードとして，標準的なＰＣアーキテクチャに従って設計されたコンピュータが使用される場合には，ＰＣアーキテクチャによる制約を克服するような障害情報の管理方法が採用される必要がある。ノードとしてＰＣアーキテクチャに従って設計されたコンピュータが使用される場合には，ノードの結合によって構成される密結合マルチプロセッサも，ＰＣアーキテクチャに従って動作せざるを得ない。ＰＣアーキテクチャに従って動作するコンピュータシステムの一つの重要な制約は，システム全体の中に，プロセッサと周辺機器とを接続するブリッジ回路（典型的には，サウスブリッジ）が一つしか存在することが許されていないことである。これは，以下の理由により，障害情報を管理する上での障害になり得る。各ノードの障害情報は，一般に，それぞれのノードのサウスブリッジによって管理される不揮発性メモリ（ＮＶＲＡＭ）に保存される。しかし，ノードが結合された後に使用可能なサウスブリッジは一つのみであるから，ノードの結合の後は，マルチプロセッサは，ある選択されたサウスブリッジ以外のサウスブリッジを使用することができない。選択されなかったサウスブリッジによって管理されるＮＶＲＡＭへのアクセスは許されない。これは，ノードの結合後には，選択されなかったサウスブリッジによって管理されるＮＶＲＡＭに保存されている障害情報が，密結合マルチプロセッサから参照不能である，言い換えれば，障害情報が，ノードの結合後に密結合マルチプロセッサに引き継がれないことを意味している。これは，密結合マルチプロセッサを正常に動作させる上で問題である。障害情報の引継ぎは，密結合マルチプロセッサが分割され，各ノードが独立して動作を開始するときにも重要である。密結合マルチプロセッサの動作時に各ノードに発生した障害に関する障害情報は，密結合マルチプロセッサが分割された後に，各ノードに引き継がれる必要がある。
【０００７】
このような背景から，複数のノードを必要に応じて結合することによってマルチプロセッサとして動作させ得るように構成されたコンピュータシステムでは，各ノードの障害情報の適正な管理，例えば，ノードの結合の前後での障害情報の適正な引き継ぎを低コストのアーキテクチャで実現することが望まれている。とりわけ，かかる要求を，標準的なＰＣアーキテクチャに課せられる制約を克服しながら満足させることが望まれている。
【０００８】
特許文献２乃至特許文献６は，複数のコンピュータから障害情報又はシステム情報を収集して管理する技術を開示している。しかし，これらの文献は，いずれも，各ノードと密結合マルチプロセッサとの間の障害情報を引き継ぎについて何ら言及していない。
【特許文献２】特開平８−２６３３２９号公報
【特許文献３】特開平１１−２１２８３６号公報
【特許文献４】特開２０００−１９４５８４号公報
【特許文献５】特開２００１−１０９７０２号公報
【特許文献６】特開２００２−９１９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は，複数のノードを必要に応じて結合することによってマルチプロセッサとして動作させ得るように構成されたコンピュータシステムにおいて，ノードの結合の前後の障害情報の引き継ぎを低コストのアーキテクチャで実現する，好ましくは，標準的なＰＣアーキテクチャと相反せずに実現するための技術を提供することにある。
【課題を解決するための手段】
【００１０】
以下に、上記の目的を達成するための手段を説明する。その手段に含まれる技術的事項には、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために、［発明を実施するための最良の形態］で使用される番号・符号が付加されている。但し、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明による一の観点において，本発明によるコンピュータシステムは，複数のノード（１）を備えている。前記複数のノード（１）のそれぞれは，前記複数のノード（１）のそれぞれの障害情報（１２ｂ）を記憶する不揮発性メモリ（１２）を含む。前記複数のノード（１）の結合によってマルチプロセッサを構築するように要求する結合要求が与えられたとき，前記複数のノード（１）の前記障害情報（１２ｂ）は，対応する前記不揮発性メモリ（１２）からそれぞれに読み出され，前記複数のノード（１）から選択された一のノードに含まれる不揮発性メモリ（１２）に書き込まれる。かかるコンピュータシステムでは，障害情報（１２ｂ）が一のノードに集約される。このため，選択された一のノード以外のノードのブリッジ回路（１４）が非活性化されるようなアーキテクチャ，例えば，ＰＣアーキテクチャに従ったマルチプロセッサが構築されるようなコンピュータシステムでも，結合される全ての複数のノード（１）の障害情報（１２ａ）がマルチプロセッサに引き継がれる。
【００１２】
複数のノード（１）が主記憶装置（１１）と，不揮発性メモリ（１２）に接続されたブリッジ回路（１４）とを含む場合には，前記複数のノード（１）は，下記の動作を行うことが好適である；前記結合要求が与えられたとき，（ａ）前記複数のノード（１）のそれぞれは，それぞれの前記障害情報（１２ｂ）をそれぞれの前記主記憶装置（１１）に格納する。更に，（ｂ）前記複数のノード（１）のうちから選択された結合処理ノードは，前記複数のノード（１）の前記主記憶装置（１１）それぞれの，前記障害情報（１２ｂ）が記憶された領域を含む少なくとも一部の領域を，全体として前記マルチプロセッサの一の主記憶領域として認識し，且つ，前記マルチプロセッサの前記主記憶領域から前記障害情報（１２ｂ）を読み出して，読み出された前記障害情報（１２ｂ）を前記複数のノード（１）から選択された一のノードに含まれるブリッジ回路（１４）を介して前記一のノードに含まれる前記不揮発性メモリ（１２）に書き込む。この構成は，サービスプロセッサを用いることなく，各ノード（１）からマルチプロセッサに障害情報（１２ｂ）を引き継ぐことを可能にする。
【００１３】
前記複数のノード（１）が結合されてマルチプロセッサとして動作しているときに，前記複数のノード（１）に独立して動作するように要求する分割要求が与えられた場合には，下記のようにして障害情報（１２ｂ）の引き継ぎが行われることが好ましい。まず，前記複数のノード（１）のうちから選択された分割処理ノードが，前記複数のノード（１）のそれぞれの前記障害情報（１２ｂ）を，前記一のノードに含まれる前記ブリッジ回路（１４）を介して読み出し，読み出された前記障害情報（１２ｂ）を，それぞれ，対応する前記ノードの前記主記憶装置（１１）に格納する。前記複数のノード（１）のそれぞれは，それぞれの前記主記憶装置（１１）に格納された前記障害情報（１２ｂ）を，それぞれが含む前記不揮発性メモリ（１２）に保存する。これにより，サービスプロセッサを用いることなく，マルチプロセッサから各ノード（１）に障害情報（１２ｂ）を引き継ぐことが可能になる。
【００１４】
他の観点において，本発明によるコンピュータシステム動作方法は，
（ａ）複数のノード（１）の結合によってマルチプロセッサを構築するように要求する結合要求を検出するステップと，
（ｂ）前記結合要求に応答して，前記複数のノード（１）それぞれの障害情報（１２ｂ）を，前記複数のノード（１）の主記憶装置（１１）にそれぞれに格納するステップと，
（ｃ）前記複数のノード（１）の前記主記憶装置（１１）を，全体として，前記マルチプロセッサの一の主記憶領域として認識するステップと，
（ｄ）前記マルチプロセッサの前記主記憶領域から前記障害情報（１２ｂ）を読み出して，読み出された前記障害情報（１２ｂ）を，前記複数のノード（１）から選択された一のノードに含まれるブリッジ回路（１４）を介して前記一のノードに含まれる前記不揮発性メモリ（１２）に書き込むステップ
を備えている。
【００１５】
更に他の観点において，本発明によるコンピュータシステム動作方法は，
（ｆ’）複数のノード（１）が結合されてマルチプロセッサとして動作しているときに，前記複数のノード（１）に独立して動作するように要求する分割要求を検出するステップと，
（ｇ）前記一のノードに含まれる前記不揮発性メモリ（１２）に格納されている前記障害情報（１２ｂ）を，前記一のノードに含まれる前記ブリッジ回路（１４）を介して読み出すステップと，
（ｈ）読み出された前記障害情報（１２ｂ）を，それぞれ，対応する前記ノードの前記主記憶装置（１１）に格納するステップと，
（ｉ）前記複数のノード（１）それぞれの前記主記憶領域に格納された前記障害情報（１２ｂ）を，それぞれが含む前記不揮発性メモリ（１２）に保存するステップ
とを備えている。
【００１６】
前記（ｈ）ステップは，
（ｈ１）前記ノード（１）の前記障害情報（１２ｂ）を，それぞれ，前記マルチプロセッサの主記憶領域の前記ノード（１）の前記主記憶装置（１１）に対応する部分に格納するステップと，
（ｈ２）前記ノード（１）を，前記主記憶装置（１１）の記憶内容を保存したまま再起動するステップ
とによって実現可能である。
【００１７】
更に他の観点において，本発明によるコンピュータプログラムは，他のノード（１）との結合によってマルチプロセッサを構築することが可能に構成されたノード（１）に実行されるプログラムである。当該コンピュータプログラムは，
（Ａ）前記ノード（１）と前記他のノード（１）との結合によってマルチプロセッサを構築するように要求する結合要求に応答して，前記ノード（１）の不揮発性メモリ（１２）に記憶されている障害情報（１２ｂ）を前記ノード（１）に含まれているブリッジ回路（１４）を介して読み出して前記ノード（１）の主記憶装置（１１）に格納するステップと，
（Ｂ）前記ノード（１）が前記マルチプロセッサの起動処理を行う結合処理ノードとして選択されたときに，前記ノード（１）の前記主記憶装置（１１）及び前記他のノード（１）の主記憶装置（１１）それぞれの，前記障害情報（１２ｂ）が記憶された領域を含む少なくとも一部の領域を，全体として前記マルチプロセッサの一の主記憶領域として認識するステップと，
（Ｃ）認識された前記マルチプロセッサの前記主記憶領域から前記障害情報（１２ｂ）を読み出して，読み出された前記障害情報（１２ｂ）を，前記ノード（１）と前記他のノード（１）のうちから選択された一のノードに含まれるブリッジ回路（１４）を介して，前記一のノードの前記不揮発性メモリ（１２）に書き込むステップ
とを前記ノード（１）に実行させる。
【００１８】
更に他の観点において，本発明によるコンピュータプログラムは，他のノード（１）との結合によってマルチプロセッサを構築することが可能に構成されたノード（１）に実行されるプログラムである。当該コンピュータプログラムは，
（Ｄ）前記ノード（１）と前記他のノード（１）とが結合されてマルチプロセッサとして動作している間に，前記ノード（１）が前記マルチプロセッサの分割処理を行う分割処理ノードとして選択されたとき，前記ノード（１）と前記他のノード（１）とのそれぞれの前記障害情報（１２ｂ）を，前記ノード（１）と前記他のノード（１）とのうちの一のノードに含まれるブリッジ回路（１４）を介して，前記一のノードの不揮発性メモリ（１２）から読み出すステップと，
（Ｅ）読み出された前記障害情報（１２ｂ）のそれぞれを，前記ノード（１）及び前記他のノード（１）の対応する主記憶装置（１１）に格納するステップと，
（Ｆ）前記ノード（１）の前記主記憶領域に格納された前記障害情報（１２ｂ）を，前記ノード（１）の不揮発性メモリ（１２）に保存するステップ
とを前記ノード（１）に実行させる。
【発明の効果】
【００１９】
本発明により、複数のノードを必要に応じて結合することによってマルチプロセッサとして動作させ得るように構成されたコンピュータシステムにおいて，ノードの結合の前後の障害情報の引き継ぎを低コストのアーキテクチャで実現することが可能になる。
また，本発明により，複数のノードを必要に応じて結合することによってマルチプロセッサとして動作させ得るように構成されたコンピュータシステムにおいて，ノードの結合の前後の障害情報の引き継ぎを標準的なＰＣアーキテクチャと相反せずに実現することが可能になる。
【発明を実施するための最良の形態】
【００２０】
（１）コンピュータシステムの構成
本発明の実施の一形態では，図１に示されているように，コンピュータシステムは，Ｎ個のノード１を備えている。以下において，ノード１を互いに区別する必要がある場合，ノード１は，それぞれ，ノード＃１，＃２，…，＃Ｎと記載される。ノード１は，いずれも，独立して動作可能なコンピュータシステムであり，いずれもＰＣアーキテクチャに従って設計されている。ノード１は，ノード間接続装置２によって接続されている。ノード間接続装置２を介して相互に結合されることにより，複数のノード１は，密結合マルチプロセッサとして動作可能である。結合後の密結合マルチプロセッサも，ＰＣアーキテクチャに従って動作する。ノード間接続装置２としては，クロスバースイッチのような高速なスイッチが使用される。
【００２１】
図２に示されているように，各ノード１は，ＣＰＵ１０と，主記憶装置１１と，ＮＶＲＡＭ１２と，ノースブリッジ１３と，サウスブリッジ１４と，ＰＣＩバス１５とを備えている。主記憶装置１１は，主記憶領域を各ノード１に提供する。ノースブリッジ１３は，ＣＰＵ１０と主記憶装置１１とを接続し，これらの間のデータの橋渡しをする。ノースブリッジ１３は，ノード間接続装置２にも接続され，他のノード１のノースブリッジ１３と通信可能である。ノード１の間の密結合は，ノースブリッジ１３同士がノード間接続装置２を介して接続されることにより達成される。ノースブリッジ１３は，サウスブリッジ１４に接続されている。サウスブリッジ１４は，ノースブリッジ１３とＰＣＩバス１５との間のデータの橋渡しをする。サウスブリッジ１４は，ＮＶＲＡＭアクセスコントローラ１４ａを内蔵しており，ＮＶＲＡＭ１２へのアクセスを可能にする。当業者にとって周知であるように，ノースブリッジ１３とサウスブリッジ１４とは，別々の半導体チップに搭載される場合があり，一のチップに集積化される場合もある。
【００２２】
ＮＶＲＡＭ１２は，ファームウエア（ＦＷ）１２ａと，各ノード１の障害情報１２ｂとを格納している。ファームウェア１２ａは，ノード１の起動の制御に使用されるソフトウェアであり，ノード１の起動時にＣＰＵ１０によって実行される。ファームウェア１２ａは，ノード１の結合，及び分離を制御する機能を有している。障害情報１２ｂは，各ノード１が有する障害の内容を示す情報である。
【００２３】
ＰＣＩバス１５には，各種の周辺装置が接続される。具体的には，ＰＣＩバス１５には，起動デバイス１６と，ビデオカード１７とが接続されている。起動デバイス１６は，ノード１において起動されるＯＳ（operating system）１６ａを格納している。起動デバイス１６としては，ＨＤＤ（hard disk drive）及びＣＤ−ＲＯＭドライブが例示される。ビデオカード１７は，操作端末１８に接続され，操作端末１８とノード１との遣り取り（インターアクション）を可能にする。ユーザは，操作端末１８を用いてノード１を操作することができる。例えば，ファームウェア１２ａが起動されたときには，操作端末１８にファームウエア起動画面が表示され，ＯＳ１６ａが起動されたときには，ＯＳ１６ａを操作するための画面が表示される。
【００２４】
（２）ノード１の結合時におけるコンピュータシステムの動作
図３は，ノード１の結合時における，本実施の形態のコンピュータシステムの動作を示すフローチャートである。コンピュータシステムに対して起動指示がかかると，その起動指示に応答して，各ノード１のファームウェア１２ａが起動される（ステップＡ０１，Ｂ０１）。ファームウェア１２ａは，それぞれに対応するノード１の立ち上げ処理を開始する（ステップＡ０２，Ｂ０２）。
【００２５】
立ち上げ処理において，ファームウェア１２ａは，ノードの結合が要求されているかを判断する（ステップＡ０３，Ｂ０３）。いくつかの手法がノードの結合を要求するために使用され得る。例えば，ノード１とは別に，ノード１の結合・分割を要求するスイッチがコンピュータシステムに用意され，そのスイッチによってノードの結合をシステムに要求することが可能である。また，ノード１とは別に，管理用コントローラがコンピュータシステムに用意され，ファームウェア１２ａがその管理用コントローラに，ノードの結合が要求されているかを問い合わせることが可能である。
【００２６】
ノードの結合が要求されていない場合，ファームウェア１２ａは，通常の立ち上げ処理を実行する（ステップＡ０４，Ｂ０４）。
【００２７】
一方，ノードの結合が要求されている場合，ファームウェア１２ａは，障害情報１２ｂを，ノードの結合によって構築される密結合マルチプロセッサに引き継ぐための処理を開始する。
【００２８】
障害情報１２ｂの引き継ぎ処理では，まず，図４に示されているように，ファームウェア１２ａは，対応するノード１のＮＶＲＡＭ１２から障害情報１２ｂを読み出す（ステップＡ０５，Ｂ０５）。ファームウェア１２ａは，読み出した障害情報１２ｂを，自ノード１の主記憶領域の所定のアドレスに格納する。
【００２９】
続いて，図３に示されているように，ノード１のうちから選択された一のノードは，ノード１を結合して密結合マルチプロセッサを構築するための処理を開始する（ステップＡ０６〜Ａ０８）。選択されたノードは，以後，ＢＳＰ（bootstrap processor）と呼ばれる。他のノードは，ノード１が結合されてマルチプロセッサが構築されるのを待つ（ステップＢ０６）。
【００３０】
様々な方法が，ＢＳＰの特定の方法として使用され得る。例えば，最も小さいノード番号を有するノード１が，ＢＳＰとして選択され得る。また，ステップＡ０１，Ｂ０１において各ノード１に与えられる起動指示に，ＢＳＰを特定するための情報が含まれることが可能である。
【００３１】
密結合マルチプロセッサを構築するための処理では，まず，ＢＳＰのファームウェア１２ａが，ノード間接続装置２に対して，ノード１の間の結合を指示する結合指示を送る（ステップＡ０６）。ノード間接続装置２は，結合指示に指示されているとおりにノード１を結合する。
【００３２】
更にＢＳＰのファームウェア１２ａは，図４に示されているように，メモリマップの再構築を行い，結合指示に指示されているノード１の主記憶装置１１を，全体として一の主記憶領域として認識する（ステップＡ０７）。認識されたその一の主記憶領域が，ノード１の結合によって構築される密結合マルチプロセッサの主記憶領域として使用される。これにより，ＢＳＰのファームウェア１２ａは，密結合マルチプロセッサの主記憶領域に障害情報１２ｂが格納されていると認識することになる。ただし，ノード１の主記憶装置１１が提供する記憶領域の全体が，密結合マルチプロセッサの主記憶領域として認識される必要はないことに留意されるべきである。ＢＳＰのファームウェア１２ａは，ノード１の主記憶装置１１それぞれが提供する記憶領域から障害情報１２ｂを含む部分のみを選択し，選択された部分を，全体として，密結合マルチプロセッサの一の主記憶領域と認識することが可能である。この動作は，ノード１のそれぞれに，必要なローカルメモリを残しておくために有用である。
【００３３】
メモリマップの再構築の完了後，ＢＳＰのファームウェア１２ａは，密結合マルチプロセッサの主記憶領域の所定のアドレスから各ノード１の障害情報１２ｂを読み出し，読み出された障害情報１２ｂをそのＢＳＰが有するＮＶＲＡＭ１２にサウスブリッジ１４を介して書き込む（ステップＡ０８）。この結果，ＢＳＰのＮＶＲＡＭ１２には，結合に関与した全てのノード１の障害情報１２ｂが格納される。ステップＡ０５，Ｂ０５において障害情報１２ｂが各ノード１の主記憶領域の所定のアドレスに格納されることは，ステップＡ０８において，統合によって生成された主記憶領域からＢＳＰのファームウェア１２ａが障害情報１２ｂを読み出すことを容易にするために重要である。障害情報１２ｂが各ノード１の主記憶領域の所定のアドレスに格納され，その主記憶領域がまとめて一の主記憶領域として再認識されることにより，ＢＳＰは，障害情報１２ｂが，ノードの結合後に主記憶領域のいずれのアドレスに格納されているかを，予め知ることができる。これは，ＢＳＰが，ノードの結合後に障害情報１２ｂを読み出す上で好適である。
【００３４】
ＢＳＰのファームウェア１２ａは，ＢＳＰが有するサウスブリッジ１４を活性化し，他のサウスブリッジ１４を非活性化する。これにより，構築された密結合マルチプロセッサは，結合に関与した全てのノード１の障害情報１２ｂを参照することが可能になる。密結合マルチプロセッサは，以後，ＰＣアーキテクチャに従った動作を行う。
【００３５】
本実施の形態において，結合に関与したノード１の障害情報１２ｂは，ＢＳＰのＮＶＲＡＭ１２ではなく，ＢＳＰ以外から選択された一のノード１に含まれるＮＶＲＡＭ１２に記憶されることが可能である。この場合，ＢＳＰのサウスブリッジ１４の代わりに選択された当該一のノード１のサウスブリッジ１４が活性化され，ＢＳＰのサウスブリッジ１４は非活性化される。
【００３６】
（２）密結合マルチプロセッサの分割時におけるコンピュータシステムの動作
図５は，密結合マルチプロセッサの分割時における，本実施の形態のコンピュータシステムの動作を示すフローチャートである。コンピュータシステムに対して，マルチプロセッサの分割指示を含む起動指示が与えられると，ノード１のうちから選択された一のノードのファームウェア１２ａは，密結合マルチプロセッサを各ノード１に分割する分割処理を開始する（ステップＡ１１）。ステップＡ１１で選択されるノードは，以下，分離処理ノードと呼ばれる。分離処理ノードは，上述のＢＳＰと同じであることも，異なることも可能である。
【００３７】
図６に示されているように，分離処理ノードは，結合に関与した全てのノード１の障害情報１２ｂをＢＳＰのＮＶＲＡＭ１２からサウスブリッジ１４を介して読み出す。結合に関与した全てのノード１の障害情報１２ｂは，結合時に，ＢＳＰのＮＶＲＡＭ１２に書き込まれることに注意されたい。障害情報１２ｂには，ノード１が密結合マルチプロセッサとして動作している間に，ノード１に発生した障害に関する情報が含まれている。分離処理ノードは，障害情報１２ｂのそれぞれを，密結合マルチプロセッサの主記憶領域の所定のアドレスに格納する（ステップＡ１２）。各ノード１の障害情報１２ｂが格納されるアドレスは，各障害情報１２ｂが，密結合マルチプロセッサの主記憶領域内の，対応するノード１の主記憶装置１１に対応する部分に存在するように定められる。
【００３８】
図５に戻って，障害情報１２ｂの主記憶領域への格納が完了すると，分離処理ノードは，ノード間接続装置２に，ノード１を相互に分離することを指示する分離指示を出す。ノード間接続装置２は，分離指示に応答して，結合されたノード１の間のデータの橋渡しを停止する。
【００３９】
更に，分離処理ノードは，全てのノード１に対して，メモリ保存型のシステム再起動（いわゆる，ウォームリブート）を実行させる（ステップＡ２３）。メモリ保存型のシステム再起動により，各ノード１の主記憶装置１１に格納されているデータが保存されたまま，各ノード１のファームウェア１２ａが起動される（ステップＡ２４，Ｂ２４）。メモリ保存型のシステム再起動により，各ノード１のファームウェア１２ａは，その主記憶領域に自己の障害情報１２ｂが格納されていると認識することになる。続いてファームウェア１２ａは，各ノード１の立ち上げ処理を開始する（ステップＡ２５，Ｂ２５）。
【００４０】
立ち上げ処理において，各ノード１のファームウェア１２ａは，密結合マルチプロセッサの分割が要求されているかを判断する（ステップＡ２６，Ｂ２６）。いくつかの手法が分割を要求するために使用され得る。例えば，ノード１とは別に，ノード１の結合・分割を要求するスイッチがコンピュータシステムに用意され，そのスイッチによってノードの結合を要求することが可能である。また，ノード１とは別に，管理用コントローラがコンピュータシステムに用意され，ファームウェア１２ａがその管理用コントローラに，マルチプロセッサの分割が要求されているかを問い合わせることが可能である。
【００４１】
マルチプロセッサの分割（及びノードの結合）が要求されていない場合，各ノード１のファームウェア１２ａは，通常の立ち上げ処理を実行する（ステップＡ２７，Ｂ２７）。
【００４２】
一方，マルチプロセッサの分割が要求されている場合，ファームウェア１２ａのそれぞれは，対応する自ノード１の主記憶空間から障害情報１２ｂを読み出し，自ノード１のＮＶＲＡＭ１２に格納する（ステップＡ２８，Ｂ２８）。メモリ保存型のシステム再起動では，主記憶空間に格納されているデータが初期化されないことに留意されたい。以上の過程により，密結合マルチプロセッサの分割時に，密結合マルチプロセッサから各ノード１に障害情報を引き継ぐことが可能である。
【００４３】
本実施の形態において，障害情報の引き継ぎが，ファームウェア１２ａによって実施されることは重要である。ファームウェア１２ａによって障害情報の引き継ぎが行われていることは，障害情報の管理専用のハードウエアを不要化し，コストの抑制に有利である。
【００４４】
以上に説明されているように，本実施の形態のコンピュータシステムは，各ノード１と，それらの結合によって構築される密結合マルチプロセッサとの間で障害情報を円滑に引き継ぐことができる。
【図面の簡単な説明】
【００４５】
【図１】図１は、本発明の実施の一形態におけるコンピュータシステムの構成を示すブロック図である。
【図２】図２は、本実施の形態のコンピュータシステムのノードの構成を示すブロック図である。
【図３】図３は、ノードの結合時におけるコンピュータシステムの動作を示すフローチャートである。
【図４】図４は、障害情報がノードから密結合マルチプロセッサに引き継がれる過程を示すブロック図である。
【図５】図５は、密結合マルチプロセッサの分割時におけるコンピュータシステムの動作を示すフローチャートである。
【図６】図６は、障害情報が密結合マルチプロセッサから各ノードに引き継がれる過程を示すブロック図である。
【符号の説明】
【００４６】
１：ノード
２：ノード間接続装置
１０：ＣＰＵ
１１：主記憶装置
１２：不揮発性メモリ（ＮＶＲＡＭ）
１２ａ：ファームウェア（ＦＷ）
１２ｂ：障害情報
１３：ノースブリッジ
１４：サウスブリッジ
１５：ＰＣＩバス
１６：起動デバイス
１６ａ：ＯＳ
１７：ビデオカード
１８：操作端末
【図１】
2005173830.tif 000003
【図２】
2005173830.tif 000004
【図３】
2005173830.tif 000005
【図４】
2005173830.tif 000006
【図５】
2005173830.tif 000007
【図６】
2005173830.tif 000008