"各々がCPU計算主体、チェックシステムおよびメモリを含むノードとして独立してコンピュータ計算を進めることが可能であって、あるノード自己ノード及び少なくとも1つの他のノード非自己ノードを含み、これら複数のノードが互いに通信できるようにリンクされており、これらの複数のノードにわたって、何らかの離散時間に属する計算用データグループデータ配列などをある離散時間から次の離散時間へと発展させながら、コンピュータ計算を並列に進めていく方法であって、あるノードにおいて、ある離散時間に属する計算用データグループに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行するステップと、あるノードにおいて、開始したコンピュータ計算を停止中断することなく、反復法の計算の実行に並行して、反復法の計算を実行している途中の所定のタイミング時点において、チェックポイントとしての中間計算データグループを取得するステップと、あるノードにおいて、取得したチェックポイントしての中間計算データグループを、外部メモリに記憶するステップと、あるノードにおいて、次の離散時間へと離散時間を発展させる前に、他のノードにおいて並列に進められているところの前述した全てのステップが完了していることが確認されるのを待つステップと、完了が確認されたことに応じて、あるノードにおいて、収束した計算結果を参照して、次の離散時間に属する計算用データグループに基づいたコンピュータ計算を開始するステップとを有する、方法。さらに、チェックポイントからの回復として、あるノードにおいて、外部メモリに記憶されているところの、取得したチェックポイントとしての中間計算データグループを参照するステップと、あるノードにおいて、これらデータグループおよびデータに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行するステップとを有する、請求項1に記載の方法。各々がCPU計算主体、チェックシステムおよびメモリを含むノードとして独立してコンピュータ計算を進めることが可能であって、あるノード自己ノード及び少なくとも1つの他のノード非自己ノードを含み、これら複数のノードが互いに通信できるようにリンクされており、これらの複数のノードにわたって、何らかの離散時間に属する計算用データグループデータ配列などをある離散時間から次の離散時間へと発展させながら、コンピュータ計算を並列に進めていく、システムであって、あるノードにおいて、ある離散時間に属する計算用データグループに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行し、あるノードにおいて、開始したコンピュータ計算を停止中断することなく、反復法の計算の実行に並行して、反復法の計算を実行している途中の所定のタイミング時点において、チェックポイントとしての中間計算データグループを取得し、あるノードにおいて、取得したチェックポイントしての中間計算データグループを外部メモリに記憶し、あるノードにおいて、次の離散時間へと離散時間を発展させる前に、他のノードにおいて並列に進められているところの前述した全ての処理が完了していることが確認されるのを待ち、完了が確認されたことに応じて、あるノードにおいて、収束した計算結果を参照して、次の離散時間に属する計算用データグループに基づいたコンピュータ計算を開始する、システム。さらに、チェックポイントからの回復として、あるノードにおいて、外部メモリに記憶されているところの、取得したチェックポイントとしての中間計算データグループを参照し、あるノードにおいて、これらデータグループおよびデータに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行する、請求項3に記載のシステム。CPU計算主体、チェックシステムおよびメモリを含むノードとして独立してコンピュータ計算を進めることが可能であって、少なくとも1つの他のノード非自己ノードとの間で互いに通信できるようにリンクされており、これらの複数のノードにわたって、何らかの離散時間に属する計算用データグループデータ配列などをある離散時間から次の離散時間へと発展させながら、コンピュータ計算を並列に進めていく、ノード自己ノードにおいて実行する方法であって、ある離散時間に属する計算用データグループに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行するステップと、開始したコンピュータ計算を停止中断することなく、反復法の計算の実行に並行して、反復法の計算を実行している途中の所定のタイミング時点において、チェックポイントとしての中間計算データグループを取得するステップと、取得したチェックポイントしての中間計算データグループを、外部メモリに記憶するステップと、次の離散時間へと離散時間を発展させる前に、他のノードにおいて並列に進められているところの前述した全ての処理が完了していることが確認されるのを待つステップと、完了が確認されたことに応じて、収束した計算結果を参照して、次の離散時間に属する計算用データグループに基づいたコンピュータ計算を開始するステップとを有する、ノード自己ノードにおいて実行する方法。さらに、チェックポイントからの回復として、外部メモリに記憶されているところの、取得したチェックポイントとしての中間計算データグループを参照するステップと、これらデータグループおよびデータに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行するステップとを有する、請求項5に記載のノード自己ノードにおいて実行する方法。CPU計算主体、チェックシステムおよびメモリを含むノードとして独立してコンピュータ計算を進めることが可能であって、少なくとも1つの他のノード非自己ノードとの間で互いに通信できるようにリンクされており、これらの複数のノードにわたって、何らかの離散時間に属する計算用データグループデータ配列などをある離散時間から次の離散時間へと発展させながら、コンピュータ計算を並列に進めていく、ノード自己ノードであって、ある離散時間に属する計算用データグループに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行し、開始したコンピュータ計算を停止中断することなく、反復法の計算の実行に並行して、反復法の計算を実行している途中の所定のタイミング時点において、チェックポイントとしての中間計算データグループを取得し、取得したチェックポイントしての中間計算データグループを、外部メモリに記憶し、次の離散時間へと離散時間を発展させる前に、他のノードにおいて並列に進められているところの前述した全ての処理が完了していることが確認されるのを待ち、完了が確認されたことに応じて、収束した計算結果を参照して、次の離散時間に属する計算用データグループに基づいたコンピュータ計算を開始する、ノード自己ノード。さらに、チェックポイントからの回復として、外部メモリに記憶されているところの、取得したチェックポイントとしての中間計算データグループを参照し、これらデータグループおよびデータに基づいたコンピュータ計算を開始して、その計算結果が所定の範囲に収束するまで反復法の計算を実行する、請求項7に記載のノード自己ノード。請求項1、2、5または6の何れかに記載の方法の各ステップを、あるノード自己ノードに含まれるところの、CPU計算主体若しくはチェックシステムまたはこれらを一体にしたものに実行させる、コンピュータプログラム。本発明の目的は、反復法のコンピュータ計算を並列に進めていくにあたって、チェックポイント取得を行うこと、および、回復にあたってその取得されたデータを効率的に生かすことにある。時間発展計算等反復法を繰り返す並列計算中のCheckpoint取得時、各ノードで独立に計算を停止せず、計算と並行してCheckpointを取得する。これによりCheckpoint取得時間中の計算停止が不要となり、計算とCheckpoint取得を同時に行うことが可能になる。計算がIOボトルネックで無い場合、Checkpoint取得時間が隠蔽され実行時間が削減される。その際、Checkpoint取得処理が全ノード並列計算が進められている非自己ノードで同一の反復法計算内で終了するよう、反復計算の終了時に全ノードでCheckpoint処理の終了を待ち合わせる。この方法では、取得処理中の異なる時点の値を含むCheckpointデータが取得されるが、反復法の収束計算に用途を限定することにより、収束先が初期値に依存しない問題においてCheckpointデータ中の異なる時点の値の混在が許容されることによる。図1は、本発明が適用されるところの、基本単位となるノードの構成と、その複数のノードが通信リンクを形成している構成を示す図である。本発明では、外部メモリの接続方式、媒体の種類は問わないが、外部メモリには通常NASSAN等で結合されたハードディスク等の不揮発性メモリが用いられる。各ノードは、CPU計算主体、チェックポイントシステムおよびメモリを含み、独立してコンピュータ計算を進めることが可能である。図1中では、並列に計算を進めていくところの全ノードのうち、ノード自己ノード及び少なくとも1つの他のノード非自己ノードが示されており、これら複数のノードが互いに通信できるようにリンクされている。図2は、反復法の計算における時間発展と、チェックポイント取得を説明する模式図である。何らかの離散時間に属する計算用データグループデータ配列などを、ある離散時間t=k-1から、次の離散時間t=kへと時間発展させながら、コンピュータ計算を並列に進めていくというのが、コンピュータ計算物理現象のシミュレーション等の基本となる。計算用データグループは、例えば、Poisson方程式で表現される微分方程式などが、図示のようにxまたはyで表現される2次元空間にメッシュのような形式で離散化されており、メッシュの交点x1,y1x2,y1x3,y1の各々において、物理変数が与えられている。コンピュータ計算においては、メッシュの交点の値として計算される新たな値を、時間発展の過程で更新していくことで、メモリ容量を削減している。一般的なプログラミングでは、メッシュの交点の数×物理変数の種類の数分を次の離散時間まで記憶しておくための枠として、コンピュータプログラム中の配列などが用いられる。ある離散時間t=k-1から収束計算が開始され、計算結果が所定の範囲に収束するまでは、次の離散時間t=kへは計算を進めない。収束するまで計算が反復的に繰り返されることが、反復法という名称の由来になっている。計算結果が収束しているかどうかを判定するための所定の範囲については、当業者であれば、様々な閾値判定を導入したり、収束の具合などの状況に応じて適宜、変更したりすることができる。収束の具合などの状況は、時間tの離散化の度合い[ここではk-1とkとの間隔]にも影響してくることが知られている。本発明においては、反復法の計算を実行している途中の所定のタイミング時点において、チェックポイントとしての中間計算データグループを取得する。この取得は、開始したコンピュータ計算を停止中断することなく、非同期なI/O入出力操作によって行われる。図3は、従来の手法と本発明の手法とを比較する図である。従来の手法では、計算開始時点のチェックポイントを取得するという、同期I/O操作によって行われていた。一方、本発明の手法では、コンピュータ計算を停止中断することなく、計算途中のチェックポイントが非同期なI/O入出力操作によって取得される。本発明の手法によれば、反復法の計算を実行し続けることができる一方で、所定のタイミング時点の異なる時間混合を含むことがある。このようなことから、自己ノードにおいて、取得したチェックポイントしての中間計算データグループを、外部メモリに記憶しておくことには重要な意義がある。チェックポイントからの回復では、そこからコンピュータ計算を開始するためである。図4は、チェックポイントの取得手順を示す図である。図1に示したところの、CPU計算主体と、チェックポイントシステムとに分けて、それらが協働する態様としての手順を示している。もっとも、当業者であれば、ハードウエア資源としての態様、ソフトウエア資源コンピュータプログラムなどとしての態様、または、ハードウエア資源とソフトウエア資源とが協働する態様として、この他にも様々なバリエーションをもって本発明を実施することができるであろう。計算主体は、10において、収束計算を開始する。20において、自己ノードのチェックポイントシステムにチェックポイント取得指示を送信するチェックポイントシステムとの連係。30において、収束計算を再開して、同一の収束計算終了まで実行する。40において、チェックポイントシステムからの終了通知を受信するチェックポイントシステムとの連係。50において、次の離散時間の収束計算のために10に戻る。チェックポイントシステムは、60において、計算主体からチェックポイント取得開始指示を受信する。70において、メモリの内容を外部メモリに記憶して保存する。80において、少なくとも1つの他のノード非自己ノードとの間でのバリア同期等により、次の離散時間へと離散時間を時間発展させる前に、該当する全てのノードにおいて並列に進められているところの前述した全てのステップが完了していることが確認されるのを待つ。チェックポイントシステムは、90において、完了が確認されたことに応じて、自己ノードの計算主体にチェックポイント取得終了通知を送信し、それが計算主体の40において受信される計算主体との連係。このことによって、50において、自己ノードの計算主体は、収束した計算結果を参照して、次の離散時間に属する計算用データグループに基づいたコンピュータ計算を開始する。100において、次の離散時間の収束計算のために60に戻る。次の離散時間に時間発展する前に、引続き、異なるタイミング時点でのチェックポイントを取得するように準備することができる。図5は、チェックポイントからの回復手順を示す図である。図4と同様に、図1に示したところの、CPU計算主体と、チェックポイントシステムとに分けて、それらが協働する態様としての手順を示している。計算主体は、110において、自己ノードのチェックポイントシステムにチェックポイント回復開始指示を送信するチェックポイントシステムとの連係。120において、チェックポイントシステムからチェックポイント回復終了指示を受信するチェックポイントシステムとの連係。130において、チェックポイント取得時に実行中であった収束計算の開始時から実行を再開する。チェックポイントシステムは、140において、自己ノードの計算主体からチェックポイント回復開始指示を受信する計算主体との連係。150において、外部メモリからメモリ内容を回復する。160において、少なくとも1つの他のノード非自己ノードとの間でのバリア同期等により、該当する全てのノードにおいて並列に進められているところの前述した全てのステップが完了していることが確認されるのを待つ。170において、自己ノードの計算主体にチェックポイント回復終了通知を送信し、それが計算主体の120において受信される。このことによって、130において、自己ノードの計算主体は、チェックポイント取得時に実行中であった収束計算の開始時から実行を再開する。本発明ではチェックポイントの取得時に計算を停止させないため、異なるタイミング時点で取得したメモリ内容が混在するデータをチェックポイントからの回復処理時に用いることになる。このようなデータの使用が許される理由は、反復法の収束計算に用途を限定することによる。一般に反復法では解の初期値として、他の方法で計算した近似値、固定値例えば全て0もしくは乱数等を用いる。計算においては与えられた初期値を元に、反復ごとに正しい解との差分残差がより小さくなるように近似計算を行い、残差が事前に指定された値以下になるまで反復を繰り返す。本手法ではCheckpointデータ中の異なる時点の値の混在したデータが取得されるが、本発明では収束先が初期値に依存しない問題を想定しているため、初期値によらず同一の値への収束が保障される。つまり、Checkpointデータ中の異なる時点の値の混在したデータを用いても、回復した場合の計算の停止性、計算結果の正当性が保障される。次に、Checkpointデータ中の異なる時点の値の混在したデータから回復した場合の収束回数について述べる。反復法においては現在の解を反復ごとに正しい解に近づけていくため、一般により正しい解に近い初期値を使用することで少ない反復回数で正しい解に収束させることが可能になる。そのため、本発明のCheckpoint取得方法のようにたとえ取得時点が混在したとしてもより反復が進んだ値を利用することで、より正しい解に近い初期値を得ることができ、それにより回復時における収束までの反復回数が短くなる。本発明の手法は、ノード、ノードにおいて実行する方法、または、複数のノードにわたってコンピュータ計算を並列に進めていく方法若しくはシステムとして実施することができる。方法の各ステップを、あるノード自己ノードに含まれるところの、CPU計算主体若しくはチェックシステムまたはこれらを一体にしたものに実行させる、コンピュータプログラム、としても実施することができる。図6は、本発明の手法を実施した場合に予想される、信頼性のためのコストを理論的に算出したグラフである。MTBF03日、チェックポイント所要時間10分の場合において、オーバヘッドCheckpoint取得コスト故障による計算時間の喪失コストとして計算した理論値を示す。ただし、条件として、バックグランドのCheckpoint取得のオーバヘッドにより計算時間が延びることはないものとして計算している。計算中CPU以外の資源の利用がほぼない場合を想定しており。IO資源使用の場合、その割合に応じて発明の効果は減少する場合もあり得る。グラフ中のProposedのデータは、本発明を適用した場合のオーバヘッドの理論値を示す。また、それ以外の各データは、Checkpointの取得間隔をそれぞれ、1時間、2時間、6時間、1日とした場合のオーバヘッドを示す。チェックポイント間隔一日、MTBF10日間の場合、11.1であったオーバヘッドを本発明の適用により約0.4に削減していることに成功している。図7は、本発明の手法をPoisson方程式に適用した実施例を示すグラフである。計算の条件を列挙すると、方程式:Poisson方程式計算アルゴリズム:GaussSeidel入力データ数2次元データ配列:16384Checkpoint取得速度:32pointiterationCheckpoint取得終了時点のiteration回数:50010001500本実施例でも、上記構成及び手順で示したものと同一の方式を用いる。ただし、上記構成中、Checkpointシステムと計算主体を一体として、同一のプログラムとして実現している。以下は、計算開始後、500、1000、1500回目のiterationでCheckpointを取得し、取得したCheckpointから回復した場合の残差を示している。取得までのiteration回数が取得後のiteration回数にどう影響するかを示すために、グラフではCheckpoint取得までのiteration回数から回復後の残差を表示している。さらに、本発明を応用できる実施例としては、以下の1~4を挙げることができる。1BiCG法等反復法による収束計算をベースとし、初期解によらず収束値が確定する計算に適用できる。2CFD、electrostatics、mechanicalengineering、theoreticalphysics、第一原理計算等幅広い分野で用いられるPoisson方程式は初期値によらず収束値が確定することが保証されている計算に適用できる。3初期解によって収束値が異なる計算にも本発明は適用可能である。ただし、本発明を適用しCheckpointから復帰後、元の収束値以外の値に収束すること、もしくは、収束しなくなることも考えられる。初期解によって収束値が異なる計算を含む問題では、本発明の適用により実行結果が変化する可能性がある。この条件を利用者が受容する場合には、本発明を初期解によって収束値が異なる計算に適用できる。4Checkpointの取得の際、非同期I/Oの代わりにRDMA等を用いる非同期通信を用いることも可能である。この場合Checkpointシステムは、自己ノード以外のノード上で動作することとなるが、手順そのものは変わらない。RDMAを用いることで対象ノードのCPU資源を用いることなくCheckpoint取得が行えるため、Checkpoint取得による収束計算時間図4の30の延びを削減でき、本発明の効果をより高めることができる。"