JPH03188536A - 並列計算機制御方式 - Google Patents

並列計算機制御方式

Info

Publication number
JPH03188536A
JPH03188536A JP1327126A JP32712689A JPH03188536A JP H03188536 A JPH03188536 A JP H03188536A JP 1327126 A JP1327126 A JP 1327126A JP 32712689 A JP32712689 A JP 32712689A JP H03188536 A JPH03188536 A JP H03188536A
Authority
JP
Japan
Prior art keywords
message
processor
history table
processors
received message
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
JP1327126A
Other languages
English (en)
Inventor
Morio Ikesaka
守夫 池坂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1327126A priority Critical patent/JPH03188536A/ja
Publication of JPH03188536A publication Critical patent/JPH03188536A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概 要] 並列計算機システムにおけるプログラムのデバッグ機能
に関し、 各プロセッサ間の通信の順序性の再現を可能ならしめる
ことを目的とし、 各プロセッサに、プロセッサを通常状態で走行せしめる
か、あるいは、再現実行の状態で走行せしめるかに係る
情報を保持する実行モードレジスタと、他プロセッサか
らのメツセージを保持する受信メツセージキ二一と、受
信メツセージに係る情報を格納する受信メツセージ履歴
テーブルと、通常状態のときには、メツセージを受信す
る都度、該受信メツセージに係る情報を受信メツセージ
履歴テーブルに格納する手段と、再現実行の状態のとき
には、受信メツセージ履歴テーブルを参照して受信メツ
セージキューから所望の送信元プロセッサからのメツセ
ージを選択する手段とを具備せしめることにより構成す
る。
[産業上の利用分野] 本発明は並列計算機の制御方式に関し、特に、プロセッ
サ間で通信を行なう手段を有する複数のプロセッサによ
って構成される並列計算機システムにおけるプログラム
デバッグ作業を容易にする制御手段に係る。
[従来の技術] 電子計算機による処理を高速化するため、複数の電子計
算機(プロセッサ)を通信路によって接続して、共通の
処理を各計算機が分担して並列的に処理する如く構成し
たシステムが用いられている。
第4図はこのような並列計算機システムについて説明す
る図であって、51は通信路、52〜0〜52−nは、
それぞれプロセッサPEO〜PEnを表わしている。
同図において、例えば、プロセッサPEOは、親計算機
として、他のプロセッサPEI〜PEnに処理を分割し
て渡し、各プロセッサはそれぞれ与えられた処理を実行
してその結果をプロセッサPEOに渡す。
各プロセッサPEI〜PEnは依頼された処理を行なう
過程で、他のプロセッサ(PEO〜PEn)との間で通
信を行ない、処理に必要なデータを受は取ったり、送信
したりしながら処理を行なう。
これらの処理の依頼、それに対する報告、あるいはデー
タの授受は通信路51を介して行なわれる。
[発明が解決しようとする課題] 上述したような従来の並列計算機システムにおいて、プ
ログラムのバグに起因する不都合を生じたとき、そのデ
バッグ作業が非常に困難になることがある。
すなわち、上述のような並列計算機システムでは、各プ
ロセッサがそれぞれ非同期的に動作している。従って、
複数のプロセッサが、成るプロセッサの記憶領域を共通
に使用しているような場合、該記憶領域の内容の書き替
えが行なわれる可能性があるときには、その読み出しと
書き替えの順序が異なると、処理結果が保証されなくな
る。そして、このようなことはプロセッサ間の通信順序
が変ることによって発生する。
そのため、プログラムのデバッグ過程において、バグを
発見し、その解決のためにプログラムの修正をしたら、
処理ステップ数が以前と変ったため、上記通信順序が入
れ替ってしまい、これによって新たなバグが発生するな
どの不都合を生ずることがあった。
従来、このような問題に対処するため、該当プログラム
にデバッグ情報を出力するためのツールを埋め込んだり
、系内の全電子計算機のプロセッサ間で同期を採ること
によって試験を行なう方法等が採られていた。しかし、
これによって、更に実際の動作順序とは異なる状態が生
ずることなどもあって、このような従来のデバッグ方法
では、複雑で、動的に変化するプログラムの実際の動作
状態を把握するのが非常に困難であった。そのため、慣
頼性の高いプログラムを得るためには、その作業に長時
間を必要とするという問題点があった。
本発明はこのような従来の問題点に鑑み、並列計算機シ
ステムにおいて、プロセッサ間の通信順序が入れ変った
ために発生したようなプログラムのバグを容易に検出し
得る手段を提供することを目的としている。
[課題を解決するための手段] 本発明によれば、上述の目的は、前記特許請求の範囲に
記載した手段により達成される。
すなわち、本発明は、プロセッサ間で通信を行なう手段
を有する複数のプロセッサによって構成される並列計算
機システムにおいて、各プロセッサに、プロセッサを通
常状態で走行せしめるか、あるいは、再現実行の状態で
走行せしめるかに係る情報を保持する実行モードレジス
タと、他プロセッサから送られて来たメツセージを受信
して保持する受信メツセージ受信部と、送信元プロセッ
サ番号を含む受信メツセージに係る情報を格納する受信
メツセージ履歴テーブルと、前記実行モードレジスタが
プロセッサを通常状態で走行せしめるべきことを示す情
報を保持しているときには、他プロセッサからメツセー
ジを受信する都度、該受信メツセージに係る情報を受信
メツセージ履歴テーブルに格納する手段と、前記実行モ
ードレジスタがプロセッサを再現実行の状態で走行せし
めるべきことを示す情報を保持しているときには、受信
メツセージ履歴テーブルを参照して受信メツセージキュ
ーから所望の送信元プロセッサからのメツセージを選択
する手段とを具備せしめた並列計算機制御方式である。
[作 用] 本発明においては、各プロセッサが他プロセッサからの
受信メツセージに係る情報の履歴を記録するテーブル(
受信メツセージ履歴テーブル)を有していて、他プロセ
ッサからメツセージを受信する都度線メツセージに係る
情報を記録しておく。
この受信メツセージ履歴テーブルには他のいずれのプロ
セッサから、どのメツセージが、どのような順序で到着
したか等が記録されている。
従って、プログラムデバッグに際しては、上記受信メツ
セージ履歴テーブルを参照することにより、処理やデー
タの変化の順序性を容易に認識することができる。
そして、この順序に基づいて、処理を行なわせることに
より、バグ等を再現させ得るのでデバッグ作業を効率的
に行なうことが可能であり、また、発生した事象に対す
る適確な対策を講することができる。
[実施例コ 第1図は本発明の一実施例を示すブロック図であって、
1は並列計算機を構成している一つのプロセッサ、2は
他プロセッサから送られて来たメツセージを受信する受
信処理部、3は受信したメツセージに対応する処理を行
なうメツセージ処理部、4は他プロセッサにメツセージ
を送信する送信処理部、5は受信メツセージ管理部、6
はメツセージ受信部、7は受信メツセージバッファ管理
部、8は受信メツセージバッファ、9はステータスレジ
スタ、IOは受信メツセージレジスタ、llは受信メツ
セージキュー12は実行モードレジスタ、13は送信元
指定レジスタ、14は受信メツセージ履歴テーブルを表
わしている。
同図において、ステータスレジスタ9はメツセージ処理
部3の動作状態を示す情報を保持するものであって、該
情報がラン(RUN)のときは稼動中、ウェイト(WA
IT)のときはメツセージの到着を待っている状態であ
ることを示すものである。
実行モードレジスタ12は、既に実行した処理を再度、
実行(再現実行)するのか、あるいは通常の走行を行な
うのかを示す情報を保持するレジスタであって、ノーマ
ル(NORMAL)は通常の走行を、リプレイ (RE
PLAY)は再現実1行が指示されていることを示す。
本発明の機能の実際の使用に当っては、先ず、通常走行
の状態で、受信メツセージの到着順序に係る履歴を記録
しておいて、再現実行の状態で該履歴に従って、受信メ
ツセージに係る処理を実行することにより、バグ発生時
の状態を再現させることができる。
そして、更に、各プロセッサをこのようにして動作させ
ることにより、各プロセッサで受信メツセージを処理し
た様子をシステム全体として再現せしめることができる
以下、更に、第1図に示した各部の動作について説明す
る。
メツセージ受信部6は、他プロセッサからのメツセージ
受信に際し、バッファ獲得要求を発して、受信メツセー
ジバッファ管理部7を起動する。
そして、獲得したメツセージバッファに受信したメツセ
ージを入力し、受信メツセージ管理85を起動する。
受信メツセージバッファ管理部7は、メツセージ受信部
6によるバッファ獲得要求で起動された場合には、受信
メツセージバッファ8からバッファ領域を切り出して、
メツセージ受信部6に与える。
一方、メツセージ処理部3によるバッファ解放要求で起
動された場合には、解放されたバッファを空きバッファ
として、受信メツセージバッファ8に登録する。
第2図は受信メツセージ管理部5がメツセージ受信部6
によりメツセージ到着で起動された場合の処理を流れ図
と示したものである。
同図において、起動されたとき実行モードレジスタ12
の内容がrNORMALJであるときには、先ず、到着
メツセージの送信元プロセッサ番号を受信メツセージ履
歴テーブルに登録する。
そして、ステータスレジスタ9の内容が「WAITJで
あれば、受信メツセージレジスタlOに到着メツセージ
をセットし、次にステータスレジスタ9にrRUNJを
セットしてからメツセージ処理部3を起動する。
若し、ステータスレジスタ9の内容がRUNであれば、
受信メツセージ受信一の最後に到着メツセージを繋ぐ。
以上は、最初に起動されたときに実行モードレジスタ1
2がrNORMAL」であった場合の制御であるが、こ
れがrREPLAYJであった場合には、そのときのス
テータスレジスタ9の内容がrWA I TJであれば
、送信元指定レジスタ13の内容が到着メツセージの送
信元プロセッサ番号と同一であるか否かを判定し、それ
が異なる場合には、受信メッセージキ、−11の最後に
到着メツセージを繋ぐ。
若し、送信元プロセッサ番号と同一であった場合には、
実行モードレジスタ12がrNORMALJであって、
ステータスレジスタ9が「WAITJであった場合と同
様の処理を行なう。
また、ステータスレジスタ9の内容がrRUN」であっ
た場合には、実行モードレジスタ12がrNORMAL
」であって、ステータスレジスタ9が「RUN」である
場合と同様の処理を行なう。
第35i!iは受信メツセージ管理1115がメツセー
ジ処理1s3からメツセージ要求で起動された場合の処
理を流れ図として示したものである。
同図において、受信メツセージ管理部5は起動を受ける
と、受信メツセージバッファ管理部7を、バッフ1解放
要求のため起動する。
そして、実行モードレジスタ12の内容が、rNORM
AL」で、受信メツセージキュー11にメツセージが存
在すれば、該受信メツセージキュー11の先頭のメツセ
ージを受信メツセージレジスタ10にセットしてメツセ
ージ処理部3を起動する。
受信メツセージ受信一11にメツセージが存在しない場
合は、ステータスレジスタ9にrWAITJをセットす
る。
一方、受信メツセージバッファ管理部7を起動したとき
、実行モードレジスタ12の内容がrREPLAYJで
あるときは、受信メツセージ履歴テーブル14から、次
の送信元プロセッサ番号を取り出し送信元指定レジスタ
13にセットした後、受信メッセージキ5−11の中か
ら送信元指定レジスタ13の内容と同一の送信元プロセ
ッサ番号を持つメツセージを探す。
このとき、若し該当するメツセージが見付かれば、該メ
ツセージを受信メッセージキx  11より取り出し、
これを受信メツセージレジスタ10にセットして、メツ
セージ処理部3を起動する。
該当するメツセージが見付からない場合はステータスレ
ジスタ9にrWAIT」をセットする。
[発明の効果] 以上説明したように、本発明によれば、複数のプロセッ
サによって構成された並列計算機システムにおいて、プ
ロセッサ間におけるメツセージ交換の順序性を容易に再
現させることができる。
従って、プロセッサ間の通信によるデータの変更等に起
因するバグに対するプログラムのデバッグ作業を効率的
に行ない得る利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図お
よび第3図は受信メツセージ管理部の処理を示す流れ図
、第4図は並列計算機システムについて説明する図であ
る。 1・・・・・・プロセッサ、2・・・・・・受信処理部
、3・・・・・・メツセージ処理部、4・・・・・・送
信処理部、5・・・・・・受信メツセージ管理部、6・
・・・・・メツセージ受信部、7・・・・・・受信メツ
セージバッファ管理部、8・・・・・・受信メツセージ
バッファ、9・・・・・・ステータスレジスタ、lO・
・・・・・受信メツセージレジスタ、11・・・・・・
受信メッセージキx−112・・・・・・実行モードレ
ジスタ、13・・・・・・送慣元指定レジスタ、14・
・・・・・受信メツセージ履歴テーブル

Claims (1)

  1. 【特許請求の範囲】 プロセッサ間で通信を行なう手段を有する複数のプロセ
    ッサによって構成される並列計算機システムにおいて、 各プロセッサに、 プロセッサを通常状態で走行せしめるか、あるいは、再
    現実行の状態で走行せしめるかに係る情報を保持する実
    行モードレジスタと、 他プロセッサから送られて来たメッセージを受信して保
    持する受信メッセージキューと、送信元プロセッサ番号
    を含む受信メッセージに係る情報を格納する受信メッセ
    ージ履歴テーブルと、 前記実行モードレジスタがプロセッサを通常状態で走行
    せしめるべきことを示す情報を保持しているときには、
    他プロセッサからメッセージを受信する都度、該受信メ
    ッセージに係る情報を受信メッセージ履歴テーブルに格
    納する手段と、 前記実行モードレジスタがプロセッサを再現実行の状態
    で走行せしめるべきことを示す情報を保持しているとき
    には、受信メッセージ履歴テーブルを参照して受信メッ
    セージキューから所望の送信元プロセッサからのメッセ
    ージを選択する手段とを具備せしめたことを特徴とする
    並列計算機制御方式。
JP1327126A 1989-12-19 1989-12-19 並列計算機制御方式 Pending JPH03188536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1327126A JPH03188536A (ja) 1989-12-19 1989-12-19 並列計算機制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1327126A JPH03188536A (ja) 1989-12-19 1989-12-19 並列計算機制御方式

Publications (1)

Publication Number Publication Date
JPH03188536A true JPH03188536A (ja) 1991-08-16

Family

ID=18195601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1327126A Pending JPH03188536A (ja) 1989-12-19 1989-12-19 並列計算機制御方式

Country Status (1)

Country Link
JP (1) JPH03188536A (ja)

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
US5717849A (en) System and procedure for early detection of a fault in a chained series of control blocks
JP4616423B2 (ja) 遠隔データ回復用の装置及び方法
US6643802B1 (en) Coordinated multinode dump collection in response to a fault
JPH07210422A (ja) 情報処理装置
US7640549B2 (en) System and method for efficiently exchanging data among processes
JP3245500B2 (ja) マルチプログラミングにおける事象管理方式
JPH03188536A (ja) 並列計算機制御方式
US7533132B2 (en) Parallel replication mechanism for state information produced by serialized processing
JP2001005652A (ja) プログラム間バインド方法
JP3085730B2 (ja) 複合cpuシステムの並列シミュレーション方式
JPH04213126A (ja) ソフトウェアテスト方式
JP3207564B2 (ja) イベント記録方法及び装置
JPH0588933A (ja) デバツグ機能を有する並列処理システム
Gerard CERNET-A high-speed packet-switching network
KR0181152B1 (ko) 관리프로세서를 이용한 응용프로세서 관리방법 및 장치
EP1244015A2 (en) Parallel replication mechanism for state information produced by serialized processing
JPS63298550A (ja) ノンストップトレ−ス方式
JPH11184712A (ja) 情報処理装置
JPH07113902B2 (ja) 並列処理デバッグ制御方法
JP2912046B2 (ja) ファイルサーバの制御方法
JPH11149383A (ja) プロセス間通信制御装置
JPH08286953A (ja) プログラム検証システム
JPH11191084A (ja) 通信エラーデータ記録方法および装置、記録媒体
JP2000010820A (ja) マルチプロセスシステムにおける1プロセスのテスト方法及びシステム