JPH01106234A - 並列処理デバッグ制御方法 - Google Patents

並列処理デバッグ制御方法

Info

Publication number
JPH01106234A
JPH01106234A JP62264086A JP26408687A JPH01106234A JP H01106234 A JPH01106234 A JP H01106234A JP 62264086 A JP62264086 A JP 62264086A JP 26408687 A JP26408687 A JP 26408687A JP H01106234 A JPH01106234 A JP H01106234A
Authority
JP
Japan
Prior art keywords
message
processing
messages
execution
queue
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.)
Granted
Application number
JP62264086A
Other languages
English (en)
Other versions
JPH07113902B2 (ja
Inventor
Koichi Murakami
公一 村上
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 JP62264086A priority Critical patent/JPH07113902B2/ja
Publication of JPH01106234A publication Critical patent/JPH01106234A/ja
Publication of JPH07113902B2 publication Critical patent/JPH07113902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 複数プロセスで並列に実行される処理をデバッグするた
めの制御に関し、 逐次処理によって、並列処理のデバッグを行うことがで
きる、デバッグ制御方法を目的とし、複数の処理装置に
よって並列に実行される複数のプロセスがあり、該プロ
セス間でメツセージを授受して進めるように構成された
処理のデバッグにおいて、該各プロセスごとに、該プロ
セスがメツセージ受信待ちのために停止するまで実行し
て、該プロセスを待ちプロセス行列に登録し、該プロセ
スが発信したメツセージを送信メツセージ行列に発生順
に登録し、前記並列実行時に該各プロセスごとに記録さ
れた、該プロセスの受信メツセージの受信時刻順に従っ
て、該送信メツセージ行列にあるメツセージを逐次取り
出し、該待ちプロセス行列の該取り出したメツセージを
受信する8亥プロセスに35メソセージを渡して、該プ
ロセスを実行させるように構成する。
〔産業上の利用分野〕
本発明は、複数プロセスで並列に実行される処理のデバ
ッグに係り、特に単一の処理装置等による逐次実行によ
って、並列処理のデバッグを行うためのデバッグ制御方
法に関する。
〔従来の技術と発明が解決しようとする問題点〕比較的
多数の処理装置を相互に通信できるように接続して、複
数のプロセスをそれらの処理装置で並列に実行するよう
にした並列処理システムが開発され、画像処理その他の
分野において、処理を高速化するための有力な手段にな
っている。
このようなシステムにおいて、各処理装置で実行される
プロセスは、互いに独立に処理を進めると共に、必要な
処理時点においてメツセージを他のプロセスに送って、
そのプロセスが分担する処理を開始させ、又別の処理時
点まで進むと、他の必要なプロセスからのメソセージを
待つメツセージ受信待ち状態になって実行を停止し、こ
のようにメツセージの授受によりプロセス間の処理の同
期をとることによって、全体として所期の処理を構成す
るようにする。
第2図は、そのようなプロセス間の状況を3個のプロセ
スの簡単な例で説明する図であり、縦方向に並行する3
線が3処理装置で並列に実行される3プロセス(図の左
からプロセスΔ、B、Cとする)に対応し、図の上から
下へ時間が経過するものとし、太い実線でプロセスの実
行状態、破線で中断状態の期間を表すものとする。
図では、先ずプロセスBが、システムを起動するメソセ
ージを時刻t0で受信して実行を開始するものとし、実
行途中の時刻1.でメソセージm、をプロセスAに送信
することにより、プロセスAが起動される。時刻t2で
プロセスAはメソセージm2を送信してプロセスCを起
動する。
プロセスBは時刻t、でメソセージ待ちのために実行を
停止して中断状態になる。
プロセスCが時刻t4でメツセージm、をプロセスBに
送信して中断状態となるので、こ\でプロセスBは再び
実行を開始するが、時刻t5で再び中断状態に入る。
この間プロセスAは実行を続け、時刻t6でメソセージ
lI+4を送ってプロセスBを起動させ、時刻t。
でメツセージ受信待ちのため中断状態になる。
このようなシステムで、プログラムのエラー等による障
害が発生した場合には、その状態を再現するようにプロ
セスを実行して、その過程のメツセージ授受及び処理内
容を詳細に点検することにより、障害の原因となる処理
部分を摘出する、いわゆるデバッグ作業が必要になる。
従来の、逐次処理のみで並列処理の無い処理の場合につ
いては、前記のような障害原因探索作業のために、公知
のように、実行経過のトレース、ステップ動作、特定状
態での停止、その時の処理装置のレジスタ、メモリ等の
内容のチエツク、その他の機能を備えた、いわゆるデバ
ッガが準備され、これを利用して効率よくデバッグを行
うことができる。しかし、並列処理システムでは、その
ようなデバッガを有効に利用することができず、デバッ
グ作業が困難であるという問題がある。
本発明は、逐次処理によって、並列処理のデバッグを行
うことができる、デバッグ制御方法を目的とする。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示す処理の流れ図である。
図は計算機のデバッグ制御部が、並列処理プロセスを逐
次実行するための処理の流れを示し、1〜8は処理ステ
ップである。
〔作 用〕
並列処理のデバッグにおいて、先ず処理ステップ1で最
初に実行するプロセスを決定し、その実行環境の初期設
定をし、処理ステップ2でそのプロセスを実行する。
プロセスがシステムの制御を要求すると、処理ステップ
3で識別して、他のプロセスへのメソセージ送信要求で
あれば、処理ステップ4に分岐してそのメツセージを送
信メツセージ行列に登録し、処理ステップ2に戻ってプ
ロセスの実行を継続する。
他のプロセスからのメツセージ受信のためのメソセージ
待ちであれば、処理ステップ5でそのプロセスの実行を
中断して、待ちプロセス行列に登録し、処理ステップ6
で次に実行するプロセスを決定する。
処理ステップ6では、送信メツセージ行列の先頭のメツ
セージの宛先プロセスに、その宛先のメソセージで、並
列処理実行時に記録したメツセージ履歴のメソセージ受
信時刻順に従って最も早く受信したメツセージを取り出
す。
処理ステップ7で、そのメツセージを実行プロセスに渡
して、処理ステップ2のプロセス実)テに戻る。
このようにして、プロセスを逐次実行し、処理ステップ
3で実行していたプロセスが終了した場合には、処理ス
テップ8で送信メツセージ行列にメソセージがあるか識
別し、あれば処理ステップ6へ進み、無ければデバッグ
のための制御を終了する。
以上の処理方法により、並列処理のデバッグを、各プロ
セスを逐次実行することによって進めることが・できる
〔実施例〕
並列処理の実行で前記のように何等かの障害が発生した
ために、原因を探索する場合には、同じ状況で同じ処理
を再実行し、その間に各プロセスにおいて、授受したメ
ツセージをメツセージ履歴に記録する。
メツセージM歴は、各プロセスが送信したメツセージの
例えば宛先プロセス名とメソセージ識別名、及び受信し
たメツセージの送信元プロセス名とメツセージ識別名を
、それらの送信、受信の発生時刻順に配列した記録とす
る。
逐次形計算機で実行する並列処理デバッグ制御゛ 部は
、第1図の処理ステップ1でシステムを起動するメソセ
ージを受信する等によって最初に実行する予定のプロセ
スを決定し、その実行環境を設定し、その他のプロセス
を待ちプロセス行列につなぐ等の初期設定をして、処理
ステップ2でそのプロセスを実行する。
実行中のプロセスについては、逐次処理のための各種デ
バッグ機能を使用して、トレースを取り、或いは必要な
ステップで停止させて、その時の状態を調査する等を行
うことができる。
プロセスは必要なサービス機能をシステムの管理機能部
に要求するので、その要求をデバッグ制・  面部で受
は付けて処理ステップ3で識別し、他のプロセスへのメ
ツセージ送信要求であれば、処理ステップ4に分岐して
そのメツセージを送信メツセージ行列につなぎ、処理ス
テップ2に戻ってプロセスの実行を継続する。
送信メツセージ行列は、このようにして実行したプロセ
スから送信するメツセージの、宛先プロセス名、送信元
プロセス名、メソセージ名、メツセージ等を、メツセー
ジの発生時刻順に登録する構成の行列として、デバッグ
制御部が設けるものである。
プロセスのサービス要求が、他のプロセスからのメツセ
ージ受信のためのメツセージ待ちであれば、処理ステッ
プ5でそのプロセスの実行を止めて中断状態とし待ちプ
ロセス行列に登録する。
待ちプロセス行列は、中断状態のプロセスを中断の発生
時刻順につなぐ構成の行列として、デバッグ制御部が設
けるものである。
処理ステップ5の処理により、実行するプロセスが無く
なるので、処理ステップ6で送信メツセージ行列を調べ
て、送信メツセージ行列の先頭のメツセージの宛先プロ
セスを次に実行するプロセスとし、そのプロセスの受信
するメツセージを次のように決定する。  ゛ 即ち、そのプロセス宛に1メツセージのみ送信メツセー
ジ行列にある場合はそのメツセージ、複数のメツセージ
があり、同一送信元のメッセージのみであれば、送信メ
ツセージ行列の先着順に1メツセージを取り出す。
異なる送信元が複数ある場合には、並列処理実行時にそ
のプロセスにおいて記録した前記のメツセージ履歴を参
照して、そのメツセージ受信時刻順で最も早い順序のメ
ツセージに送信元が合致するメツセージを行列から取り
出す。
以上のようにメツセージを選択すれば、逐次実行におい
ても、各プロセスの受信するメソセージには、並列処理
の場合と同一の時間順序を保存することができる。
処理ステップ7で、取り出したメツセージをプロセスに
渡し、処理ステップ2のプロセス実行に戻る。
このようにして、プロセスを逐次実行し、処理ステップ
3で実行していたプロセスの終了を識別した場合には、
処理ステップ8で送信メツセージ行列にメツセージがあ
るか識別し、あれば処理ステップ6へ進み、無ければデ
バッグのための制御を終了する。
第3図は第2図に示した並列処理例を、本発明のデバッ
グ制御方法で逐次実行する場合の状況を説明する図であ
る。図は第2図と同様に上から下へ時間が経過するもの
とし、太い実線でプロセスが連続して実行される期間を
示し、各実線に付記するプロセス名は第2図におけるプ
ロセスA−Cに対応する。なお、t0〜t7は第2図に
おける時刻を説明のために示すものである。
第2図の状況に従って、プロセスBを先ず実行すると、
実行途中の時刻t、でメソセージm、をプロセスAに送
信するので、メツセージmlが送信メツセージ行列に登
録される。
プロセスBは時刻t3でメツセージ待ちのために実行を
停止して中断状態になるので、待ちプロセス行列に登録
される。
従って、こ\で送信メツセージ行列を見ると、プロセス
A宛のメツセージm1のみ登録されているので、メツセ
ージm、を行列から取り出してプロセスAに渡し、プロ
セススAを起動する。
時刻tzでプロセスAはメツセージ12をプロセスC宛
に送信するので、メツセージ111gが送信メツセージ
行列に登録される。
続いてプロセスAは実行を続け、時刻t、でメツセージ
14をプロセスBへ送るので、メツセージraaが送信
メツセージ行列のメツセージII2の後につながれる。
プロセスAは時刻t7でメツセージ受信待ちのため中断
状態になって、待ちプロセス行列にプロセスBと共に登
録される。
従って、こ\で送信メツセージ行列の先頭のメツセージ
m2がその宛先のプロセスCに渡されて、プロセスCが
実行され、プロセスCは、時刻t4でメツセージm、を
プロセスBに送信して中断状態となるので、メツセージ
m3は送信メツセージ行列のメツセージl114の後に
つながれ、プロセスCは待ちプロセス行列に登録される
従って送信メツセージ行列が調べられ、先頭のメツセー
ジm、の宛先であるプロセスBが次の実行プロセスにな
るが、この場合送信メツセージ行列には同じプロセスB
宛で送信元の異なるメツセージ鋼、もあるので、プロセ
スBのメツセージ履歴が調べられる。
プロセスBのメツセージ履歴は、第2図から明らかなよ
うに、メツセージII+3を受信し、その後メツセージ
m4を受信する順序に記録されているはずなので、送信
メツセージ行列からは、後につながれているメツセージ
m、が先に取り出されてプロセスBに渡され、プロセス
Bが実行される。
プロセスBは時刻tsで再び中断状態に入るが、送信メ
ツセージ行列を見ると、先頭にプロセスB宛のメツセー
ジ114があるので、メツセージm4を受は取って再び
実行する。
以上の処理方法により、並列処理の各プロセスにおける
メツセージ受信順序を、並列実行時の順序に保存して、
lプロセスづつ逐次実行することができるので、逐次実
行によって処理内容の論理的矛盾を生じることが無い。
従って、このようにして逐次実行することにより、従来
からある豊富なデバッグ機能を有効に利用して、並列処
理のデバッグを効率よく進めることができる。
〔発明の効果〕
以上の説明から明らかなように本発明によれば、複数プ
ロセスで並列に実行される処理のデバッグにおいて、そ
れらのプロセスを逐次実行してデバッグすることができ
るので、逐次処理のデバッグ機能を有効に利用して、並
列処理のデバッグ作業効率を向上することができるとい
う著しい工業的効果がある。
【図面の簡単な説明】 第1図は本発明の構成を示す処理の流れ図、第2図は並
列処理を説明する図、 第3図は逐次実行を説明する図 である。 図において、 1〜8は処理ステップ を示す。

