JP2783275B2 - 分散並列処理プログラムデバッグ方式 - Google Patents

分散並列処理プログラムデバッグ方式

Info

Publication number
JP2783275B2
JP2783275B2 JP7105264A JP10526495A JP2783275B2 JP 2783275 B2 JP2783275 B2 JP 2783275B2 JP 7105264 A JP7105264 A JP 7105264A JP 10526495 A JP10526495 A JP 10526495A JP 2783275 B2 JP2783275 B2 JP 2783275B2
Authority
JP
Japan
Prior art keywords
program
host
parallel processing
debugger
started
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
JP7105264A
Other languages
English (en)
Other versions
JPH08305606A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7105264A priority Critical patent/JP2783275B2/ja
Publication of JPH08305606A publication Critical patent/JPH08305606A/ja
Application granted granted Critical
Publication of JP2783275B2 publication Critical patent/JP2783275B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分散メモリの並列処理
プログラムのデバッグ方式に関し、特に他ホストでのデ
バッガの起動方式に関する。
【0002】
【従来の技術】従来、マルチプロセスプログラムのデバ
ッガの作成方式は(例えば特開平5−181700号公
報参照)図4に示すようにプログラムAが自身の複製で
あるプログラムA′を生成する際にデバッガDA がデバ
ッガDB を生成し、プログラムA′をデバッガDB の制
御下でプログラムBに変化させ、さらにデバッガDA
デバッガDB の間で連絡経路Cを作成するという方法が
存在した。
【0003】
【発明が解決しようとする課題】この従来のマルチプロ
セスデバッガの作成方法では、プログラムAが自身の複
製を作成し、複製されたプログラムAの中でプログラム
Bを実行するという方法でマルチタスクを実現してい
る。この方法は、一般的にfork命令により複製し、
exec命令によって新たなプログラムを実行すること
になるが、fork,execの両命令は (1)複製元のプロセスが動作しているオペレーティン
グシステムの内部だけに限って複製ができるため、他の
ホストに対しては実行できない。
【0004】(2)デバッガに関してもfork/ex
ec命令によってプロセスを生成するため、他のホスト
上で起動することができない。
【0005】(3)fork命令を実行する際にデバッ
ガの複製を作成する方式であるため、デバッグの必要性
がないプロセスに対してもデバッガが起動されてしまう
という無駄がある。
【0006】(4)プログラムAがプログラムBを起動
し、さらにプログラムBが別のプログラムCを起動する
というように複数段にわたってプロセスの複製が行なわ
れる場合には、中間にあるプログラムBに対応するデバ
ッガまたはプログラムBから呼び出されるfork/e
xec命令がプログラムCに対応するデバッガを起動す
るため、結果的に全てのプロセスに対応するデバッガを
起動し、全てのプロセスのfork/exec命令をデ
バッグ用のものに置換しなければ、全プロセスのデバッ
グができない。という問題点があった。
【0007】
【課題を解決するための手段】本発明の分散並列処理プ
ログラムデバッグ方式は、各ホスト上でプログラム毎に
起動され、各ホストの各デバッガ毎にウィンドウを表示
して各ホストの各プログラムのデバッグを可能にする並
列処理デバッガと、並列処理デバッガと通信することに
よって他ホスト上で起動するプログラムのデバッグを選
択したり、他ホストからのプログラム起動指示によっ
て、自ホスト上でプログラムを起動する際に必要ならデ
バッガを起動してからプログラムを起動する並列処理デ
ーモンと、並列処理デバッガからの指定によって、並列
処理デーモンの内部に生成され、デバッグしないプログ
ラムの名前や、特定のプログラムを特定のホストで実行
されるようなスケジューリングの指示、各ホスト上の動
作状況を表示し、デバッガに対するコマンド入力を受け
付けるホストの名前を記録するデバッグ情報テーブルか
ら構成される。
【0008】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0009】図1は本発明の一実施例の分散並列処理プ
ログラムデバッグ方式のブロック図である。
【0010】ホスト1、ホスト2、ホスト3は共有する
メモリを持たないコンピュータシステムであり、この3
つのホスト上でプログラムpg1,プログラムpg2,
プログラムpg3が並列に実行される。これらのプログ
ラムは本来1つのプログラムであるが、処理を分割し、
各ホスト上で並列に実行することによってプログラムの
ターンアラウンドタイムを短くすることを目的としてい
る。プログラムpg1は3つのプログラムのメインプロ
グラムであり、プログラムpg2、プログラムpg3を
並列処理デーモンda1に依頼して他ホスト上で起動
し、自身の処理も行なう。
【0011】並列処理デーモンda2,並列処理デーモ
ンda3は並列処理デーモンda1からのプログラム起
動指示によってホスト2,ホスト3上にそれぞれプログ
ラムpg2,プログラムpg3を起動する。
【0012】並列処理デーモンda1,da2,da3
は各ホスト上に常駐するプログラムであり、各ホストの
立ち上げ時に起動されている。
【0013】並列処理デバッガdb1はホスト1上でプ
ログラムpg1をデバッグする。プログラムpg1のデ
バッグは出力コンソール4上のウィンドウW1とキーボ
ード5およびポインティングデバイス6により並列処理
デバッガdb1に指示されて開始される。
【0014】並列処理デバッガdb1は並列処理デーモ
ンda1と通信し、プログラムpg1,pg2,pg3
のデバッグに関する情報を並列処理デーモンda1に渡
す。並列処理デーモンda1はこの情報をデバッグ情報
テーブルdt1に格納する。
【0015】プログラムpg1の動作が並列処理デバッ
ガdb1へのキーボード5からのコマンド指示によって
開始されると、プログラムpg2の実行開始指示が並列
処理デーモンda1に行なわれる。
【0016】並列処理デーモンda1はホスト2上の並
列処理デーモンda2と通信し、プログラムpg2の起
動指示と、デバッグ情報テーブルdt1を送信する。
【0017】並列処理デーモンda2はこのプログラム
移動指示によってホスト上でプログラムpg2を起動す
るが、このときデバッグ情報テーブルdt2を調べ、プ
ログラムpg2をデバッグする必要があれば並列処理デ
バッガdb2を起動し、プログラムpg2がデバッグで
きるようにする。またこのとき出力コンソール4上に新
たにウィンドウw2を生成し、並列処理デバッガdb2
の出力ができるようにする。
【0018】同様にしてホスト1上のプログラムpg1
がプログラムpg3を起動する場合は、ホスト3上の並
列処理デーモンda3とホスト1上の並列処理デーモン
da1が通信し、必要ならデバッガdb3をホスト3上
で起動する。並列処理デバッガdb3はプログラムpg
3をデバッグ可能とし、デバッグコマンドをキーボード
5より入力し、デバッグ結果をウィンドウw3に出力す
る。
【0019】なお一般的なウィンドウシステムがそうで
あるように、各ウィンドウはポインティングデバイス6
で選択し、キーボード5からの入力を受け付ける。
【0020】次に図2によりデバッグ情報テーブルの内
容について説明する。デバッグ情報テーブルdt1は並
列処理デーモンda1の内部に存在するテーブルで、各
並列処理デーモンの内部にも存在する。
【0021】デバッグ情報テーブルはプログラムIDで
区別されるエントリに別れる。あるホスト上で複数のプ
ログラムが並列処理デーモンに処理の要求を発行した場
合には要求したプログラム毎に別なプログラムIDが付
加され、別のエントリとしてデバッグ情報テーブルに格
納される。
【0022】デバッグ情報テーブル中のデバッグフラグ
は並列処理デバッガが並列処理デーモンと通信すること
で更新され、他ホスト上の関連する全てのプログラムを
デバッグするか特定のプログラムだけをデバッグするか
などの情報が格納される。
【0023】出力ホスト名は他ホスト上で起動されたデ
バッガがメッセージを出力するために開くウィンドウを
どのホスト上の出力コンソールの出力するかを示すもの
である。
【0024】デバッガ起動オプションは他ホスト上でデ
バッガを起動するときに指定するオプションである。
【0025】ホスト名とプログラム名は並列処理デバッ
ガのコマンドによって指定したプログラム名をホスト名
に固定的に割り当てるための情報で、プログラムからの
要求で他ホストに新たにプログラムを起動する際には、
このテーブルに存在するプログラムは対応するホスト上
で起動されるようになる。
【0026】次に図3により、本発明のデバッグ方式が
他ホスト上にデバッガを起動するまでの動作を処理の順
に説明する。
【0027】(1)キーボード5よりプログラムpg1
をデバッグする指示を入力する。
【0028】(2)この指示はウィンドウw1で入力さ
れたのでホスト1上で並列処理デバッガdb1が起動さ
れる。
【0029】(3)並列処理デバッガdb1はプログラ
ムpg1を起動する。
【0030】(4)プログラムpg1が実行を開始する
と、並列処理機能の初期化要求のライブラリが呼ばれ
る。
【0031】(5)並列処理デバッガdb1はプログラ
ムpg1が並列処理機能の初期化が完了すると、並列処
理デーモンda1にデバッグ情報テーブルの作成を指示
する。このときデバッグフラグや出力コンソール名を指
定する。並列処理デーモンda1はデバッグ情報テーブ
ルdt1にデバッグ情報を格納する。なおプログラムI
Dは(4)の並列処理機能の初期化によってプロセス対
応に新たに生成されるので、この値をデバッグ情報テー
ブルに格納する。
【0032】(6)プログラムpg1の動作が進み、プ
ログラムpg2を他ホストで実行する命令が発行され、
並列処理デーモンda1が動作する。
【0033】(7)並列処理デーモンda1はホスト2
上の並列処理デーモンda2と通信し、プログラムpg
2の起動を要求する。これとともに、デバッグ情報テー
ブルdt1のプログラムpg1に対応するプログラムI
Dのエントリをホスト2上の並列処理デーモンda2の
デバッグ情報テーブルdt2へコピーするよう要求す
る。
【0034】(8)並列処理デーモンda1はデバッグ
情報テーブルdt2を参照し、プログラムpg2がデバ
ッグするべきか調べ、並列処理デバッガdb2を起動す
る。
【0035】(9)並列処理デバッガdb2は(8)の
際にオプションで指定されたプログラムpg2を起動し
てデバッグを開始する。
【0036】(10)並列処理デバッガdb2は(8)の
際にオプションで指定された出力ホスト上のウィンドウ
w2を開いてデバッガのコマンドの入出力を行うように
する。
【0037】
【発明の効果】以上説明したように本発明は分散メモリ
の並列処理システムで動作するプログラムをデバッグ可
能とし、ホスト毎に別々のウィンドウを表示してデバッ
グでき、また必要なプログラムだけを選択できることか
ら、並列処理プログラムの開発時のプログラムデバッグ
時間の短縮に効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】デバッグ情報テーブルの概念図である。
【図3】図1に示した実施例の処理フロー図である。
【図4】従来のマルチプロセスプログラムのデバッガの
作成方式を示す図である。
【符号の説明】
1,2,3 ホスト 4 出力コンソール 5 キーボード 6 ポインティングデバイ
ス pg1,pg2,pg3 プログラム db1,db2,db3 並列処理デバッガ da1,da2,da3 並列処理デーモン dt1,dt2,dt3 デバッグ情報テーブル

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のホストコンピュータ上でプログラ
    ムの処理を分割して動作させ、プログラムのスループッ
    トを向上させることを目的とし、ホストコンピュータ間
    で共有するメモリを持たず、各ホストごとに分散したメ
    モリを持つ分散メモリの並列処理システムで、各ホスト
    ごとに他のホストとの通信を行ない、各ホスト上でプロ
    グラムの起動/終了を行う並列処理デーモンと、プログ
    ラムの並列動作を行うために、他ホストでのプログラム
    の起動/終了や他ホストとのメッセージの送信/受信の
    APIを提供する並列処理ライブラリから成る分散並列
    処理システムにおいて、各ホスト上でプログラム毎に起
    動され、各ホストの各デバッガ毎にウィンドウを表示し
    て各ホストの各プログラムのデバッガを可能とする並列
    処理デバッガと、並列処理デバッガと通信することによ
    って他ホスト上で起動するプログラムのデバッグを選択
    したり、他ホストからのプログラム起動指示によって、
    自ホスト上でプログラムを起動する際に必要ならデバッ
    ガを起動してからプログラムを起動する並列処理デーモ
    ンと、並列処理デバッガからの指定によって並列処理デ
    ーモンの内部に生成され、デバッグしないプログラムの
    名前や特定のプログラムを特定のホストで実行されるよ
    うなスケジューリングの指示、各ホスト上の動作状況を
    表示し、デバッガに対するコマンド入力を受けつけるホ
    ストの名前を記録するデバッグ情報テーブルとを有する
    ことを特徴とする分散並列処理プログラムデバッグ方
    式。
  2. 【請求項2】 各ホスト上でプログラム毎に起動され、
    各ホストの各デバッガ毎にウィンドウを表示して各ホス
    トの各プログラムのデバッグを可能にする並列処理デバ
    ッガと、並列処理デバッガと通信することによって他ホ
    スト上で起動するプログラムのデバッグを選択したり、
    他ホストからのプログラム起動指示によって、自ホスト
    上でプログラムを起動する際に必要ならデバッガを起動
    してからプログラムを起動する並列処理デーモンと、並
    列処理デバッガからの指定によって、並列処理デーモン
    の内部に生成され、デバッグしないプログラムの名前
    や、特定のプログラムを特定のホストで実行されるよう
    なスケジューリングの指示、各ホスト上の動作状況を表
    示し、デバッガに対するコマンド入力を受け付けるホス
    トの名前を記録するデバッグ情報テーブルから構成され
    ることを特徴とする分散並列処理プログラムデバッグ方
    式。
