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

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

Info

Publication number
JPH07113902B2
JPH07113902B2 JP62264086A JP26408687A JPH07113902B2 JP H07113902 B2 JPH07113902 B2 JP H07113902B2 JP 62264086 A JP62264086 A JP 62264086A JP 26408687 A JP26408687 A JP 26408687A JP H07113902 B2 JPH07113902 B2 JP H07113902B2
Authority
JP
Japan
Prior art keywords
message
processing
executed
processes
parallel
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.)
Expired - Fee Related
Application number
JP62264086A
Other languages
English (en)
Other versions
JPH01106234A (ja
Inventor
公一 村上
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

Description

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

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の処理装置によって並列に実行される
    複数のプロセスがあり、該プロセス間でメッセージを授
    受して進めるように構成された処理を、単一の処理装置
    により実行してデバッグするに際し、 予め、該複数の処理装置によって該処理を実行した場合
    の、各該プロセスごとの受信メッセージの受信時刻順の
    記録を作成して保持し、 該各プロセスごとに、該プロセスがメッセージ受信待ち
    のために停止するまで実行して、該プロセスを待ちプロ
    セス行列に登録し(5)、 該プロセスが発信したメッセージを送信メッセージ行列
    に発生順に登録し(4)、 1の該プロセスがメッセージ受信待ちとなった場合に
    は、該送信メッセージ行列の先頭のメッセージを受信す
    るプロセスを次に実行するプロセスとして、該待ちプロ
    セス行列から取り出し、 当該プロセスの該受信時刻順の記録により受信時刻の最
    も早いメッセージを該送信メッセージ行列から該プロセ
    スに渡して、該プロセスを実行させる(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 JPH01106234A (ja) 1989-04-24
JPH07113902B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013011620A1 (ja) 2011-07-19 2015-02-23 パナソニック株式会社 マルチプロセッサシステム

Family Cites Families (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 タスク生成状態通知方式

Also Published As

Publication number Publication date
JPH01106234A (ja) 1989-04-24

Similar Documents

Publication Publication Date Title
US5452437A (en) Methods of debugging multiprocessor system
US5933639A (en) System and method for debugging distributed programs
JP3571976B2 (ja) デバッグ装置及び方法並びにプログラム記録媒体
US20100023667A1 (en) High availability system and execution state control method
CN101213523A (zh) 调试辅助装置及用于在计算机中执行调试处理方法的程序
US9910760B2 (en) Method and apparatus for interception of synchronization objects in graphics application programming interfaces for frame debugging
JP2006164185A (ja) デバッグ装置
JPH07113902B2 (ja) 並列処理デバッグ制御方法
JPH0520782B2 (ja)
JP3085730B2 (ja) 複合cpuシステムの並列シミュレーション方式
JPH07120302B2 (ja) タスクデバッグ方式
CN113965561B (zh) 一种基于异步事件驱动的机载文件传输系统
JPS62123552A (ja) 中央処理装置割当て方式
JP2754583B2 (ja) 擬似障害発生システム
JPH0588933A (ja) デバツグ機能を有する並列処理システム
JPS6239789B2 (ja)
JPH03188536A (ja) 並列計算機制御方式
JPS6049464A (ja) マルチプロセッサ計算機におけるプロセッサ間通信方式
JPH0449146B2 (ja)
JPH07234850A (ja) マルチプロセッサの装置と方法
JPS62175838A (ja) シフトアウト・デ−タの収集方式
Atkins et al. Experiences with coroutines in BCPL
JPS63219042A (ja) プログラムデバツグ装置
JPH037974B2 (ja)
JPH0736735A (ja) デバッグ装置

Legal Events

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