Claims (1)

  1. 【特許請求の範囲】 複数の処理装置によって並列に実行される複数のプロセ
    スがあり、該プロセス間でメッセージを授受して進める
    ように構成された処理のデバッグにおいて、 該各プロセスごとに、該プロセスがメッセージ受信待ち
    のために停止するまで実行して、該プロセスを待ちプロ
    セス行列に登録し(5)、 該プロセスが発信したメッセージを送信メッセージ行列
    に発生順に登録し(4)、 前記並列実行時に該各プロセスごとに記録された、該プ
    ロセスの受信メッセージの受信時刻順に従って、該送信
    メッセージ行列にあるメッセージを逐次取り出し(6)
    、 該待ちプロセス行列の該取り出したメッセージを受信す
    る該プロセスに該メッセージを渡して(7)、該プロセ
    スを実行させる(2)ように構成されていることを特徴
    とする並列処理デバッグ制御方法。
JP62264086A 1987-10-20 1987-10-20 並列処理デバッグ制御方法 Expired - Fee Related JPH07113902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62264086A JPH07113902B2 (ja) 1987-10-20 1987-10-20 並列処理デバッグ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62264086A JPH07113902B2 (ja) 1987-10-20 1987-10-20 並列処理デバッグ制御方法

Publications (2)