JP7105264A 1995-04-28 1995-04-28 分散並列処理プログラムデバッグ方式 Expired - Fee Related JP2783275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7105264A JP2783275B2 (ja) 1995-04-28 1995-04-28 分散並列処理プログラムデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7105264A JP2783275B2 (ja) 1995-04-28 1995-04-28 分散並列処理プログラムデバッグ方式

Publications (2)

Publication Number Publication Date
JPH08305606A JPH08305606A (ja) 1996-11-22
JP2783275B2 true JP2783275B2 (ja) 1998-08-06

Family

ID=14402807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7105264A Expired - Fee Related JP2783275B2 (ja) 1995-04-28 1995-04-28 分散並列処理プログラムデバッグ方式

Country Status (1)

Country Link
JP (1) JP2783275B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208667B (zh) 2005-06-22 2012-01-11 日本电气株式会社 调试系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371746A (en) 1991-05-31 1994-12-06 Fuji Xerox Co., Ltd. Program debugging system for a distributed data processing system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292543A (ja) * 1990-04-11 1991-12-24 Matsushita Electric Ind Co Ltd デバッグ装置
JP2782971B2 (ja) * 1991-02-27 1998-08-06 富士ゼロックス株式会社 分散型情報処理システムのデバッグ方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371746A (en) 1991-05-31 1994-12-06 Fuji Xerox Co., Ltd. Program debugging system for a distributed data processing system

