JPH0240721A - 並列コンパイル方式 - Google Patents
並列コンパイル方式Info
- Publication number
- JPH0240721A JPH0240721A JP19121488A JP19121488A JPH0240721A JP H0240721 A JPH0240721 A JP H0240721A JP 19121488 A JP19121488 A JP 19121488A JP 19121488 A JP19121488 A JP 19121488A JP H0240721 A JPH0240721 A JP H0240721A
- Authority
- JP
- Japan
- Prior art keywords
- program
- processor
- programs
- task
- source
- 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
- 238000000034 method Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はコンパイラの処理方式、特に複数のプログラム
を一括して翻訳する機能を有するコンi(イラの処理時
間を短縮する方式に関する。
を一括して翻訳する機能を有するコンi(イラの処理時
間を短縮する方式に関する。
この種のコンパイラを用いて複数のプログラムを一括し
て翻訳する場合がある。このような複数プログラムの一
括翻訳においては、従来のコンパイル方式では、コンパ
イラに与えられたパラメータや制御文の指定にもとづい
て、「対象プログラムの選択、解析、目的プログラムの
生成」という処理はプログラム毎に順番に繰り返すこと
lこよって実現していた。
て翻訳する場合がある。このような複数プログラムの一
括翻訳においては、従来のコンパイル方式では、コンパ
イラに与えられたパラメータや制御文の指定にもとづい
て、「対象プログラムの選択、解析、目的プログラムの
生成」という処理はプログラム毎に順番に繰り返すこと
lこよって実現していた。
上述した従来の方式では、1つのプログラムの翻訳が終
了してから次のプログラムの翻訳を始めることになるの
で、次のような欠点がある。
了してから次のプログラムの翻訳を始めることになるの
で、次のような欠点がある。
■ 複数個のプロセッサを利用できるシステムであれば
本来別々のプログラムの翻訳は同時に並列に行えるはず
にもかかわらず、従来のコンパイル方式では、複数プロ
グラムの一括翻訳は1個のプロセッサだけで順番に行う
ことになりプロセッサの有効利用が図れない。
本来別々のプログラムの翻訳は同時に並列に行えるはず
にもかかわらず、従来のコンパイル方式では、複数プロ
グラムの一括翻訳は1個のプロセッサだけで順番に行う
ことになりプロセッサの有効利用が図れない。
■ 同じく、全プログラムの翻訳に要する時間は、プロ
セッサの数々を増やしても短縮できない。
セッサの数々を増やしても短縮できない。
本発明の並列コンパイル方式は、複数個のプロセッサと
、それらのプロセッサ上で並列に実行されるタスク間の
同期機能とを有するシステムに対して、ソースプログラ
ムを解析し、目的プログラムを生成するコンパイル方式
であって、複数個のプログラムを一括して翻訳する際に
、各プログラムの翻訳をそれぞれ並列実行可能な別々の
タスクに割り当てる手段を備えてなる。
、それらのプロセッサ上で並列に実行されるタスク間の
同期機能とを有するシステムに対して、ソースプログラ
ムを解析し、目的プログラムを生成するコンパイル方式
であって、複数個のプログラムを一括して翻訳する際に
、各プログラムの翻訳をそれぞれ並列実行可能な別々の
タスクに割り当てる手段を備えてなる。
次に、本発明の実施例について図面を参照して説明する
。
。
ya1図は本発明の一実施例に使用するコンパイラの機
能ブロック図である。コンパイラ1は、ソースプログラ
ム選択部11.タスク割当て制御部12、後処理部13
.ソースプログラム解析目的プログラム生成タスク1
” nで構成されるタスク群14から成る。
能ブロック図である。コンパイラ1は、ソースプログラ
ム選択部11.タスク割当て制御部12、後処理部13
.ソースプログラム解析目的プログラム生成タスク1
” nで構成されるタスク群14から成る。
ソースプログラム選択部11は、コンパイルすべきソー
スプログラム21が存在するファイル名やファイルアド
レスをタスク割当て制御部12に渡す。タスク割当て制
御部12は、ソースプログラム解析目的プログラム生成
タスク15を生成しそれにソースプログラム選択部11
から渡された情報や、目的プログラム31の生成位置1
作業用領域の位置等のコンパイルに必要な情報を渡す。
スプログラム21が存在するファイル名やファイルアド
レスをタスク割当て制御部12に渡す。タスク割当て制
御部12は、ソースプログラム解析目的プログラム生成
タスク15を生成しそれにソースプログラム選択部11
から渡された情報や、目的プログラム31の生成位置1
作業用領域の位置等のコンパイルに必要な情報を渡す。
ソースプログラム解析目的プログラム生成タスク15は
、主タスクすなわち、タスク割当て制御部12が動いて
いるプロセッサ以外のプロセッサがシステムで利用可能
であれば、そのプロセッサ上で動き出し、ソースプログ
ラム21のコンパイルを始める。タスク割当て制御部1
2はその後制御をソースプログラム選択部11に戻す。
、主タスクすなわち、タスク割当て制御部12が動いて
いるプロセッサ以外のプロセッサがシステムで利用可能
であれば、そのプロセッサ上で動き出し、ソースプログ
ラム21のコンパイルを始める。タスク割当て制御部1
2はその後制御をソースプログラム選択部11に戻す。
ソースプログラム選択部11は、次lこソースプログラ
ム22を選択し、それが存在するファイル名やファイル
アドレスをタスク割当て制御部12に渡す。タスク割当
て制御部12はソースプログラム解析目的プログラム生
成タスク16を生成し、ソースプログラム21の場合と
同様に、ソースプログラム22のコンパイルをさらに別
のプロセッサ上で開始させる。
ム22を選択し、それが存在するファイル名やファイル
アドレスをタスク割当て制御部12に渡す。タスク割当
て制御部12はソースプログラム解析目的プログラム生
成タスク16を生成し、ソースプログラム21の場合と
同様に、ソースプログラム22のコンパイルをさらに別
のプロセッサ上で開始させる。
コンパイルすべきソースプログラムがつきるまで前記の
ような処理を繰り返した後に、タスク割当て制御部12
は、生成したタスクの終了すなわちコンパイルの終了を
待ちあわせ、全てのタスクが終了した場合に後処理部1
3へ制御を渡す。
ような処理を繰り返した後に、タスク割当て制御部12
は、生成したタスクの終了すなわちコンパイルの終了を
待ちあわせ、全てのタスクが終了した場合に後処理部1
3へ制御を渡す。
後処理部13では、必要に応じて各コンパイル結果のま
とめ処理(例えば、各コンパイルで出力されたリストや
、目的プログラム3のまとめ処理)を行う。
とめ処理(例えば、各コンパイルで出力されたリストや
、目的プログラム3のまとめ処理)を行う。
第2図はプロセッサA、プロセッサB、プロセッサC,
プロセッサD、プロセッサEを備えたシステムにおいて
従来の方式のコンパイラを用いてプログラム1.プログ
ラム2.プログラム3.プログラム4を一括してコンパ
イルしたときの態様を示す図である。従来の方式では、
同時には1個のプロセッサしか利用できないので、プロ
グラム1、プログラム2.プログラム3.プログラム4
のコンパイル時間をそれぞれjl*j意、!S*j4
とすると全体のコンパイル時間t= tl+tz+1
3+14となる。
プロセッサD、プロセッサEを備えたシステムにおいて
従来の方式のコンパイラを用いてプログラム1.プログ
ラム2.プログラム3.プログラム4を一括してコンパ
イルしたときの態様を示す図である。従来の方式では、
同時には1個のプロセッサしか利用できないので、プロ
グラム1、プログラム2.プログラム3.プログラム4
のコンパイル時間をそれぞれjl*j意、!S*j4
とすると全体のコンパイル時間t= tl+tz+1
3+14となる。
第3図は第2図と同じプロセッサ構成を持つシステムに
おいて同じプログラムを本発明を用いた方式のコンパイ
ラにより一括してコンパイルしたときの態様を示す図で
ある。本発明を用いた方式のコンパイラでは、プログラ
ム1.プログラム2゜プログラム3.プログラム4がそ
れぞれプロセッサB、プロセッサC,プロセッサD、プ
ロセッサE上で並列にコンパイルされるから、タスク生
成のためのオーバーヘッドαおよび後処理のためのオー
バーヘッドβを考慮して、全体のコンパイル時+[t
= 3α+ts+β となる。したがって、プログラム
3のコンパイル時間t3が十分に長いと仮定すれば全体
のコンパイル時間はほはプログラム3のコンパイル時間
に等しくなる。
おいて同じプログラムを本発明を用いた方式のコンパイ
ラにより一括してコンパイルしたときの態様を示す図で
ある。本発明を用いた方式のコンパイラでは、プログラ
ム1.プログラム2゜プログラム3.プログラム4がそ
れぞれプロセッサB、プロセッサC,プロセッサD、プ
ロセッサE上で並列にコンパイルされるから、タスク生
成のためのオーバーヘッドαおよび後処理のためのオー
バーヘッドβを考慮して、全体のコンパイル時+[t
= 3α+ts+β となる。したがって、プログラム
3のコンパイル時間t3が十分に長いと仮定すれば全体
のコンパイル時間はほはプログラム3のコンパイル時間
に等しくなる。
−膜内に、プロセッサの数がコンパイルすべきプログラ
ム数より多い場合には、最も長いコンパイル時間が全体
のコンパイル時間にほぼ等しくなるといえる。
ム数より多い場合には、最も長いコンパイル時間が全体
のコンパイル時間にほぼ等しくなるといえる。
以上に説明したように本発明の並列コンパイル方式によ
れば、複数のプログラムを一括してコンパイルするとき
に、各プログラムの翻訳を別々のプロセッサに分配して
行わせることにより、プロセッサを有効に利用でき、全
プログラムの翻訳に要する時間を短縮できる。本発明に
はこのような効果がある。
れば、複数のプログラムを一括してコンパイルするとき
に、各プログラムの翻訳を別々のプロセッサに分配して
行わせることにより、プロセッサを有効に利用でき、全
プログラムの翻訳に要する時間を短縮できる。本発明に
はこのような効果がある。
・・・後処理部、14・・・・・・タスク群、15〜1
6・・・・・・ソースプログラム解析・目的プログラム
生成タスク1〜n121〜23・・・・・・ソースプロ
グラム1〜n131〜33・・・・・・目的プログラム
1〜n0代理人 弁理士 本 庄 伸 介
6・・・・・・ソースプログラム解析・目的プログラム
生成タスク1〜n121〜23・・・・・・ソースプロ
グラム1〜n131〜33・・・・・・目的プログラム
1〜n0代理人 弁理士 本 庄 伸 介
第1図は本発明の一実施例に使用するコンパイラの機能
ブロック図、第2図は従来の方式で複数個のプログラム
を複数個のプロセッサを備えたシステム上でコンパイル
したときの態様を示す図、第3図は本発明の方式で複数
個のプログラムを複数個のプロセッサを備えたシステム
上でコンパイルしたときの態様を示す図である。
ブロック図、第2図は従来の方式で複数個のプログラム
を複数個のプロセッサを備えたシステム上でコンパイル
したときの態様を示す図、第3図は本発明の方式で複数
個のプログラムを複数個のプロセッサを備えたシステム
上でコンパイルしたときの態様を示す図である。
Claims (1)
- 複数個のプロセッサと、それらのプロセッサ上で並列に
実行されるタスク間の同期機能とを有するシステムに対
して、ソースプログラムを解析し、目的プログラムを生
成するコンパイル方式において、複数個のプログラムを
一括して翻訳する際に、各プログラムの翻訳をそれぞれ
並列実行可能な別別のタスクに割り当てる手段を備えた
ことを特徴とする並列コンパイル方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19121488A JPH0240721A (ja) | 1988-07-29 | 1988-07-29 | 並列コンパイル方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19121488A JPH0240721A (ja) | 1988-07-29 | 1988-07-29 | 並列コンパイル方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0240721A true JPH0240721A (ja) | 1990-02-09 |
Family
ID=16270807
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19121488A Pending JPH0240721A (ja) | 1988-07-29 | 1988-07-29 | 並列コンパイル方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0240721A (ja) |
-
1988
- 1988-07-29 JP JP19121488A patent/JPH0240721A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1097430A (ja) | 最適化のためにアセンブリコードルーチンをソースコードルーチンに挿入する方法およびそのシステム | |
| US6175935B1 (en) | Software debugging method and recording medium to which debugging program has been recorded | |
| JPH0240721A (ja) | 並列コンパイル方式 | |
| JPH01118931A (ja) | プログラム変換方式 | |
| JPH09293057A (ja) | 階層構造型マルチプロセッサシステムにおけるタスク割り当て方法 | |
| JP2910676B2 (ja) | 負荷均等化装置 | |
| JP2576659B2 (ja) | タスク内共通領域の割当て方式 | |
| JP2560491B2 (ja) | 並列化手続き実行方式 | |
| JP2000155673A (ja) | リンク装置及びリンク方法 | |
| JPH02163831A (ja) | オブジェクトプログラム削減方式 | |
| JPH04104330A (ja) | 並列処理時の手続き呼出し方式 | |
| JPH03135630A (ja) | 命令スケジューリング方式 | |
| JPS6365531A (ja) | プログラム処理装置 | |
| JP3072772B2 (ja) | コンパイル装置 | |
| JPS62182930A (ja) | 機能分割型並列コンパイル方式 | |
| JPH05127945A (ja) | プログラム実行状況解析方式 | |
| JPH04107638A (ja) | リテラル定数割り付け方式 | |
| JP2001184320A (ja) | 分散実行装置および記録媒体 | |
| KR100293932B1 (ko) | 소프트웨어 코드인 이미지의 후처리 방법 | |
| JPH05233307A (ja) | 複数プロセス生成方法 | |
| JPH0343835A (ja) | 並列化処理方式 | |
| JPS63163636A (ja) | 並列処理実行方式 | |
| JPH0991151A (ja) | コンパイル装置及びプロセッサ装置 | |
| JPH10312291A (ja) | コンパイラ装置 | |
| JPH047748A (ja) | 参照順による自動配列要素割付処理方式 |