(57)【要約】【課題】ＮＵＭＡシステムにおけるチェックポイントリスタート機能として、リスタート時に、プロセスの復元を任意の２つ以上のノードを指定して行うことができるシステムを提供する。【解決手段】論理ノード番号と物理ノード番号との対応関係を示すノード番号変換テーブルを含むジョブ管理情報を記憶する手段と、前記論理ノード番号を含むプロセス管理情報を記憶する手段と、前記各情報を取得してリスタートファイルを作成する手段と、リスタートファイルから前記各情報を復元する手段と、リスタート要求時に、前記復元したノード番号変換テーブルを更新する手段と、前記復元した前記論理ノード番号に対応する物理ノード番号を前記更新されたノード番号変換テーブルを参照して決定する手段と、前記決定された物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元する手段と、を備えるコンピュータシステム。【選択図】図２
2011186606.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムであって、
ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶するジョブ管理情報記憶手段と、
前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶するプロセス管理情報記憶手段と、
チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成するリスタートファイル作成手段と、
リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する復元手段と、
前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元した前記ジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する更新手段と、
前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する決定手段と、
前記決定された前記物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元するプロセス復元手段と、
を備えるコンピュータシステム。
【請求項２】
前記リスタートファイル作成手段は、前記チェックポイント要求を所定のタイミングで受け付けるごとに、前記リスタートファイルを作成する請求項１に記載のコンピュータシステム。
【請求項３】
前記複数のノードのうち少なくとも１つのノードにおいて障害が発生した場合、
前記復元手段は、前記リスタートファイル作成手段により作成された最新の前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元し、
前記更新手段は、前記復元したジョブ管理情報に含まれる前記ノード番号変換テーブルにおいて、前記障害が発生したノードの物理ノード番号を他の物理ノード番号に更新する、請求項２に記載のコンピュータシステム。
【請求項４】
少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムにおけるチェックポイントリスタート方法であって、
ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶する段階と、
前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶する段階と、
チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成する段階と、
リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する段階と、
前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する段階と、
前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する段階と、
前記決定された物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元する段階と、
を備えるチェックポイントリスタート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、およびそのチェックポイントリスタート方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、障害回復やプロセスのマイグレーションのため、ある時点でのプロセス群の状態を保存し、後に、保存した状態からプロセスを再開する方法として、チェックポイント／リスタート機能が知られている。
【０００３】
チェックポイント機能は、カーネルレベルで実現するものとして、プロセスで使用するデータ、プログラムテキスト等のユーザレベルの情報と、プロセス管理、ジョブ管理データ等のカーネルレベルの情報とをリスタートファイルとしてまとめて保存する。また、リスタート機能は、リスタートファイルとして保存した時点におけるプロセスの状態をシステムに復元する。このようなチェックポイント／リスタート機能の動作例は、下記特許文献１に記載されている。
【０００４】
しかしながら、特許文献１に記載のチェックポイント／リスタート機能は、ＳＭＰ（Ｓｙｍｍｅｔｒｉｃａｌ  Ｍｕｌｔｉ−Ｐｒｏｃｅｓｓｉｎｇ）システムでの利用を前提としており、ＮＵＭＡ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）システムでのノード構成の復元までは考慮されていない。
【０００５】
ＮＵＭＡシステムとは、１つ以上のＣＰＵとメモリが対になったノードを１つ以上有するアーキテクチャであり、自ノード内のＣＰＵとメモリの通信速度は速く、他のノード上のＣＰＵとメモリへの通信速度は著しく遅いという特徴を有する。そのため、ＮＵＭＡシステムは、ジョブを実行する際、関連するプロセスはできるだけ１つのノード内で処理を行うようにノードを割り当てるノード構成制御を行うことが、高実行効率を実現する上で重要である。
【０００６】
よって、特許文献１に記載のチェックポイント／リスタート機能を、ＮＵＭＡシステムにおける障害対応等のために使用した場合、上記ノード構成制御などにより、ジョブ生成時とは異なるノード構成でリスタートする可能性があり、プロセスが実行されるノードの識別番号と、プロセスが保持しているノードの識別番号とが異なってしまう。この場合、プロセスは、自ノード以外の他ノードにアクセスすることになるため、システム上の通信速度が低下し、システム性能は著しく低下してしまう。また、複数のＮＵＭＡシステム間で処理を実行するマルチノードシステムでは、処理自体がエラーになる可能性もある。これらの問題を回避するためには、ジョブ生成時と同じノード構成で復元する必要があるが、その場合は、障害時のノード管理やスケジュール管理の柔軟性に欠けてしまうという問題が生じる。
【０００７】
よって、ＮＵＭＡシステムに適したチェックポイント／リスタート方法の開発が望まれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−２３０９８１号公報
【特許文献２】特開２００２−２８８１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＮＵＭＡシステムを前提としたチェックポイント／リスタート機能としては、ＳＧＩ／ＩＲＩＸのチェックポイント／リスタート機能が知られている。しかし、該チェックポイント／リスタート機能は、リスタートファイル保存時のノードや、任意のノードにプロセスを復元することは可能であっても、２つ以上のノードを指定してプロセスを割り当てて復元することはできないという問題点があった。
【００１０】
また、特許文献２にも、ＮＵＭＡシステムを前提としたチェックポイント／リスタート機能に関する技術が開示されている。特許文献２に記載の技術は、システムコールの前後において、ノード座標変換テーブルを用いて、ジョブの初回起動時（生成時）に割り当てられたノード座標と、リスタート時に再度割り当てるノード座標の変換を行うものである。しかし、該チェックポイント／リスタート機能は、ノード座標変換テーブルがシステム内に１つしかないため、あるジョブがノード座標変換テーブルの操作のために排他制御でロックした場合、他のジョブは実行を待たされてしまい、ジョブの実行効率が落ちるという問題があった。また、システムコール、チェックポイント、リスタートのたびに、ノード座標変換テーブルにエントリがあるか否かを確認する必要があり、ＣＰＵの投機実行が無駄になる可能性もある。
【００１１】
したがって、本発明は上記問題点を解決し、ＮＵＭＡシステムにおけるチェックポイント／リスタート機能として、リスタート時に、プロセスの復元を任意の２つ以上のノードを指定して行うことができ、また、他のジョブからの影響を受けずに実行できる新しいコンピュータシステム、およびチェックポイントリスタート方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるコンピュータシステムは、少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムであって、ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶するジョブ管理情報記憶手段と、前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶するプロセス管理情報記憶手段と、チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成するリスタートファイル作成手段と、リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する復元手段と、前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元した前記ジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する更新手段と、前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する決定手段と、前記決定された前記物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元するプロセス復元手段と、を備える。
【００１３】
本発明によるチェックポイント／リスタート方法は、少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムにおけるチェックポイントリスタート方法であって、ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶する段階と、前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶する段階と、チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成する段階と、リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する段階と、前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する段階と、前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する段階と、前記決定された物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元する段階と、を備える。
【発明の効果】
【００１４】
以上のように構成された本発明によれば、リスタート処理時に、必要に応じて、ノード番号変更テーブルを更新することで、ジョブのプロセスの復元を任意のノードに対して行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のＮＵＭＡシステムのハードウェア構成を例示する図である。
【図２】本実施形態のチェックポイント／リスタート機能を有するノードの概略構成を例示する図である。
【図３】本実施形態のノード番号変換テーブルの遷移を説明するための図である。
【図４】本実施形態のチェックポイント／リスタート方法におけるチェックポイントの処理内容を示すフローチャートである。
【図５】本実施形態のチェックポイント／リスタート方法におけるリスタートの処理内容を示すフローチャートである。
【図６】本実施形態の変形例のノード番号変換テーブルの遷移を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための好適な実施形態を、図面を参照しながら説明する。なお、以下の実施形態では、コンピュータシステムとして、１つ以上のノードがインターコネクトにより相互に接続され、二次記憶装置を共有するＮＵＭＡシステムを用いる場合を例にとって説明する。
【００１７】
図１は、本発明の実施形態のＮＵＭＡシステム（以下、「システム」と称する）１の概略構成を例示する図であり、図２は、本実施形態のチェックポイント／リスタート機能を有するノードの概略構成を例示する図である。
【００１８】
システム１は、図１に示すとおり、複数のノード１００，１１０，・・１５０がインターコネクトにより相互に接続され、二次記憶装置２００を共有する。
【００１９】
ノード１００は、１つ以上のＣＰＵと、メインメモリ（たとえば、ＲＯＭやＲＡＭなどのメモリ）とから構成される。ノード１１０，・・・，１５０も、ノード１００と同様に構成される。二次記憶装置２００は、各ノード１００，・・・１５０に共有のデータベースであって、後述するリスタートファイルを記憶する。二次記憶装置２００は、たとえば、ＨＤＤなどの記憶装置を用いることができる。なお、ノード１００自体のハードウェア構成は、原則として、従来のＮＵＭＡシステムで用いられるノードと同様とすることができるので、ここでの詳細な説明は省略する。また、ノードの数は、６つに限られず、適宜変更することができる。
【００２０】
ノード１００は、カーネル部１０１やジョブ部１０２などの実行イメージを格納し、本実施形態のチェックポイント／リスタート機能を有する。
【００２１】
ジョブ部１０２は、１つ以上のプロセス群で構成され、１つ以上のノードに分散して実行される多数のプロセスをまとめて管理する。
【００２２】
カーネル部１０１は、図２に示すように、ジョブ管理情報記憶手段１０、プロセス管理情報記憶手段１１、リスタートファイル作成手段１２、リスタートファイル復元手段１３、更新手段１４、物理ノード番号決定手段１５、プロセス復元手段１６、およびリスタートファイル入出力手段１７を含む。なお、本実施形態では、カーネル部１０１の実行イメージがノード１００に格納されている場合を例として説明するが、カーネル部がどのノードに格納されるかはＯＳの実装に依存するものとする。また、これら各手段は、たとえば、主にＣＰＵがメインメモリに格納されるプログラムを実行し、各ハードウェアを制御することにより、実現することができる。
【００２３】
ジョブ管理情報記憶手段１０は、プロセス群が属するジョブの実行に必要な情報を保持し、論理ノード番号と物理ノード番号との対応関係を表すノード番号変換テーブルを含むジョブ管理情報を記憶する。ノード番号変換テーブルは、ジョブが生成されると作成され、ジョブ管理情報記憶手段１０に記憶される。なお、ノード番号変換テーブルは、複数のジョブごとに作成され、ジョブ管理情報記憶手段１０に記憶することができる。
【００２４】
ここで、本実施形態において、論理ノード番号とは、システム１内で利用可能であるノードの識別番号であって、ジョブのプロセスごとに割り当てられる。論理ノード番号は、０から始まり、使用するノード数分、たとえば、ノード数が６であれば、０〜５の番号を用意する。一方、物理ノード番号とは、各ノード１００，・・・１５０のシステム１内で一意かつ固定に割り当てられるノード識別番号である。物理ノード番号は、たとえば、障害等により利用できないノードの場合、欠番となる。
【００２５】
プロセス管理情報記憶手段１１は、プロセスの実行に必要な情報を保持し、論理ノード番号および物理ノード番号を含むプロセス管理情報を記憶する。プロセス管理情報は、ジョブに属するプロセスの生成時に、ジョブ管理情報記憶手段１０のノード番号変換テーブルを参照して、使用するノードの論理ノード番号と物理ノード番号の情報を得て、プロセス管理情報記憶手段１１に記憶される。
【００２６】
リスタートファイル作成手段１２は、チェックポイント要求を受け付けると、実行中のジョブに関するジョブ管理情報、および該ジョブの各プロセスに関するプロセス管理情報をそれぞれジョブ管理情報記憶手段１０およびプロセス管理情報記憶手段１１から取得して、該取得したジョブ管理情報およびプロセス管理情報から、ジョブをリスタートするためのリスタートファイルを作成する。すなわち、リスタートファイル作成手段１２は、チェックポイント機能（実行中のジョブの状態のスナップショットを取る機能）を有し、作成したリスタートファイルを、リスタートファイル入出力手段１７を介して二次記憶装置２００に格納する。また、リスタートファイル作成手段１２は、チェックポイント要求を所定のタイミング（たとえば、定期的に）で受け付けるごとに、前記リスタートファイルを作成することもできる。なお、チェックポイント要求の発行は、ユーザによって発行の回数・タイミングを適宜決めることができる。
【００２７】
ここで、リスタートファイル復元手段１３、更新手段１４、物理ノード番号決定手段１５、およびプロセス復元手段１６は、本実施形態において、リスタート機能として機能する。リスタート機能は、リスタートファイルから各管理情報、実行イメージを復元し、チェックポイント機能の実行時のジョブの状態から実行を再開する機能である。
【００２８】
リスタートファイル復元手段（復元手段）１３は、リスタート要求を受け付けると、リスタートファイル入出力手段１７を通じて二次記憶装置２００からリスタートファイルを取得し、該取得したリスタートファイルからジョブ管理情報およびプロセス管理情報を復元する。
【００２９】
更新手段１４は、リスタート要求時において、ジョブのプロセスを実行するノードの更新要求を受け付けると、復元したジョブ管理情報に含まれるノード番号変換テーブルを更新する。一例として、復元されたノード番号変換テーブルの更新前のテーブルおよび該テーブルで示す場合の各プロセス群の各ノードへの配置の関係を図３（ａ）に示し、更新後のテーブルおよび該テーブルで示す場合の各プロセス群の各ノードへの配置の関係を図３（ｂ）に示す。
【００３０】
物理ノード番号決定手段（決定手段）１５は、復元したプロセス管理情報に含まれるジョブのプロセスごとに割り当てられた論理ノード番号に対応する物理ノード番号を、ノード番号変換テーブルを参照して決定する。物理ノード番号決定手段１５は、上記更新手段１４によってノード番号変換テーブルが更新された場合、更新されたノード番号変換テーブルを参照して決定し、一方、更新手段１４によってノード番号変換テーブルが更新されていない場合、リスタートファイル復元手段１３によって復元したジョブ管理情報に含まれるノード番号変換テーブルを参照して決定する。
【００３１】
プロセス復元手段１６は、物理ノード番号決定手段１５によって決定された物理ノード番号を有するノード上でジョブのプロセスを復元する。
【００３２】
リスタートファイル入出力手段１７は、上述のように、ノード１００の各手段と二次記憶装置２００とでリスタートファイルの入出力を実行する。
【００３３】
以下、図４，５に示すフローチャートを参照して、システム１を用いて実施される本実施形態のチェックポイント／リスタート方法を説明する。なお、システム１は、ノード１〜６（各物理ノード番号は「１」〜「６」とする）を含んで構成され、ノード１がチェックポイント／リスタート方法を実行する上述した各手段を有しているものとする。また、チェックポイント／リスタート方法を実行する前処理として、ジョブ管理情報記憶手段１０には、ジョブ生成時のノード番号変換テーブルが記憶されており、また、プロセス管理情報記憶手段１１には、実行中のジョブの各プロセスの論理ノード番号および物理ノード番号が記憶されているものとする。
【００３４】
図４を用いて、本実施形態のチェックポイント方法について説明する。なお、図４に示す各処理は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００３５】
まず、ノード１は、チェックポイント要求を受け付ける（ステップＳ１００）。チェックポイント要求は、たとえば、一定時間経過後、定期的に発行される。
【００３６】
チェックポイント要求を受け付けると、ノード１は、ジョブを構成するプロセス群の実行状態を停止にし（ステップＳ１０１）、全プロセスの停止を確認後、ジョブ管理情報記憶手段１０から、ノード番号変換テーブルを含むジョブ管理情報を取得する（ステップＳ１０２）。ノード番号変換テーブルは、たとえば、各プロセスの実行が、図３（ａ）の右図に示すように、ノード２，３，５（物理ノード番号「２」，「３」，「５」）で実行されていた場合、図３（ａ）の左図に示すテーブルとなる。
【００３７】
次いで、ノード１は、全プロセスについて、論理ノード番号を含むプロセス管理情報、およびプロセス実行イメージを取得する（ステップＳ１０３，Ｓ１０４）。
【００３８】
次いで、ノード１は、上記取得した各情報と、リスタートに必要な情報をまとめ、リスタートファイルを作成する（ステップＳ１０５）。
【００３９】
次いで、ノード１は、作成したリスタートファイルを、リスタートファイル入出力手段１７を通じて二次記憶装置２００に出力する（ステップＳ１０６）。
【００４０】
なお、上記ステップＳ１００〜Ｓ１０６の各処理は、チェックポイント採取手段として、リスタートファイル作成手段１２によって処理され得る。
【００４１】
次に、図５を用いて、本実施形態のリスタート方法について説明する。なお、図５に示す各処理は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００４２】
まず、ノード１は、リスタート要求を受け付ける（ステップＳ２００）。
【００４３】
リスタート要求を受け付けると、ノード１は、リスタートファイル入出力手段１７を通じて、二次記憶装置２００からリスタートファイルを取得して読み込む（ステップＳ２０１）。
【００４４】
次いで、ノード１は、リスタートファイルに含まれるジョブ管理情報を復元し、ノード番号変換テーブルなどジョブ実行の再開に必要な各情報を復元する（ステップＳ２０２）。
【００４５】
リスタート要求時に、物理ノード番号の更新要求を受け付けた場合（ステップＳ２０３：Ｙｅｓ）、ノード１は、復元したノード番号変換テーブルを更新する（ステップＳ２０３：Ｎｏ）。たとえば、復元されたノード番号変換テーブルの更新前のテーブルを図３（ａ）に示し、更新後のテーブルおよび該テーブルの時の各プロセス群の各ノードへの配置の関係を図３（ｂ）に示す。図３（ａ），（ｂ）に示すように、論理ノード「０」に対応する物理ノードを「２」→「１」、論理ノード１に対応する物理ノードを「３」→「４」に更新している。なお、物理ノード番号の更新要求を受け付けていない場合（ステップＳ２０３：Ｎｏ）、ノード１は、ノード番号変換テーブルの更新をせずに、ステップＳ２０５の処理に移る。
【００４６】
次いで、ノード１は、リスタートファイルに含まれる全プロセスについて、プロセス管理情報を復元し（ステップＳ２０５）、チェックポイント要求時に利用していた論理ノード番号から対応する物理ノード番号をノード番号変換テーブルから決定し（ステップＳ２０６）、物理ノード番号を持つノード上にプロセスを復元する（ステップＳ２０７）。たとえば、復元した論理ノード番号が「０」のとき、物理ノード番号の更新要求を受け付けていない場合では、図３（ａ）のノード番号変換テーブルを用いるため、プロセスを復元するノードの物理ノード番号は「２」となる。一方、物理ノード番号の更新要求を受け付けた場合では、図３（ｂ）のノード番号変換テーブルを用いるため、プロセスを復元するノードの物理ノード番号は「１」となる。
【００４７】
なお、上記ステップＳ２００〜Ｓ２０２，ステップＳ２０５の各処理は、リスタートファイル復元手段によって処理され、ステップＳ２０３，Ｓ２０４の各処理は、更新手段１４によって処理され、ステップＳ２０６の処理は、物理ノード番号決定手段１５によって処理され、ステップＳ２０７の処理は、プロセス復元手段１６によって処理され得る。
【００４８】
以上のように、本実施形態のシステム１およびそのチェックポイント／リスタート方法によれば、プロセスの復元を任意の２つ以上のノードに対して行うことができる。その理由は、リスタート時にノード番号変換テーブルを必要に応じて更新することで、論理ノード番号に対応する物理ノード番号を変更することができるためである。
【００４９】
また、物理的なノード構成を意識することなくジョブを実行することができる。その理由は、ユーザは論理ノード番号を使って処理を行うため、リスタート時の物理ノードの構成変化に影響されないためである。
【００５０】
さらに、リスタート時に、論理ノード番号と物理ノード番号の対応表であるノード番号変換テーブルをジョブごとに用いることで、任意の物理ノード群にプロセスを復元し、他のジョブからの影響を受けずに実行することができる。
＜変形例＞
【００５１】
以上のように本発明の好適な実施形態について説明したが、本発明は、以上の実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想および範囲を逸脱することなく、種々の変形、追加、および省略が当業者によって可能である。
【００５２】
たとえば、上記本実施形態のシステム１は、定期的にチェックポイントを採取して障害に備えているものとし、障害によってジョブの各プロセスの実行処理の続行が不能になった場合に、障害直前に採取したリスタートファイルを復元してジョブの復旧を実施するようにしてもよい。たとえば、図６（ａ）の右図に示すように、６つのノードを備えるＮＵＭＡシステムにおいて、各ノードに１つずつプロセスが実行されているとすると、この時のノード番号変換テーブルは、図６（ａ）の左図のようになる。ノード２が障害によってプロセスの実行処理の続行が不能になった場合、障害直前に採取したリスタートファイルを復元しジョブの復旧を行う。すなわち、ノード２は使用できないため、リスタート時に更新手段１４によって物理ノード番号を更新する。障害前に論理ノード番号「０」に割り当てられていた物理ノード番号「２」を、物理ノード番号「５」に更新した場合のノード番号変換テーブルを図６（ｂ）の左図に示す。ノード２（物理ノード番号「２」）で動いていたプロセス３の復元は、更新されたノード番号変換テーブルを用いるため、論理ノード番号「０」に対応する物理ノード番号「５」のノード５で実行される。
【００５３】
また、上記実施形態では、システムを構成する１つのノードにおいて、チェックポイント／リスタート機能を有する各手段が備えられている構成を説明したが、本発明はこれに限られず、たとえば、各ノードに通信可能に接続される別途のノード管理装置を設けて、該ノード管理装置にチェックポイント／リスタート機能を実行させる構成とすることもできる。また、１つのノードに備えられている各手段は、そのいくつかを一纏めにして構成されていてもよいし、一つの手段をさらに複数の手段に分割して構成されていてもよい。
【００５４】
さらに、上記実施形態では、ＮＵＭＡシステムを例にとって説明したが、少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムにおいて適用することができる。
【００５５】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５６】
（付記１）少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムであって、ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶するジョブ管理情報記憶手段と、前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶するプロセス管理情報記憶手段と、チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成するリスタートファイル作成手段と、リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する復元手段と、前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元した前記ジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する更新手段と、前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する決定手段と、前記決定された前記物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元するプロセス復元手段と、を備えるコンピュータシステム。
【００５７】
（付記２）前記リスタートファイル作成手段は、前記チェックポイント要求を所定のタイミングで受け付けるごとに、前記リスタートファイルを作成する付記１に記載のコンピュータシステム。
【００５８】
（付記３）前記複数のノードのうち少なくとも１つのノードにおいて障害が発生した場合、前記復元手段は、前記リスタートファイル作成手段により作成された最新の前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元し、前記更新手段は、前記復元したジョブ管理情報に含まれる前記ノード番号変換テーブルにおいて、前記障害が発生したノードの物理ノード番号を他の物理ノード番号に更新する、請求項２に記載のコンピュータシステム。
【００５９】
（付記４）少なくとも１以上のプロセッサ、および該少なくとも１以上のプロセッサが共有するメモリをそれぞれ有する複数のノードを含んで構成されるコンピュータシステムにおけるチェックポイントリスタート方法であって、ジョブのプロセスごとに割り当て可能な論理ノード番号と、前記ジョブのプロセスを実行する前記ノードに固有の物理ノード番号との対応関係を示すノード番号変換テーブルの情報を含むジョブ管理情報を記憶する段階と、前記ジョブのプロセスごとに割り当てられた前記論理ノード番号の情報を含むプロセス管理情報を記憶する段階と、チェックポイント要求を受け付けると、実行中のジョブに関する前記ジョブ管理情報、および該ジョブの各プロセスに関する前記プロセス管理情報をそれぞれ前記ジョブ管理情報記憶手段および前記プロセス管理情報記憶手段から取得して、該取得した前記ジョブ管理情報および前記ジョブ管理情報から前記ジョブをリスタートするためのリスタートファイルを作成する段階と、リスタート要求を受け付けると、前記リスタートファイルから前記ジョブ管理情報、および前記プロセス管理情報を復元する段階と、前記リスタート要求時において、前記物理ノード番号の更新要求を受け付けると、前記復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを更新する段階と、前記復元したプロセス管理情報に含まれる前記ジョブのプロセスごとに割り当てられた前記論理ノード番号に対応する前記物理ノード番号を、前記物理ノード番号の更新要求を受け付けた場合、前記更新手段により更新された前記ノード番号変換テーブルを参照して決定し、前記物理ノード番号の更新要求を受け付けていない場合、前記復元手段により復元したジョブ管理情報に含まれる前記ノード番号変換テーブルを参照して決定する段階と、前記決定された物理ノード番号を有する前記ノード上で前記ジョブのプロセスを復元する段階と、を備えるチェックポイントリスタート方法。
【符号の説明】
【００６０】
１  ＮＵＭＡシステム、
１０  プロセス管理情報、
１１  ジョブ管理情報、
１２  リスタートファイル作成手段、
１３  リスタートファイル復元手段、
１４  更新手段、
１５  物理ノード番号決定手段、
１６  プロセス復元手段、
１７  リスタートファイル入出力手段、
１００  ノード
１０１  カーネル部、
１０２  ジョブ部、
２００  二次記憶装置。
【図１】
2011186606.tif 000003
【図２】
2011186606.tif 000004
【図３】
2011186606.tif 000005
【図４】
2011186606.tif 000006
【図５】
2011186606.tif 000007
【図６】
2011186606.tif 000008