Publication Number Publication Date
JPH01106234A true JPH01106234A (ja) 1989-04-24
JPH07113902B2 JPH07113902B2 (ja) 1995-12-06

Family

ID=17398319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62264086A Expired - Fee Related JPH07113902B2 (ja) 1987-10-20 1987-10-20 並列処理デバッグ制御方法

Country Status (1)

Country Link
JP (1) JPH07113902B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317287B2 (en) 2011-07-19 2016-04-19 Panasonic Intellectual Property Management Co., Ltd. Multiprocessor system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59108153A (ja) * 1982-12-13 1984-06-22 Omron Tateisi Electronics Co デバツグ方法
JPS59121551A (ja) * 1982-12-28 1984-07-13 Fujitsu Ltd プロセス間通信優先度識別制御方式
JPS61264443A (ja) * 1985-05-20 1986-11-22 Fujitsu Ltd タスク生成状態通知方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59108153A (ja) * 1982-12-13 1984-06-22 Omron Tateisi Electronics Co デバツグ方法
JPS59121551A (ja) * 1982-12-28 1984-07-13 Fujitsu Ltd プロセス間通信優先度識別制御方式
JPS61264443A (ja) * 1985-05-20 1986-11-22 Fujitsu Ltd タスク生成状態通知方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317287B2 (en) 2011-07-19 2016-04-19 Panasonic Intellectual Property Management Co., Ltd. Multiprocessor system

