JPH05216680A - 文の重み情報による並列化情報算出処理方式 - Google Patents
文の重み情報による並列化情報算出処理方式Info
- Publication number
- JPH05216680A JPH05216680A JP4748992A JP4748992A JPH05216680A JP H05216680 A JPH05216680 A JP H05216680A JP 4748992 A JP4748992 A JP 4748992A JP 4748992 A JP4748992 A JP 4748992A JP H05216680 A JPH05216680 A JP H05216680A
- Authority
- JP
- Japan
- Prior art keywords
- procedure
- information
- statement
- program
- sentence
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 マルチタスクプログラムの各文の重み情報お
よび文の実行回数情報から並列実行部分率を自動的に算
出できるようにする。 【構成】 コンパイラ11はソースプログラム1を入力
して文の重み情報11a,手続き情報11bおよび並列
化状況情報11cを出力し、プログラム生成手段12は
ソースプログラム1を入力して生成プログラム12aを
生成し、実行回数情報採取手段13は生成プログラム1
2aを翻訳,結合および実行して実行回数情報13aを
出力し、並列化情報算出手段14は文の重み情報11
a,手続き情報11b,並列化状況情報11cおよび実
行回数情報13aを入力し、文の実行コストを算出し、
手続き毎の実行コスト,並列実行コストおよび動的並列
実行コストに選択的に加算し、プログラムの実行コス
ト,手続きの並列実行部分率およびプログラムの並列実
行部分率を算出する。
よび文の実行回数情報から並列実行部分率を自動的に算
出できるようにする。 【構成】 コンパイラ11はソースプログラム1を入力
して文の重み情報11a,手続き情報11bおよび並列
化状況情報11cを出力し、プログラム生成手段12は
ソースプログラム1を入力して生成プログラム12aを
生成し、実行回数情報採取手段13は生成プログラム1
2aを翻訳,結合および実行して実行回数情報13aを
出力し、並列化情報算出手段14は文の重み情報11
a,手続き情報11b,並列化状況情報11cおよび実
行回数情報13aを入力し、文の実行コストを算出し、
手続き毎の実行コスト,並列実行コストおよび動的並列
実行コストに選択的に加算し、プログラムの実行コス
ト,手続きの並列実行部分率およびプログラムの並列実
行部分率を算出する。
Description
【0001】
【産業上の利用分野】本発明は文の重み情報による並列
化情報算出処理方式に関し、特に高級プログラミング言
語で作成されたマルチタスクプログラムの特性を分析し
てチューニングの可否やその効果を確認する場合等に使
用する並列に実行される部分の占める比率に関する並列
化情報を算出する文の重み情報による並列化情報算出処
理方式に関する。
化情報算出処理方式に関し、特に高級プログラミング言
語で作成されたマルチタスクプログラムの特性を分析し
てチューニングの可否やその効果を確認する場合等に使
用する並列に実行される部分の占める比率に関する並列
化情報を算出する文の重み情報による並列化情報算出処
理方式に関する。
【0002】
【従来の技術】従来、マルチタスクプログラムの並列に
実行される部分の比率を算出する手段はなく、利用者が
プログラムの手続き構成とその各々の手続きの実行コス
ト情報(実行命令数,実行文の回数等)とから並列に実
行される部分の比率を計算していた。
実行される部分の比率を算出する手段はなく、利用者が
プログラムの手続き構成とその各々の手続きの実行コス
ト情報(実行命令数,実行文の回数等)とから並列に実
行される部分の比率を計算していた。
【0003】また、プログラムの実行時において、2台
以上のプロセッサが同時に動作していた時間を並列に実
行していた部分時間として算出した平均プロセッサ台数
から並列化の状況を把握していた。
以上のプロセッサが同時に動作していた時間を並列に実
行していた部分時間として算出した平均プロセッサ台数
から並列化の状況を把握していた。
【0004】
【発明が解決しようとする課題】上述した従来の技術で
は、利用者が並列に実行される部分を計算して並列に実
行される部分の比率を算出していたので、その作業が大
変煩雑であるという問題点がある。
は、利用者が並列に実行される部分を計算して並列に実
行される部分の比率を算出していたので、その作業が大
変煩雑であるという問題点がある。
【0005】また、利用者が並列に実行される部分の比
率として、平均プロセッサ台数を使用した場合、プログ
ラムの実行環境によってプロセッサ台数が変化し、その
影響を受けて並列に実行される部分の比率が異なってく
るという問題点がある。
率として、平均プロセッサ台数を使用した場合、プログ
ラムの実行環境によってプロセッサ台数が変化し、その
影響を受けて並列に実行される部分の比率が異なってく
るという問題点がある。
【0006】本発明の目的は、上述の点に鑑み、マルチ
タスクプログラムの各文の重み情報と文の実行回数情報
とから並列に実行される部分の比率(以下、並列実行部
分率という)を自動的に算出できるようにした文の重み
情報による並列化情報算出処理方式を提供することにあ
る。
タスクプログラムの各文の重み情報と文の実行回数情報
とから並列に実行される部分の比率(以下、並列実行部
分率という)を自動的に算出できるようにした文の重み
情報による並列化情報算出処理方式を提供することにあ
る。
【0007】
【課題を解決するための手段】本発明の文の重み情報に
よる並列化情報算出処理方式は、プログラムを実行させ
て実行情報を採取する動的特性解析機構において、マル
チタスクプログラムでなるソースプログラムを入力して
手続きの呼出し関係に関する手続き情報,各文毎の1回
の実行にかかる文の重み情報ならびに並列化,同期およ
び排他制御に関する並列化状況情報を出力するソースプ
ログラム解析手段と、前記ソースプログラムを入力し各
文毎の実行回数を採取する文を挿入した生成プログラム
を生成するプログラム生成手段と、このプログラム生成
手段により生成された生成プログラムを翻訳,結合およ
び実行し各手続き毎の総呼出し回数および各文毎の実行
回数を得る実行回数情報採取手段と、前記ソースプログ
ラム解析手段により出力された手続き情報,文の重み情
報および並列化状況情報と前記実行回数情報採取手段に
より採取された各手続き毎の総呼出し回数および各文毎
の実行回数とを入力し、1文毎に対応する文の重みおよ
び実行回数から文の実行コストを算出し、手続き毎の実
行コストに加算するとともに、その文が直接並列化部分
内の文ならば手続き毎の並列実行コストおよび動的並列
実行コストに加算し、その文が間接並列実行手続き内の
排他制御区間外の文ならば動的並列実行コストに加算
し、プログラムの実行コスト,手続きの並列実行部分率
およびプログラムの並列実行部分率を算出する並列化情
報算出手段とを有する。
よる並列化情報算出処理方式は、プログラムを実行させ
て実行情報を採取する動的特性解析機構において、マル
チタスクプログラムでなるソースプログラムを入力して
手続きの呼出し関係に関する手続き情報,各文毎の1回
の実行にかかる文の重み情報ならびに並列化,同期およ
び排他制御に関する並列化状況情報を出力するソースプ
ログラム解析手段と、前記ソースプログラムを入力し各
文毎の実行回数を採取する文を挿入した生成プログラム
を生成するプログラム生成手段と、このプログラム生成
手段により生成された生成プログラムを翻訳,結合およ
び実行し各手続き毎の総呼出し回数および各文毎の実行
回数を得る実行回数情報採取手段と、前記ソースプログ
ラム解析手段により出力された手続き情報,文の重み情
報および並列化状況情報と前記実行回数情報採取手段に
より採取された各手続き毎の総呼出し回数および各文毎
の実行回数とを入力し、1文毎に対応する文の重みおよ
び実行回数から文の実行コストを算出し、手続き毎の実
行コストに加算するとともに、その文が直接並列化部分
内の文ならば手続き毎の並列実行コストおよび動的並列
実行コストに加算し、その文が間接並列実行手続き内の
排他制御区間外の文ならば動的並列実行コストに加算
し、プログラムの実行コスト,手続きの並列実行部分率
およびプログラムの並列実行部分率を算出する並列化情
報算出手段とを有する。
【0008】
【作用】本発明の文の重み情報による並列化情報算出処
理方式では、ソースプログラム解析手段がマルチタスク
プログラムでなるソースプログラムを入力して手続きの
呼出し関係に関する手続き情報,各文毎の1回の実行に
かかる文の重み情報ならびに並列化,同期および排他制
御に関する並列化状況情報を出力し、プログラム生成手
段がソースプログラムを入力し各文毎の実行回数を採取
する文を挿入した生成プログラムを生成し、実行回数情
報採取手段がプログラム生成手段により生成された生成
プログラムを翻訳,結合および実行し各手続き毎の総呼
出し回数および各文毎の実行回数を得、並列化情報算出
手段がソースプログラム解析手段により出力された手続
き情報,文の重み情報および並列化状況情報と実行回数
情報採取手段により採取された各手続き毎の総呼出し回
数および各文毎の実行回数とを入力し、1文毎に対応す
る文の重みおよび実行回数から文の実行コストを算出
し、手続き毎の実行コストに加算するとともに、その文
が直接並列化部分内の文ならば手続き毎の並列実行コス
トおよび動的並列実行コストに加算し、その文が間接並
列実行手続き内の排他制御区間外の文ならば動的並列実
行コストに加算し、プログラムの実行コスト,手続きの
並列実行部分率およびプログラムの並列実行部分率を算
出する。
理方式では、ソースプログラム解析手段がマルチタスク
プログラムでなるソースプログラムを入力して手続きの
呼出し関係に関する手続き情報,各文毎の1回の実行に
かかる文の重み情報ならびに並列化,同期および排他制
御に関する並列化状況情報を出力し、プログラム生成手
段がソースプログラムを入力し各文毎の実行回数を採取
する文を挿入した生成プログラムを生成し、実行回数情
報採取手段がプログラム生成手段により生成された生成
プログラムを翻訳,結合および実行し各手続き毎の総呼
出し回数および各文毎の実行回数を得、並列化情報算出
手段がソースプログラム解析手段により出力された手続
き情報,文の重み情報および並列化状況情報と実行回数
情報採取手段により採取された各手続き毎の総呼出し回
数および各文毎の実行回数とを入力し、1文毎に対応す
る文の重みおよび実行回数から文の実行コストを算出
し、手続き毎の実行コストに加算するとともに、その文
が直接並列化部分内の文ならば手続き毎の並列実行コス
トおよび動的並列実行コストに加算し、その文が間接並
列実行手続き内の排他制御区間外の文ならば動的並列実
行コストに加算し、プログラムの実行コスト,手続きの
並列実行部分率およびプログラムの並列実行部分率を算
出する。
【0009】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
説明する。
【0010】図1は、本発明の一実施例に係る文の重み
情報による並列化情報算出処理方式が適用された動的特
性解析機構10の構成を示すブロック図である。この動
的特性解析機構10は、マルチタスクプログラムである
ソースプログラム1を入力して文の重み情報11a,手
続き情報11bならびに並列化された箇所,同期および
排他制御に関する並列化状況情報11cを出力するコン
パイラ(ソースプログラム解析手段)11と、ソースプ
ログラム1を入力して手続き毎の総呼出し回数および各
文毎の実行回数を測定する文を挿入した生成プログラム
12aを生成するプログラム生成手段12と、生成プロ
グラム12aの翻訳,結合および実行を行い実行回数情
報13aを出力する実行回数情報採取手段13と、文の
重み情報11a,手続き情報11bおよび並列化状況情
報11cと実行回数情報13aとを入力して手続き毎の
並列実行コスト,プログラムの動的並列実行コスト,手
続き毎の並列実行部分率,プログラム全体の並列実行部
分率等の並列化情報14aを算出する並列化情報算出手
段14とから構成されている。
情報による並列化情報算出処理方式が適用された動的特
性解析機構10の構成を示すブロック図である。この動
的特性解析機構10は、マルチタスクプログラムである
ソースプログラム1を入力して文の重み情報11a,手
続き情報11bならびに並列化された箇所,同期および
排他制御に関する並列化状況情報11cを出力するコン
パイラ(ソースプログラム解析手段)11と、ソースプ
ログラム1を入力して手続き毎の総呼出し回数および各
文毎の実行回数を測定する文を挿入した生成プログラム
12aを生成するプログラム生成手段12と、生成プロ
グラム12aの翻訳,結合および実行を行い実行回数情
報13aを出力する実行回数情報採取手段13と、文の
重み情報11a,手続き情報11bおよび並列化状況情
報11cと実行回数情報13aとを入力して手続き毎の
並列実行コスト,プログラムの動的並列実行コスト,手
続き毎の並列実行部分率,プログラム全体の並列実行部
分率等の並列化情報14aを算出する並列化情報算出手
段14とから構成されている。
【0011】並列化情報算出手段14は、文の重み情報
11aと実行回数情報13aとから文毎の実行コストを
算出してその実行コストを手続き毎の実行コストに加算
し、文が並列実行できるDOループや文の集まりである
直接並列化部分に属するかどうかを並列化状況情報11
cから判定し、直接並列化部分に含まれる場合にその文
の実行コストをその文を含む手続きの並列実行コストに
加算するとともにプログラム全体を通して並列実行され
る部分の実行コストである動的並列実行コストにも加算
し、その文が直接並列化部分に含まれる手続き呼出し文
であるならば呼び出される手続きはその手続き内に直接
並列化部分を含む含まないにかかわらずに並列実行され
(以下、このような手続きを間接並列実行手続きとい
う)、間接並列実行手続きの排他制御区間以外から呼び
出される手続きもまた間接並列実行手続きとなるので、
文が間接並列実行手続き内の文であり排他制御区間に含
まれない場合にはその文の実行コストを動的並列実行コ
ストに加算し、手続き毎の実行コストを加算してプログ
ラム全体の実行コストを算出し、プログラム全体の実行
コストと動的並列実行コストとからプログラムの並列実
行部分率を算出する。
11aと実行回数情報13aとから文毎の実行コストを
算出してその実行コストを手続き毎の実行コストに加算
し、文が並列実行できるDOループや文の集まりである
直接並列化部分に属するかどうかを並列化状況情報11
cから判定し、直接並列化部分に含まれる場合にその文
の実行コストをその文を含む手続きの並列実行コストに
加算するとともにプログラム全体を通して並列実行され
る部分の実行コストである動的並列実行コストにも加算
し、その文が直接並列化部分に含まれる手続き呼出し文
であるならば呼び出される手続きはその手続き内に直接
並列化部分を含む含まないにかかわらずに並列実行され
(以下、このような手続きを間接並列実行手続きとい
う)、間接並列実行手続きの排他制御区間以外から呼び
出される手続きもまた間接並列実行手続きとなるので、
文が間接並列実行手続き内の文であり排他制御区間に含
まれない場合にはその文の実行コストを動的並列実行コ
ストに加算し、手続き毎の実行コストを加算してプログ
ラム全体の実行コストを算出し、プログラム全体の実行
コストと動的並列実行コストとからプログラムの並列実
行部分率を算出する。
【0012】図2は、ソースプログラム1の一例をFO
RTRAN言語で記述した図である。このソースプログ
ラム1は、手続き100,200および300からな
る。手続き100は、並列化DOループである並列化区
間110と、手続き200(SUB1)を呼び出す手続
き呼出し文151および152と、手続き300(SU
B2)をタスク起動する手続き呼出し文153とを含ん
でいる。また、手続き200は、並列化区間210と、
他の手続き100の影響を受けて間接並列実行手続きと
なったときに排他制御を行う排他制御区間220とを含
んでいる。さらに、手続き300は、並列化区間310
を含んでいる。
RTRAN言語で記述した図である。このソースプログ
ラム1は、手続き100,200および300からな
る。手続き100は、並列化DOループである並列化区
間110と、手続き200(SUB1)を呼び出す手続
き呼出し文151および152と、手続き300(SU
B2)をタスク起動する手続き呼出し文153とを含ん
でいる。また、手続き200は、並列化区間210と、
他の手続き100の影響を受けて間接並列実行手続きと
なったときに排他制御を行う排他制御区間220とを含
んでいる。さらに、手続き300は、並列化区間310
を含んでいる。
【0013】図3は、コンパイラ11により出力される
文の重み情報11a,手続き情報11bおよび並列化情
報11cを、図2に例示したソースプログラム1の手続
き100および200を用いて示した一例である。
文の重み情報11a,手続き情報11bおよび並列化情
報11cを、図2に例示したソースプログラム1の手続
き100および200を用いて示した一例である。
【0014】図4を参照すると、並列化情報算出手段1
4の処理は、入口手続き呼出し率設定ステップS1と、
文の実行コスト算出および手続き毎の実行コストへの加
算ステップS2と、直接並列化対象文判断ステップS3
と、手続き毎の並列実行コストへの加算ステップS3−
1と、間接並列実行手続きかつ排他制御対象文以外判断
ステップS4と、動的並列実行コストへの加算ステップ
S4−1と、手続き呼出し文判断ステップS5と、手続
き呼出し文判断ステップS6と、間接並列実行手続き設
定ステップS6−1と、親手続き情報退避および子手続
き呼出し率算出ステップS7と、手続き内未処理文有無
判断ステップS8と、親手続き有無判断ステップS9
と、親手続き情報復元ステップS9−1と、プログラム
実行コスト,手続き並列実行部分率およびプログラム並
列実行部分率算出ステップS10とからなる。
4の処理は、入口手続き呼出し率設定ステップS1と、
文の実行コスト算出および手続き毎の実行コストへの加
算ステップS2と、直接並列化対象文判断ステップS3
と、手続き毎の並列実行コストへの加算ステップS3−
1と、間接並列実行手続きかつ排他制御対象文以外判断
ステップS4と、動的並列実行コストへの加算ステップ
S4−1と、手続き呼出し文判断ステップS5と、手続
き呼出し文判断ステップS6と、間接並列実行手続き設
定ステップS6−1と、親手続き情報退避および子手続
き呼出し率算出ステップS7と、手続き内未処理文有無
判断ステップS8と、親手続き有無判断ステップS9
と、親手続き情報復元ステップS9−1と、プログラム
実行コスト,手続き並列実行部分率およびプログラム並
列実行部分率算出ステップS10とからなる。
【0015】次に、このように構成された本実施例の文
の重み情報による並列化情報算出処理方式の動作につい
て説明する。
の重み情報による並列化情報算出処理方式の動作につい
て説明する。
【0016】まず、コンパイラ11は、ソースプログラ
ム1を入力して解析し、手続きの呼出し関係に関する手
続き情報11a,各文毎に1回の実行にかかる文の重み
情報11bならびに並列化,同期および排他制御に関す
る並列化状況情報11cを出力する。
ム1を入力して解析し、手続きの呼出し関係に関する手
続き情報11a,各文毎に1回の実行にかかる文の重み
情報11bならびに並列化,同期および排他制御に関す
る並列化状況情報11cを出力する。
【0017】次に、プログラム生成手段12は、ソース
プログラム1を入力して、各文毎の実行回数を採取する
文を挿入した生成プログラム12aを生成する。
プログラム1を入力して、各文毎の実行回数を採取する
文を挿入した生成プログラム12aを生成する。
【0018】続いて、実行回数情報採取手段13は、生
成プログラム12aを翻訳,結合および実行し、各手続
き100,200および300毎の総呼出し回数と、各
文毎の実行回数とからなる実行回数情報13aを出力す
る。
成プログラム12aを翻訳,結合および実行し、各手続
き100,200および300毎の総呼出し回数と、各
文毎の実行回数とからなる実行回数情報13aを出力す
る。
【0019】次に、並列化情報算出手段14は、プログ
ラムの入口手続き100を処理対象とし、この手続き1
00は主プログラムなので、プログラムの実行時に1回
しか呼び出されないため、手続き100の呼出し率を1
00と設定する(ステップS1)。
ラムの入口手続き100を処理対象とし、この手続き1
00は主プログラムなので、プログラムの実行時に1回
しか呼び出されないため、手続き100の呼出し率を1
00と設定する(ステップS1)。
【0020】次に、並列化情報算出手段14は、手続き
100の先頭の文、すなわち文管理番号1の文について
の実行回数情報13aおよび文の重み情報11aを取り
出し、文の実行コスト(=文の重み*文の実行回数*手
続きの呼出し率)を算出し、手続き100の実行コスト
に加算する(ステップS2)。
100の先頭の文、すなわち文管理番号1の文について
の実行回数情報13aおよび文の重み情報11aを取り
出し、文の実行コスト(=文の重み*文の実行回数*手
続きの呼出し率)を算出し、手続き100の実行コスト
に加算する(ステップS2)。
【0021】続いて、並列化情報算出手段14は、手続
き100の先頭の文が直接並列実行部分である並列化区
間110内の文であるかどうかを判断し(ステップS
3)、この文は並列化区間110内の文ではないので、
手続き100が間接並列実行手続きでありかつ排他制御
区間外の文であるかどうかを判断する(ステップS
4)。手続き100は主プログラムで間接並列実行手続
きではないため、並列化情報算出手段14は、この文が
手続き呼出し文であるかどうかを判断する(ステップS
5)。この文は手続き呼出し文ではないので、並列化情
報算出手段14は、手続き100に未処理の文があるか
どうかを判断し(ステップS8)、未処理の文があるの
で、ステップS2に制御を戻して、上記の処理を文管理
番号19の文まで繰り返す。
き100の先頭の文が直接並列実行部分である並列化区
間110内の文であるかどうかを判断し(ステップS
3)、この文は並列化区間110内の文ではないので、
手続き100が間接並列実行手続きでありかつ排他制御
区間外の文であるかどうかを判断する(ステップS
4)。手続き100は主プログラムで間接並列実行手続
きではないため、並列化情報算出手段14は、この文が
手続き呼出し文であるかどうかを判断する(ステップS
5)。この文は手続き呼出し文ではないので、並列化情
報算出手段14は、手続き100に未処理の文があるか
どうかを判断し(ステップS8)、未処理の文があるの
で、ステップS2に制御を戻して、上記の処理を文管理
番号19の文まで繰り返す。
【0022】文管理番号20のDO文については、文の
実行コストを算出して手続き100の実行コストに加算
した後に(ステップS2)、直接並列実行部分である並
列化区間110内の文であるので(ステップS3でイエ
ス)、並列化情報算出手段14は、文の実行コストを手
続き毎の並列実行コストに加算するとともに(ステップ
S3−1)、動的並列実行コストにも加算する(ステッ
プS4−1)。次に、並列化情報算出手段14は、この
文が手続き呼出し文であるかどうかを判断し(ステップ
S5)、この文は手続き呼出し文ではないので、手続き
100に未処理の文があるかどうかを判断し(ステップ
S8)、未処理の文があるので、ステップS2に制御を
戻す。
実行コストを算出して手続き100の実行コストに加算
した後に(ステップS2)、直接並列実行部分である並
列化区間110内の文であるので(ステップS3でイエ
ス)、並列化情報算出手段14は、文の実行コストを手
続き毎の並列実行コストに加算するとともに(ステップ
S3−1)、動的並列実行コストにも加算する(ステッ
プS4−1)。次に、並列化情報算出手段14は、この
文が手続き呼出し文であるかどうかを判断し(ステップ
S5)、この文は手続き呼出し文ではないので、手続き
100に未処理の文があるかどうかを判断し(ステップ
S8)、未処理の文があるので、ステップS2に制御を
戻す。
【0023】同様に、並列化情報算出手段14は、文管
理番号21から24までの文の処理を行う。
理番号21から24までの文の処理を行う。
【0024】文管理番号25の手続き呼出し文(CAL
L文)151についても、並列化情報算出手段14は、
同様に文の実行コストを算出して手続き100の実行コ
ストに加算し(ステップS2)、並列化区間110内の
文であるので(ステップS3でイエス)、手続き100
の並列実行コストに加算するとともに(ステップS3−
1)、動的並列実行コストにも加算する(ステップS4
−1)。次に、並列化情報算出手段14は、この文が手
続き呼出し文であるかどうかを判断し(ステップS
6)、手続き呼出し文であるので、呼び出される手続き
200を間接並列実行手続きとする(ステップS6−
1)。
L文)151についても、並列化情報算出手段14は、
同様に文の実行コストを算出して手続き100の実行コ
ストに加算し(ステップS2)、並列化区間110内の
文であるので(ステップS3でイエス)、手続き100
の並列実行コストに加算するとともに(ステップS3−
1)、動的並列実行コストにも加算する(ステップS4
−1)。次に、並列化情報算出手段14は、この文が手
続き呼出し文であるかどうかを判断し(ステップS
6)、手続き呼出し文であるので、呼び出される手続き
200を間接並列実行手続きとする(ステップS6−
1)。
【0025】次に、並列化情報算出手段14は、処理対
象の手続きを手続き100から手続き200に変更する
ため、手続き100で処理した文の文管理番号や手続き
100の呼出し率等の情報を一時的に待避させ、手続き
200の総呼出し回数をプログラム全体の総呼出し回数
で割って100を掛けることにより手続き200の呼出
し率を算出する(ステップS7)。
象の手続きを手続き100から手続き200に変更する
ため、手続き100で処理した文の文管理番号や手続き
100の呼出し率等の情報を一時的に待避させ、手続き
200の総呼出し回数をプログラム全体の総呼出し回数
で割って100を掛けることにより手続き200の呼出
し率を算出する(ステップS7)。
【0026】続いて、並列化情報算出手段14は、手続
き200に未処理の文があるかどうかを判断し(ステッ
プS8)、未処理の文があるので、ステップS2に制御
を戻し、手続き200の文の処理に移る。
き200に未処理の文があるかどうかを判断し(ステッ
プS8)、未処理の文があるので、ステップS2に制御
を戻し、手続き200の文の処理に移る。
【0027】手続き200の文管理番号1から10まで
の文については、並列化情報算出手段14は、各々の文
の実行コストを手続き200の実行コストに加算すると
ともに(ステップS2)、手続き200が間接並列実行
手続きでかつ排他制御区間220外の文であるので、動
的並列実行コストに加算する(ステップS4−1)。
の文については、並列化情報算出手段14は、各々の文
の実行コストを手続き200の実行コストに加算すると
ともに(ステップS2)、手続き200が間接並列実行
手続きでかつ排他制御区間220外の文であるので、動
的並列実行コストに加算する(ステップS4−1)。
【0028】手続き200の文管理番号11から19ま
での文については、間接並列実行手続きの直接並列化部
分内の文であるため、並列化情報算出手段14は、各々
の文の実行コストを手続き200の実行コストに加算す
るとともに(ステップS2)、手続き200の並列実行
コスト(ステップS3−1)および動的並列実行コスト
にも加算する(ステップS4−1)。
での文については、間接並列実行手続きの直接並列化部
分内の文であるため、並列化情報算出手段14は、各々
の文の実行コストを手続き200の実行コストに加算す
るとともに(ステップS2)、手続き200の並列実行
コスト(ステップS3−1)および動的並列実行コスト
にも加算する(ステップS4−1)。
【0029】手続き200の文管理番号20から24ま
での文については、並列化情報算出手段14は、手続き
200の文管理番号1から10と同様の処理を行う。
での文については、並列化情報算出手段14は、手続き
200の文管理番号1から10と同様の処理を行う。
【0030】手続き200の文管理番号25から26ま
での文については、並列化情報算出手段14は、手続き
の実行コストに加算し(ステップS2)、排他制御区間
220となっているため(ステップS4でノー)、各々
の文の実行コストを手続き毎の並列実行コストおよび動
的並列実行コストには加算しない。
での文については、並列化情報算出手段14は、手続き
の実行コストに加算し(ステップS2)、排他制御区間
220となっているため(ステップS4でノー)、各々
の文の実行コストを手続き毎の並列実行コストおよび動
的並列実行コストには加算しない。
【0031】手続き200の文の処理が終了すると(ス
テップS8でノー)、並列化情報算出手段14は、手続
き200に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き200には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号26の文から処理を再開する(ステップS2)。
テップS8でノー)、並列化情報算出手段14は、手続
き200に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き200には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号26の文から処理を再開する(ステップS2)。
【0032】手続き100の文管理番号31の文につい
ては、手続き呼出し文152なので、並列化情報算出手
段14は、先に処理した手続き呼出し文151と同様に
処理する。ただし、手続き呼出し文152は、並列化区
間110に含まれる直接並列化の対象の文ではないの
で、この場合には手続き200は間接並列実行手続きと
はならない。
ては、手続き呼出し文152なので、並列化情報算出手
段14は、先に処理した手続き呼出し文151と同様に
処理する。ただし、手続き呼出し文152は、並列化区
間110に含まれる直接並列化の対象の文ではないの
で、この場合には手続き200は間接並列実行手続きと
はならない。
【0033】そのため、手続き200の文のうちの並列
化区間210内の文だけについては、並列化情報算出手
段14は、各文の実行コストを手続き200の並列実行
コストに加算するとともに(ステップS3−1)、動的
並列実行コストに加算し(ステップS4−1)、それ以
外の文については手続き200の並列実行コストおよび
動的並列実行コストへの加算の対象としない。
化区間210内の文だけについては、並列化情報算出手
段14は、各文の実行コストを手続き200の並列実行
コストに加算するとともに(ステップS3−1)、動的
並列実行コストに加算し(ステップS4−1)、それ以
外の文については手続き200の並列実行コストおよび
動的並列実行コストへの加算の対象としない。
【0034】手続き200の文の処理が終了すると(ス
テップS8でノー)、並列化情報算出手段14は、手続
き200に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き200には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号32の文から処理を再開する(ステップS2)。
テップS8でノー)、並列化情報算出手段14は、手続
き200に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き200には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号32の文から処理を再開する(ステップS2)。
【0035】手続き100の文管理番号32の文につい
ては、手続き呼出し文153なので、並列化情報算出手
段14は、先に処理した手続き呼出し文151および1
52と同様に処理する。ただし、手続き呼出し文153
は、並列化区間110に含まれる直接並列化の対象の文
ではないので、この場合には手続き300は間接並列実
行手続きとはならない。
ては、手続き呼出し文153なので、並列化情報算出手
段14は、先に処理した手続き呼出し文151および1
52と同様に処理する。ただし、手続き呼出し文153
は、並列化区間110に含まれる直接並列化の対象の文
ではないので、この場合には手続き300は間接並列実
行手続きとはならない。
【0036】手続き300の文の処理が終了すると(ス
テップS8でノー)、並列化情報算出手段14は、手続
き300に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き300には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号33の文から処理を再開する(ステップS2)。
テップS8でノー)、並列化情報算出手段14は、手続
き300に対して親の手続きがあるかどうかを判断し
(ステップS9)、手続き300には親の手続きとして
手続き100があるので、再び手続き100の処理に戻
るために、待避しておいた手続き100に関する情報を
元に戻し(ステップS9−1)、手続き100の文管理
番号33の文から処理を再開する(ステップS2)。
【0037】このようにして、手続き100のすべての
文について処理が終了すると(ステップS9でノー)、
並列化情報算出手段14は、プログラム全体の実行コス
ト,動的並列実行コストおよび並列実行部分率(=動的
並列実行コスト/プログラムの実行コスト)と、手続き
毎の実行コスト,並列実行コストおよび並列実行部分率
(=手続きの並列実行コスト/手続きの実行コスト)と
を算出して(ステップS10)、処理を終了する。
文について処理が終了すると(ステップS9でノー)、
並列化情報算出手段14は、プログラム全体の実行コス
ト,動的並列実行コストおよび並列実行部分率(=動的
並列実行コスト/プログラムの実行コスト)と、手続き
毎の実行コスト,並列実行コストおよび並列実行部分率
(=手続きの並列実行コスト/手続きの実行コスト)と
を算出して(ステップS10)、処理を終了する。
【0038】なお、上記実施例では、ソースプログラム
解析手段としてコンパイラ11を使用した場合について
説明したが、ソースプログラム解析手段がコンパイラ1
1に限られるものでないことはいうまでもない。
解析手段としてコンパイラ11を使用した場合について
説明したが、ソースプログラム解析手段がコンパイラ1
1に限られるものでないことはいうまでもない。
【0039】また、プログラム生成手段12において、
文の重み情報11a,手続き情報11bならびに並列化
された箇所,同期および排他制御に関する並列化状況情
報11cをもとに、実行時に手続き呼出しが行われるた
びに各文の実行回数情報と文の重み情報とから実行コス
ト,並列実行コストおよび動的並列実行コストを算出す
る測定文を挿入するようにしてもよい。
文の重み情報11a,手続き情報11bならびに並列化
された箇所,同期および排他制御に関する並列化状況情
報11cをもとに、実行時に手続き呼出しが行われるた
びに各文の実行回数情報と文の重み情報とから実行コス
ト,並列実行コストおよび動的並列実行コストを算出す
る測定文を挿入するようにしてもよい。
【0040】
【発明の効果】以上説明したように本発明は、ソースプ
ログラム解析手段,プログラム生成手段,実行回数情報
採取手段および並列化情報算出手段を設けたことによ
り、マルチタスクプログラムの各文の重み情報と文の実
行回数情報とから並列実行部分率を自動的に算出できる
という効果がある。この場合、マルチタスクプログラム
をシングルプロセッサで実行した際の各文の実行回数を
もとにプログラムの並列実行部分率を算出するため、プ
ログラムの実行環境に左右されずにプログラムのもつ特
性を表すことができる。
ログラム解析手段,プログラム生成手段,実行回数情報
採取手段および並列化情報算出手段を設けたことによ
り、マルチタスクプログラムの各文の重み情報と文の実
行回数情報とから並列実行部分率を自動的に算出できる
という効果がある。この場合、マルチタスクプログラム
をシングルプロセッサで実行した際の各文の実行回数を
もとにプログラムの並列実行部分率を算出するため、プ
ログラムの実行環境に左右されずにプログラムのもつ特
性を表すことができる。
【図1】本発明の一実施例に係る文の重み情報による並
列化情報算出処理方式が適用された動的特性解析機構の
構成を示すブロック図である。
列化情報算出処理方式が適用された動的特性解析機構の
構成を示すブロック図である。
【図2】図1中のソースプログラムの一例を示す図であ
る。
る。
【図3】図1中のコンパイラから出力される文の重み情
報,手続き情報および並列化状況情報の一例を示す図で
ある。
報,手続き情報および並列化状況情報の一例を示す図で
ある。
【図4】図1中の並列化情報算出手段の一例を示す図で
ある。
ある。
1 ソースプログラム 10 動的特性解析機構 11 コンパイラ(ソースプログラム解析手段) 12 プログラム生成手段 13 実行回数情報採取手段 14 並列化情報算出手段 11a 文の重み情報 11b 手続き情報 11c 並列化状況情報 12a 生成プログラム 13a 実行回数情報 14a 並列化情報 100,200,300 手続き 110,210,310 並列化区間 151,152,153 手続き呼出し文 220 排他制御区間
Claims (2)
- 【請求項1】 プログラムを実行させて実行情報を採取
する動的特性解析機構において、 マルチタスクプログラムでなるソースプログラムを入力
して手続きの呼出し関係に関する手続き情報,各文毎の
1回の実行にかかる文の重み情報ならびに並列化,同期
および排他制御に関する並列化状況情報を出力するソー
スプログラム解析手段と、 前記ソースプログラムを入力し各文毎の実行回数を採取
する文を挿入した生成プログラムを生成するプログラム
生成手段と、 このプログラム生成手段により生成された生成プログラ
ムを翻訳,結合および実行し各手続き毎の総呼出し回数
および各文毎の実行回数を得る実行回数情報採取手段
と、 前記ソースプログラム解析手段により出力された手続き
情報,文の重み情報および並列化状況情報と前記実行回
数情報採取手段により採取された各手続き毎の総呼出し
回数および各文毎の実行回数とを入力し、1文毎に対応
する文の重みおよび実行回数から文の実行コストを算出
し、手続き毎の実行コストに加算するとともに、その文
が直接並列化部分内の文ならば手続き毎の並列実行コス
トおよび動的並列実行コストに加算し、その文が間接並
列実行手続き内の排他制御区間外の文ならば動的並列実
行コストに加算し、プログラムの実行コスト,手続きの
並列実行部分率およびプログラムの並列実行部分率を算
出する並列化情報算出手段とを有することを特徴とする
文の重み情報による並列化情報算出処理方式。 - 【請求項2】 前記ソースプログラム解析手段が、コン
パイラでなることを特徴とする請求項1記載の文の重み
情報による並列化情報算出処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4748992A JPH05216680A (ja) | 1992-02-03 | 1992-02-03 | 文の重み情報による並列化情報算出処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4748992A JPH05216680A (ja) | 1992-02-03 | 1992-02-03 | 文の重み情報による並列化情報算出処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05216680A true JPH05216680A (ja) | 1993-08-27 |
Family
ID=12776533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4748992A Pending JPH05216680A (ja) | 1992-02-03 | 1992-02-03 | 文の重み情報による並列化情報算出処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05216680A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110361636A (zh) * | 2019-07-19 | 2019-10-22 | 广东电网有限责任公司 | 一种气体电击穿特性预测方法、装置及设备 |
-
1992
- 1992-02-03 JP JP4748992A patent/JPH05216680A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110361636A (zh) * | 2019-07-19 | 2019-10-22 | 广东电网有限责任公司 | 一种气体电击穿特性预测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5151991A (en) | Parallelization compile method and system | |
JP3480973B2 (ja) | 並列処理システムの動作解析装置 | |
US20090319835A1 (en) | Processor system optimization supporting apparatus and supporting method | |
CN113434548B (zh) | 一种基于Spark的大规模数据流分析方法及系统 | |
Huda et al. | Automatic parallel pattern detection in the algorithm structure design space | |
JPH05216680A (ja) | 文の重み情報による並列化情報算出処理方式 | |
Lu et al. | A trace-based statistical worst-case execution time analysis of component-based real-time embedded systems | |
Bajrovic et al. | Automatic performance tuning of pipeline patterns for heterogeneous parallel architectures | |
JPH06202875A (ja) | インライン展開による最適化を行うコンパイラ | |
JPH09288580A (ja) | ソースプログラムの最適化装置および最適化方法 | |
JP2518504B2 (ja) | 目的プログラム生成装置 | |
JP2751977B2 (ja) | 動的解析情報の予測算出方式 | |
JPS6353646A (ja) | 最適目的プログラム生成方式 | |
JPH04165537A (ja) | プログラム自動インライン展開方式 | |
JP2682215B2 (ja) | 並列処理時の手続き呼出し方式 | |
JPH05334119A (ja) | プログラムデバッグ方法 | |
JPS6336337A (ja) | スカラ/ベクトル命令の融合スケジユ−リング処理方式 | |
JPH03116241A (ja) | コンパイラ | |
JPH0635714A (ja) | プログラムの最適化方式 | |
JPH03119428A (ja) | 並列化手続き実行方式 | |
JPH04343140A (ja) | コンパイラの最適化処理方法 | |
JPS63289654A (ja) | プログラム分岐命令モニタ方式 | |
JP2623554B2 (ja) | ベクトル計算機における動的ベクトル診断方式 | |
JPH05127945A (ja) | プログラム実行状況解析方式 | |
JPH02247734A (ja) | 入出力手続き呼び出しの最適化方式 |