JPH0713943A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JPH0713943A
JPH0713943A JP5156457A JP15645793A JPH0713943A JP H0713943 A JPH0713943 A JP H0713943A JP 5156457 A JP5156457 A JP 5156457A JP 15645793 A JP15645793 A JP 15645793A JP H0713943 A JPH0713943 A JP H0713943A
Authority
JP
Japan
Prior art keywords
access
shared memory
processing elements
memory
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5156457A
Other languages
English (en)
Inventor
Toshiaki Takewaki
敏晃 武脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5156457A priority Critical patent/JPH0713943A/ja
Publication of JPH0713943A publication Critical patent/JPH0713943A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】プログラム実行を任意のチェックポイントから
リスタートできるようにし、並列計算機の高信頼性化を
図る。 【構成】プログラム実行時には、各プロセッシングエレ
メント11−1〜11−nから共有メモリ13へのアク
セス履歴がプロセッサ番号によって記録され、共有メモ
リ13をアクセスしたプロセッシングエレメントの順番
を示すアクセス履歴情報がアクセス履歴エリア133に
記録される。プログラム実行のリスタート時には、複数
のプロセッシングエレメント11−1〜11−nはそれ
ぞれ共有メモリのアクセスを要求するが、そのアクセス
は、プログラム実行時に記録されたプロセッサ番号の順
で許可される。これにより、前回のプログラム実行時と
同じ順序で複数のプロセッシングエレメント11−1〜
11−nによるプログラム実行が再開される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は並列計算機に関し、特
に複数のプロセッシングエレメントによってアクセスさ
れる共有メモリを有する並列計算機に関する。
【0002】
【従来の技術】近年、より処理能力の高い計算機を実現
するために、複数のプロセッシングエレメントによって
並列処理を行なう並列計算機の開発が進んでいる。単一
プロセッシングエレメントから成る計算機においては、
プログラムは繰り返し実行しても同じ振舞いをする。こ
の性質を利用して、多くのデバッキングツールが開発さ
れている。ところが、並列計算機では、各プロセッシン
グエレメントの動作タイミングのズレなどの原因によ
り、プログラム実行をリスタートさせても、必ずしも同
じ振舞いをするとは限らない。このため、並列計算機に
おいては、プログラムのデバッキングツールを開発する
のは困難である。
【0003】並列計算機におけるプログラム実行のリス
タート方式としては、例えば、文献(“Real−Ti
me,Cocurrent Checkpoint f
orParallel Prograsms”,Kai
Li,JeffreyF.Naughton and
James S.Plank著,ACM SIGPL
AN Notices,Vol.25,No.3,p
p.79−88,1990)に記載されているように、
チェックポイント毎に共有メモリの内容をすべて退避す
る方式が知られている。しかしながら、この方式では、
複数のプロセッシングエレメントによって並行処理され
るプロセス間の相互干渉については考慮されてない。こ
のため、特定の時点からプログラムの実行をリスタート
しても、前回と同じ結果となるとは限らない。
【0004】また、分散環境におけるリスタート方式と
しては、文献(“IGOR:A System for
Program Debugging via Re
versible Execution”,S.Fel
dman and C.Brown著,ACM SIG
PLAN Notices,Vol.24,No.1,
pp.112−123,1989)に、メッセージ通信
の記録をプロセス間の相互干渉情報として利用する技術
が紹介されている。ところが、各プロセッサから管理プ
ロセッサへのメッセージ通信においては、メッセージ送
信タイミングと受信タイミングとの間に一定ではないデ
ィレイが生じる。このため、後から送信したメッセージ
が先に送信したメッセージよりも先に受信されるといっ
たメッセージの追い越しが起こる場合があり、プロセス
間の相互干渉を正確に把握することは困難である。
【0005】
【発明が解決しようとする課題】従来では、並列計算機
のプログラム実行を前回の実行過程と同じように再現さ
せることができず、そのデバッキングツールの開発が困
難であった。この発明はこのような点に鑑みてなされた
もので、複数のプロセッシングエレメイントによる共有
メモリアクセスの順番を調整することによって前回の実
行過程と同じようにプログラム実行を任意のチェックポ
イントから再現できるようにし、デバッキングツール開
発に適した高信頼性の並列計算機を提供することを目的
とする。
【0006】
【課題を解決するための手段および作用】この発明は、
相互接続された複数のプロセッシングエレメントと、こ
れらプロセッシングエレメントによってアクセスされる
共有メモリとを有する並列計算機において、前記各プロ
セッシングエレメントによって実行されるプログラムの
再開のために必要なプロセッサステータスをチェックポ
イト毎に退避するプロセッサ情報退避手段と、前記共有
メモリを複数のメモリブロックに分割し、前記各プロセ
ッシングエレメントによるアクセスがデータ更新を伴う
か否かを示すアクセス識別情報を前記各メモリブロック
に対応して記録するアクセス識別情報記録手段と、前記
アクセス識別情報に従って前記共有メモリを検索し、更
新されたメモリブロックのメモリデータだけをチェック
ポイント毎に退避する更新データ退避手段と、前記共有
メモリをアクセスしたプロセッシングエレメントの順番
を記録し、そのアクセス順を示すアクセス履歴情報を記
録するアクセス履歴情報記録手段と、前記退避された所
定のチェックポイトにおけるプロセッサステータスおよ
びメモリデータをそれぞれ前記各プロセッシングエレメ
ントおよび共有メモリに復帰して、前記各プロセッシン
グエレメントによるプログラム実行を前記所定のチェッ
クポイトからリスタートさせるリスタート手段と、この
リスタート手段によって前記各プロセッシングエレメン
トによるプログラム実行がリスタートされた時、前記複
数のプロセッシングエレメントからの前記共有メモリへ
のアクセス要求を前記アクセス履歴情報に記録されてい
るアクセス順に許可するアクセス順制御手段とを具備す
ることを特徴とする。
【0007】この並列計算機においては、プログラム実
行時には、各プロセッシングエレメントから共有メモリ
へのアクセス履歴が記録され、共有メモリをアクセスし
たプロセッシングエレメントの順番を示すアクセス履歴
情報が記録される。また、共有メモリアクセス時には、
そのアクセスがデータ更新を伴うか否かを示すアクセス
識別情報がメモリブロックに対応して記録される。
【0008】そして、所定のチェックポイント毎に、各
プロセッシングエレメントのプロセッサステータスと共
有メモリのメモリデータがそれぞれ退避される。この場
合、更新されたメモリデータがアクセス識別情報によっ
て検索され、その更新されたメモリデータだけが退避さ
れる。
【0009】プログラム実行のリスタート時には、退避
された所定のチェックポイトにおけるプロセッサステー
タスおよびメモリデータがそれぞれ各プロセッシングエ
レメントおよび共有メモリに復帰され、各プロセッシン
グエレメントによるプログラム実行がリスタートされ
る。複数のプロセッシングエレメントはそれぞれ共有メ
モリのアクセスを要求するが、そのアクセスは、プログ
ラム実行時に記録されたアクセス順で許可される。これ
により、前回のプログラム実行時と同じ順序で複数のプ
ロセッシングエレメントによるプログラム実行が再開さ
れ、前回のプログラム実行時におけるプロセッシングエ
レメントの振る舞いを再現することができる。したがっ
て、前回の実行過程をそのまま再現できるようになり、
デバッキングツール開発に適した高信頼性の並列計算機
を実現することが可能となる。
【0010】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1にはこの発明の一実施例に係わる並列計算
機の構成が示されている。この並列計算機は複数のプロ
セッシングエレメントによってプログラムを並列処理す
るシステムであり、相互結合網10、プロセッシングエ
レメント11−1〜11−n、共有メモリコントローラ
12、共有メモリ13、チェックポイント管理ユニット
14、および2次記憶装置15を備えている。
【0011】プロセッシングエレメント11−1〜11
−nは各種データ処理をそれぞれ独立して行うためのも
のであり、相互結合バス10を介して相互接続されてい
る。これらプロセッシングエレメント11−1〜11−
nの各々は、例えばCPU、プログラムメモリ、各種I
/Oコントローラ等を有するCPUボードとして実現さ
れるものであるが、ここでは、プロセッシングエレメン
トをプロセッサ111とプロセッサ管理ユニット112
とに大別して説明する。
【0012】プロセッサ管理ユニット112はプロセッ
サ111の動作を管理するためのものであり、プロセッ
サ状態セーブ機構112aおよびプロセッサ状態復元機
構112bを備えている。プロセッサ状態セーブ機構1
12aは、プロセッサ111によるプログラム実行処理
の再開のために必要なプロセッサステータス(レジスタ
内容、およびPSW等)をチェックポイント毎に採取し
それを内部メモリに退避する。プロセッサ状態復元機構
112bは、退避されているステータスをプロセッサ1
11のレジスタに復元してそのプロセッサ111による
プログラム実行を所定のチェックポイントから再開させ
るためのものであり、再開対象のチェックポイントおよ
びその再開処理のタイミングはチェックポイント管理ユ
ニット14によって指示される。
【0013】ここで、これらにプロセッサ状態セーブ機
構112aおよびプロセッサ状態復元機構112bは、
それぞれプロセッサ111によって実行されるプログラ
ムによってソウトウェア的に実現することができる。ま
た、プロセッサ111とは別にサービスプロセッサを設
け、そのサービスプロセッサによってプロセッサ状態セ
ーブ機構112aおよびプロセッサ状態復元機構112
bの機能をサポートすることも可能である。また、各プ
ロセッシングエレメントにはローカルメモリを設け、そ
こにデータを格納しても良いが、ここでは説明を簡単に
するために省略する。
【0014】共有メモリ13はプロセッシングエレメン
ト11−1〜11−nそれぞれによってアクセス可能な
メモリであり、各プロセッシングエレメントから共有メ
モリ13への書き込み/読み出し操作はバス10を経由
して行なわれる。
【0015】共有メモリ13内には、データ保持エリア
131、アクセス識別情報が格納されるアクセス識別エ
リア132、およびアクセス履歴情報が格納されるアク
セス履歴エリア133が設けられている。
【0016】データ保持エリア131には、プロセッシ
ングエレメント11−1〜11−nによって実行される
プログラムの一部やデータが格納されている。アクセス
識別エリア132のアクセス識別情報は、各プロセッシ
ングエレメントによって行われた共有メモリアクセスが
データ更新を伴うものか否かをメモリブロック単位で示
すものであり、例えば、ライトアクセスされたメモリブ
ロックに対応するエリアにはONステートのアクセス識
別情報(更新されたメモリブロックであることを示す)
がセットされ、リードアクセスされたメモリブロックに
対応するエリアにはOFFステートのアクセス識別情報
(データ更新されてないメモリブロックであることを示
す)がセットされる。アクセス履歴エリア33のアクセ
ス履歴情報は共有メモリをアクセスしたプロセッシング
エレメントの順番を示すものであり、アクセス履歴エリ
ア33には、プロセッシングエレメントの識別子がアク
セス順に登録される。以下での説明を簡単にするため、
アクセス履歴エリア133に記録する識別子はプロセッ
サ番号とする。
【0017】この共有メモリ13の管理は共有メモリコ
ントローラ12によって行われる。すなわち、共有メモ
リ13のデータ保持エリア131に対するデータのリー
ド/ライトアクセス要求はすべて共有メモリコントロー
ラ12に渡され、その要求にしたがって共有メモリコン
トローラ12が共有メモリ13のアクセス制御を行う。
【0018】また、共有メモリコントローラ12は、デ
ータのリード/ライトアクセスだけでなく、前述したア
クセス識別エリア132およびアクセス履歴エリア13
3の制御も行う。
【0019】チェックポイント管理ユニット14は、こ
の並列計算機のチェックポイントリスタート動作を管理
するためのものであり、プログラム実行時に定期的に各
プロセッシングエレメント11−1〜11−nに対して
スナップショップを取ることを指示するスナップショッ
ト管理部141と、プログラム再現時に任意のチェック
ポイント状態からのプログラム実行の再現を指示する再
現実行管理部142からなる。チェックポイント管理ユ
ニット14は各プロセッシングエレントと同様に独立し
た1つの装置であり、例えば、プロセッシングエレメン
ト11−1〜11−nとは別個の専用装置から構成され
る。また、プロセッシングエレメント11−1〜11−
nの1つをマスタプロセッサとして割り当て、そのマス
タプロセッサをチェックポイント管理ユニット14とし
て利用することもできる。
【0020】スナップショット管理部141は、各プロ
セッサ管理ユニットに対してプロセッサステータスの保
存を指示すると共に、アクセス識別エリア132のアク
セス識別情報を使って共有メモリ13の内容のスナップ
ショットを取る。このスナップショットでは、前回のチ
ェックポイントからデータ内容に変更のあったメモリブ
ロックの内容だけが採取され、それが2次記憶装置15
に保存される。
【0021】再現実行管理部142は、任意のチェック
ポイント状態からプログラムを再現実行させるため、プ
ロセッサ管理ユニットに対して当該チェックポイントの
プロセッサステータスの復元を指示すると共に、当該チ
ェックポイントのメモリブロック内容を検索し、共有メ
モリ13に復元する。
【0022】次に、図2を参照して、図1の並列計算機
のプログラム実行時の動作を説明する。ここでは、装置
番号Pのプロセッシングエレメント11−1が共有メモ
リ13のアドレスAddrからデータを読み出し、レジ
スタXに格納する命令を発行する場合を例にとって、共
有メモリ13に対する読み出し操作を説明する。
【0023】この命令の処理が行なわれる前の共有メモ
リ13の状態を図2(A)、命令実行後の共有メモリ1
3およびレジスタXの状態を図2(B)、(C)にそれ
ぞれ示す。
【0024】リード命令実行前においては、図示のよう
に、アドレスAddrのデータ保持エリア131にはデ
ータ“5”が保持されており、アドレスAddrに対応
するメモリブロックiのアクセス識別情報は“Off”
に設定されている。
【0025】装置番号Pのプロセッシングエレメント1
1−1がリード命令「Read Addr,X」を実行
すると、アドレスAddrからのデータ読み出し要求が
共有メモリコントローラ12に送られる。共有メモリコ
ントローラ12は、データ保持エリア131からアドレ
スAddrのデータ“5”を取り出し、それをプロセッ
シングエレメント11−1に渡す。また、この時、共有
メモリコントローラ12は、アクセス履歴エリア133
の先頭ポインタで指定されるエントリに、プロセッサ番
号Pを記録する。また、この場合には、アクセス識別エ
リア132のメモリブロックiに対応するアクセス識別
情報はOffのまま変化されない。
【0026】そして、共有メモリ13のアドレスAdd
rから読み出されたデータ“5”がプロセッサ111の
レジスタXにセットされる。次に、図3を参照して、共
有メモリ13に対するデータ書き込み操作を説明する。
【0027】ここでは、装置番号Pのプロセッシングエ
レメント11−1が共有メモリ13のアドレスAddr
にレジスタXのデータを書き込む命令を発行する場合を
例にとってを説明する。
【0028】この命令の処理が行なわれる前の共有メモ
リ13およびレジスタXの状態を図3(A)、図3
(B)、命令実行後の共有メモリ13の状態を図3
(C)にそれぞれ示す。
【0029】ライト命令実行前においては、図示のよう
に、アドレスAddrのデータ保持エリア131にはデ
ータ“5”が保持されており、そのアドレスAddrに
対応するメモリブロックiのアクセス識別情報は“Of
f”に設定されている。
【0030】装置番号Pのプロセッシングエレメント1
1−1がライト命令「WriteX,Addr」を実行
すると、アドレスAddrへのデータ書き込み要求が共
有メモリコントローラ12に送られる。共有メモリコン
トローラ12は、プロセッシングエレメント11−1か
ら転送させる書き込みデータ“10”をデータ保持エリ
ア131のアドレスAddrに書き込む。また、この
時、アクセス履歴エリア133の先頭ポインタで指定さ
れるエントリに、プロセッサ番号Pを記録する。また、
この場合には、アクセス識別エリア132のメモリブロ
ックiに対応するアクセス識別情報はOffからONに
変化される。
【0031】このようにプログラム実行時においては、
共有メモリ13をアクセスしたプロセッシングエレメン
トの順番を示すアクセス履歴情報が記録される。また、
共有メモリアクセス時には、そのアクセスがデータ更新
を伴うか否かを示すアクセス識別情報がメモリブロック
に対応して記録される。
【0032】また、プログラム実行時においては、スナ
ップショット管理部141は、定期的にチェックポイン
トを作るために、各プロセッシング・エレメントにチェ
ックポイントのタイミングを知らせる。これは、スナッ
プショット管理部141から各プロセッシングエレメン
トへの割り込みで行なってもよく、またスナップショッ
ト管理部141が共有メモリ13の特定領域にスナップ
ショット命令を書き込み、各プロセッサがその特定領域
を定期的にポーリングすることによって行なっても良
い。
【0033】チェックポイント時には、各プロセッシン
グエレメントのプロセッサは通常の処理を中断する。各
プロセッサ管理ユニットは対応するプロセッサのプロセ
ッサステータスを保存する。プロセッサステータスは、
その時点よりプログラムを復元するために必要な各種の
レジスタ内容およびPSWである。
【0034】また、スナップショット管理部141は、
アクセス識別エリア132のアクセス識別情報により、
前回のスナップショット以降にライトアクセスされた部
分を探す。そして、変更されたデータ、つまりライトア
クセスされたメモリブロックの内容だけを2次記憶装置
15に退避する。
【0035】以下、図4を参照して、このスナップショ
ット時の動作の一例を説明する。図4(A)はスナップ
ショットを取る直前の共有メモリ13の一部を示してお
り、ここでは、メモリブロックiに対応するアクセス識
別情報がOn、メモリブロックjに対応するアクセス識
別情報がOff、メモリブロックkに対応するアクセス
識別情報がOnに設定されている。
【0036】この場合には、スナップショット管理部1
41は、データ保持エリア131のメモリブロックiの
データ“5”,“4”と、メモリブロックkのデータ
“1”,“0”だけを共有メモリ13から読み出し、そ
れを2次記憶装置15に退避する。この時の2次記憶装
置15の内容は、図4(C)の通りである。
【0037】また、スナップショット管理部141は、
メモリデータの退避の後、アクセス識別エリア132の
アクセス識別情報をクリアしてすべてOffに設定す
る。このようなスナップショット実行後の共有メモリ1
3の内容は、図4(B)の通りである。
【0038】この後、スナップショット管理部141
は、各プロセッシングエレメント11−1〜11−nに
スナップショットが完了したことを伝える。これによ
り、各プロセッシングエレメント11−1〜11−nの
プロセッサは、通常の処理を再開する。
【0039】このような共有メモリ13のデータ退避処
理およびアクセス識別情報のクリア処理は、実際には、
スナップショット管理部141からの要求に応じて共有
メモリコントローラ12によって行われる。
【0040】次に、プログラム実行を任意のチェックポ
イントから再現する時の動作を説明する。まず、再現実
行管理部142は、任意のチェックポイントから処理を
再現するために、各プロセッシングエレメント1−1〜
11−nに再現すべきチェックポイント位置を知らせ
る。プロセッサ管理ユニット112のプロセッサ状態復
元機構112bは、当該チェックポイントのプロセッサ
ステータスを探し、それを対応するプロセッサに設定す
る。
【0041】次いで、再現実行管理部142は、当該チ
ェックポイントからのアクセス履歴情報からアクセスで
きるよにアクセス履歴エリア133の先頭ポインタを当
該チェックポイントに対応するエントリに移動する。ア
クセス履歴エリア133の先頭ポインタの値は各チェッ
クポイント毎に共有メモリコントローラ12によって管
理されているので、先頭ポインタの移動は、共有メモリ
コントローラ12に対して当該チェックポイントを知ら
せることによって行われる。この後、再現実行管理部1
42は、当該チェックポイントおよびそれ以前のチェッ
クポイントのスナップショットからそれぞれのメモリブ
ロックの最新情報を検索し、共有メモリ13に設定す
る。
【0042】これらの処理が終了すると、再現実行管理
部142は、各プロセッングエレメント11−1〜11
−nに実行再現準備が完了したことを割り込みによって
知らせる。
【0043】これによって、各プロセッングエレメント
11−1〜11−nは、該当するチェックポイントから
プログラム実行を再開する。そして、プロセッシングエ
レメント11−1〜11−nはそれぞれプログラムを実
行しながら共有メモリ13のアクセスを要求するが、そ
のアクセスは、プログラム実行時に記録されたアクセス
順で許可される。
【0044】以下、図5、図6を参照して、共有メモリ
13のアクセス許可動作について説明する。ここでは、
プロセッサ番号Pのプロセッシングエレメント11−1
が共有メモリ13のアドレスADDRからデータを読み
出しレジスタXに格納する命令を発行する場合を例にと
って、共有メモリ13に対する読み出し操作を説明す
る。この命令の処理が行なわれる前の共有メモリ13の
状態を図5とする。
【0045】プロセッシングエレメント11−1から共
有メモリ13のアクセス要求が発行されると、共有メモ
リコントローラ12は、アクセス履歴エリア133の先
頭ポインタによって指定されるエントリからプロセッサ
番号を読取り、そのプロセッサ番号と共有メモリ13を
アクセスしようとしているプロセッサ番号とを比較する
(ステップS11)。一致する場合には、共有メモリコ
ントローラ12は、そのアクセスを許可し、データ保持
エリア131の当該アドレスAddrのデータをプロセ
ッサに渡し、その後、アクセス履歴エリア133の先頭
ポインタを進める(ステップS12)。一方、一致しな
い場合には、共有メモリコントローラ12は、アクセス
要求を受け付けずにその要求したプロセッシングエレメ
ントに対してNACKを返す(ステップS13)。NA
CKを受けとったプロセッシングエレメントは、アクセ
ス要求の発行をリトライする。
【0046】このようにして、アクセス履歴エリアのプ
ロセッサ番号とアクセス要求を発行したプロセッサ番号
が等しくなるまで、当該プロセッサからの命令の処理が
ウエイトされる。
【0047】この例では、プロセッサ番号3,プロセッ
サ番号5の共有メモリアクセスの処理が終るまでプロセ
ッサ番号Pのプロセッシングエレメントの処理は待機さ
せられる。
【0048】これにより、プロセッシングエレメント1
1−1〜11−nによる共有メモリ13のアクセスは前
回のアクセス順と同じ順番で行われ、前回のプログラム
実行時と同じ順序で複数のプロセッシングエレメントに
よるプログラム実行を再現できる。
【0049】以上のように、この実施例においては、プ
ログラム実行時には、各プロセッシングエレメント11
−1〜11−nから共有メモリ13へのアクセス履歴が
記録され、共有メモリ13をアクセスしたプロセッシン
グエレメントの順番を示すアクセス履歴情報がアクセス
履歴エリア133に記録される。また、共有メモリアク
セス時には、そのアクセスがデータ更新を伴うか否かを
示すアクセス識別情報がメモリブロックに対応してアク
セス識別エリア132に記録される。
【0050】そして、所定のチェックポイント毎に、各
プロセッシングエレメント11−1〜11−nのプロセ
ッサステータスと共有メモリ13のメモリデータがそれ
ぞれ退避される。この場合、更新されたメモリデータが
アクセス識別情報によって検索され、その更新されたメ
モリデータだけが退避される。
【0051】プログラム実行のリスタート時には、退避
された所定のチェックポイトにおけるプロセッサステー
タスおよびメモリデータがそれぞれ各プロセッシングエ
レメント11−1〜11−nおよび共有メモリ13に復
帰され、各プロセッシングエレメント11−1〜11−
nによるプログラム実行がリスタートされる。複数のプ
ロセッシングエレメント11−1〜11−nはそれぞれ
共有メモリのアクセスを要求するが、そのアクセスは、
プログラム実行時に記録されたアクセス順で許可され
る。これにより、前回のプログラム実行時と同じ順序で
複数のプロセッシングエレメント11−1〜11−nに
よるプログラム実行が再開され、前回のプログラム実行
時におけるプロセッシングエレメントの振る舞いを再現
することができる。したがって、前回の実行過程と同じ
ようにプログラム実行をリスタートできるようになり、
デバッキングツール開発に適した高信頼性の並列計算機
を実現することが可能となる。
【0052】なお、この実施例では、アクセス識別エリ
ア132、アクセス履歴エリア133をそれぞれ共有メ
モリ13に設けたが、全てのアクセス識別およびアクセ
ス履歴情報を共有メモリ13に保持しておく必要はな
く、一部を二次記憶装置15に置いても良い。
【0053】
【発明の効果】以上のように、この発明によれば、共有
メモリへのアクセス順でアクセスしたプロセッシングエ
レメントの識別子だけ記録すること、および、共有メモ
リのデータの変化部分だけを退避することによって、プ
ログラム再現に必要な情報の記録量を減らし、且つ任意
のチェックポイントからのプログラム再現において、各
プロセッシングエレメントからの共有メモリへのアクセ
スを識別子の記録順で許可することにより、プロセッシ
ングエレメント間の振舞いが変化することを防ぐ事がで
きる。したがって、複数のプロセッシングエレメントに
よる共有メモリアクセスの順番を少ない情報で効率的に
調整できるようになり、前回の実行過程と同じようにプ
ログラム実行をリスタートすることが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施例に係わる並列計算機の構成
を示すブロック図。
【図2】同実施例におけるプログラム実行時の共有デー
タの読み出し操作の例を示す図。
【図3】同実施例におけるプログラム実行時の共有デー
タの書き込み操作の例を示す図。
【図4】同実施例におけるスナップショット時の共有メ
モリの内容の変化とその時に記録される情報を示す図。
【図5】同実施例におけるプログラム再現時における操
作の例を示す図。
【図6】同実施例におけるプログラム再現時におけるア
クセス許可/禁止の判別動作を説明するフローチャー
ト。
【符号の説明】
11−1〜11−n…プロセッシングエレメント、12
…共有メモリコントローラ、13…共有メモリ、14…
チェックポイント管理ユニット、15…2次記憶装置、
111…プロセッサ、112…プロセッサ管理ユニッ
ト、131…データ保持エリア、132…アクセス識別
エリア、133…アクセス履歴エリア、141…スナッ
プショット管理部、142…再現実行管理部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 相互接続された複数のプロセッシングエ
    レメントと、これらプロセッシングエレメントによって
    アクセスされる共有メモリとを有する並列計算機におい
    て、 前記各プロセッシングエレメントによって実行されるプ
    ログラムの再開のために必要なプロセッサステータスを
    チェックポイト毎に退避するプロセッサ情報退避手段
    と、 前記共有メモリを複数のメモリブロックに分割し、前記
    各プロセッシングエレメントによるアクセスがデータ更
    新を伴うか否かを示すアクセス識別情報を前記各メモリ
    ブロックに対応して記録するアクセス識別情報記録手段
    と、 前記アクセス識別情報に従って前記共有メモリを検索
    し、更新されたメモリブロックのメモリデータだけをチ
    ェックポイント毎に退避する更新データ退避手段と、 前記共有メモリをアクセスしたプロセッシングエレメン
    トの順番を記録し、そのアクセス順を示すアクセス履歴
    情報をを記録するアクセス履歴情報記録手段と、 前記退避された所定のチェックポイトにおけるプロセッ
    サステータスおよびメモリデータをそれぞれ前記各プロ
    セッシングエレメントおよび共有メモリに復帰して、前
    記各プロセッシングエレメントによるプログラム実行を
    前記所定のチェックポイトからリスタートさせるリスタ
    ート手段と、 このリスタート手段によって前記各プロセッシングエレ
    メントによるプログラム実行がリスタートされた時、前
    記複数のプロセッシングエレメントからの前記共有メモ
    リへのアクセス要求を前記アクセス履歴情報に記録され
    ているアクセス順に許可するアクセス順制御手段とを具
    備することを特徴とする並列計算機。
JP5156457A 1993-06-28 1993-06-28 並列計算機 Pending JPH0713943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5156457A JPH0713943A (ja) 1993-06-28 1993-06-28 並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5156457A JPH0713943A (ja) 1993-06-28 1993-06-28 並列計算機

Publications (1)

Publication Number Publication Date
JPH0713943A true JPH0713943A (ja) 1995-01-17

Family

ID=15628173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5156457A Pending JPH0713943A (ja) 1993-06-28 1993-06-28 並列計算機

Country Status (1)

Country Link
JP (1) JPH0713943A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484243B1 (en) * 1998-09-18 2002-11-19 Matsushita Electric Industrial Co., Ltd. Shared memory tracing apparatus
WO2004074618A1 (en) * 1997-09-15 2004-09-02 Johan Martin Vandertouw Door positioning means
US10635443B2 (en) 2015-07-23 2020-04-28 Fujitsu Limited Apparatus and method to emulate a sequence of instructions via parallel processors

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004074618A1 (en) * 1997-09-15 2004-09-02 Johan Martin Vandertouw Door positioning means
US6484243B1 (en) * 1998-09-18 2002-11-19 Matsushita Electric Industrial Co., Ltd. Shared memory tracing apparatus
US10635443B2 (en) 2015-07-23 2020-04-28 Fujitsu Limited Apparatus and method to emulate a sequence of instructions via parallel processors