Also Published As

Publication number Publication date
JPH07113902B2 (ja) 1995-12-06

Similar Documents

Publication Publication Date Title
US4823304A (en) Method of providing synchronous message exchange in an asychronous operating environment
EP0319034A2 (en) Method of recovering failure of online control program
CN108924008A (zh) 一种双控制器数据通信方法、装置、设备及可读存储介质
JPH06243070A (ja) プロセッサ間通信システム
US20030202522A1 (en) System for concurrent distributed processing in multiple finite state machines
EP0258650B1 (en) Parallel computer system capable of asynchronous data transmission
JPH01106234A (ja) 並列処理デバッグ制御方法
JPH0520782B2 (ja)
JPH0666061B2 (ja) マルチcpu通信装置
JPS6239789B2 (ja)
JPH07120302B2 (ja) タスクデバッグ方式
JPS6049464A (ja) マルチプロセッサ計算機におけるプロセッサ間通信方式
JPH01191967A (ja) データ通信処理方式
JPH0511824B2 (ja)
JPH04355836A (ja) 仮想計算機間データ転送処理装置
JP2569026B2 (ja) マルチコンピュータシステムのプログラム実行方法
JPH02123858A (ja) 通信プログラムのテスト方式
KR940001701B1 (ko) 전전자 교환기 운용명령어 수행상태 감시방법
US7478137B1 (en) Lightweight messaging with and without hardware guarantees
JPH039497B2 (ja)
JPH08106440A (ja) 分散共有メモリ計算機システム
JPS6277645A (ja) ローカルジョブ起動制御方法
JPH03211648A (ja) ハードソフトインタフェース制御方式
JPH04101221A (ja) オブジェクト指向システム検査方式
JPH02118841A (ja) 入力待ち行列管理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees