JPH0916436A - 並列プログラム最適化支援方法 - Google Patents

並列プログラム最適化支援方法

Info

Publication number
JPH0916436A
JPH0916436A JP7165109A JP16510995A JPH0916436A JP H0916436 A JPH0916436 A JP H0916436A JP 7165109 A JP7165109 A JP 7165109A JP 16510995 A JP16510995 A JP 16510995A JP H0916436 A JPH0916436 A JP H0916436A
Authority
JP
Japan
Prior art keywords
timing
program
execution
display
event
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.)
Pending
Application number
JP7165109A
Other languages
English (en)
Inventor
Miyuki Saji
みゆき 佐治
Nobutoshi Sagawa
暢俊 佐川
Yusaku Yamamoto
有作 山本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7165109A priority Critical patent/JPH0916436A/ja
Publication of JPH0916436A publication Critical patent/JPH0916436A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】プログラムのチューニングが必要な部分を簡単
に洗い出し、並列プログラムの最適化の工数を削減す
る。 【構成】並列プログラム101及びタイミング表示する
実行文を受付ける表示イベント受付処理102、受け付
けた実行文のタイミングを表示するプログラムを自動生
成する第1プログラム自動変換処理104、表示された
実行文のタイミングの変更を受付ける新規イベントタイ
ミング受付処理112、受け付けられた新規のタイミン
グを表示するプログラムを自動生成する第2プログラム
自動変換処理114、これらのプログラムの実行結果を
グラフィカルに表示するイベントタイミング表示処理1
09、並びに新規実行文のタイミングを評価するタイミ
ング評価処理116を行って、最適タイミングを決定す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は任意のメッセージパッシ
ング型並列計算機における並列プログラムを対象とし、
この並列プログラムの最適化支援方法に関する。
【0002】
【従来の技術】メッセージパッシング型の並列計算機で
は、必要な情報はプロセッサからプロセッサへ通信路を
介して送受信され、このプロセッサ間通信を効率よく実
行することがプログラムの最適化に大きく寄与する。一
般的なプログラム記述言語c、FORTRANなどを用いる場合
はこの通信に関する指示はプログラム上でユーザが記述
する。具体的には,あるプロセッサからsend命令を用い
て情報を送信し、指定されたプロセッサではreceive命
令を用いてこれを受け取る、またあるプロセッサからbr
oadcast命令を用いてすべてのプロセッサへ情報を送信
し、全プロセッサではこれをreceive命令を用いて受け
取る、などが一般的である。このプロセッサ間通信はタ
イミングを制御してプログラミングしないと、無駄な待
ち時間ができたり、デッドロックを起こしたりする。そ
して、並列プログラムに於てはこのプロセッサ間通信の
タイミングを最適化することがプログラムの実行時間の
短縮になり、最終的にはプログラムの性能向上につなが
る。
【0003】このプロセッサ間通信に関する最適化を支
援するための従来技術としては、1つに、XPVM(Oak Rid
ge 国立研究所)など、並列プログラムを実行し、プロ
セッサ間のデータの送受信のタイミングを、縦軸をプロ
セッサ、横軸を時間で表すガントチャートなどを用いて
グラフィカルに表示するものがある。これを用いれば送
受信の時間や、待ち時間、タイミングなどが一目でわか
るので、プログラムの修正すべき点が把握しやすく、プ
ログラムの最適化をはかる際に有用である。
【0004】さらに進んだシステムの思想もあり、論
文、”並列プログラムのための視覚的性能デバッガ(情
報処理学会論文誌・システムソフトウェアとオペレーチ
ィングシステム67-9、pp65-71)”では,以下の方法を
示している。すなわち、1度プログラムを実行させた情
報をファイルに吐き出し、その情報をもとにプログラム
中の各サブルーチンなどの処理をそれぞれ異なるプロセ
ッサで実行した場合を計算し、提示するものである。こ
れは、XPVM同様ユーザプログラムのプロセッサ間の通信
のタイミングを、ガントチャートでグラフィカルに表示
し、この表示をみながらユーザがプログラム実行中の各
タイミングにおいて負荷の少ないプロセッサに負荷の多
いプロセッサの一部の処理を移すなどを画面上で指示す
ると、システムは最初の実行により得た情報を利用して
異なるプロセッサで処理を実行させたケースについてシ
ミュレートし、結果を上記と同様ガントチャートで表示
する。これを用いれば、プログラムの各部分処理をどの
プロセッサに振り分ければ、全体の処理時間がどう変化
するか定量的に把握でき、プログラムの最適化をはかる
際に有用である。
【0005】
【発明が解決しようとする課題】上記のうち、第1の従
来技術を用いると、作成プログラムにおける各実行文の
タイミングやデータ通信の把握は可能である。また、第
2の従来技術を用いると、プロセッサへの処理の振り分
けにおける最適化に関して有用である。
【0006】しかしいずれも、並列プログラムの最適化
に対しては、以下の課題が残る。
【0007】(1)プログラムにおける各プロセッサで
の各部分処理の前後関係を変更した場合、変更部より後
に実行されるプログラムの実行のタイミングがどう変化
するか不明である。並列プログラムにおいてはプロセッ
サ間通信があるため、処理のタイミングが重要であり、
それによってその後のプログラムの実行がどのようにな
るか把握することがプログラムの全体実行時間の短縮と
いう点で、プログラムの最適化に大きく寄与する。
【0008】(2)ガントチャートをプログラムの内容
に関わらず、例えば、プロセッサの結合順に出力する
と、プログラム動作が把握しにくい場合がある。プロセ
ッサ数が10台程度でも、通信があると各プロセッサ対
応の線から通信を示す線が相手のプロセッサにむかうた
めプロセッサの表示順序次第ではかなり複雑なグラフに
なってしまう。
【0009】本発明の目的はこれらの課題を解決し、効
率よく並列プログラムの最適化を実施するための支援方
法を提供することにある。
【0010】
【0011】
【課題を解決するための手段】上記各課題を解決するた
めの手段は以下の通りである。
【0012】(1)に対して:プログラムの途中で複数
の実行文の前後関係を変更した場合、変更部より後に実
行されるプログラムの実行のタイミングがどう変化する
か明確にするには、そのような変更をユーザが簡単に指
示できること、さらに、変換を施したプログラムを自動
生成し、実行することより達成される。
【0013】さらに、変換プログラムの結果を自動的に
評価、最適な実行文のタイミングをユーザに表示するこ
とにより、達成される。
【0014】(2)に対して:各プロセッサのガントチ
ャートの出力順をユーザが随時変更可能とすることより
達成される。
【0015】
【作用】上記の手段には以下の作用がある。
【0016】(1)に対して:プログラムの途中で複数
の実行文の前後関係を変更した場合、変更部より後に実
行されるプログラムの実行のタイミングがどう変化する
かが、ユーザがプログラムを変更しないで明確になるこ
とにより、プログラムの最適化効率が向上する。
【0017】さらに、実行文のタイミングの変更がプロ
グラム上どうであるか自動的に評価するので、プログラ
ムの最適化効率が向上する。
【0018】(2)に対して:ユーザがプロセッサの出
力順(表示順序)を逐次変更できるので、プログラムの
内容に適したプロセッサ順にガントチャートを配置して
稼働状況を表示できる。よって、プログラムの動作が把
握しやすい。
【0019】
【実施例】以下、図面にもとずいて本発明の実施例を説
明する。
【0020】図11は本発明の前提にするハードウエア
構成である。ユーザが最適化の対象である並列プログラ
ム101はワークステーション上の並列プログラム最適
化支援処理部100に入力され、さらに、並列計算機1
101に送られ処理される。並列計算機1101には複
数のcpuがありそれぞれメモリをもっていて、通信路
でデータがやりとりされる。以下、この並列プログラム
最適化支援処理部100について詳細に説明する。
【0021】図1は本発明の実施例を示す並列プログラ
ム最適化支援方法の処理手順である。図に従い処理の流
れを示す。ユーザが最適化の対象である並列プログラム
101を並列プログラム最適化支援処理部100に入力
すると、本処理部100は最初に表示イベント受付処理
102により、ユーザによる実行文のタイミング表示に
関するユーザ情報1011を受付け、イベント表示テー
ブル103を生成する。次に第1プログラム自動変換処
理104により、イベント表示テーブル103の情報を
もとに、並列プログラム101を指定実行文のタイミン
グを表示する第1変換プログラム105に変換する。次
に、コンパイル・リンク・実行処理107により第1変
換プログラム105にシステムの提供するイベント表示
関数107を組み込んで実行し、第1イベント表示結果
テーブル1081を生成する。そして、イベントタイミ
ング表示処理109により指定実行文のタイミングを各
プロセッサ毎にグラフィカル表示110する。
【0022】この指定実行文のタイミング表示を見たユ
ーザは、プログラム中のどの実行文のタイミングをずら
せば最適なプログラムになるか考える。
【0023】次に新規イベントタイミング受付処理11
0で、ユーザによる新規にどの実行文のタイミングを合
わせる、またはずらすなどの新規タイミング情報111
を受付け、イベントタイミングテーブル113を生成す
る。次に第2プログラム自動変換処理114によりイベ
ントタイミングテーブル113の情報をもとに、第1変
換プログラム105を新規の指定のタイミングでプログ
ラムを実行するように、第2変換プログラム115に変
換する。次に、コンパイル・リンク・実行処理107に
より第2変換プログラム115にシステムの提供するイ
ベント表示関数107を組み込んで実行し、先と同様、
第2イベント表示結果テーブル1082を生成する。そ
して、イベントタイミング表示処理109により指定実
行文のタイミングを各プロセッサ毎にグラフィカル表示
110する。
【0024】次に、並列プログラム101の実行で出力
した第1イベント表示結果テーブル1081と第2変換
プログラム115の実行で出力した第2イベント表示結
果テーブル1082の2つを入力とするタイミング評価
処理116によって、タイミングの変更がプログラムに
与える影響を求め、このタイミング評価結果117を表
示する(ブロック118)。さらにこのタイミング評価
結果117を入力とする最適タイミング決定処理119
によって最適な実行文の最適なタイミングを求め、最適
なタイミングを表示する(ブロック120)。以上が並
列プログラム最適化処理手順の概略である。
【0025】以下、実施例を用いて本発明を詳細に説明
する。
【0026】入力情報は最適化の対象である並列プログ
ラム101で、ユーザが複数のプロセッサを対象にFORT
RANやCなどのプログラミング言語で記述したものであ
る。ユーザはこの並列プログラム101を並列プログラ
ム最適化処理部100に入力する。並列プログラム最適
化処理部100はこれを受けて、表示イベント受付処理
102を起動させ、図2に示すイベント受付画面201
を表示する。
【0027】表示イベント受付処理102の詳細を説明
する。表示イベント受付処理102の出力するイベント
受付画面201は並列プログラム101を表示し、実行
文のタイミング表示に関するユーザ情報1011を受付
ける。タイミング表示の指定方法は2種類ある。1つは
表示プログラム中の各行に直接マークする方法である。
ユーザは並列プログラム101中のタイミング表示した
い実行文のコマンド列202に、プログラムソース対応
コマンドの説明204に従いコマンドを入力する。実行
文の開始のタイミングを表示したい場合はSを、終了の
タイミングを表示したい場合はEを、両方表示したい場
合はAを入力する。さらにその実行文に名前をつけて名
称列203に入力する。本例では、行番号50のBROADC
AST文に実行開始時のタイミング表示を指示し、名称と
してBRD1を与えている(205)。
【0028】もう1つのタイミング表示指定方法は、実
行文の種類によって指定する方法である。例えば、全て
のREAD文を表示する、特定のサブルーチン内のSEND文を
表示する、などの場合に用いる。ユーザは文種対応コマ
ンド206のうち、まず表示タイミングの選択207か
ら実行文の開始時、終了時、両方のいずれのタイミング
で表示するか選択する。次に、表示する実行文とその選
択範囲、および実行文に対する名称をコマンドライン2
08〜210に記入する。記入が終了したら次ボタン2
11を押下し、必要な実行文を全て登録する。本例で
は、サブルーチンSUB1 内の全てのRECEIVE文をRECV1と
いう名称で登録し、実行開始のタイミングで表示するよ
う指定している。
【0029】以上2種類の方法を用いて指示をおこな
い、終了したら終了ボタン212を押下する。表示イベ
ント受付処理102は終了ボタン212の押下によって
実行文のタイミング表示の受付を終了し、イベント表示
テーブル103を生成する。
【0030】イベント表示テーブル103の例を図3
(A)、(B)に示す。イベント表示テーブル103は
2つのテーブルよりなり、1つは名称対IDテーブル10
3Aでユーザ指定の名称311とそれに対応する、シス
テムが自動的につけたシステムID312が1対1対応に
列挙されている。もう1つは基本イベント表示テーブル
103Bで、タイミング表示を行なう全ての実行文が行
番号順に列挙されている。それぞれ情報として、行番号
313、システムID312、実行文314、表示の種類
315をもつ。イベント表示テーブル103を生成し
て、表示イベント受付処理102は終了する。
【0031】次に、並列プログラム101とイベント表
示テーブル103を入力とする第1プログラム自動変換
処理104を実行する。図4に第1プログラム自動変換
処理104の処理例を示す。第1プログラム自動変換処
理104では、イベント表示テーブル103を見なが
ら、並列プログラム101に対し、タイミング表示すべ
き実行文の前後にイベント表示関数を挿入する。タイミ
ング表示指定が実行文の開始時なら実行文の前に、終了
時なら実行文のあとに、両方に表示する場合はその前後
両方に関数を自動的に挿入する。さらに、並列プログラ
ム101の先頭に初期設定部を挿入する。
【0032】図の例では、第1プログラム自動変換処理
104により、イベント表示テーブル103の情報をも
とに、並列プログラム101を指定実行文のタイミング
を表示する第1変換プログラム105に変換している。
第1変換プログラム105の先頭に初期設定部であるサ
ブルーチンINITEVENTのコール文401を自動的に挿入
し、並列プログラム10行目のCALL RECEIVE(...)はイ
ベント表示テーブル103に登録されているので、第1
変換プログラム105ではCALL RECEIVE(...)の次行に
CALL EVENT(2,3)を挿入する(402)。CALL EVENT(2,
3)の第1引数の2は表示の種類が実行文終了後であるこ
とを示し、第2引数の3はユーザのつけた名称RECV1の
システムIDである。以下、同様に50行目のCALL BROAD
CAST()の前および53行目のCALL RECEIVE()の後にCAL
L EVENT(...)を挿入する(403,404)。
【0033】このCALL EVENT()はイベント表示関数10
6であり、本並列プログラム最適化支援処理の提供する
関数で、実行文のタイミングを記録するためのものであ
る。ソースコードを図5に示す。図4に示したとおり、
本関数の引数は指定実行文のタイミングを示すFLGとシ
ステムIDを示す変数IDである(501)。処理内容とし
ては、CLOCK関数で時間を求め(502)、そのシステ
ムIDの何番目に実行された文かを求め(503)、それ
らを第1イベント表示結果テーブル1081のファイル
にはきだす(504)。
【0034】第1プログラム自動変換処理104が終了
すると、次に、出力した第1変換プログラム105とイ
ベント表示関数106を入力して、コンパイル・リンク
・実行処理107を実施し、第1イベント表示結果テー
ブル1081を生成する。そして、イベントタイミング
表示処理109によって第1イベント表示結果テーブル
1081の内容をグラフィカルに表示する(110)。
イベントタイミング表示処理109によるイベント表示
画面1100を図6に示す。
【0035】第1イベント表示結果テーブル1081に
はイベント表示を指示された全ての実行文の結果が各プ
ロセス毎に時系列に登録してある。登録項目はシステム
ID、同一システムIDでの実行順序、および実行開始また
は終了時間である。イベントタイミング表示処理109
はこのイベント表示結果テーブル1081の内容をグラ
フィカルに表示する。具体的には、各プロセッサ毎に時
間軸の線を表示し(601)、各実行文がどの時点で実
行したか表示する。さらに表示のタイミング、すなわち
実行文の開始、終了いずれでの表示かを色で示す。ま
た、両方を表示する場合は開始から終了までを幅を太く
して示す。また、時間軸上にあるそれぞれの実行文をマ
ウスで指示すれば、詳細な時刻を表示する。例えば、図
の場合はプロセッサ1においてBRD1という名称の実行文
が実施され(602)、ここからのデータはプロセッサ
2および3の名称RECV2の実行文で受け取られ(60
3)、またこのRECV2は太線で示す時間のだけ実行され
る(604)、等のことを一目で読みとることができ
る。また、ユーザは自由に各プロセッサ毎に時間軸の線
の順序を入れ替えて、見やすくできる。
【0036】次に、ユーザは図6に示した実行文のタイ
ミングを見て、これらに対して異なるタイミングを指定
する。これは図1の新規イベントタイミング受付処理1
12によって受付けられる。図7に新規イベントタイミ
ング受付処理112の出力する新規イベントタイミング
受付画面700の例を示す。初期画面は図6のイベント
タイミング表示処理109の出力画面である。これに対
し、ユーザは、実行文のタイミング表示に関するユーザ
情報1011を与える。具体的には、異なるプロセッサ
で実行する複数の実行文のタイミングを同時にするこ
と、および実行文のタイミングの前後関係を変更するこ
とができる。例えば、図の場合はプロセッサ2の名称SU
B1とプロセッサ3の名称SUB2のタイミングをあわせるこ
と(701)、さらにプロセッサ2の名称SEND1をプロ
セッサ3の名称SEND1の後に実行すること(702)を
指示している。これらは、画面下のタイミングボタン7
03を用いて指示する。指示もこのように画面上で対話
型で行うことができる。指示が終了したらユーザは終了
ボタンを押下する。新規イベントタイミング受付処理1
10は終了ボタンの押下によって新規イベントタイミン
グの受付を終了し、上記で前後関係を登録された全実行
文のデータをイベントタイミングテーブル111に登録
する。
【0037】イベントタイミングテーブル111の例を
図8に示す。テーブルの項目としては、プロセッサ番号
をしめすPE番号801、システムID802、そのシステ
ムIDの何番目の実行かを示す実行順序804、そして、
これらの情報から一意に決定した実行番号(以上が対象
とする実行文である)、さらに、この実行文と関係する
関係実行文のプロセッサ番号805と実行番号806お
よび前後関係807がある。図8の例は図7の新規イベ
ント受付画面700で指示された、2つの前後関係が登
録されている。1つはプロセッサ2のSUB1とプロセッサ
3のSUB2を同時に実行する情報である。1行目はSUB1に
ついてのPE番号から実行番号までと、SUB1に関係するSU
B2のPE番号と実行文番号、そして同時に実行するという
関係が記述されている(808)。3行目には逆にSUB2
に対してのSUB1の関係が記述されている(810)。2
行目にはプロセッサ2のSEND1に対するプロセッサ3のS
END1の関係が記述され(809)、逆に4行目にはプロ
セッサ3のSEND1に対するプロセッサ4のSEND1の関係が
記述されている(811)。新規イベントタイミング受
付処理110は、このイベントタイミングテーブル11
1を生成して,終了する。
【0038】次に、第1変換プログラム101と第1イ
ベント表示結果テーブル1081および新規イベントタ
イミングテーブル111を入力とする第2プログラム自
動変換処理114を実行する。図9に第2プログラム自
動変換処理114の例を示す。第2プログラム自動変換
処理114では、第1変換プログラム101に対し、第
1イベント表示結果テーブル1081および新規イベン
トタイミングテーブル111を見ながら、タイミングを
制御すべき実行文に対して、その前後にイベント待ち関
数等を挿入する。複数の実行文を同時に発行する場合は
それらの実行文に対しバリア同期関数を発し、実行文の
直前でRECEIVE関数で受け取る。また、前後関係のある
実行文間にはSEND、RECEIVE関数を置きタイミングを制
御する。例えば、図7の新規イベントタイミング受付画
面700で指示のあった名称SUB1とSUB2の同期をとるた
め、SUB1とSUB2は同一のバリア関数からの信号を受け取
った直後に実行するよう変更する。具体的には、図9の
第2変換プログラム115に示すとおり、CALL SUB1()
の前にRECEIVE関数を第2変換プログラム処理114に
より自動的に挿入している(901)。また図7で指示
のあった名称SEND1の順序関係を実行するため、プロセ
ッサ2のSEND1が終わったらプロセッサ2にSEND関数を
送り、プロセッサ2でこれを受け取った後にSEND1を実
行するようよう変更する。第2変換プログラム115で
もプロセッサ1のSEND1はプロセッサ2からのデータを
自動的に挿入したRECEIVE関数で受け取ったあとに実行
する(902)。
【0039】第2プログラム自動変換処理114が終了
すると、出力した第2変換プログラム115とイベント
表示関数106を入力として、コンパイル・リンク・実
行処理107を実施し、第2イベント表示結果テーブル
1082を生成する。そして,イベントタイミング表示
処理109によってイベント表示結果テーブル1082
の内容をグラフィカルに表示する(110)。この第2
イベント表示結果テーブル1082は第1イベント表示
結果テーブル1082のフォーマットと同様で、イベン
ト表示を指示された全ての実行文の結果が各プロセス毎
に時系列に登録してある。登録項目はシステムID、同一
システムIDでの実行順序、および実行開始または終了時
間である。
【0040】新規イベントタイミング情報111の実行
結果である、イベント表示画面110を図10に示す。
指定されたとおり、SUB1とSUB2が同時に実行され(10
02)、またプロセッサ2のSEND1の後にプロセッサ1
のSEND1が実行されている(1003)。それぞれ、タ
イミングを合わせるのに待ちが小さな箱で示されている
(1001,1004)。また、タイミングあわせが不
可能な場合は、ばつ印でそれを示す(1005)。
【0041】最後に、得られた結果を評価し、最適なタ
イミングを表示する、タイミング評価処理116および
最適タイミング決定処理119の処理内容例を図12に
示す。まず、もとの並列プログラム101の実行結果で
出力した第1イベント表示結果テーブル1081と指定
されたタイミングで実行する第2変換プログラム115
の実行結果で出力した第2イベント表示結果テーブル1
082を入力とするタイミング評価処理116によって
タイミングの変更がプログラムに与える影響を求め、こ
のタイミング評価結果117を表示する(118)。図
に示すように、その内容は、ユーザの指示した新規イベ
ントタイミング1201および処理結果より求めた上記
イベントタイミングの評価1202を示す。具体的な評
価内容は以下である。(A)(B)は各指定イベントタイミン
グを実施するに必要な待ち時間を示している。(C)は指
定イベントタイミングによって変化した各PEでのイベン
トタイミングを示している。(D)(E)(F)は指定イベント
タイミングによって変化した各PEの処理時間を示してい
る。(G)は指定イベントタイミングによって変化したプ
ログラム全体の処理時間を示している。本処理を終了す
ると、最後にこのタイミング評価結果117を入力とす
る最適タイミング決定処理119によって最適な実行文
の最適なタイミングを求め、最適なタイミングを表示す
る(120)。具体的には,上記で求めたイベントタイ
ミング変更による待ち時間と処理時間の差異を計算し、
新規タイミングにプログラムを変更した方が全体処理時
間が短くなるか、それにはイベントタイミング変更によ
る待ち時間をどのくらい縮める必要があるかを示す。
【0042】本実施例によれば、以下の効果がある。
【0043】まず、図2に示したグラフィカルな画面表
示と対話形式による簡単な入力で目的の実行文のタイミ
ングを表示を指示することができ、その結果を図6に示
すように表示できた。次にそれら実行文のタイミングを
図7に示す簡単な指示でずらし、その結果を図10に示
すように表示できた。さらに、もとのプログラムとタイ
ミングをずらした場合ととを図12に示すように実行時
間がどのように変化するか評価し、最適なタイミングを
表示するので今後の最適化の方針を簡単にたてられる。
本例では、SUB2およびSEND1の待ち時間をs-sec以内にで
きるなら新規タイミングの方がプログラム実行時間が短
縮できるとある。本例はs-sec短縮することは重要なの
で今後の最適化方針として新規タイミングでプログラム
を実行できるようデバッグすることにした。このよう
に、最適化の方針を示すので並列プログラムの最適化の
工数を削減できた。
【0044】
【発明の効果】本発明によれば、グラフィカルな画面表
示と対話形式による簡単な入力で、並列プログラムにお
ける各プロセッサ間での実行文の同期をとることができ
る。よって、プログラムのチューニングが必要な部分を
簡単にあらいだせるため、並列プログラムの最適化の工
数を削減できる。さらに、それら実行文の同期をとった
場合のプログラム評価および並列プログラムをどのくら
い変更すればよいか指針を示すので、並列プログラムの
最適化の工数を削減できる。
【0045】
【図面の簡単な説明】
【図1】本発明の実施例を示す並列プログラム作成支援
手順のフローチャート。
【図2】イベント表示受付画面の−例を示す図。
【図3】イベント表示テーブルの−例を示す図。
【図4】第1プログラム変換処理の変換事例を示す図。
【図5】イベント表示関数のソースプログラムを示す
図。
【図6】イベント表示画面の−例を示す図。
【図7】新規イベント受付画面の−例を示す図。
【図8】新規イベントタイミングテーブルの一例を示す
図。
【図9】第2プログラム変換処理の変換事例を示す図。
【図10】新規タイミング情報を用いてプログラムを実
施した後のイベント表示画面の−例を示す図。
【図11】ハードウェア構成図。
【図12】タイミング評価処理および最適タイミング決
定処理の−例を示す図。
【符号の説明】
100・・・並列プログラム最適化支援処理部、102
・・・表示イベント受付処理、103・・・イベント表
示テーブル、104・・・第1プログラム自動変換処
理、105・・・第1変換プログラム、106・・・イ
ベント表示関数、1081・・・第1イベント表示テー
ブル1、1082・・・第2イベント表示テーブル2、
109・・・イベントのタイミング表示処理、112・
・・新規イベントタイミング受付処理、113・・・イ
ベントタイミングテーブル、114・・・第2プログラ
ム自動変換処理、115・・・第2変換プログラム、1
16・・・タイミング評価処理、117・・・タイミン
グ評、118・・・評価結果表示、119・・・最適タ
イミング決定処理、120・・・最適タイミング表示。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】最適化の対象である並列プログラムおよび
    その中の少なくとも1個の実行文をユーザが指定し、指
    定された実行文のタイミングを表示するようにその並列
    プログラムを自動変換し、得られた第1変換プログラム
    を実行して各プロセッサ毎に時系列に指定実行文のタイ
    ミングを表示し、さらにその表示を見てユーザが各実行
    文に対して新規のタイミングを指定し、新規に指定され
    たタイミングで実行するよう第1変換プログラムを自動
    変換し、得られた第2変換プログラムを実行して実行文
    のタイミングを表示することを特徴とする並列プログラ
    ム最適化支援方法。
  2. 【請求項2】上記実行文を指定する処理は、画面表示し
    た並列プログラム中の実行文を直接指示する処理からな
    る請求項第1項記載の並列プログラム最適化支援方法。
  3. 【請求項3】上記実行文のタイミング指定入力を受け付
    ける処理はタイミング表示画面から直接指示する形式で
    行う処理からなる請求項第1項記載の並列プログラム最
    適化支援方法。
  4. 【請求項4】上記実行文のタイミングを表示する処理
    は、各プロセッサの表示順序をユーザが指定する順序に
    逐次並べ替えて表示する処理からなる請求項第1項記載
    の並列プログラム最適化支援方法。
  5. 【請求項5】最適化の対象である並列プログラムとその
    中の複数の実行文およびそれら実行文のプログラム本来
    とは異なるタイミングをユーザが指定し、指定された実
    行文が指定されたタイミングで実行されるよう並列プロ
    グラムを自動変換し、その変換プログラムを実行して指
    定されたタイミングが後続のプログラムにどう影響する
    か評価し、その評価結果に基づいて最適なタイミングを
    決定し、決定した最適なタイミングを表示することを特
    徴とする並列プログラム最適化支援方法。
  6. 【請求項6】上記評価する処理は、評価結果を表示する
    処理を含む請求項第5項記載の並列プログラム最適化支
    援方法。
JP7165109A 1995-06-30 1995-06-30 並列プログラム最適化支援方法 Pending JPH0916436A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7165109A JPH0916436A (ja) 1995-06-30 1995-06-30 並列プログラム最適化支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7165109A JPH0916436A (ja) 1995-06-30 1995-06-30 並列プログラム最適化支援方法

Publications (1)

Publication Number Publication Date
JPH0916436A true JPH0916436A (ja) 1997-01-17

Family

ID=15806080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7165109A Pending JPH0916436A (ja) 1995-06-30 1995-06-30 並列プログラム最適化支援方法

Country Status (1)

Country Link
JP (1) JPH0916436A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264734A (ja) * 2006-03-27 2007-10-11 Fujitsu Ltd チューニング支援装置、チューニング支援プログラム、チューニング支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびチューニング支援方法
JP2012510661A (ja) * 2008-12-01 2012-05-10 ケーピーアイティ クミンズ インフォシステムズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム
US11842182B2 (en) 2021-02-08 2023-12-12 Fujitsu Limited Method of determining processing block to be optimized and information processing apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264734A (ja) * 2006-03-27 2007-10-11 Fujitsu Ltd チューニング支援装置、チューニング支援プログラム、チューニング支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびチューニング支援方法
JP2012510661A (ja) * 2008-12-01 2012-05-10 ケーピーアイティ クミンズ インフォシステムズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム
JP2015207318A (ja) * 2008-12-01 2015-11-19 ケーピーアイティ テクノロジーズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム
US11842182B2 (en) 2021-02-08 2023-12-12 Fujitsu Limited Method of determining processing block to be optimized and information processing apparatus

