JPH03282827A - Support system for parallel conversion of program - Google Patents

Support system for parallel conversion of program

Info

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
Application number
JP8414890A
Other languages
Japanese (ja)
Inventor
Tsugiichi Shibata
柴田 次一
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8414890A priority Critical patent/JPH03282827A/en
Publication of JPH03282827A publication Critical patent/JPH03282827A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To reduce the work of parallel conversion by automatically dividing the structure of a program operated by s single task which a user executes by the manual work. CONSTITUTION:This system consists of a program analyzing part 2, a block structure analysis list output part 3, a parallel conversion analyzing part 4, a source program update part 5, and a command input part 6. The user inputs a command from a terminal equipment 8 and inputs a source program 7 to generate a block structure file 9 as intermediate data and outputs a block structure analysis list to a SYSOUT file 10 or the terminal equipment 8 and finally outputs a parallel conversion source program 11. Thus, the time require to decompose all source programs for parallel conversion of a large-scale source program to block structures by the manual work is shortened.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムの並列化支援方式に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to a program parallelization support system.

〔従来の技術〕[Conventional technology]

従来、単一タスクで動作する利用者プログラムを複数の
タスクで並列に動作するように変換するためには、利用
者のプログラムを利用者が手作業でブロック構造に分解
し、分解された各ブロックの入力/出力データを解析し
た後、他のブロックと並列に動作が可能かどうかを調査
し、並列に動作可能ならばソースプログラム中の対応す
るブロックにコンパイラに対する指示文を挿入する。
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.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来の方法では、単一タスクで動作する利用者
プログラムを並列化する際に利用者が手作業でプログラ
ムをブロック構造に分解し他のブロックと並列に動作す
ることが可能か調査する必要があるので、あるブロック
が他のブロックで更新したデータを参照/更新している
かどうかを利用者が調査することになる。したがって検
討のもれや誤った判断を行った場合には、並列化したプ
ログラムの実行結果が単一タスクで動作した場合と異る
ものになってしまうという欠点がある。
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.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のプログラムの並列化支援方式は、単一タスクで
動作するソースプログラムを入力して前記ソースプログ
ラムの内容を解析してブロック構造ファイルを出力する
ソースプログラム解析部と、前記ブロック構造ファイル
を入力してブロック構造解析リストを出力するブロック
構造リスト出力部と、前記ブロック構造ファイルを入力
して指定のブロック群が並列に動作可能か否かを検証し
並列化可能ならば並列化情報を作成する並列化解析部と
、前記並列化情報と前記単一タスクで動作するソースプ
ログラムを入力して複数のタスクで動作する並列化ソー
スプログラムを作成するソースプログラム更新部と、端
末装置から動作を指示するコマンドを入力するコマンド
入力部とを有する。
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.

〔実施例〕〔Example〕

次に本発明について図面を参照して説明する。 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.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、従来利用者が手作業で行
っていた単一タスクで動作するプログラムの構造の分割
を自動的に行うことにより、並列化の作業を軽減させる
効果がある。
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.

【図面の簡単な説明】[Brief explanation of drawings]

第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)

【特許請求の範囲】[Claims] 単一タスクで動作するソースプログラムを入力して前記
ソースプログラムの内容を解析してブロック構造ファイ
ルを出力するソースプログラム解析部と、前記ブロック
構造ファイルを入力してブロック構造解析リストを出力
するブロック構造リスト出力部と、前記ブロック構造フ
ァイルを入力して指定のブロック群が並列に動作可能か
否かを検証し並列化可能ならば並列化情報を作成する並
列化解析部と、前記並列化情報と前記単一タスクで動作
するソースプログラムを入力して複数のタスクで動作す
る並列化ソースプログラムを作成するソースプログラム
更新部と、端末装置から動作を指示するコマンドを入力
するコマンド入力部とを有することを特徴とするプログ
ラムの並列化支援方式。
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:
JP8414890A 1990-03-30 1990-03-30 Support system for parallel conversion of program Pending JPH03282827A (en)

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)

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