专利汇可以提供Debug system for distributed parallel processing program专利检索,专利查询,专利分析的服务。并且PURPOSE: To apply the debugging operations to parallel processing programs which are distributed and operating on plural hosts having no shared memory toy starting the debuggers for every host and opening a window on a prescribed console.
CONSTITUTION: A parallel processing debugger db1 starts a program pg1 on a host 1 to communicate with a parallel processing daemon da1 to send the debug information on the program operating on another host to the daemon da1 and also to store the debug information in a debug information table dt1. Then the daemon da1 is instructed to start the program pg1 on another host by the request of the pg1 and then communicates with a parallel processing daemon da2 of a host 2 to send a start instruction of the program pg2 and the entry of the table dt1. The daemon da2 refers to the entry of a debug information table dt2, i.e., the copy of the table dt1 before starting the program pg2 on the host 2. Then the da2 starts a debugger db2 as necessary. The debugger db2 acquires the name of the host that outputs at its option the name and the result of the program pg2 and then outputs the debug result to a window w2 of an output console.
COPYRIGHT: (C)1996,JPO,下面是Debug system for distributed parallel processing program专利的具体信息内容。
【0001】
【産業上の利用分野】本発明は、分散メモリの並列処理プログラムのデバッグ方式に関し、特に他ホストでのデバッガの起動方式に関する。
【0002】
【従来の技術】従来、マルチプロセスプログラムのデバッガの作成方式は(例えば特開平5−181700号公報参照)図4に示すようにプログラムAが自身の複製であるプログラムA′を生成する際にデバッガD AがデバッガD Bを生成し、プログラムA′をデバッガD Bの制御下でプログラムBに変化させ、さらにデバッガD AとデバッガD Bの間で連絡経路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 デバッグ情報テーブル
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种适用于联盟链的数据安全信使方法及系统 | 2020-05-12 | 68 |
通过向云计算基础设施的细粒度卸载进行的移动应用加速 | 2020-05-13 | 640 |
日志采集方法、服务器及计算机存储介质 | 2020-05-11 | 584 |
一种基于资源缓存的高性能无服务器计算方法及系统 | 2020-05-13 | 866 |
用于跨网络和SSIDS的连接和切换管理的系统和方法 | 2020-05-14 | 811 |
一种数据处理方法和装置 | 2020-05-15 | 543 |
一种分布式维护系统的更新方法及系统 | 2020-05-15 | 150 |
一种应用进程的监控方法和装置 | 2020-05-15 | 586 |
分布式望远镜设备远程控制和观测系统 | 2020-05-08 | 537 |
在故障存储设备上快速恢复数据的方法 | 2020-05-14 | 882 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。