Similar Documents

Publication Publication Date Title
US7168059B2 (en) Graphical loop profile analysis
JPH1063550A (ja) 実行性能解析表示方法およびその方法を実施するプログラムを記録した媒体
US6243858B1 (en) Program construction assisting system
CN109446082B (zh) 多线程测试流程项目配置系统
JPH0916436A (ja) 並列プログラム最適化支援方法
JPH1165845A (ja) ストール検出表示装置及び方法
KR20030015230A (ko) 개선된 컴퓨터 시스템
CN112445949A (zh) 一种组态式可视化展示方法、装置及系统
JPH0954760A (ja) 信号処理装置
US5600567A (en) Method of graphically displaying and manipulating clock-based scheduling of HDL statements
US5448736A (en) Method for generating a program comprised of such a portion of a series of operator-inputted commands as will produce an operator-selected one of a number of results
JP2004185166A (ja) サービス部品選択支援方法
JPH06161773A (ja) 並列処理プログラムの作成装置
JPH0588863A (ja) プログラム開発支援システム
JPH0973405A (ja) 並列プログラム稼働状態表示方法
JPH08263243A (ja) データ入出力方法及び装置、及び計算機装置
JP2731572B2 (ja) 論理シミュレーション方式
JP3058953B2 (ja) プログラムソースリスト表示方式
JP2001282523A (ja) プログラム移植支援装置および記録媒体
JPS62135958A (ja) シミユレ−シヨン方式
Fainter et al. Debugging tasked Ada programs
CN114721573A (zh) 鞋体模型互动配色的方法
JPH04316119A (ja) マニュアル作成自動化方式
JPH03119428A (ja) 並列化手続き実行方式
JPH05127945A (ja) プログラム実行状況解析方式