JPH03282827A - Support system for parallel conversion of program - Google Patents
Support system for parallel conversion of programInfo
- Publication number
- JPH03282827A JPH03282827A JP8414890A JP8414890A JPH03282827A JP H03282827 A JPH03282827 A JP H03282827A JP 8414890 A JP8414890 A JP 8414890A JP 8414890 A JP8414890 A JP 8414890A JP H03282827 A JPH03282827 A JP H03282827A
- Authority
- JP
- Japan
- Prior art keywords
- source program
- program
- block structure
- block
- parallelization
- 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
- 238000006243 chemical reaction Methods 0.000 title abstract 5
- 238000000034 method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムの並列化支援方式に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to a program parallelization support system.
従来、単一タスクで動作する利用者プログラムを複数の
タスクで並列に動作するように変換するためには、利用
者のプログラムを利用者が手作業でブロック構造に分解
し、分解された各ブロックの入力/出力データを解析し
た後、他のブロックと並列に動作が可能かどうかを調査
し、並列に動作可能ならばソースプログラム中の対応す
るブロックにコンパイラに対する指示文を挿入する。Conventionally, in order to convert a user program that operates on a single task to one that operates on multiple tasks in parallel, the user manually decomposes the user's program into a block structure, and each decomposed block After analyzing the input/output data of the block, it is investigated whether it can be operated in parallel with other blocks, and if it is possible to operate in parallel, an instruction statement for the compiler is inserted into the corresponding block in the source program.
上述した従来の方法では、単一タスクで動作する利用者
プログラムを並列化する際に利用者が手作業でプログラ
ムをブロック構造に分解し他のブロックと並列に動作す
ることが可能か調査する必要があるので、あるブロック
が他のブロックで更新したデータを参照/更新している
かどうかを利用者が調査することになる。したがって検
討のもれや誤った判断を行った場合には、並列化したプ
ログラムの実行結果が単一タスクで動作した場合と異る
ものになってしまうという欠点がある。In the conventional method described above, when parallelizing a user program that runs on a single task, the user has to manually break down the program into a block structure and investigate whether it is possible to run it in parallel with other blocks. Therefore, the user must investigate whether a block references/updates data updated in another block. Therefore, if there is a lack of consideration or an incorrect decision, the execution result of a parallelized program may be different from that obtained when a single task is executed.
また、一般に並列化の対象となるプログラムは大規模な
ソースプログラムである場合が多く、これを並列化する
ために全てのソースプログラムを手作業でブロック構造
に分解するには多くの時間が必要となるという問題点が
ある。Additionally, the programs targeted for parallelization are often large-scale source programs, and it would take a lot of time to manually decompose all the source programs into block structures in order to parallelize them. There is a problem with that.
本発明のプログラムの並列化支援方式は、単一タスクで
動作するソースプログラムを入力して前記ソースプログ
ラムの内容を解析してブロック構造ファイルを出力する
ソースプログラム解析部と、前記ブロック構造ファイル
を入力してブロック構造解析リストを出力するブロック
構造リスト出力部と、前記ブロック構造ファイルを入力
して指定のブロック群が並列に動作可能か否かを検証し
並列化可能ならば並列化情報を作成する並列化解析部と
、前記並列化情報と前記単一タスクで動作するソースプ
ログラムを入力して複数のタスクで動作する並列化ソー
スプログラムを作成するソースプログラム更新部と、端
末装置から動作を指示するコマンドを入力するコマンド
入力部とを有する。The program parallelization support method of the present invention includes a source program analysis section that inputs a source program that operates in a single task, analyzes the contents of the source program, and outputs a block structure file; and a source program analysis section that inputs the block structure file. a block structure list output unit that outputs a block structure analysis list; and a block structure list output unit that inputs the block structure file to verify whether a specified block group can operate in parallel, and if parallelization is possible, creates parallelization information. a parallelization analysis section; a source program update section that inputs the parallelization information and the source program that operates on a single task to create a parallelized source program that operates on multiple tasks; and a source program update section that instructs operations from a terminal device. and a command input section for inputting commands.
次に本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.
第1図は本発明の一実施例を示す構成図である。同図に
おいて本発明のプログラムの並列化支援方式1は端末装
置8から利用者がコマンドを入力し、ソースプログラム
7を入力して中間的なデータとして゛ブロック構造ファ
イル9を作成したり、5YSOUTフアイル10や端末
装置8にブロック構造解析リストを出力し、最終的に並
列化ソースプログラム11を出力する。FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, the program parallelization support method 1 of the present invention is such that the user inputs commands from the terminal device 8, inputs the source program 7, creates a block structure file 9 as intermediate data, and creates a 5YSOUT file. 10 and the terminal device 8, and finally a parallelized source program 11 is output.
プログラムの並列化支援方式1が動作するとコマンド入
力部6が端末装置8ヘコマンドの促進を行う、利用者は
端末装置8より始めに単一タスクで動作するソースプロ
グラム7の格納場所やプログラム名を指示する。その後
、コマンド入力部6はプログラム解析部2へ制御を移す
。When the program parallelization support method 1 operates, the command input unit 6 prompts the command to the terminal device 8. From the terminal device 8, the user first instructs the storage location and program name of the source program 7 that runs in a single task. do. Thereafter, the command input section 6 transfers control to the program analysis section 2.
プログラム解析部2はソースプログラム7を入力してブ
ロック構造に分解してブロック構造ファイル9へ出力し
、制御をコマンド入力部2へ戻す。ブロック構造解析リ
スト出力部3はコマンド入力部2が端末装置8から入力
したコマンドによって制御を渡され、ブロック構造ファ
イル9を入力し、5YSOUTフアイル10や端末装置
8ヘブロツク構造フアイル9の内容を編集出力する。The program analysis section 2 inputs the source program 7, decomposes it into a block structure, outputs it to the block structure file 9, and returns control to the command input section 2. The block structure analysis list output section 3 is given control by the command input by the command input section 2 from the terminal device 8, inputs the block structure file 9, and edits and outputs the contents of the 5YSOUT file 10 and the block structure file 9 to the terminal device 8. do.
利用者は以降このブロック構造解析リストを参照しなが
ら並列化するブロック名をコマンド入力部8に指示する
。The user then refers to this block structure analysis list and instructs the command input unit 8 about the name of the block to be parallelized.
並列化解析部4は利用者の指示によってコマンド人、山
部8から制御を渡される。並列化解析部4はコマンド入
力部8から並列化したいブロック群の名前が与えられ、
指定されたブロックの入力/出力データをブロック構造
解析ファイル9より取出し、並列に動作することが可能
かどうかの検証を行う、並列化が不可能ならばどの変更
のアクセスが並列化できない原因となっているかといっ
た並列化不可能な理由を端末装置8へ出力する。並列化
が可能ならば並列化するための情報とともにソースプロ
グラム更新部5へ制御を移す。The parallelization analysis unit 4 receives control from a command person, Yamabe 8, according to instructions from the user. The parallelization analysis unit 4 is given the name of the block group to be parallelized from the command input unit 8,
Extracts the input/output data of the specified block from the block structure analysis file 9 and verifies whether it is possible to operate in parallel. If parallelization is not possible, determines which access changes are causing the inability to parallelize. The reason why parallelization is not possible, such as whether parallelization is possible, is output to the terminal device 8. If parallelization is possible, control is transferred to the source program update unit 5 along with information for parallelization.
ソースプログラム更新部5は並列化解析部4からの情報
をもとに、ソースプログラム7を入力し並列化すべきブ
ロックのソース行を検索してコンパイラへの指示文を追
加して並列化ソースプログラム11を生成する。Based on the information from the parallelization analysis unit 4, the source program update unit 5 inputs the source program 7, searches for the source line of the block to be parallelized, adds instructions to the compiler, and creates a parallelized source program. generate.
第2図はソースプログラムおよびブロック構造ファイル
の例を示す説明図である。第2図(a)においてソース
プログラムの内容が、単純な処理の連続からなるブロッ
クA、処理の繰返しであるブロックB、ブロックBの中
の処理の連続であるブロックCから構成されているもの
とすると、第2図(b)に示すブロック構造解析ファイ
ルにはBLOCKOI、BLOCKO2,BLOCKO
3の3つのブロックが生成され、ブロックAはBLOC
KOlに、ブロックBはブロック02に。FIG. 2 is an explanatory diagram showing an example of a source program and a block structure file. In FIG. 2(a), the content of the source program consists of block A consisting of a series of simple processes, block B consisting of repeated processes, and block C consisting of a series of processes within block B. Then, the block structure analysis file shown in Figure 2(b) contains BLOCKOI, BLOCKO2, BLOCKO.
Three blocks of 3 are generated, block A is BLOC
KOl, block B to block 02.
ブロックCはBLOCKO3にそれぞれ対応する。ブロ
ック構造解析ファイルの各ブロックにはブロック名、ブ
ロックの処理内容、ブロックのソースプログラムでの先
頭と最後の行番号、入力データおよび出力データの名前
が格納される。Block C corresponds to BLOCKO3. Each block in the block structure analysis file stores the block name, processing details of the block, first and last line numbers in the block's source program, and names of input data and output data.
以上説明したように本発明は、従来利用者が手作業で行
っていた単一タスクで動作するプログラムの構造の分割
を自動的に行うことにより、並列化の作業を軽減させる
効果がある。As described above, the present invention has the effect of reducing parallelization work by automatically dividing the structure of a program that operates in a single task, which conventionally had to be done manually by the user.
また、並列化作業に際の正当性の検証を行い並−ノ
列化できな膚理由を知ることができるので、利用者が誤
った並列化を行いプログラムの実行結果が並列化しない
場合と並列化した場合で異るような問題の発生を防ぐこ
とができる。In addition, it is possible to verify the correctness of the parallelization work and find out the reason why parallelization is not possible, so it is possible to avoid cases where the user has made a mistake in parallelization and the execution result of the program is not parallelized. It is possible to prevent the occurrence of different problems depending on the situation.
第1図は本発明の一実施例を示す構成図、第2図はソー
スプログラムおよびブロック構造解析ファイルの例を示
す説明図である。
1・・・プログラムの並列化支援方式、2・・・プログ
ラム解析部、3・・・ブロック構造解析リスト出力部、
4・・・並列化解析部、5・・・ソースプログラム更新
部、6・・・コマンド入力部、7・・・ソースプログラ
ム、9・・・ブロック構造解析ファイル、11・・・並
列化ソースプログラム。FIG. 1 is a configuration diagram showing one embodiment of the present invention, and FIG. 2 is an explanatory diagram showing an example of a source program and a block structure analysis file. 1... Program parallelization support method, 2... Program analysis section, 3... Block structure analysis list output section,
4... Parallelization analysis section, 5... Source program update section, 6... Command input section, 7... Source program, 9... Block structure analysis file, 11... Parallelization source program .
Claims (1)
ソースプログラムの内容を解析してブロック構造ファイ
ルを出力するソースプログラム解析部と、前記ブロック
構造ファイルを入力してブロック構造解析リストを出力
するブロック構造リスト出力部と、前記ブロック構造フ
ァイルを入力して指定のブロック群が並列に動作可能か
否かを検証し並列化可能ならば並列化情報を作成する並
列化解析部と、前記並列化情報と前記単一タスクで動作
するソースプログラムを入力して複数のタスクで動作す
る並列化ソースプログラムを作成するソースプログラム
更新部と、端末装置から動作を指示するコマンドを入力
するコマンド入力部とを有することを特徴とするプログ
ラムの並列化支援方式。a source program analysis unit that inputs a source program that operates in a single task, analyzes the contents of the source program, and outputs a block structure file; and a block structure that inputs the block structure file and outputs a block structure analysis list. a list output section, a parallelization analysis section that inputs the block structure file, verifies whether or not a specified block group can operate in parallel, and creates parallelization information if parallelization is possible; A source program update section that inputs the source program that operates on a single task and creates a parallelized source program that operates on multiple tasks, and a command input section that inputs commands to instruct operations from a terminal device. A program parallelization support method characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8414890A JPH03282827A (en) | 1990-03-30 | 1990-03-30 | Support system for parallel conversion of program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8414890A JPH03282827A (en) | 1990-03-30 | 1990-03-30 | Support system for parallel conversion of program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03282827A true JPH03282827A (en) | 1991-12-13 |
Family
ID=13822418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8414890A Pending JPH03282827A (en) | 1990-03-30 | 1990-03-30 | Support system for parallel conversion of program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03282827A (en) |
-
1990
- 1990-03-30 JP JP8414890A patent/JPH03282827A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02264329A (en) | Automatic program generating device | |
JP2580592B2 (en) | Data structure driven processor and control method thereof | |
JPH03282827A (en) | Support system for parallel conversion of program | |
JPH11237982A (en) | Software component development supporting device | |
JP2001154998A (en) | Parallel analysis instructing method and device for parallel general associated analysis | |
JPS6232557A (en) | Communication protocol converter | |
JPH0250730A (en) | Language converting system based upon common machine word | |
JP2861630B2 (en) | Connection structure analyzer | |
JPH0287206A (en) | Data processing system | |
JPS6215604A (en) | Programming device | |
JPH047637A (en) | Program diagram generating device | |
JPH0193826A (en) | System for counting dynamic step of high grade language | |
JPS61147335A (en) | Parameter registration system of job | |
JPS62135958A (en) | Simulation system | |
JPS6234232A (en) | Document production system by simple language | |
JPS60103453A (en) | Electronic computer device | |
JPH03121558A (en) | Remote task execution controller | |
JPH05113885A (en) | Parallel processing program developing device | |
JPH064348A (en) | Program debugging system | |
JPH0468436A (en) | Automatic compile and link device | |
JPH0289116A (en) | Operation guidance system | |
JPH086782A (en) | Maintenance work automation supporting method for program | |
JPS62100834A (en) | Control system for number of editions of program | |
JPH01147624A (en) | Language processing system | |
JPH0235521A (en) | Generation system for patch image |