Also Published As

Publication number Publication date
JPH08305606A (ja) 1996-11-22

Similar Documents

Publication Publication Date Title
KR930000592B1 (ko) 타스크 추적장치
US6634023B1 (en) Compile method, exception handling method and computer
US8856742B2 (en) Distributed debugging
EP0470322B1 (en) Message-based debugging method
US6026362A (en) Tool and method for diagnosing and correcting errors in a computer program
US6988264B2 (en) Debugging multiple threads or processes
JPH1049381A (ja) 複数のデータ処理要求の処理方法及び処理システム、プログラムの実行方法及びシステム
JPH03217949A (ja) 計算機システム
JP2001134466A (ja) デバッグ装置及び方法並びにプログラム記録媒体
JP2783275B2 (ja) 分散並列処理プログラムデバッグ方式
JP2005108082A (ja) デバイスドライバのインターフェース方法
JPH06332689A (ja) プログラムの表示方法およびプログラムの編集受付け方法
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPH0250228A (ja) デバッグ処理装置
US5812846A (en) Method and apparatus for passing control from a first process to a second process
US5850510A (en) Interpreter language processing device
JPH06324861A (ja) Cpu制御システム及び制御方法
Francioni et al. High performance debugging standards effort
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP2587451B2 (ja) 仮想計算機システムにおける入出力制御方式
JPH0219937A (ja) 電子計算機システム
JPS61211746A (ja) プログラム実行制御方式
JPH04287231A (ja) マイクロプロセッサ
JP2007213396A (ja) デバッグシステム、オペレーションシステム、デバッグ方法、プログラム
Snyder et al. Retargeting an Ada source level debugger to CICS

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980422

LAPS Cancellation because of no payment of annual fees