JP2000010815A - 並列分散システムのデバッグ装置及びデバッグ方法 - Google Patents

並列分散システムのデバッグ装置及びデバッグ方法

Info

Publication number
JP2000010815A
JP2000010815A JP10191092A JP19109298A JP2000010815A JP 2000010815 A JP2000010815 A JP 2000010815A JP 10191092 A JP10191092 A JP 10191092A JP 19109298 A JP19109298 A JP 19109298A JP 2000010815 A JP2000010815 A JP 2000010815A
Authority
JP
Japan
Prior art keywords
task
message
trace
specified
extracting
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
JP10191092A
Other languages
English (en)
Other versions
JP3139459B2 (ja
Inventor
Hiroyuki Otani
寛之 大谷
Hisayuki Aoki
久幸 青木
Yuichi Aiba
雄一 相場
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10191092A priority Critical patent/JP3139459B2/ja
Publication of JP2000010815A publication Critical patent/JP2000010815A/ja
Application granted granted Critical
Publication of JP3139459B2 publication Critical patent/JP3139459B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 並列分散システム上で動作するプロセスのデ
バッグにおいて、効率的なデバッグを実現する。 【解決手段】 プロセス内のタスク1−1において、通
常トレース採取手段3−1は、タスク番号と処理内容の
識別情報をトレースファイル6−1に記録し、メッセー
ジ送信手段4−1は、メッセージ番号生成手段2−1で
生成したメッセージ番号、現在のタスク番号の組をメッ
セージに埋め込んで送信すると共に、トレースファイル
6−1に記録し、メッセージ受信手段5−1は、タスク
番号、受信メッセージのメッセージ番号、送信元タスク
番号の組をトレースファイル6−1に記録し、トレース
抽出手段80は、指定されたタスクにおいて、そのタス
ク番号と送信されたメッセージの番号を特定し、トレー
スの中から、受信メッセージ番号、送信元タスク番号の
一致するタスクのトレースを抽出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信ネットワーク
を介して複数の計算機が接続された並列分散システムに
おいて、複数のプロセスが通信により協調動作するプロ
グラムのデバッグ装置及びデバッグ方法に関する。
【0002】
【従来の技術】従来より、プログラムのデバッグを行な
うための伝統的な手法として、処理の内容を識別する情
報を記録する特殊なコードをあらかじめプログラム内に
埋め込んでおき、プログラムの実行後、記録された処理
の履歴情報から処理の流れを把握するトレース手法があ
る。
【0003】一方、並列分散システム上で動作するプロ
グラムをデバッグするツールとして、例えば特開平5−
224984号公報に開示されるような分散プログラム
デバッグ支援装置がある。
【0004】この分散プログラムデバッグ支援装置は、
計算機上のプロセス間で送受信処理が行なわれた際、そ
の実行履歴データを採取する手段、実行履歴データを送
信する手段、送信された実行履歴データを受信し収集す
る手段、実行履歴データを因果関係の順に並びかえ、並
びかえた実行履歴データの中から送信時の実行履歴デー
タと受信時の実行履歴データを対応させ、プロセスの実
行状況を解析する解析手段、解析結果を表示する手段を
含む装置から構成される。
【0005】この装置では、プロセス間の送受信処理を
イベントとして、イベントが発生した際、そのイベント
の内容、イベントの発生時間、相手先のプロセスIDな
どを実行履歴データに残し、そのデータを収集して解析
を行ない実行されたプロセスの実行状況を視覚的に表示
する。これにより、並列分散システム上で動作するプロ
グラムのデバッグを行なう際、プログラムにトレースを
残すための特殊なコードを埋めこむことなく、複数のプ
ロセスの実行状況、プロセス間の通信を視覚的に把握す
ることを可能としている。
【0006】
【発明が解決しようとする課題】上述した従来の並列分
散システム上のプログラムのデバッグにおいては、以下
に述べるような問題点があった。
【0007】第1に、単にプログラム中に処理の内容を
識別する情報を記録する特殊なコードを埋め込む伝統的
なトレース手法では、各プロセスで処理された個々の内
容の妥当性を把握することができるが、プロセス間の処
理の流れの把握は困難である。特に、多数のプロセスが
協調動作する大規模な並列分散システムでは、その記録
されるトレースの量も膨大で、その中から目的とするト
レースを探す必要があり、デバッグ効率が悪いという問
題があった。
【0008】第2に、前記分散プログラムデバッグ支援
装置は、プログラムの改造を必要とせず、通信によるプ
ロセス間の実行履歴の因果関係を把握することができる
ものの、実際のデバッグでは、プロセスが実行した処理
の詳細な内容を把握する必要もあり、プロセス間の実行
履歴の因果関係のみでは情報不足で、やはりプログラム
内に何らかの情報を埋め込んだトレースが必要になる。
【0009】また、上記分散プログラムデバッグ支援装
置では、複数のプロセス間の実行履歴の因果関係を視覚
的に表示することが可能であるが、プロセス数が膨大に
なると、その因果関係の表示にも限界があり、視覚的に
把握することも極めて難しくなる。
【0010】そこで、大規模な並列分散システムにおい
て効率的なデバッグを行なうためには、多数のプロセス
から採取される膨大なトレースデータの中から、デバッ
グの対象となるトレースを絞ることが必要になる。例え
ば、プロセス内のある一連の処理単位とするタスクに注
目して、そのタスクからの通信によって他のタスクに影
響を与えたか、その結果どのような処理が行なわれた
か、あるいはそのタスクが実行された原因は何か等を調
査する際、対象となるタスクのトレースのみを膨大なト
レースデータの中から抽出できればよい。
【0011】本発明の第1の目的は、指定されたタスク
からメッセージ送信が行なわれたことにより、それを受
けて実行されたタスクのトレース情報のみを記録された
トレースデータの中から抽出することを可能としてデバ
ッグ効率の向上を実現する並列分散システムのデバッグ
装置及びデバッグ方法を提供することにある。
【0012】また、本発明の第2の目的は、指定された
タスクをメッセージ送信によって実行させた送信元のタ
スクのトレースをトレースデータの中から抽出すること
を可能としてデバッグ効率の向上を実現する並列分散シ
ステムのデバッグ装置及びデバッグを提供することにあ
る。
【0013】また、本発明の第3の目的は、指定された
タスクからメッセージ送信が行なわれたことにより、そ
のタスクから連鎖的に実行された全てのタスクのトレー
スをトレースデータの中から抽出することを可能として
デバッグ効率の向上を実現する並列分散システムのデバ
ッグ装置及びデバッグ方法を提供することにある。
【0014】さらに、本発明の第4の目的は、指定され
たタスクをメッセージ送信によって実行させた送信元の
タスクのトレースを遡って、そのタスクを実行させた根
源となるタスクのトレースを抽出することを可能として
デバッグ効率の向上を実現する並列分散システムのデバ
ッグ装置及びデバッグ方法を提供することにある。
【0015】さらに、本発明の第5の目的は、指定され
たタスクからメッセージ送信が行なわれたことにより、
それを受けて実行されたタスクのトレース、指定された
タスクをメッセージ送信によって実行させた送信元のタ
スクのトレース、指定されたタスクからメッセージ送信
が行なわれたことにより、そのタスクから連鎖的に実行
された全てのタスクのトレース及び指定されたタスクを
メッセージ送信によって実行させた送信元のタスクのト
レースを遡って、そのタスクを実行させた根源となるタ
スクのトレースを選択的に抽出することを可能とし、こ
れによりデバッグ効率の向上を実現する並列分散システ
ムのデバッグ装置及びデバッグ方法を提供することにあ
る。
【0016】
【課題を解決するための手段】上記目的を達成する本発
明の並列分散システムのデバッグ装置は、通信ネットワ
ークを介して複数の計算機が接続され、個々の計算機上
でプログラムの実行主体であるプロセスが通信により協
調動作する並列分散システムにおいて、各プロセスが動
作する際にプロセス内の一連の処理単位とするタスクに
システム内でユニークなタスク番号を生成するタスク番
号生成手段と、前記プロセス内でユニークなメッセージ
番号を生成するメッセージ番号生成手段と、前記タスク
番号生成手段において生成されたタスク番号とプロセス
が処理した内容を識別する情報を組にしてトレースに記
録する通常トレース採取手段と、タスクがメッセージを
送信する際、前記メッセージ番号生成手段により生成し
たメッセージ番号と現在のタスク番号とを組にしてメッ
セージに埋め込むことによりメッセージ送信を行ない、
さらに当該メッセージ番号とタスク番号の組をメッセー
ジ送信トレースとして記録するメッセージ送信手段と、
プロセスにメッセージが到着した際に、前記タスク番号
生成手段によりタスク番号を生成させ、該タスク番号と
受信したメッセージに埋め込まれているメッセージ番号
と送信元のタスク番号の組をメッセージ受信トレースと
して記録し、到着したメッセージに対応するタスクを実
行するメッセージ受信手段とから構成される複数のタス
ク実行手段と、指定されたタスクのタスク番号、前記メ
ッセージ送信トレースの前記メッセージ番号、前記メッ
セージ受信トレースの前記メッセージ番号と送信元のタ
スク番号に基づいて、所定のタスクを特定することによ
り、当該タスクのトレースを、記録されたトレースの中
から抽出するトレース抽出手段と、前記トレース抽出手
段において抽出したタスクのトレース情報を表示するト
レース表示手段とを備える。
【0017】請求項2の本発明の並列分散システムのデ
バッグ装置は、複数の前記タスク実行手段毎に、前記通
常トレース採取手段による前記通常トレースと、前記メ
ッセージ送信手段によるメッセージ送信トレースと、前
記メッセージ受信手段によるメッセージ受信トレースを
記録する複数のトレースファイルを備え、前記トレース
抽出手段は、前記トレースファイルから前記タスクのト
レースを抽出することを特徴とする。
【0018】請求項3の本発明の並列分散システムのデ
バッグ装置は、前記トレース抽出手段が、指定されたタ
スクのタスク番号と当該タスクから送信したメッセージ
のメッセージ番号を特定し、さらにメッセージ受信トレ
ースにおいて送信元のタスク番号、受信したメッセージ
のメッセージ番号が、前記特定したタスク番号、メッセ
ージ番号と一致するタスクのトレースを、記録されたト
レースの中から抽出する受信先トレース抽出手段である
ことを特徴とする。
【0019】これにより、並列分散システム上で動作す
るプログラムのデバッグを行なう際、多数のプロセスか
ら採取されたトレースデータの中から、ある指定された
タスクよりメッセージを受けて実行されたタスクのトレ
ースのみを抽出して表示することができるので、膨大な
トレースデータを全て調査することなく対象を絞ること
ができ、デバッグ効率は大幅に向上する。
【0020】請求項4の本発明の並列分散システムのデ
バッグ装置は、前記トレース抽出手段が、特に指定され
たタスクがメッセージ受信に対応して実行された場合、
メッセージ受信トレースに含まれる送信元のタスク番号
を特定し、特定したタスクのトレースを、記録されたト
レースの中から抽出する送信元トレース抽出手段である
ことを特徴とする。
【0021】これにより、並列分散システム上で動作す
るプログラムのデバッグを行なう際、多数のプロセスか
ら採取されたトレースデータの中から、ある指定された
タスクを実行させた元のタスクのトレースのみを抽出し
て表示することができるので、デバッグ効率は大幅に向
上する。
【0022】請求項5の本発明の並列分散システムのデ
バッグ装置は、前記トレース抽出手段が、特に指定され
たタスクのタスク番号とそのタスクから送信したメッセ
ージのメッセージ番号を特定し、さらにメッセージ受信
トレースにおいて送信元のタスク番号、受信したメッセ
ージのメッセージ番号が、前記特定したタスク番号、メ
ッセージ番号と一致するタスクのトレースを、記録され
たトレースの中から抽出すると共に、抽出したタスクに
ついて前記処理を再帰的に行なうことにより、指定され
たタスクからメッセージの送信によって連鎖的に実行さ
れた全てのタスクのトレースを抽出する前方トレース抽
出手段であることを特徴とする。
【0023】これにより、並列分散システム上で動作す
るプログラムのデバッグを行なう際、多数のプロセスか
ら採取されたトレースデータの中から、ある指定された
タスクが実行されたことが原因で、連鎖的に実行された
全てのタスクのトレースを抽出して表示することができ
るので、デバッグ効率は大幅に向上する。
【0024】請求項6の本発明の並列分散システムのデ
バッグ装置は、前記トレース抽出手段が、特に指定され
たタスクがメッセージ受信により実行された場合、メッ
セージ受信トレースに含まれる送信元のタスク番号を特
定し、特定したタスクのトレースを記録されたトレース
の中から抽出すると共に、特定したタスクについて前記
処理を再帰的に行なうことにより、指定されたタスクが
実行された起因となるタスクのトレースを全て抽出する
後方トレース抽出手段であることを特徴とする。
【0025】これにより、注目したタスクを実行させた
起因となるタスクのトレースを抽出して表示することが
できるので、デバッグ効率は大幅に向上する。
【0026】請求項7の本発明の並列分散システムのデ
バッグ装置は、トレース抽出手段として、指定されたタ
スクのタスク番号と当該タスクから送信したメッセージ
のメッセージ番号を特定し、さらにメッセージ受信トレ
ースにおいて送信元のタスク番号、受信したメッセージ
のメッセージ番号が、前記特定したタスク番号、メッセ
ージ番号と一致するタスクのトレースを、記録されたト
レースの中から抽出する受信先トレース抽出手段と、特
に指定されたタスクがメッセージ受信に対応して実行さ
れた場合、メッセージ受信トレースに含まれる送信元の
タスク番号を特定し、特定したタスクのトレースを、記
録されたトレースの中から抽出する送信元トレース抽出
手段と、特に指定されたタスクのタスク番号とそのタス
クから送信したメッセージのメッセージ番号を特定し、
さらにメッセージ受信トレースにおいて送信元のタスク
番号、受信したメッセージのメッセージ番号が、前記特
定したタスク番号、メッセージ番号と一致するタスクの
トレースを、記録されたトレースの中から抽出すると共
に、抽出したタスクについて前記処理を再帰的に行なう
ことにより、指定されたタスクからメッセージの送信に
よって連鎖的に実行された全てのタスクのトレースを抽
出する前方トレース抽出手段と、特に指定されたタスク
がメッセージ受信により実行された場合、メッセージ受
信トレースに含まれる送信元のタスク番号を特定し、特
定したタスクのトレースを記録されたトレースの中から
抽出すると共に、特定したタスクについて前記処理を再
帰的に行なうことにより、指定されたタスクが実行され
た起因となるタスクのトレースを全て抽出する後方トレ
ース抽出手段とを任意に組合わせて構成されることを特
徴とする。
【0027】請求項8の本発明の並列分散システムのデ
バッグ方法は、通信ネットワークを介して複数の計算機
が接続され、個々の計算機上でプログラムの実行主体で
あるプロセスが通信により協調動作する並列分散システ
ムにおいて、各プロセスが動作する際にプロセス内の一
連の処理単位とするタスクにシステム内でユニークなタ
スク番号を生成するステップと、前記プロセス内でユニ
ークなメッセージ番号を生成するステップと、生成され
たタスク番号とプロセスが処理した内容を識別する情報
を組にして通常トレースとして記録するステップと、タ
スクがメッセージを送信する際、生成したメッセージ番
号と現在のタスク番号とを組にしてメッセージに埋め込
むことによりメッセージ送信を行ない、さらに当該メッ
セージ番号とタスク番号の組をメッセージ送信トレース
として記録するステップと、プロセスにメッセージが到
着した際に、タスク番号を生成させ、該タスク番号と受
信したメッセージに埋め込まれているメッセージ番号と
送信元のタスク番号の組をメッセージ受信トレースとし
て記録し、到着したメッセージに対応するタスクを実行
するステップと、指定されたタスクのタスク番号、前記
メッセージ送信トレースの前記メッセージ番号、前記メ
ッセージ受信トレースの前記メッセージ番号と送信元の
タスク番号に基づいて、所定のタスクを特定することに
より、当該タスクのトレースを、記録されたトレースの
中から抽出するステップと、抽出したタスクのトレース
情報を表示するステップとを備える。
【0028】請求項9の本発明の並列分散システムのデ
バッグ方法は、前記トレースの抽出ステップにおいて、
指定されたタスクのタスク番号と当該タスクから送信し
たメッセージのメッセージ番号を特定し、さらにメッセ
ージ受信トレースにおいて送信元のタスク番号、受信し
たメッセージのメッセージ番号が、前記特定したタスク
番号、メッセージ番号と一致するタスクのトレースを、
記録されたトレースの中から抽出することを特徴とす
る。
【0029】請求項10の本発明の並列分散システムの
デバッグ方法は、前記トレースの抽出ステップにおい
て、特に指定されたタスクがメッセージ受信に対応して
実行された場合、メッセージ受信トレースに含まれる送
信元のタスク番号を特定し、特定したタスクのトレース
を、記録されたトレースの中から抽出することを特徴と
する。
【0030】請求項11の本発明の並列分散システムの
デバッグ方法は、前記トレースの抽出ステップにおい
て、特に指定されたタスクのタスク番号とそのタスクか
ら送信したメッセージのメッセージ番号を特定し、さら
にメッセージ受信トレースにおいて送信元のタスク番
号、受信したメッセージのメッセージ番号が、前記特定
したタスク番号、メッセージ番号と一致するタスクのト
レースを、記録されたトレースの中から抽出すると共
に、抽出したタスクについて前記処理を再帰的に行なう
ことにより、指定されたタスクからメッセージの送信に
よって連鎖的に実行された全てのタスクのトレースを抽
出することを特徴とする。
【0031】請求項12の本発明の並列分散システムの
デバッグ方法は、前記トレースの抽出ステップにおい
て、特に指定されたタスクがメッセージ受信により実行
された場合、前記メッセージ受信トレースに含まれる送
信元のタスク番号を特定し、特定したタスクのトレース
を記録されたトレースの中から抽出すると共に、特定し
たタスクについて前記処理を再帰的に行なうことによ
り、指定されたタスクが実行された起因となるタスクの
トレースを全て抽出することを特徴とする。
【0032】請求項13の本発明の並列分散システムの
デバッグ方法は、前記トレースの抽出ステップが、指定
されたタスクのタスク番号と当該タスクから送信したメ
ッセージのメッセージ番号を特定し、さらにメッセージ
受信トレースにおいて送信元のタスク番号、受信したメ
ッセージのメッセージ番号が、前記特定したタスク番
号、メッセージ番号と一致するタスクのトレースを、記
録されたトレースの中から抽出するステップと、特に指
定されたタスクがメッセージ受信に対応して実行された
場合、メッセージ受信トレースに含まれる送信元のタス
ク番号を特定し、特定したタスクのトレースを、記録さ
れたトレースの中から抽出するステップと、特に指定さ
れたタスクのタスク番号とそのタスクから送信したメッ
セージのメッセージ番号を特定し、さらにメッセージ受
信トレースにおいて送信元のタスク番号、受信したメッ
セージのメッセージ番号が、前記特定したタスク番号、
メッセージ番号と一致するタスクのトレースを、記録さ
れたトレースの中から抽出すると共に、抽出したタスク
について前記処理を再帰的に行なうことにより、指定さ
れたタスクからメッセージの送信によって連鎖的に実行
された全てのタスクのトレースを抽出するステップと、
特に指定されたタスクがメッセージ受信により実行され
た場合、メッセージ受信トレースに含まれる送信元のタ
スク番号を特定し、特定したタスクのトレースを記録さ
れたトレースの中から抽出すると共に、特定したタスク
について前記処理を再帰的に行なうことにより、指定さ
れたタスクが実行された起因となるタスクのトレースを
全て抽出するステップとを任意に組合わせて構成される
ことを特徴とする。
【0033】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明の第
1の実施の形態に係る並列分散システムにおけるデバッ
グ装置の構成を示すブロック図である。
【0034】本デバッグ装置は、並列分散システム上で
動作する複数のタスク実行部1−1〜1−n、トレース
ファイル6−1〜6−n、タスク番号生成手段70、受
信先トレース抽出手段80、トレース表示手段90から
構成される。また、各タスク実行部1−1〜1−nは、
各々メッセージ番号生成手段2−1〜2−n、通常トレ
ース採取手段3−1〜3−n、メッセージ送信手段4−
1〜4−n、メッセージ受信手段5−1〜5−nから構
成されている。
【0035】メッセージ番号生成手段2−1〜2−n
は、プロセス内でユニークなメッセージ番号を生成す
る。通常トレース採取手段3−1〜3−nは、タスク番
号生成手段70において生成されたタスク番号及びプロ
セスが処理した内容を識別する情報を採取してトレース
に記録する。メッセージ送信手段4−1〜4−nは、タ
スクがメッセージを送信する際、メッセージ番号生成手
段2−1〜2−nを呼び出して生成したメッセージ番号
と送信を行なうタスクのタスク番号の組をそのメッセー
ジに埋め込んでメッセージ送信を行ない、さらにそのメ
ッセージ番号、タスク番号の組をメッセージ送信トレー
スとして記録する。メッセージ受信手段5−1〜5−n
は、他のプロセスからメッセージが到着した際、タスク
番号生成手段70を呼び出してタスク番号を生成し、生
成したタスク番号、受信したメッセージに埋め込まれて
いるメッセージ番号、送信元のタスク番号を組にしてメ
ッセージ受信トレースに記録し、メッセージに対応する
タスクを実行する。
【0036】トレースファイル6−1〜6−nは、各プ
ロセスから採取されたトレースデータを記録する。タス
ク番号生成手段70は、タスクを実行する際、システム
内ユニークなタスク番号を生成する。受信先トレース抽
出手段80は、各プロセスから採取されたトレースファ
イル6−1〜6−nを収集し、指定されたタスク番号と
そのタスクから送信したメッセージのメッセージ番号を
特定し、さらにメッセージ受信トレースの中から送信元
のタスク番号、受信したメッセージ番号が、前記特定し
たタスク番号、メッセージ番号と一致するタスクのトレ
ースを抽出する。トレース表示手段90は、受信先トレ
ース抽出手段80で抽出したタスクのトレースを表示す
る。
【0037】ここで、タスク番号生成手段70は、シス
テム内ユニークなタスク番号を生成する手段であるが、
例えば並列分散システムがUNIX計算機で構築される
場合、タスク番号は、その各計算機をユニークに識別す
るIPアドレスあるいはノード名、各計算機上で動作す
るプロセスのプロセスID、各プロセスで動作するタス
クをユニークに識別するようなタスクIDから構成する
こともできる。
【0038】図2は、採取されるトレースのデータ構造
の一例を表した図である。各トレースのエントリは、ト
レースを採取したタスクのタスク番号201、トレース
データを識別するデータ識別子202及びデータ部20
3から構成される。データ識別子202は、そのトレー
スを記録した手段によりユニークに識別できる値が記録
され、そのトレースのエントリが通常トレース、メッセ
ージ送信トレース、メッセージ受信トレースのいずれの
トレースであるか識別できる。データ部203は、各ト
レースの種類によって異なり、通常トレースの場合、処
理内容の識別情報が記録される。メッセージ送信トレー
スの場合、送信されたメッセージのメッセージ番号が記
録される。メッセージ受信トレースの場合、送信元のタ
スク番号、受信したメッセージのメッセージ番号が記録
される。
【0039】本発明における第1の実施の形態の詳細な
動作を図に基づいて説明する。図3は、通常トレース採
取手段3−1〜3−nの動作を示すフローチャートであ
る。プログラムのデバッグを行なう際は、処理されたタ
スクの内容を識別できる情報、例えば処理内容を示す文
字列等をそのタスクが実行されたタイミングでトレース
に残すようにトレース採取命令をあらかじめプログラム
中に埋め込んでおく。通常トレース採取手段3−1〜3
−nは、そのトレースを採取する命令が実行された場合
に呼び出される。
【0040】各タスク実行部1−1〜1−nの通常トレ
ース採取手段3−1〜3−nは、まず、現在実行されて
いるタスクのタスク番号を取得する(ステップ30
1)。このタスク番号は、タスクを実行した時点で既に
タスク番号生成手段70によって各タスクに割り振られ
る番号である。そして、タスク番号とプログラムに埋め
込まれた処理内容を識別する情報との組を通常トレース
データとして、対応するトレースファイル6−1〜6−
nに記録する(ステップ302)。
【0041】図4は、メッセージ送信手段4−1〜4−
nの動作を示すフローチャートである。メッセージ送信
手段4−1〜4−nは、タスク内でメッセージ送信が行
なわれる際に呼び出される。
【0042】メッセージ送信手段4−1〜4−nは、ま
ず、メッセージ番号生成手段2−1〜2−nに問い合わ
せることにより、送信メッセージに対するメッセージ番
号を生成する(ステップ401)。次に、メッセージ送
信を行なうタスクのタスク番号を入手する(ステップ4
02)。その後、送信メッセージのメッセージ番号と送
信処理を行なうタスクのタスク番号との組をメッセージ
内に埋め込んで、メッセージを相手先のプロセスに送信
する(ステップ403)。さらに、メッセージ送信が行
なわれたことを示すために、送信処理を行なったタスク
番号と送信したメッセージのメッセージ番号の組をメッ
セージ送信トレースデータとして、対応するトレースフ
ァイル6−1〜6−nに記録する(ステップ404)。
【0043】図5は、メッセージ受信手段5−1〜5−
nの動作を示すフローチャートである。メッセージ受信
手段5−1〜5−nは、プロセスがメッセージを受信し
たことにより、それに対応するタスクを新たに実行する
際に呼び出される。
【0044】メッセージ受信手段5−1〜5−nは、受
信したメッセージに埋め込まれているメッセージ番号及
び送信元のタスク番号を取り出す(ステップ501)。
その後、受信したメッセージを受けて実行するタスクの
タスク番号をタスク番号生成手段70に問い合わせて生
成する(ステップ502)。さらに、メッセージ受信処
理が行なわれた事を示すために、メッセージを受けて実
行するタスク番号と受信したメッセージのメッセージ番
号及び送信元のタスク番号との組をメッセージ受信トレ
ースとして、対応するトレースファイル6−1〜6−n
に記録する(ステップ503)。そして、受信したメッ
セージに対応するタスクを実行する(ステップ50
4)。
【0045】図6は、受信先トレース抽出手段80の動
作を示すフローチャートである。受信先トレース抽出手
段80は、デバッグを行なう対象となるタスク番号を指
定されて処理を実行する。
【0046】まず、受信先トレース抽出手段80は、並
列分散システム上で動作する各プロセスから採取したト
レースファイル6−1〜6−nを収集する(ステップ6
01)。次に、収集したトレースファイル6−1〜6−
nからメッセージ送信処理及びメッセージ受信処理を行
なったトレースを抽出する(ステップ602)。
【0047】メッセージ送信トレースからは、メッセー
ジ送信処理を行なったタスク番号と送信したメッセージ
のメッセージ番号を抽出する。一方、メッセージ受信ト
レースからは、受信処理により実行されたタスク番号、
受信したメッセージのメッセージ番号、送信元のタスク
番号を抽出し、メッセージ送受信リストを作成する(ス
テップ603)。
【0048】作成したメッセージ送受信リストを確認
し、もし指定したタスクからメッセージ送信処理が行な
われていた場合(ステップ604)、そのタスクから送
信したメッセージのメッセージ番号を抽出する(ステッ
プ605)。
【0049】次に、メッセージ送受信リスト中のメッセ
ージ受信トレースの一覧から、送信元のタスク番号及び
受信したメッセージのメッセージ番号が、上記指定した
タスクのタスク番号及び抽出した送信メッセージのメッ
セージ番号と一致するタスクを検索する(ステップ60
6)。そして、上記指定したタスクと検索されたタスク
のトレースをトレースファイル6−1〜6−nから抽出
する(ステップ607)。
【0050】この抽出するトレースには、そのタスク内
で処理された内容を識別する情報、そのタスクで行なわ
れたメッセージの送受信処理のトレースが含まれる。そ
の後、トレース表示手段90は受信先トレース抽出手段
80で抽出したタスクのトレースを表示する。
【0051】この結果、並列分散システムで動作するプ
ログラムのデバッグを行なう際、膨大なトレースデータ
の中から、指定したタスク及びそのタスクからメッセー
ジ送信が行なわれ、そのメッセージを受けて実行された
タスクのトレース情報のみを表示することができるもの
である。
【0052】次に、本発明における発明の第2の実施の
形態に係るデバッグ装置について説明する。図7は、本
発明における第2の実施の形態に係るデバッグ装置の構
成を示すブロック図である。本実施の形態は、第1の実
施の形態と同様にタスク実行部1−1〜1−n、メッセ
ージ番号生成手段2−1〜2−n、通常トレース採取手
段3−1〜3−n、メッセージ送信手段4−1〜4−
n、メッセージ受信手段5−1〜5−n、トレースファ
イル6−1〜6−n、タスク番号生成手段70、トレー
ス表示手段90を備え、さらに、第1の実施例の受信先
トレース抽出手段80の代わりに、指定されたタスクを
メッセージ送信により実行させた送信元のタスクのトレ
ースを抽出する送信元トレース抽出手段100を備えて
構成される。
【0053】この第2の実施の形態の詳細な動作を図に
基づいて説明する。図8は、送信元トレース抽出手段1
00の動作を示すフローチャートである。その他の手段
の動作については、第1の実施の形態の場合と同様であ
る。
【0054】送信元トレース抽出手段100は、デバッ
グを行なう対象となるタスク番号を指定されて処理を行
なう。まず、送信元トレース抽出手段100は、第1の
実施の形態における受信先トレース抽出手段80と同様
に、並列分散システム上で動作する各プロセスから採取
したトレースファイル6−1〜6−nを収集し、収集し
たトレースファイル6−1〜6−nからメッセージ送信
処理及びメッセージ送信処理を行なったトレースを抽出
してメッセージ送受信リストを作成する(ステップ80
1〜803)。
【0055】作成したメッセージ送受信リストを確認
し、もし指定されたタスクがメッセージ受信により実行
されていた場合(ステップ804)、そのメッセージを
送信した送信元のタスク番号をメッセージ受信トレース
から特定する(ステップ805)。
【0056】次に、上記指定されたタスクと特定した送
信元のタスク番号に該当するタスクのトレースをトレー
スファイル6−1〜6−nの中から抽出する(ステップ
806)。その後、トレース表示手段90は、送信元ト
レース抽出手段100で抽出したタスクのトレースを表
示する。
【0057】この結果、並列分散システム上で動作する
プログラムのデバッグを行なう際、膨大なトレースデー
タの中から指定したタスク及びそのタスクを実行させた
元のタスクのトレース情報のみを表示することができ
る。
【0058】次に、本発明における発明の第3の実施の
形態に係るデバッグ装置について説明する。図7は、本
発明における第3の実施の形態に係るデバッグ装置の構
成を示すブロック図である。本実施の形態は、第1の実
施の形態と同様にタスク実行部1−1〜1−n、メッセ
ージ番号生成手段2−1〜2−n、通常トレース採取手
段3−1〜3−n、メッセージ送信手段4−1〜4−
n、メッセージ受信手段5−1〜5−n、トレースファ
イル6−1〜6−n、タスク番号生成手段70、トレー
ス表示手段90を備え、さらに、第1の実施の形態の受
信先トレース抽出手段80の代わりに、指定されたタス
クが実行されたことにより、連鎖的に実行された全ての
タスクのトレースを抽出する前方トレース抽出手段11
0を備えて構成される。
【0059】第3の実施の形態による詳細な動作を図に
基づいて説明する。図10は、前方トレース抽出手段1
10の動作を示すフローチャートである。その他の手段
の動作については、第1の実施の形態の場合と同様であ
る。
【0060】前方トレース抽出手段110は、デバッグ
を行なう対象となるタスク番号を指定されて処理を行な
う。まず、前方トレース抽出手段110は、第1の実施
の形態における受信先トレース抽出手段80と同様に並
列分散システム上で動作する各プロセスから採取したト
レースファイル6−1〜6−nを全て収集し、収集した
トレースファイル6−1〜6−nからメッセージ送信処
理及びメッセージ送信処理を行なったトレースを抽出し
てメッセージ送受信リストを作成する(ステップ100
1〜1003)。
【0061】作成したメッセージ送受信リストを確認
し、もし指定されたタスクからメッセージ送信処理が行
なわれていた場合(ステップ1004)、そのタスクか
ら送信したメッセージのメッセージ番号を抽出する(ス
テップ1005)。
【0062】次に、指定したタスクのタスク番号及び抽
出した送信メッセージのメッセージ番号と、メッセージ
送受信リストの中のメッセージ受信トレース一覧から、
送信元のタスク番号及び受信したメッセージのメッセー
ジ番号がそれぞれ一致するタスクを検索する(ステップ
1006)。そして、上記指定したタスクと検索さされ
たタスクのトレースをトレースファイル6−1〜6−n
抽出する(ステップ1007)。
【0063】もし、抽出したタスクにおいてさらにメッ
セージ送信処理が行なわれていた場合、さらに上述した
トレースの抽出処理を再帰的に行ない、メッセージ送信
処理が行なわれなくなるまで継続する。これにより、ト
レース表示手段90は、前方トレース抽出手段110で
抽出したタスクのトレースを表示する。
【0064】この結果、並列分散システムで動作するプ
ログラムのデバッグを行なう際、膨大なトレースデータ
の中から、指定したタスク及びそのタスクからメッセー
ジ送信が行なわれた事が起因となって、連鎖的に実行さ
れた全てのタスクのトレース情報のみを表示することが
できる。
【0065】次に、本発明における発明の第4の実施の
形態に係るデバッグ装置について説明する。図11は、
本発明における第4の実施の形態に係るデバッグ装置の
構成を示すブロック図である。
【0066】本実施の形態は、第1の実施の形態と同様
にタスク実行部1−1〜1−n、メッセージ番号生成手
段2−1〜2−n、通常トレース採取手段3−1〜3−
n、メッセージ送信手段4−1〜4−n、メッセージ受
信手段5−1〜5−n、トレースファイル6−1〜6−
n、タスク番号生成手段70、トレース表示手段90を
備え、さらに、第1の実施の形態の受信先トレース抽出
手段80の代わりに、指定されたタスクを実行させた起
因となるタスクのトレースを抽出する後方トレース抽出
手段120を備えて構成されている。
【0067】第4の実施の形態による詳細な動作を図に
基づいて説明する。図12は、後方トレース抽出手段1
20の動作を示すフローチャートである。その他の手段
の動作については、第1の実施の形態の場合と同様であ
る。
【0068】後方トレース抽出手段120は、デバッグ
を行なう対象となるタスク番号を指定されて処理を行な
う。まず、後方トレース抽出手段12は、受信先トレー
ス抽出手段80と同様に並列分散システム上で動作する
各プロセスから採取したトレースファイル6−1〜6−
nを全て収集し、収集したトレースファイルからメッセ
ージ送信処理トレース及びメッセージ受信処理トレース
を抽出してメッセージ送受信リストを作成する(ステッ
プ1201〜1203)。
【0069】作成したメッセージ送受信リストを確認
し、もし指定されたタスクがメッセージ受信により実行
されていた場合(ステップ1204)、そのメッセージ
を送信した送信元のタスク番号をメッセージ受信トレー
スから特定する(ステップ1205)。次に、指定され
たタスク及び特定したタスク番号に該当するタスクのト
レースをトレースファイル6−1〜6−nの中から抽出
する(ステップ1206)。
【0070】もし、特定したタスクがさらにメッセージ
受信によって実行されていた場合、上述したトレース抽
出処理を再帰的に行ない、メッセージ受信以外の何らか
の原因で実行されたタスクであると判定されるまでタス
クのトレースを抽出する。これにより、トレース表示手
段90は、後方トレース抽出手段120で抽出したタス
クのトレースを表示する。
【0071】この結果、並列分散システムで動作するプ
ログラムのデバッグを行なう際、膨大なトレースデータ
の中から指定したタスクが実行された起因となったタス
クのトレース情報のみを表示することができる。
【0072】上記第1から第4の実施の形態において
は、4種類のトレース抽出手段について説明したが、各
々の実施の形態のトレース抽出手段を選択的に組合わせ
て構成することも可能である。ここで、第5の実施の形
態として、第1から第4の実施の形態におけるトレース
抽出手段を組合わせたデバッグ装置について説明する。
図13は、本発明における第5の実施の形態に係るデバ
ッグ装置の構成を示すブロック図である。
【0073】この実施の形態では、タスク実行部1−1
〜1−n、メッセージ番号生成手段2−1〜2−n、通
常トレース採取手段3−1〜3−n、メッセージ送信手
段4−1〜4−n、メッセージ受信手段5−1〜5−
n、トレースファイル6−1〜6−n、タスク番号生成
手段70、トレース表示手段90を備え、さらに、第1
の実施の形態における受信先トレース抽出手段80と、
第2の実施の形態における送信元トレース抽出手段10
0と、第3の実施の形態における前方トレース抽出手段
110と、第4の実施の形態における後方トレース抽出
手段120からなるトレース抽出手段130を備え、こ
れらの各抽出手段を選択的に実行できるように構成され
ている。
【0074】各抽出手段の動作については、図6、図
8、図10及び図12に示した内容と同様である。この
ように構成することで、指定されたタスクからメッセー
ジ送信が行なわれたことにより、それを受けて実行され
たタスクのトレース、指定されたタスクをメッセージ送
信によって実行させた送信元のタスクのトレース、指定
されたタスクからメッセージ送信が行なわれたことによ
り、そのタスクから連鎖的に実行された全てのタスクの
トレース及び指定されたタスクをメッセージ送信によっ
て実行させた送信元のタスクのトレースを遡って、その
タスクを実行させた根源となるタスクのトレースを選択
的に抽出することが可能となる。この実施の形態以外
に、4種類のトレース抽出手段から2つ以上を任意に選
択して組合わせることも可能である。
【0075】なお、本発明は上述した実施の形態に限定
されるものではなく、その技術思想の範囲内において様
々に変形して実施することができる。
【0076】
【発明の効果】以上説明したように、本発明のデバッグ
装置及びデバッグ方法によれば、タスクのタスク番号、
メッセージ送信トレースのメッセージ番号、メッセージ
受信トレースのメッセージ番号と送信元のタスク番号に
基づいて、所定のタスクを特定することにより、タスク
のトレースを記録されたトレースの中から抽出するの
で、多数のプロセスから記録された膨大なトレースデー
タの中から特定のタスクのトレースのみを抽出して表示
することができるので、デバッグ効率が大幅に向上す
る。
【0077】請求項3及び請求項9の本発明によれば、
多数のプロセスから記録された膨大なトレースデータの
中から指定されたタスクよりメッセージを受けて実行さ
れたタスクのトレースのみを抽出して表示することがで
きるので、デバッグ効率は大幅に向上する。
【0078】請求項4及び請求項10の本発明によれ
ば、注目したタスクを実行させたメッセージ送信元のタ
スクのトレースのみを膨大なトレース中から抽出して表
示することができるのでデバッグ効率が大幅に向上す
る。
【0079】請求項5及び請求項11の本発明によれ
ば、指定されたタスクが実行されたことにより、連鎖的
に実行された全てのタスクのトレースのみを膨大なトレ
ースの中から抽出して表示することができるのでデバッ
グ効率が大幅に向上する。
【0080】請求項6及び請求項12の本発明によれ
ば、指定されたタスクが実行された起因となるタスクの
トレースを膨大なトレースの中から抽出して表示するこ
とができるので、デバッグ効率が大幅に向上する。
【0081】請求項7及び請求項13の本発明によれ
ば、指定されたタスクからメッセージ送信が行なわれた
ことにより、それを受けて実行されたタスクのトレー
ス、指定されたタスクをメッセージ送信によって実行さ
せた送信元のタスクのトレース、指定されたタスクから
メッセージ送信が行なわれたことにより、そのタスクか
ら連鎖的に実行された全てのタスクのトレース及び指定
されたタスクをメッセージ送信によって実行させた送信
元のタスクのトレースを遡って、そのタスクを実行させ
た根源となるタスクのトレースを選択的に抽出すること
が可能となり、これによりデバッグ効率がより向上す
る。
【図面の簡単な説明】
【図1】 本発明における第1の実施の形態に係るデバ
ッグ装置の構成を示すブロック図である。
【図2】 トレースのデータ構造を示す図である。
【図3】 第1の実施の形態における通常トレース採取
手段の動作を説明するフローチャートである。
【図4】 第1の実施の形態におけるメッセージ送信手
段の動作を説明するフローチャートである。
【図5】 第1の実施の形態におけるメッセージ受信手
段の動作を説明するフローチャートである。
【図6】 第1の実施の形態における受信先トレース抽
出手段の動作を示すフローチャートである。
【図7】 本発明における第2の実施の形態に係るデバ
ッグ装置の構成を示すブロック図である。
【図8】 第2の実施の形態における送信元トレース抽
出手段の動作を説明するフローチャートである。
【図9】 本発明における第3の実施の形態に係るデバ
ッグ装置の構成を示すブロック図である。
【図10】 第3の実施の形態における前方トレース抽
出手段の動作を説明するフローチャートである。
【図11】 本発明における第4の実施の形態に係るデ
バッグ装置の構成を示すブロック図である。
【図12】 第4の実施の形態における後方トレース抽
出手段の動作を説明するフローチャートである。
【図13】 本発明における第5の実施の形態に係るデ
バッグ装置の構成を示すブロック図である。
【符号の説明】
1−1〜1−n タスク実行部 2−1〜2−n メッセージ番号生成手段 3−1〜3−n 通常トレース採取手段 4−1〜4−n メッセージ送信手段 5−1〜5−n メッセージ受信手段 6−1〜6−n トレースファイル 70 タスク番号生成手段 80 受信先トレース抽出手段 90 トレース表示手段 100 送信元トレース抽出手段 110 前方トレース抽出手段 120 後方トレース抽出手段 130 トレース抽出手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 相場 雄一 東京都港区芝5丁目7番1号 日本電気株 式会社内 Fターム(参考) 5B042 FB08 FB10 FD11 FD36 5B045 BB47 GG01 JJ49 5B089 AA03 AA05 AA07 AA20 AD01 AE08 AF00 CB02 CB03 CC03 EA04 5B098 GA04 JJ07

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワークを介して複数の計算機
    が接続され、個々の計算機上でプログラムの実行主体で
    あるプロセスが通信により協調動作する並列分散システ
    ムにおいて、 各プロセスが動作する際にプロセス内の一連の処理単位
    とするタスクにシステム内でユニークなタスク番号を生
    成するタスク番号生成手段と、 前記プロセス内でユニークなメッセージ番号を生成する
    メッセージ番号生成手段と、 前記タスク番号生成手段において生成されたタスク番号
    とプロセスが処理した内容を識別する情報を組にしてト
    レースに記録する通常トレース採取手段と、 タスクがメッセージを送信する際、前記メッセージ番号
    生成手段により生成したメッセージ番号と現在のタスク
    番号とを組にしてメッセージに埋め込むことによりメッ
    セージ送信を行ない、さらに当該メッセージ番号とタス
    ク番号の組をメッセージ送信トレースとして記録するメ
    ッセージ送信手段と、 プロセスにメッセージが到着した際に、前記タスク番号
    生成手段によりタスク番号を生成させ、該タスク番号と
    受信したメッセージに埋め込まれているメッセージ番号
    と送信元のタスク番号の組をメッセージ受信トレースと
    して記録し、到着したメッセージに対応するタスクを実
    行するメッセージ受信手段とから構成される複数のタス
    ク実行手段と、 指定されたタスクのタスク番号、前記メッセージ送信ト
    レースの前記メッセージ番号、前記メッセージ受信トレ
    ースの前記メッセージ番号と送信元のタスク番号に基づ
    いて、所定のタスクを特定することにより、当該タスク
    のトレースを、記録されたトレースの中から抽出するト
    レース抽出手段と、 前記トレース抽出手段において抽出したタスクのトレー
    ス情報を表示するトレース表示手段とを備えることを特
    徴とする並列分散システムのデバッグ装置。
  2. 【請求項2】 複数の前記タスク実行手段毎に、前記通
    常トレース採取手段による前記通常トレースと、前記メ
    ッセージ送信手段によるメッセージ送信トレースと、前
    記メッセージ受信手段によるメッセージ受信トレースを
    記録する複数のトレースファイルを備え、 前記トレース抽出手段は、前記トレースファイルからタ
    スクのトレースを抽出することを特徴とする請求項1に
    記載の並列分散システムのデバッグ装置。
  3. 【請求項3】 前記トレース抽出手段が、指定されたタ
    スクのタスク番号と当該タスクから送信したメッセージ
    のメッセージ番号を特定し、さらにメッセージ受信トレ
    ースにおいて送信元のタスク番号、受信したメッセージ
    のメッセージ番号が、前記特定したタスク番号、メッセ
    ージ番号と一致するタスクのトレースを、記録されたト
    レースの中から抽出する受信先トレース抽出手段である
    ことを特徴とする請求項1又は請求項2に記載の並列分
    散システムのデバッグ装置。
  4. 【請求項4】 前記トレース抽出手段が、特に指定され
    たタスクがメッセージ受信に対応して実行された場合、
    メッセージ受信トレースに含まれる送信元のタスク番号
    を特定し、特定したタスクのトレースを、記録されたト
    レースの中から抽出する送信元トレース抽出手段である
    ことを特徴とする請求項1又は請求項2に記載の並列分
    散システムのデバッグ装置。
  5. 【請求項5】 前記トレース抽出手段が、特に指定され
    たタスクのタスク番号とそのタスクから送信したメッセ
    ージのメッセージ番号を特定し、さらにメッセージ受信
    トレースにおいて送信元のタスク番号、受信したメッセ
    ージのメッセージ番号が、前記特定したタスク番号、メ
    ッセージ番号と一致するタスクのトレースを、記録され
    たトレースの中から抽出すると共に、抽出したタスクに
    ついて前記処理を再帰的に行なうことにより、指定され
    たタスクからメッセージの送信によって連鎖的に実行さ
    れた全てのタスクのトレースを抽出する前方トレース抽
    出手段であることを特徴とする請求項1又は請求項2に
    記載の並列分散システムのデバッグ装置。
  6. 【請求項6】 前記トレース抽出手段が、特に指定され
    たタスクがメッセージ受信により実行された場合、メッ
    セージ受信トレースに含まれる送信元のタスク番号を特
    定し、特定したタスクのトレースを記録されたトレース
    の中から抽出すると共に、特定したタスクについて前記
    処理を再帰的に行なうことにより、指定されたタスクが
    実行された起因となるタスクのトレースを全て抽出する
    後方トレース抽出手段であることを特徴とする請求項1
    又は請求項2に記載の並列分散システムのデバッグ装
    置。
  7. 【請求項7】 前記トレース抽出手段として、 指定されたタスクのタスク番号と当該タスクから送信し
    たメッセージのメッセージ番号を特定し、さらにメッセ
    ージ受信トレースにおいて送信元のタスク番号、受信し
    たメッセージのメッセージ番号が、前記特定したタスク
    番号、メッセージ番号と一致するタスクのトレースを、
    記録されたトレースの中から抽出する受信先トレース抽
    出手段と、 特に指定されたタスクがメッセージ受信に対応して実行
    された場合、メッセージ受信トレースに含まれる送信元
    のタスク番号を特定し、特定したタスクのトレースを、
    記録されたトレースの中から抽出する送信元トレース抽
    出手段と、 特に指定されたタスクのタスク番号とそのタスクから送
    信したメッセージのメッセージ番号を特定し、さらにメ
    ッセージ受信トレースにおいて送信元のタスク番号、受
    信したメッセージのメッセージ番号が、前記特定したタ
    スク番号、メッセージ番号と一致するタスクのトレース
    を、記録されたトレースの中から抽出すると共に、抽出
    したタスクについて前記処理を再帰的に行なうことによ
    り、指定されたタスクからメッセージの送信によって連
    鎖的に実行された全てのタスクのトレースを抽出する前
    方トレース抽出手段と、 特に指定されたタスクがメッセージ受信により実行され
    た場合、メッセージ受信トレースに含まれる送信元のタ
    スク番号を特定し、特定したタスクのトレースを記録さ
    れたトレースの中から抽出すると共に、特定したタスク
    について前記処理を再帰的に行なうことにより、指定さ
    れたタスクが実行された起因となるタスクのトレースを
    全て抽出する後方トレース抽出手段とを任意に組合わせ
    て構成されることを特徴とする請求項1又は請求項2に
    記載の並列分散システムのデバッグ装置。
  8. 【請求項8】 通信ネットワークを介して複数の計算機
    が接続され、個々の計算機上でプログラムの実行主体で
    あるプロセスが通信により協調動作する並列分散システ
    ムにおいて、 各プロセスが動作する際にプロセス内の一連の処理単位
    とするタスクにシステム内でユニークなタスク番号を生
    成するステップと、 前記プロセス内でユニークなメッセージ番号を生成する
    ステップと、 生成されたタスク番号とプロセスが処理した内容を識別
    する情報を組にして通常トレースとして記録するステッ
    プと、 タスクがメッセージを送信する際、生成したメッセージ
    番号と現在のタスク番号とを組にしてメッセージに埋め
    込むことによりメッセージ送信を行ない、さらに当該メ
    ッセージ番号とタスク番号の組をメッセージ送信トレー
    スとして記録するステップと、 プロセスにメッセージが到着した際に、タスク番号を生
    成させ、該タスク番号と受信したメッセージに埋め込ま
    れているメッセージ番号と送信元のタスク番号の組をメ
    ッセージ受信トレースとして記録し、到着したメッセー
    ジに対応するタスクを実行するステップと、 指定されたタスクのタスク番号、前記メッセージ送信ト
    レースの前記メッセージ番号、前記メッセージ受信トレ
    ースの前記メッセージ番号と送信元のタスク番号に基づ
    いて、所定のタスクを特定することにより、当該タスク
    のトレースを、記録されたトレースの中から抽出するス
    テップと、 抽出したタスクのトレース情報を表示するステップとを
    備えることを特徴とする並列分散システムのデバッグ方
    法。
  9. 【請求項9】 前記トレースの抽出ステップにおいて、
    指定されたタスクのタスク番号と当該タスクから送信し
    たメッセージのメッセージ番号を特定し、さらにメッセ
    ージ受信トレースにおいて送信元のタスク番号、受信し
    たメッセージのメッセージ番号が、前記特定したタスク
    番号、メッセージ番号と一致するタスクのトレースを、
    記録されたトレースの中から抽出することを特徴とする
    請求項8に記載の並列分散システムのデバッグ方法。
  10. 【請求項10】 前記トレースの抽出ステップにおい
    て、特に指定されたタスクがメッセージ受信に対応して
    実行された場合、メッセージ受信トレースに含まれる送
    信元のタスク番号を特定し、特定したタスクのトレース
    を、記録されたトレースの中から抽出することを特徴と
    する請求項8に記載の並列分散システムのデバッグ方
    法。
  11. 【請求項11】 前記トレースの抽出ステップにおい
    て、特に指定されたタスクのタスク番号とそのタスクか
    ら送信したメッセージのメッセージ番号を特定し、さら
    にメッセージ受信トレースにおいて送信元のタスク番
    号、受信したメッセージのメッセージ番号が、前記特定
    したタスク番号、メッセージ番号と一致するタスクのト
    レースを、記録されたトレースの中から抽出すると共
    に、抽出したタスクについて前記処理を再帰的に行なう
    ことにより、指定されたタスクからメッセージの送信に
    よって連鎖的に実行された全てのタスクのトレースを抽
    出することを特徴とする請求項8に記載の並列分散シス
    テムのデバッグ方法。
  12. 【請求項12】 前記トレースの抽出ステップにおい
    て、特に指定されたタスクがメッセージ受信により実行
    された場合、前記メッセージ受信トレースに含まれる送
    信元のタスク番号を特定し、特定したタスクのトレース
    を記録されたトレースの中から抽出すると共に、特定し
    たタスクについて前記処理を再帰的に行なうことによ
    り、指定されたタスクが実行された起因となるタスクの
    トレースを全て抽出することを特徴とする請求項8に記
    載の並列分散システムのデバッグ方法。
  13. 【請求項13】 前記トレースの抽出ステップが、 指定されたタスクのタスク番号と当該タスクから送信し
    たメッセージのメッセージ番号を特定し、さらにメッセ
    ージ受信トレースにおいて送信元のタスク番号、受信し
    たメッセージのメッセージ番号が、前記特定したタスク
    番号、メッセージ番号と一致するタスクのトレースを、
    記録されたトレースの中から抽出するステップと、 特に指定されたタスクがメッセージ受信に対応して実行
    された場合、メッセージ受信トレースに含まれる送信元
    のタスク番号を特定し、特定したタスクのトレースを、
    記録されたトレースの中から抽出するステップと、 特に指定されたタスクのタスク番号とそのタスクから送
    信したメッセージのメッセージ番号を特定し、さらにメ
    ッセージ受信トレースにおいて送信元のタスク番号、受
    信したメッセージのメッセージ番号が、前記特定したタ
    スク番号、メッセージ番号と一致するタスクのトレース
    を、記録されたトレースの中から抽出すると共に、抽出
    したタスクについて前記処理を再帰的に行なうことによ
    り、指定されたタスクからメッセージの送信によって連
    鎖的に実行された全てのタスクのトレースを抽出するス
    テップと、 特に指定されたタスクがメッセージ受信により実行され
    た場合、メッセージ受信トレースに含まれる送信元のタ
    スク番号を特定し、特定したタスクのトレースを記録さ
    れたトレースの中から抽出すると共に、特定したタスク
    について前記処理を再帰的に行なうことにより、指定さ
    れたタスクが実行された起因となるタスクのトレースを
    全て抽出するステップとを任意に組合わせて構成される
    ことを特徴とする請求項8に記載の並列分散システムの
    デバッグ方法。
JP10191092A 1998-06-22 1998-06-22 並列分散システムのデバッグ装置及びデバッグ方法 Expired - Fee Related JP3139459B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10191092A JP3139459B2 (ja) 1998-06-22 1998-06-22 並列分散システムのデバッグ装置及びデバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10191092A JP3139459B2 (ja) 1998-06-22 1998-06-22 並列分散システムのデバッグ装置及びデバッグ方法

Publications (2)

Publication Number Publication Date
JP2000010815A true JP2000010815A (ja) 2000-01-14
JP3139459B2 JP3139459B2 (ja) 2001-02-26

Family

ID=16268728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10191092A Expired - Fee Related JP3139459B2 (ja) 1998-06-22 1998-06-22 並列分散システムのデバッグ装置及びデバッグ方法

Country Status (1)

Country Link
JP (1) JP3139459B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116928A (ja) * 2000-06-16 2002-04-19 Fujitsu Ltd 複数システムの処理情報を記録する記録システム
JP2002215420A (ja) * 2000-10-10 2002-08-02 Ricoh Co Ltd 画像形成装置、プロセス監視方法、デバッグ方法およびこれらの方法をコンピュータに実行させるプログラム
JP2003150357A (ja) * 2001-11-14 2003-05-23 Ricoh Co Ltd 画像形成装置、画像形成システム、プロセス間通信情報取得方法およびその方法をコンピュータに実行させるプログラム
JP2003167715A (ja) * 2001-11-29 2003-06-13 Ricoh Co Ltd プロセス間通信履歴表示方法、その方法をコンピュータに実行させるプログラム、画像形成装置および画像形成システム
JP2005527008A (ja) * 2001-09-19 2005-09-08 ヒューレット・パッカード・カンパニー コンポーネントベースシステムのランタイム監視
JP2007280262A (ja) * 2006-04-11 2007-10-25 Nec Computertechno Ltd 障害解析支援装置、リクエスト処理装置及び障害解析支援方法
US7398282B2 (en) 2000-06-16 2008-07-08 Fujitsu Limited System for recording process information of a plurality of systems
JP2008217195A (ja) * 2007-03-01 2008-09-18 Nec Corp デバッグ装置およびデバッグ方法並びにプログラム
US7594146B2 (en) 2004-02-23 2009-09-22 Nec Corporation Apparatus, method, and program for correcting time of event trace data
JP2010287142A (ja) * 2009-06-15 2010-12-24 Hitachi Ltd フォールトトレラントコンピュータシステムおよびフォールトトレラントコンピュータシステムにおける方法
US8997060B2 (en) 2013-07-31 2015-03-31 International Business Machines Corporation Parallel program analysis and branch prediction

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398282B2 (en) 2000-06-16 2008-07-08 Fujitsu Limited System for recording process information of a plurality of systems
JP2002116928A (ja) * 2000-06-16 2002-04-19 Fujitsu Ltd 複数システムの処理情報を記録する記録システム
JP2002215420A (ja) * 2000-10-10 2002-08-02 Ricoh Co Ltd 画像形成装置、プロセス監視方法、デバッグ方法およびこれらの方法をコンピュータに実行させるプログラム
JP2005527008A (ja) * 2001-09-19 2005-09-08 ヒューレット・パッカード・カンパニー コンポーネントベースシステムのランタイム監視
US8473922B2 (en) 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
JP2003150357A (ja) * 2001-11-14 2003-05-23 Ricoh Co Ltd 画像形成装置、画像形成システム、プロセス間通信情報取得方法およびその方法をコンピュータに実行させるプログラム
JP2003167715A (ja) * 2001-11-29 2003-06-13 Ricoh Co Ltd プロセス間通信履歴表示方法、その方法をコンピュータに実行させるプログラム、画像形成装置および画像形成システム
US7594146B2 (en) 2004-02-23 2009-09-22 Nec Corporation Apparatus, method, and program for correcting time of event trace data
JP4502968B2 (ja) * 2006-04-11 2010-07-14 エヌイーシーコンピュータテクノ株式会社 障害解析支援装置、リクエスト処理装置及び障害解析支援方法
JP2007280262A (ja) * 2006-04-11 2007-10-25 Nec Computertechno Ltd 障害解析支援装置、リクエスト処理装置及び障害解析支援方法
JP2008217195A (ja) * 2007-03-01 2008-09-18 Nec Corp デバッグ装置およびデバッグ方法並びにプログラム
JP2010287142A (ja) * 2009-06-15 2010-12-24 Hitachi Ltd フォールトトレラントコンピュータシステムおよびフォールトトレラントコンピュータシステムにおける方法
US8997060B2 (en) 2013-07-31 2015-03-31 International Business Machines Corporation Parallel program analysis and branch prediction
US9454375B2 (en) 2013-07-31 2016-09-27 International Business Machines Corporation Parallel program analysis and branch prediction

Also Published As

Publication number Publication date
JP3139459B2 (ja) 2001-02-26

Similar Documents

Publication Publication Date Title
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN109861844B (zh) 一种基于日志的云服务问题细粒度智能溯源方法
CN109582588B (zh) 测试用例生成方法、装置及电子设备
CN104426768A (zh) 一种数据报文转发方法及装置
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN107977473B (zh) 基于Logback的分布式系统日志的检索方法和系统
JP2005346414A (ja) トレース処理プログラム、方法及び装置
JP3139459B2 (ja) 並列分散システムのデバッグ装置及びデバッグ方法
CN111563041B (zh) 一种测试用例按需精准执行方法
CN110427298B (zh) 一种分布式日志的自动特征提取方法
CN105224396A (zh) 一种业务数据处理方法和装置
CN111679886A (zh) 异构计算资源调度方法、系统、电子设备及存储介质
CN113518012A (zh) 一种分布式协同流量仿真环境构建方法及系统
CN116132553A (zh) 一种大数据传输优化方法及系统
JP3937341B2 (ja) 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
CN106648722B (zh) 基于大数据的Flume接收端数据处理方法和装置
CN114143369A (zh) 一种云平台的服务监控系统
CN115549862B (zh) 基于动态解析的mes系统并发性能测试数据接收方法
CN112348653A (zh) 一种财务云平台的自动测试运维系统
KR100930962B1 (ko) 알피씨 기반 소프트웨어의 원격지 보안 테스팅 장치 및방법
CN112491596B (zh) 一种基于云端的故障处理方法及装置
CN114610689A (zh) 一种分布式环境中请求日志的记录和分析方法
JP5098914B2 (ja) メッセージパターン生成プログラム、方法及び装置
US11061797B2 (en) Computerized method and system for analysing performance of an application carrying out communication function calls between several processes
JP2023141510A (ja) モバイルコアネットワークのログ依存関係判別装置、方法及びプログラム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071215

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091215

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees