JPH0581221A - 並列プログラム開発支援装置 - Google Patents

並列プログラム開発支援装置

Info

Publication number
JPH0581221A
JPH0581221A JP3242133A JP24213391A JPH0581221A JP H0581221 A JPH0581221 A JP H0581221A JP 3242133 A JP3242133 A JP 3242133A JP 24213391 A JP24213391 A JP 24213391A JP H0581221 A JPH0581221 A JP H0581221A
Authority
JP
Japan
Prior art keywords
procedure
information
parallel program
processor
extraction unit
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.)
Withdrawn
Application number
JP3242133A
Other languages
English (en)
Inventor
Hideyuki Kubo
秀行 久保
Seiichi Aikawa
聖一 相川
Mayumi Kamiko
真弓 神子
Fumiko Matsuzawa
史子 松沢
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 JP3242133A priority Critical patent/JPH0581221A/ja
Publication of JPH0581221A publication Critical patent/JPH0581221A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 本発明は、並列プログラムの実行時のプロシ
ジャー情報を収集して各プロセッサに対応づけて表示す
る並列プログラム開発支援装置に関し、並列マシン上で
実行させたときのプロシジャー情報を収集して各プロセ
ッサに対応づけて判り易く表示し、並列マシン上での負
荷分散アルゴリズムの性能評価やデバッグなどのプログ
ラム開発作業を支援して行いやすくすることを目的とす
る。 【構成】 並列プログラムを動作させる複数のプロセッ
サと、これら複数のプロセッサ上で動作させた並列プロ
グラムのプロシジャー情報71および動作情報8を抽出
して収集する動作抽出部2とを備え、この動作抽出部2
が一連の処理について収集したプロセッサ毎のプロシジ
ャー情報71および動作情報8をもとに、各プロセッサ
に対応づけてプロシジャーを表示するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列プログラムの実行
時のプロシジャー情報を収集して各プロセッサに対応づ
けて表示する並列プログラム開発支援装置であって、複
数のプロセッサから構成される並列計算機上でのプログ
ラムのテストおよび評価・解析を支援する並列プログラ
ム開発支援装置に関するものである。
【0002】一般に、並列計算機上のプログラム開発
は、計算負荷の分散アルゴリズムの設計、プログラミン
グ、テスト・評価・デバッグといった過程で行われてい
く。計算負荷の分散アルゴリズムの設計は、並列計算機
上でプログラムを効率よく実行させることを目的とし、
プロセッサ間の通信量を抑えながら計算負荷を分散する
ことが肝要となってくる。このために自動的に計算負荷
を各プロセッサに割り当てるような種々の動的負荷分散
方式が考えられているが、これらの方式だけで全てのプ
ログラムを効率良く実行するまでに至っていない。
【0003】また、テスト・評価・デバッグの際も、逐
次プログラムと違って単に正常な実行が行われないもの
に対するデバッグばかりでなく、計算速度の飛躍的な向
上のための評価・デバッグを行わなければならないが、
これらを支援するプログラミング環境が確立されるまで
には至っていない。従って、プログラマが思考錯誤を繰
り返しながら負荷分散アルゴリズムの設計および評価を
行っているのが現状である。このため、プログラマの負
荷を軽くするために、これら一連の作業を支援する必要
がある。
【0004】
【従来の技術】プログラムを並列計算機上で実行させる
ことは、一台のプロセッサで構成する計算機に比べて、
台数分に比例した計算速度の向上が期待される。このよ
うなプロセッサの台数に伴う計算速度の向上を実現する
ためには、プログラムを複数のプロセッサ上で効率よく
同時に実行させなければならない。このためには、プロ
グラムの計算問題を部分問題に分割する方法と、分割し
た部分問題を各プロセッサへ割つ付ける方法について検
討する必要がある。分割方法の検討は、計算負荷を分散
させることによってプロセッサ間通信が増大しないよう
に、ある程度独立に計算可能な単位に問題を分割するこ
とが重要である。また、割つ付ける方法の検討では、あ
る特定のプロセッサに計算負荷が集中しないように、負
荷を均等に各プロセッサに割つ付けることが重要であ
る。これらの検討結果から、負荷分散アルゴリズムを実
現する際には、各プロセッサ上でのゴールの振舞いを予
め予測しながらプログラムを作成する必要がある。しか
し、現状では並列に動作するプログラムの性能を予め予
測することが困難なため、プログラマが思考錯誤を繰り
返しながら負荷分散アルゴリズムの設計を行っている。
【0005】
【発明が解決しようとする課題】従って、プログラムを
並列マシン上で、効率よく実行させるための負荷分散ア
ルゴリズムの設計や、正しく動作させるためのデバッグ
は、プログラマが思考錯誤を繰り返し行わざるを得な
く、効率のよい並列プログラムの作成を支援するツール
が不十分であるという問題があった。
【0006】本発明は、並列マシン上で実行させたとき
のプロシジャー情報を収集して各プロセッサに対応づけ
て判り易く表示し、並列マシン上での負荷分散アルゴリ
ズムの性能評価やデバッグなどのプログラム開発作業を
支援して行いやすくすることを目的としている。
【0007】
【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、複数のプロセッサは、並列
プログラムを動作させるものである。
【0008】動作抽出部2は、複数のプロセッサ上で動
作させた並列プログラムのプロシジャー情報71および
動作情報8を抽出して収集するものである。プロシジャ
ー管理テーブル7は、プロシジャー毎の実行回数を管理
したり、プロシジャーの表示/非表示を管理するフラグ
を設けたりなどするものである。
【0009】対応テーブル72は、動作抽出部2によっ
て抽出したプロシジャー情報71および動作情報8のう
ちの、予め指定されたプロシジャーと変数(例えば共有
変数)との対応を登録するものである。
【0010】
【作用】本発明は、図1に示すように、並列プログラム
を複数のプロセッサ上で動作させ、動作抽出部2が一連
の処理について収集したプロセッサ毎のプロシジャー情
報71および動作情報8をもとに、各プロセッサに対応
づけてプロシジャーを表示させるようにしている。
【0011】また、並列プログラムを複数のプロセッサ
上で動作させ、動作抽出部2が一連の処理についてリア
ルタイムに収集したプロセッサ毎のプロシジャー情報7
1および動作情報8をもとに、各プロセッサに対応づけ
てプロシジャーをリアルタイムに表示させるようにして
いる。
【0012】また、並列プログラムを複数のプロセッサ
上で動作させ、動作抽出部2が一連の処理について収集
したプロシジャー情報71および動作情報8を記憶して
おき、これらプロシジャー情報71および動作情報8を
もとに順次時間の経過(あるいは逆の方向)に従って動
画として表示するようにしている。
【0013】また、並列プログラムを複数のプロセッサ
上で動作させ、動作抽出部2が一連の処理について収集
したプロシジャー情報71および動作情報8をもとにプ
ロシジャー毎の実行回数をプロシジャー管理テーブル7
に登録し、このプロシジャー管理テーブル7で管理され
ている実行回数に対応する色でプロシジャーをプロセッ
サ毎に表示するようにしている。
【0014】また、並列プログラムを複数のプロセッサ
上で動作させ、動作抽出部2が一連の処理について収集
したプロシジャー情報71および動作情報8をもとに予
め指定されたプロシジャーと変数(共有変数)との対応
を対応テーブル72に登録し、この対応テーブル72に
登録された指定されたプロシジャーの変数と同一の変数
が登録されているプロシジャーを各プロセッサに対応づ
けて強調表示するようにしている。
【0015】また、並列プログラムを複数のプロセッサ
上で動作させ、動作抽出部2が一連の処理について収集
したプロシジャー情報71および動作情報8をもとにプ
ロシジャの表示/非表示のフラグを設定し、このプロシ
ジャー管理テーブル7のフラグの設定されたプロシジャ
ーのみを各プロセッサに対応づけて表示するようにして
いる。
【0016】従って、並列マシン上で実行させたときの
プロシジャー情報71および動作情報8収集して各プロ
セッサに対応づけて判り易くプロセッサ構成図として表
示することにより、並列マシン上での負荷分散アルゴリ
ズムの性能評価やデバッグなどのプログラム開発作業を
支援して行いやすくすることが可能となる。
【0017】
【実施例】次に、図1から図10を用いて本発明の実施
例の構成および動作を順次詳細に説明する。
【0018】図1は、本発明の原理構成図(その1)を
示す。図1において、入力装置1は、並列プログラムを
動作抽出部2のPE#0からPE#3のプロセッサにロ
ードしたり、各種コマンドを投入して指示したりなど、
各種入力を行うものである。
【0019】動作抽出部2は、並列プログラムを各PE
#0からPE#3にロードして実行させ、そのときのプ
ロシジャー情報71および動作情報8を収集するもので
あって、PE#0からPE#3、および抽出/収集部2
1などから構成されるものである。
【0020】PE#0からPE#3は、プロセッサであ
って、並列プログラムをロードして並列にそれぞれ実行
するものである。抽出/収集部21は、PE#0からP
E#3によって並列プログラムを並行してそれぞれ実行
したときのプロシジャー情報71および動作情報8を抽
出して収集するものである。ここで、プロシジャーは、
関数、サブルーチンや、更にプログラムの行単位のある
処理を行うものであって、これらにそれぞれプロシジャ
ーIDを付与する。プロシジャー情報71は、プロシジ
ャー名、引数個数などを収集し、このうち同一のプロシ
ジャーIDを持つものを実行回数として計数してディス
ク装置上のデータファイル3に保存する。また、プロシ
ジャー情報71と一緒にプロシジャーIDに対応づけて
そのときのプロシジャーの呼び出しの系列やプロセッサ
番号などを動作情報8として収集してデータファイル3
に保存する。
【0021】データファイル3は、抽出/収集部21が
PE#0ないしPE#3から抽出して同一のプロシジャ
ーIDの実行回数を計数などしたプロシジャー情報71
をプロシジャー管理テーブル7に登録して保存および併
せてプロシジャーIDに対応づけて動作情報8を保存す
るものである。
【0022】ディスプレイ6は、プロセッサ構成図など
を表示するものである。対応テーブル72は、プロシジ
ャーIdに対応づけて使用する変数を登録するものであ
る。
【0023】次に、図2の(イ)のフローチャートに示
す順序に従い、図1の構成の動作を詳細に説明する。図
2の(イ)において、S1は、PE#0が実行およびプ
ロシジャーIDの割り付けを行う。これは、並列プログ
ラムをロードしたPE#0が当該並列プログラムを実行
し、プロシジャーに一意のプロシジャーIDを割り付け
る。例えば並列プログラムのプロシジャー(関数やサブ
ルーチンなど)に一意のプロシジャーIDを割り付け
る。
【0024】S2は、自メモリにプロシジャー情報およ
び動作情報を保存する。これは、S1で割り付けたプロ
シジャーIDに対応づけてプロシジャー情報としてプロ
シジャー名(例えばモジュール名、手続き名など)、引
数の個数などを保存および動作情報として呼び出し系列
(例えばプロシジャーID0からプロシジャーID1が
呼び出されていること)を保存する(図2の(ロ)、
(ハ)参照)。
【0025】S3は、一連の処理を終了したか否かを判
別する。YESの場合には、S4に進む。一方、NOの
場合には、S1、S2を繰り返し行い、並列プログラム
の実行時のプロシジャー情報および動作情報をプロシジ
ャーIDに対応づけて自メモリに保存する。
【0026】同様に、PE#1、PE#2、PE#3に
ついても、並列プログラムの実行時のプロシジャー情報
および動作情報をプロシジャーIDに対応づけて自メモ
リに保存する。
【0027】S4は、S3で各PEがプロシジャー情報
および動作情報を一意なプロシジャーIDに対応づけて
自メモリに保存したものを、ここでは中心となるPE#
0にそれぞれデータ転送してメモリ上のデータプール9
に一旦格納する。この際、同一のプロシジャーIDがあ
ったときはその回数をカウントアップし、2回目以降の
プロシジャー情報をデータプール9に格納しない。
【0028】S5は、S4でデータプール9に実行回数
を計数して格納したプロシジャー情報71および動作情
報8を、ディスク装置上のデータファイル3に保存す
る。これらS4、S5は、図1の抽出/収集部21が行
う。
【0029】以上によって、各PE#0からPE#3が
並列プログラムの実行時にプロシジャーに割り付けた一
意なプロシジャーIDに対応づけて自メモリに保存し、
一連の処理の終了後に中心となるここではPE#0にデ
ータ転送してプロセッサ毎に同一のプロシジャーIDの
ものを計数して実行回数とし、重複しないようにしてプ
ロシジャー情報71および動作情報8を図2の(ロ)、
(ハ)に示すようにし、ディスク装置上のデータファイ
ル3に保存する。これにより、例えばプログラム開発過
程におけるプログラムの動作を履歴として保存すること
が可能となると共に、プログラム開発時に動作を比較す
ることが可能となる。
【0030】図2の(ロ)は、プロシジャー管理テーブ
ル7の例を示す。これは、図2の(イ)のS4で各PE
#0からPE#3から収集したプロシジャー情報を格納
したものであって、同一のプロシジャーIDのプロシジ
ャー情報については実行回数を+1して重複して格納し
ないようにする。ここでは、プロシジャーIDは各PE
#0からPE#3で一意に付与した識別子であり、当該
プロシジャーIDに対応づけてプロシジャーであるモジ
ュール名、手続名、更に引数の個数、当該プロシジャー
の実行回数、当該プロシジャーを表示あるいは非表示す
るかを設定するフラグなどから構成されている。
【0031】図2の(ハ)は、動作情報8の例を示す。
ここで、呼び出し系列として、例えば ID,[ID1,ID2]・・・・・・・・・・・・・・・・・・・(1) を収集する。この(1)は、実行木で表わすと右側に示
すようになり、プロシジャーIDからプロシジャーID
1、プロシジャーID2の2つが図示のように呼び出さ
れている旨の動作情報を表わす。
【0032】図3は、本発明の原理構成図(その2)を
表わす。ここで、入力装置1、動作抽出部2、データフ
ァイル3は、図1のものと同一であるので、説明を省略
する。
【0033】図3の(イ)において、動作表示部4は、
図1および図2を用いて説明したようにして収集してデ
ータファイル3に格納したプロシジャー情報71および
動作情報8を取り出し、これらをもとにPE#0からP
E#3毎にプロシジャーの動作状態を判り易くプロセッ
サ構成図として例えば図5に示すようにディスプレイ5
上に表示するものである。
【0034】システム制御部6は、ディスプレイ5上へ
のプロセッサ構成図の表示制御を行うものである。図3
の(ロ)は、動作抽出部の構成図を示す。
【0035】図3の(ロ)において、PE#0からPE
#3は、並列プログラムの実行時のプロシジャー情報お
よび動作情報を収集する対象のプロセッサである。me
rgerは、PE#0ないしPE#3からプロシジャー
情報および動作情報を収集するものである(図2のフロ
ーチャート参照)。
【0036】抽出/収集部21は、mergerによっ
て各PE#0ないしPE#3から収集したプロシジャー
情報および動作情報をデータプール9に格納するもので
ある(図2のフローチャート参照)。
【0037】データファイル3は、データプール9に格
納したプロシジャー情報および動作情報を保存するディ
スク上に設けたファイルである。割り込み命令は、並列
プログラムを実行しているPE#0ないしPE#3への
入力装置1からの割り込み命令であって、抽出/収集部
21に実行を放棄する旨のメッセージを通知するための
ものである。また、プログラム実行時にエラーが発生し
た場合にも同様に実行を放棄する旨のメッセージを通知
する。抽出/収集部21は、メッセージの通知を受ける
と、プログラムの実行を中止し、現時点までの動作情報
を収集し、データファイル3に保存する。このため、デ
ッドロックにより実行が中断したり、無限ループに陥っ
て実行が終了しなかったり、実行時にエラーで失敗した
りした場合でも、プロシジャー情報および動作情報を収
集してデータファイル3に保存することが可能となる。
【0038】履歴1、2、3は、既述したプロシジャー
IDに対応づけて収集したプロシジャー情報71および
動作情報8を表わす。図4は、本発明の1実施例構成図
を示す。
【0039】図4において、動作表示部4は、図1およ
び図2を用いて説明したように、収集してデータファイ
ル3に格納したプロシジャー情報71を管理するプロシ
ジャー管理テーブル7および動作情報8を取り出し、こ
のうちの動作情報8をもとに対応するプロシジャーID
をもつプロシジャー情報71についてプロシジャー管理
テーブル7を参照し、PE#0からPE#3毎にプロシ
ジャーの動作状態を判り易くプロセッサ構成図として例
えば図5に示すようにディスプレイ5上に表示するもの
である。ここで、プロシジャー管理テーブル7は、デー
タファイル3に既述した図2のフローチャートに従っ
て、プロシジャー情報および動作情報の収集時に作成し
て格納しておいたものを取り出してもよいし、プロシジ
ャー情報71について同一のプロシジャーIDを持つと
きに実行回数を+1してこの段階で作成してもよい。
【0040】プロシジャー管理テーブル7は、プロシジ
ャーIDに対応づけて、Name(プロシジャー名、例
えばモジュール名、手続名など)、実行回数、引数の個
数などを設定する。
【0041】動作情報8は、プロシジャーの呼び出し系
列などであって、図2の(ハ)のようなものである。デ
ィスプレイ5は、プロセッサ構成図を表示するものであ
って、例えば図5に示すようなプロセッサ構成図を表示
するものである。
【0042】図5は、本発明のプロセッサ構成図上にお
けるプログラムの実行過程の表示例を示す。これは、プ
ロセッサPE#0からPE#7までの8個のプロセッサ
について、□でプロシジャーの動作状態を表わしたもの
である。例えばプロセッサPE#0は、4つのプロシジ
ャーが動作状態にある。プロセッサPE#1、PE#7
は、動作状態にあるプロシジャーがゼロである。
【0043】次に、図6から図8の各フローチャートを
用いて図4の構成の動作をそれぞれ詳細に説明する。図
6は、本発明のプロシジャー毎の図形の色分けによる識
別表示のフローチャートを示す。
【0044】図6において、S11は、プロシジャー情
報を収集する。これは、各PE#0ないしPE#3から
プロシジャー情報を収集する。S12は、プロシジャー
情報がプロシジャー管理テーブル7に登録されているか
判別する。YESの場合には、S14で実行回数のカウ
ントアップ(count=count+1)し、S15
で実行終了でなければ(S15のNO)S12を繰り返
し、S15で実行終了なら(S15のNO)S16に進
む。一方、S12のNOの場合には、S13でプロシジ
ャー情報のプロシジャー管理テーブル7への登録を行い
(実行回数:count=0)、S15で実行終了でな
ければ(S15のNO)S12を繰り返し、S15で実
行終了なら(S15のNO)S16に進む。
【0045】S16は、実行回数の多い順に色を割り当
てる。これは、例えば図4のプロシジャー管理テーブル
7中の実行回数の多い順、ここではプロシジャーId
1、2、3の順に濃い色を割り当てる。
【0046】S17は、S16で割り当てた色でプロシ
ジャーを表示する。例えば図10の(イ)に示すよう
に、実行回数の多いプロシジャーを濃く表示し、各プロ
セッサPE#0ないしPE#7で容易に判明するように
表示する。
【0047】以上によって、プロシジャーの実行回数が
多い程、例えば濃く図10の(イ)に示すように表示
し、実行回数の多いプロシジャーを容易に判断できる。
これにより、いずれのプロシジャーがいずれのPE上で
動いているか、いずれのプロシジャーの実行回数が多く
てボトルネックになっているかを容易にプログラマに知
らせることが可能となる。
【0048】図7は、本発明の共有変数を持つプロシジ
ャーのリアルタイム識別表示のフローチャートを示す。
図7の(イ)において、S21は、プロシジャー情報を
収集する。これは、リアルタイムに各PE#0ないしP
E#7からプロシジャー情報(および動作情報)を収集
する(図2のフローチャート参照)。
【0049】S22は、プロシジャー情報と変数との対
応テーブルへの登録、削除を行う。これは、S21で収
集したリアルタイムのプロシジャー情報について、図7
の(ロ)に示すように、プロシジャーIdに対応づけて
その変数例えば変数X、Yなどを図示のように対応づけ
て登録する。
【0050】S23は、プロシジャーを表わす図形を表
示、削除する。これは、収集したプロシジャー情報につ
いて、登録すると共に削除したプロシジャー情報につい
て削除し、爆発的に増加するプロシジャー情報の量を抑
える。
【0051】S24は、実行中断のユーザ指定がありか
否かを判別する。YESの場合には、S25に進む。N
Oの場合には、S21を繰り返し行う。S25は、識別
表示コマンドの投入に対応して、対応テーブル72を参
照して、指定されたプロシジャーと共有変数を持つプロ
シジャーを検索する。これは、図7の(ロ)の対応テー
ブル72を参照し、例えば指定されたプロシジャーId
1と共有変数、ここでは変数Yを持つ他のプロシジャー
Id2を検索して見つける。
【0052】S26は、検索されたプロシジャーの強調
表示を行う。これは、例えば図10の(ロ)の“指定さ
れたプロシジャー”と矢印で示すプロシジャーと変数を
共有する他のプロシジャーを強調表示(ここでは同じ濃
度で強調表示)する。
【0053】以上によって、リアルタイムにプロシジャ
ー情報および動作情報を収集しつつプロシジャーIdと
変数との対応を対応テーブル72に登録しておき、実行
中断指示に対応して、プロセッサ構成図上の変数を共有
するプロシジャーを強調表示することにより、共有変数
を持つプロシジャーを識別し、並列プログラムのデバッ
グ、特に変数のタイプミスによるデッドロックのバグ検
出を容易に行うことが可能となる。
【0054】図7の(ロ)は、対応テーブル72の例を
示す。対応テーブル72は、プロシジャーIdに対応づ
けて変数を図示のように登録するものである。そして、
表示時に、指定されたプロシジャーIdと同じ変数を持
つ他のプロシジャーIdを検索して見つけ、これらを強
調表示する。
【0055】図8は、本発明のあるプロシジャーに着目
した表示フローチャートを示す。図8において、S31
は、プロシジャー管理テーブルへのプロシジャー情報の
登録を行う。これは、例えば収集したプロシジャー情報
を図4のプロシジャー管理テーブル7に登録する。
【0056】S32は、ユーザによる着目したいプロシ
ジャーの指定が有りか否かを判別する。YESの場合に
は、S33でプロシジャー管理テーブル7に指定された
プロシジャーIdの表示フラグを1にする。例えば図4
のプロシジャー管理テーブル7のプロシジャーId1の
表示/非表示フラグを1にする。そして、S32に進
む。
【0057】S34は、動作情報を送出する。S35
は、プロシジャー管理テーブル7を参照する。S36
は、S35の参照によって、プロシジャーIdのフラグ
が1であるか否かを判別する。YESの場合には、S3
7で表示を行い、S34を繰り返し行う。一方、S36
でNOの場合には、表示することなく、S34を繰り返
し行う。
【0058】以上によって、図10の(ハ)に示すよう
に、フラグ(表示/非表示フラグ)を1に設定したプロ
シジャーのみ表示させることが可能となる。これによ
り、プロセッサ構成図上でプログラムの実行過程表示時
に、注目したいプロシジャーのみを表示し、プロシジャ
ーがどの位い動いているかといった情報を判り易く表示
することができる。
【0059】図9は、本発明の表示例(その1)を示
す。図9の(イ)は、初期状態作成コマンドによるプロ
セッサを表わす図形の表示例を示す。これは、8×4=
32台のプロセッサに対応づけた矩形領域をディスプレ
イ5上に表示した例を示す。この各矩形領域内に、後述
するプロシジャーをそれぞれ表示する。
【0060】図9の(ロ)は、プロセッサを表わす図形
の内部に要素を一番後ろに加える表示例を示す。図中で
callされたプロシジャー又はデータを矢印で示す矩
形で表わす。ここで、プロシジャーの実行開始状態コマ
ンドcallが入力されたことに対応して、左側のPE
#0に示すように後ろにプロシジャー又はデータを表わ
す矩形を1つ追加する。また、右側のPE#0に示すよ
うに右端の状態で1つ加える場合には、次行の先頭に図
形を表示する。
【0061】図9の(ハ)は、プロセッサを表わす図形
の内部から要素を削除する表示例を示す。これは、プロ
シジャーの終了コマンドが入力されたことに対応して、
図中の左側のPE#0からプロシジャーを1つ削除して
中央の状態にし、次にこの削除した位置に後ろの図形を
詰めて表示する。
【0062】図9の(ニ)は、プロセッサを表わす図形
間を要素が移動する表示例を示す。これは、左の(A)
の状態で、プロシジャーの分散コマンドが入力されたこ
とに対応して、(B)に示すように、PE#0上の移動
指定された図形が軌跡を描いて移動先指定されたPE#
1の先頭の位置に移動する。そして、(C)に示すよう
に、移動元の図形が左側にシフトして詰めて表示する。
【0063】図10は、本発明の表示例(その2)を示
す。図10の(イ)は、プロシジャー毎の色分けによる
表示例を示す。これは、図6のフローチャートに従っ
て、プロセッサ構成図上のプロセッサの矩形領域内で実
行回数の多いプロシジャーを濃い色に表示した例を示
す。
【0064】図10の(ロ)は、共有変数を持つプロシ
ジャーの表示例を示す。これは、図7のフローチャート
に従って、プロセッサ構成図上のプロセッサの矩形領域
内で、指定したプロシジャーが持つ変数と同じ変数を持
つプロシジャーを強調表示した例を示す。
【0065】図10の(ハ)は、あるプロシジャーに着
目した表示例を示す。これは、図8のフローチャートに
従って、プロセッサ構成図上のプロセッサの矩形領域内
で、指定したプロシジャーと同一のプロシジャーのみを
表示した例を示す。
【0066】
【発明の効果】以上説明したように、本発明によれば、
並列マシン上で実行させたときのプロシジャー情報71
び動作情報8を収集して各プロセッサに対応づけて判り
易くプロセッサ構成図として表示する構成を採用してい
るため、並列マシン上での負荷分散アルゴリズムの性能
評価やデバッグなどのプログラム開発作業を支援して行
いやすくすることができる。特に計算速度の効率が悪い
プログラムの原因となる個所や、デッドロックや無限ル
ープなどの並列プログラム特有のバグの原因となる個所
を見つける際に有効であり、プログラム開発作業の支援
に大きく役立つ。
【図面の簡単な説明】
【図1】本発明の原理構成図(その1)である。
【図2】本発明のプロシジャー情報/動作情報の収集フ
ローチャートである。
【図3】本発明の原理構成図(その2)である。
【図4】本発明の1実施例構成図である。
【図5】本発明のプロセッサ構成図上におけるプログラ
ムの実行過程の表示例である。
【図6】本発明のプロシジャー毎の図形の色分けによる
識別表示のフローチャートである。
【図7】本発明の共有変数を持つプロシジャーのリアル
タイム識別表示のフローチャートである。
【図8】本発明のあるプロシジャーに着目した表示フロ
ーチャートである。
【図9】本発明の表示例(その1)である。
【図10】本発明の表示例(その2)である。
【符号の説明】
1:入力装置 2:動作抽出部 21:抽出/収集部 3:データファイル 4:動作表示部 5:ディスプレイ 6:システム制御部 7:プロシジャー管理テーブル 71:プロシジャー情報 72:対応テーブル 10:システム制御部
フロントページの続き (72)発明者 松沢 史子 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)を抽
    出して収集する動作抽出部(2)とを備え、 この動作抽出部(2)が一連の処理について収集したプ
    ロセッサ毎のプロシジャー情報(71)および動作情報
    (8)をもとに、各プロセッサに対応づけてプロシジャ
    ーを表示するように構成したことを特徴とする並列プロ
    グラム開発支援装置。
  2. 【請求項2】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)をリ
    アルタイムに抽出して収集する動作抽出部(2)とを備
    え、 この動作抽出部(2)によってリアルタイムに抽出した
    プロシジャー情報(71)および動作情報(8)をもと
    に、リアルタイムに各プロセッサに対応づけてプロシジ
    ャーを表示するように構成したことを特徴とする並列プ
    ログラム開発支援装置。
  3. 【請求項3】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)を抽
    出して収集する動作抽出部(2)とを備え、 この動作抽出部(2)で収集した情報を記憶しておき、
    これらプロシジャー情報(71)および動作情報(8)
    をもとに順次時間の経過(あるいは逆の方向)に従って
    動画として表示するように構成したことを特徴とする並
    列プログラム開発支援装置。
  4. 【請求項4】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)を抽
    出して収集する動作抽出部(2)と、 この動作抽出部(2)で収集したプロシジャー毎の実行
    回数を管理するプロシジャー管理テーブル(7)とを備
    え、 このプロシジャー管理テーブル(7)で管理されている
    プロシジャーの実行回数に対応する色でプロセッサ毎に
    プロシジャーを表示するように構成したことを特徴とす
    る並列プログラム開発支援装置。
  5. 【請求項5】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)を抽
    出して収集する動作抽出部(2)と、 この動作抽出部(2)によって抽出したプロシジャー情
    報(71)および動作情報(8)のうちの、予め指定さ
    れたプロシジャーと変数(共有変数)との対応を登録す
    る対応テーブル(72)とを備え、 この対応テーブル(72)に登録されたある指定された
    プロシジャーの変数と同じ変数が登録されたプロシジャ
    ーを各プロセッサに対応づけて表示するように構成した
    ことを特徴とする並列プログラム開発支援装置。
  6. 【請求項6】 並列プログラムの実行時のプロシジャー
    情報を収集して各プロセッサに対応づけて表示する並列
    プログラム開発支援装置において、 並列プログラムを動作させる複数のプロセッサと、 これら複数のプロセッサ上で動作させた並列プログラム
    のプロシジャー情報(71)および動作情報(8)を抽
    出して収集する動作抽出部(2)と、 この動作抽出部(2)で収集したプロシジャー毎に表示
    /非表示を管理するフラグを設けたプロシジャー管理テ
    ーブル(7)とを備え、 このプロシジャー管理テーブル(7)のうちのフラグの
    設定されたプロシジャーのみを各プロセッサに対応づけ
    て表示するように構成したことを特徴とする並列プログ
    ラム開発支援装置。