Similar Documents

Publication Publication Date Title
EP3726365B1 (en) Data processing method and device
KR100983300B1 (ko) 데이터 처리 시스템 내에서의 고장 복구
US5649184A (en) Symmetric/asymmetric shared processing operation in a tightly coupled multiprocessor
US7219202B2 (en) Cluster storage system and replication creation method thereof
US7991749B2 (en) Database recovery method applying update journal and database log
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
US7089386B2 (en) Method for controlling storage device controller, storage device controller, and program
JP2006268531A (ja) データ処理システム及びデータベースの管理方法
US20050154829A1 (en) Storage system and storage system management method
JP2004318288A (ja) データ処理方法および装置ならびにその処理プログラム
JP2006048300A (ja) ディスクアレイ装置群およびそのコピー処理方法
US7694090B2 (en) Storage system with journal reflecting area control function
JPH0713943A (ja) 並列計算機
JP2001109642A (ja) クラスタシステム、及びそのデータ複写方法
JPH1153123A (ja) バックアップ方式
US20070118605A1 (en) Method and computer system for information notification
JPH1185594A (ja) リモートコピー用情報処理システム
JP3162102B2 (ja) 仮想計算機間データ転送処理装置
JP3330006B2 (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに
JP3774075B2 (ja) トランザクション分割・連携装置および記録媒体
JP3312652B2 (ja) マルチプロセッサアーキテクチャでのデータベース管理方式
JPH1040123A (ja) ジョブ管理方式と方法
WO2023193495A1 (zh) 处理读请求的方法、分布式数据库与服务端
JPH0713805A (ja) 並列計算機及びプログラム実行再現方法
JP2850756B2 (ja) 分散処理システムにおけるファイルの障害復旧方式