JP3242133A 1991-09-21 1991-09-21 並列プログラム開発支援装置 Withdrawn JPH0581221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3242133A JPH0581221A (ja) 1991-09-21 1991-09-21 並列プログラム開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3242133A JPH0581221A (ja) 1991-09-21 1991-09-21 並列プログラム開発支援装置

Publications (1)

Publication Number Publication Date
JPH0581221A true JPH0581221A (ja) 1993-04-02

Family

ID=17084801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3242133A Withdrawn JPH0581221A (ja) 1991-09-21 1991-09-21 並列プログラム開発支援装置

Country Status (1)

Country Link
JP (1) JPH0581221A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015940A (ja) * 2006-07-07 2008-01-24 Fujitsu Ltd ソフトウェア開発装置及びソフトウェア開発方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015940A (ja) * 2006-07-07 2008-01-24 Fujitsu Ltd ソフトウェア開発装置及びソフトウェア開発方法
US8079014B2 (en) 2006-07-07 2011-12-13 Fujitsu Semiconductor Limited Software development apparatus and method

Similar Documents

Publication Publication Date Title
US4951192A (en) Device for managing software configurations in parallel in a network
JPH04268927A (ja) メモリ管理方法
JPS61272833A (ja) デ−タ処理装置
EP0565705A1 (en) Out of order job processing method and apparatus
JPH0683608A (ja) プログラム解析支援装置
JPH0581221A (ja) 並列プログラム開発支援装置
JPH06348664A (ja) 異なる命令特性を持つ複数のcpuによって構成される計算機システムの制御装置
JP3016359B2 (ja) マルチプロセッサシステムにおけるプロセッサ割り当て装置、プロセッサ割り当て方法、およびプロセッサ割り当てプログラムを記憶する媒体
JPH0713823A (ja) 仮想計算機システムにおけるファイル資源管理方式
US6243807B1 (en) Optimizing cache data load required for functions in loop routine by sequentially collecting data in external memory for single block fetch
JPH10240581A (ja) Cpu時間測定装置
JPH11249911A (ja) 演算依存一時デ―タ構造を利用したスレッド非認識ル―チンを呼び出す方法、装置及びコンピュ―タプログラム製品
JPH0616279B2 (ja) 仮想情報処理システム
JPH11143743A (ja) メッセージ分類方法および装置
JPH1153327A (ja) マルチプロセッサシステム
JP3022398B2 (ja) 仮想計算機方式
JP2933373B2 (ja) マルチプログラム処理装置
JPH02148231A (ja) プログラム性能解析装置
JPH0721013A (ja) システム生成方式
Németh et al. Performance testing in LOGFLOW
JP2638290B2 (ja) ジョブ入力処理装置
JPH0922363A (ja) タスク構成方式
JPH0581336A (ja) データベース演算処理装置
JPH01316829A (ja) プロセス待ち要因解析方式
JPS63247824A (ja) デ−タエントリ画面定義数の拡張方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19981203