JPH11259431A - Distributed processing method and computer readable storage medium for recording network distributed processing program - Google Patents

Distributed processing method and computer readable storage medium for recording network distributed processing program

Info

Publication number
JPH11259431A
JPH11259431A JP5689998A JP5689998A JPH11259431A JP H11259431 A JPH11259431 A JP H11259431A JP 5689998 A JP5689998 A JP 5689998A JP 5689998 A JP5689998 A JP 5689998A JP H11259431 A JPH11259431 A JP H11259431A
Authority
JP
Japan
Prior art keywords
processing
time
name
computer
processing units
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.)
Withdrawn
Application number
JP5689998A
Other languages
Japanese (ja)
Inventor
Hiromi Yoshida
博美 吉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5689998A priority Critical patent/JPH11259431A/en
Publication of JPH11259431A publication Critical patent/JPH11259431A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To process processing units for making uniform a whole processing time on each computer system by classifying the designation of the processing units in a descending order by using a processing unit quantity or processing time related with plural processing units as a key, and operating the program processing of the plural processing units on plural computer systems in the classified order. SOLUTION: Information such as the name of a module to be compile- processed and the file size is collected so that a compile management table can be prepared (S101). Then, the designation of processing units is classified in a descending order by using a processing unit quantity (the file size, the number of steps, the number of sentences, the number of words, or the number of characters) or processing time (a processing lapse time, a CPU using time, or the number of times of input and output) related with the processing units as a classification key (S102 and S103). The distributed processing of the processing units is operated in the classified order by a program operating on plural systems connected through a network (S104, 105, and 110).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する分野】本発明は、プログラムによる処理
をネットワークに接続された複数の計算機に分散させて
処理を行う分散処理方式に関する。近年、LANなどの
通信設備費用の低価格化にともない、ネットワークによ
り接続された複数の計算機システム上で処理順序の関係
がない処理単位を割り当て、分散処理を行うことにより
全処理経過時間の短縮が行われている。しかしながら、
一つ一つの処理経過時間に大きなバラツキを伴う処理で
は、単純に処理順番をスケジュールすると、早く処理が
終了する計算機と、なかなか処理が終了しない計算機と
が発生し、全体の処理がうまく分散されないためバラン
スよく全体の処理が終了しないといった問題がある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed processing system for distributing processing by a program to a plurality of computers connected to a network. In recent years, as the cost of communication facilities such as LANs has become lower, the processing time irrelevant to the processing order has been allocated on a plurality of computer systems connected by a network, and distributed processing has been performed. Is being done. However,
In processes that involve large variations in each process elapsed time, if simply scheduling the order of processing, there are computers that finish processing early and computers that do not finish processing easily, and the entire process is not well distributed. There is a problem that the whole processing is not completed in a well-balanced manner.

【0002】このような観点から処理単位をバランスよ
く各計算機システムに割り当て、ネットワーク上の全処
理単位の処理が同じ時刻に終了するようにスケジュール
し、分散処理による処理経過時間を更に短縮する機能の
提供が望まれている。
[0002] From such a viewpoint, a processing unit is allocated to each computer system in a well-balanced manner, the processing of all the processing units on the network is scheduled to end at the same time, and the processing elapsed time by the distributed processing is further reduced. Provision is desired.

【0003】[0003]

【従来の技術】従来の分散翻訳処理では、予め決められ
た処理順序でソースプログラムをネットワークに接続さ
れた複数の計算機システム上で翻訳(コンパイル)して
いた。しかしながら、ソースプログラムごとにステップ
数が大幅に異なっており、各ソースプログラムの翻訳経
過時間にばらつきが顕著であった。したがって、例え
ば、全体で900本のソースプログラムを任意の300
本を1セットにして、ネットワークで接続された3台の
計算機システム上で動作するコンパイラによる分散翻訳
処理を同時に開始した場合、各1セットが終了する時刻
にバラツキがあり、一番遅く終了した翻訳時間が全体の
処理時間となった。
2. Description of the Related Art In a conventional distributed translation process, a source program is translated (compiled) on a plurality of computer systems connected to a network in a predetermined processing order. However, the number of steps differs greatly for each source program, and the variation in the translation elapsed time of each source program was remarkable. Therefore, for example, a total of 900 source programs can be stored in an arbitrary 300
When a book is set as one set and distributed translation processing is started simultaneously by compilers operating on three computer systems connected by a network, the time at which each set ends varies, and the translation that ended last Time became the total processing time.

【0004】図9は各モジュールのコンパイルCPU使
用時間&割り当て順序を説明する図である。この図で
は、コンパイルCPU使用時間に大きなバラツキがある
ことを示している。例えば、各モジュールのコンパイル
順番を固定的に3台のホストでコンパイルすると、図1
0に示すようにM2の計算機は3本のプログラムの翻訳
を短時間に終了するが、M1の計算機は極端に長い時間
を必要とする場合がある。このように、全コンパイル処
理経過時間は最長の処理経過時間を必要としたM1の計
算機処理時間となってしまう問題があった。
FIG. 9 is a diagram for explaining the compilation CPU usage time and allocation order of each module. This figure shows that there is a large variation in the compile CPU usage time. For example, if the compilation order of each module is fixedly compiled by three hosts,
As indicated by 0, the computer of M2 completes the translation of three programs in a short time, but the computer of M1 may require an extremely long time. As described above, there is a problem that the total compilation processing elapsed time becomes the computer processing time of M1 which requires the longest processing elapsed time.

【0005】しかしながら、予め、各モジュールのコン
パイル処理経過時間が予め把握されていれば、図11に
示すように処理経過時間の長いモジュールの順番にM1
からM3に各モジュールの翻訳処理を行わせると全コン
パイル処理経過時間の短縮が図られる。このように、一
度に多数のプログラムのコンパイルを必要とする移植作
業あるいはシステム開発などでは、一度に多数のモジュ
ールの翻訳する作業が発生し、分散翻訳処理によるコン
パイル時間の短縮が望まれている。
[0005] However, if the compile processing elapsed time of each module is known in advance, as shown in FIG.
To M3 to perform the translation processing of each module, it is possible to reduce the elapsed time of the entire compilation processing. As described above, in the porting work or the system development that requires compiling a large number of programs at a time, the work of translating a large number of modules occurs at a time, and it is desired to reduce the compile time by distributed translation processing.

【0006】[0006]

【発明が解決しようとする課題】前述のように、分散翻
訳処理によりネットワークシステム上の個々の全翻訳処
理時間は短くなるが、コンパイル時間のバラツキにより
翻訳処理時間の短縮には限度があった。本発明は、ネッ
トワークにより接続された複数の計算機システム上で行
われる分散処理において、各計算機システム上での全処
理時間がそれぞれ均一になるように処理単位を処理する
ことを目的とする。
As described above, the distributed translation processing shortens the entire translation processing time on the network system, but the compile time variation limits the translation processing time. SUMMARY OF THE INVENTION It is an object of the present invention to perform processing units in distributed processing performed on a plurality of computer systems connected by a network such that the total processing time on each computer system becomes uniform.

【0007】[0007]

【課題を解決するための手段】処理経過時間は処理され
る計算機システムでのCPU資源の割り当て待ち、入出
力の競合待ちなどのシステムの稼働状態により大きく変
化する。すなわち、多くプログラムの実行による資源の
競合待ちが多く発生すれば処理経過時間は長くなり、待
ちが少なければ処理経過時間は短くなる。このため、処
理経過時間の予測値として変化の少ないCPU使用時
間、入出力回数、あるいはCPU使用時間と入出力回数
の組合せた値を参考にすることもある。本発明では、処
理単位は、アプリケーションなどで処理されるデータ、
文章、ソースプログラムなどを意味し、処理単位に係る
処理単位量は処理単位のファイルサイズ、ステップ数、
センテンス数、ワード数又は文字数を意味する。また、
処理単位に係る処理時間には、CPU使用時間、処理経
過時間(処理開始から終了までの所要時間)、及びCP
U使用時間及び入出力回数に基づく処理予想経過時間
(例えば、CPU使用時間*係数1+入出力回数*係数
2など)を含めるものとする。更に、ネットワークで接
続された複数の計算機システムには自計算機システムを
含むものとする。
The processing elapsed time greatly changes depending on the operating state of the system, such as waiting for CPU resource allocation in the computer system to be processed and waiting for input / output conflict. That is, the processing elapsed time becomes longer if a lot of resource contention waiting occurs due to the execution of many programs, and the processing elapsed time becomes shorter if the waiting time is small. For this reason, the CPU usage time and the number of times of input / output, or a value obtained by combining the CPU usage time and the number of times of input / output, which change little, may be referred to as the predicted value of the processing elapsed time. In the present invention, the processing unit is data processed by an application or the like,
It means sentences, source programs, etc., and the processing unit amount per processing unit is the file size of the processing unit, the number of steps,
It means the number of sentences, the number of words or the number of characters. Also,
The processing time per processing unit includes CPU usage time, processing elapsed time (time required from start to end of processing), and CP
The estimated processing time based on the U use time and the number of input / output times (for example, CPU use time * coefficient 1 + input / output number * coefficient 2) is included. Further, the plurality of computer systems connected by a network include the own computer system.

【0008】本発明では、ネットワークで接続された複
数の計算機シテスムにより分散処理を行う分散処理方法
において、複数の処理単位に係る処理単位量又は処理時
間をキーにして処理単位の名称を降順に分類する名称分
類手順と、該名称分類手段で分類された順序で複数の処
理単位を複数の計算機システム上でプログラム処理を行
わせる処理手順とからなることを特徴とし、また、ネッ
トワークで接続された複数の計算機シテスムにより分散
処理を行うためのネットワーク分散処理プログラムを記
録したコンピュータ読み取り可能な記録媒体であって、
複数の処理単位に係る処理単位量又は処理時間をキーと
して処理単位の名称を降順に分類する名称分類手順と、
該名称分類手段で分類された順序で前記複数の処理単位
を前記複数の計算機システム上でプログラ処理を行わせ
る処理手順とを実行させるためのネットワーク分散処理
プログラムを記録したコンピュータ読み取り可能な記録
媒体により、上記課題を解決する手段とする。
According to the present invention, in a distributed processing method for performing distributed processing by a plurality of computer systems connected via a network, the names of the processing units are sorted in descending order using the processing unit amounts or processing times of the plurality of processing units as keys. And a processing procedure for causing a plurality of processing units to perform program processing on a plurality of computer systems in the order classified by the name classification means. A computer-readable recording medium recording a network distributed processing program for performing distributed processing by a computer system,
A name classification procedure for classifying the names of the processing units in descending order using the processing unit amount or the processing time related to the plurality of processing units as a key,
A computer-readable recording medium recording a network distributed processing program for executing a processing procedure for causing the plurality of processing units to perform program processing on the plurality of computer systems in the order classified by the name classification unit. It is means for solving the above-mentioned problems.

【0009】[0009]

【発明の実施の形態】本発明の第1の実施の例を図面に
基づいて説明する。図1は本発明の第1の実施の例のフ
ローを説明する図である。図1に沿って説明する。本発
明の第1の実施形態では、各計算機でのコンパイル処理
の実行多重度は1としている。従って、図7に示すコン
パイル中のモジュール名(2)〜(4)は使用しない。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram for explaining the flow of the first embodiment of the present invention. This will be described with reference to FIG. In the first embodiment of the present invention, the execution multiplicity of the compile process in each computer is 1. Therefore, the module names (2) to (4) during compilation shown in FIG. 7 are not used.

【0010】図1に示すステップ(S101)では、コ
ンパイル処理の対象となるモジュール名(翻訳単位の名
称)と各モジュール名についてのファイルサイズ、ステ
ップ数、センテンス数、ワード数、及び文字数の情報を
それぞれ収集し、図6に示すコンパイル管理テーブルを
作成する。該コンパイル管理テーブルには、前記ファイ
ル名としてモジュール名61が設定される。更に、各モ
ジュール名についてのファイルサイズ62、ステップ数
63、センテンス数64、ワード数65、及び文字数6
6がそれぞれ設定される。これらの設定された情報はコ
ンパイル順序の決定するための分類キーとして使用され
る。しかしながら、1回目のコンパイル処理の実行済な
らば、ステップ(S122)において、前回のコンパイ
ル処理時のコンパイル処理経過時間68、CPU使用時
間69、および入出力回数70がそれぞれ前記コンパイ
ル管理テーブルに設定されている。
In step (S101) shown in FIG. 1, the module name (the name of the translation unit) to be compiled and information on the file size, the number of steps, the number of sentences, the number of words, and the number of characters for each module name are stored. Each is collected and the compilation management table shown in FIG. 6 is created. In the compilation management table, a module name 61 is set as the file name. Furthermore, the file size 62, the number of steps 63, the number of sentences 64, the number of words 65, and the number of characters 6 for each module name
6 are set respectively. The set information is used as a classification key for determining the compilation order. However, if the first compile process has been executed, in step (S122), the compile process elapsed time 68, the CPU usage time 69, and the number of input / output times 70 in the previous compile process are set in the compile management table. ing.

【0011】ステップ(S102)では、例えば、プロ
グラム起動時のパラメータとしてコンパイル順序を各モ
ジュールのファイルサイズの大きい順に行うように指示
する。各モジュール名はファイルサイズで降順に分類さ
れ、ファイルサイズ62の欄の値が一番大きいものから
順に分散コンパイルするように順序を決定される。ま
た、コンパイル順序を決定する分類キーとしてファイル
サイズ、ステップ数、センテンス数、ワード数、文字
数、コンパイル処理経過時間、CPU使用時間、および
入出力回数のいずれかを前記パラメータとして指定する
こともできる。
In the step (S102), for example, an instruction is given as a parameter at the time of starting the program to perform the compilation in the order of the file size of each module. The module names are sorted in descending order by file size, and the order is determined so that distributed compilation is performed in order from the largest value in the column of file size 62. In addition, any of file size, number of steps, number of sentences, number of words, number of characters, compile processing elapsed time, CPU usage time, and number of input / output times can be specified as the classification key for determining the compilation order.

【0012】ステップ(S103)では、前記ステップ
(S102)で決定されたコンパイル順序を処理順序番
号67のフィールドに一番大きいファイルサイズから一
番小さなファイルサイズの順に分散コンパイル(分散翻
訳)される順序が設定される。すなわち、図6におい
て、一番最初にコンパイルされるモジュール名の行に対
応する処理順序番号67に設定される値として1が設定
され、次に処理されるモジュールの値は2が設定され
る。それ以降のモジュール名については、順次1ずつ加
算された値が設定される。また、処理順序番号67に設
定された値のうち一番値の大きいものが図示していない
最終処理順序番号カウンタに設定される。
In step (S103), the compile order determined in step (S102) is stored in the field of the processing order number 67 in the order of distributed compilation (distributed translation) from the largest file size to the smallest file size. Is set. That is, in FIG. 6, 1 is set as the value set in the processing order number 67 corresponding to the line of the module name to be compiled first, and 2 is set as the value of the module to be processed next. For subsequent module names, values that are sequentially added one by one are set. The largest value among the values set in the processing sequence number 67 is set in a final processing sequence number counter (not shown).

【0013】ステップ(S104)では、図7に示すコ
ンパイル監視テーブルのコンパイル中のモジュール名
(1)72を全てスペースで初期化する。図7はコンパ
イル監視テーブルを説明する図である。コンパイル監視
テーブルにはネットワークで接続された計算機名が計算
機名71に予め設定されており、計算機名上の動作する
コンパイラにより翻訳されるモジュール名が該計算機名
に対応する行のコンパイル中のモジュール名(1)72
に設定される。
In step (S104), all the module names (1) 72 being compiled in the compilation monitoring table shown in FIG. 7 are initialized with spaces. FIG. 7 is a view for explaining the compilation monitoring table. In the compilation monitoring table, the names of the computers connected via the network are set in advance in the computer name 71, and the module name translated by the operating compiler on the computer name is the module name being compiled in the line corresponding to the computer name. (1) 72
Is set to

【0014】ステップ(S105)では、図示していな
いコンパイル処理管理カウンタに1を設定する。なお、
該コンパイル処理管理カウンタは次のコンパイル対象と
なるモジュールの処理順番が設定・保持され、コンパイ
ル対象モジュールを選択するときに参照される。ステッ
プ(S110)では、全モジュールの翻訳が完了したど
うかの判定が行われる。すなわち、前記コンパイル処理
管理カウンタの値が前記最終処理順序番号カウンタの値
を越え、且つ、図7に示すコンパイル監視テーブルのコ
ンパイル中のモジュール名(1)72にモジュール名が
1つでも設定されていないときに全モジュールのコンパ
イルが終了したものと判定される。
In step (S105), 1 is set to a compile process management counter (not shown). In addition,
The compile processing management counter sets and holds the processing order of the next module to be compiled and is referred to when a module to be compiled is selected. In step (S110), it is determined whether the translation of all modules has been completed. That is, the value of the compile process management counter exceeds the value of the final process sequence number counter, and at least one module name is set in the module name (1) 72 being compiled in the compile monitoring table shown in FIG. If not, it is determined that all modules have been compiled.

【0015】ステップ(S111)では、図7に示すコ
ンパイル監視テーブルのコンパイル中のモジュール名
(1)72にモジュール名が全て設定されていれば、全
ての計算機がコンパイル処理を実行中であると判定す
る。もし、1つでもモジュール名が設定されていなけれ
ばステップ(S112)に分岐し、そうでなければステ
ップ(S121)に分岐する。
In step (S111), if all the module names are set in the compiling module name (1) 72 of the compilation monitoring table shown in FIG. 7, it is determined that all the computers are executing the compiling process. I do. If at least one module name has not been set, the flow branches to step (S112); otherwise, the flow branches to step (S121).

【0016】ステップ(S112)では、前記コンパイ
ル処理管理カウンタの読み出しを行い、ステップ(S1
13)では、図6に示すコンパイル管理テーブルから次
の1行を読み出し、次にコンパイルすべきモジュールを
選択する。ステップ(S114)はステップ(S20
1,S121)との連携により動作するものであり、そ
れぞれのステップについては図5に基づいて、更に詳細
に説明する。図中、ステップ(S114)では、メイン
プロセスとしてUNIX(Solaris 1.x) のfork関数
を使ってサブプロセスを起動する。次に該サブプロセス
からのexecl関数によりrshコマンドを実行し、
rshコマンドのhostnameオペランドでホスト
名を指定し、更にホストで実行すべきtimeコマンド
およびコンパイラコマンドも指定する。これにより、ス
テップ(S201)では、該ホスト上でtimeコマン
ドが起動される。次に、該timeコマンドはコンパイ
ラを起動し、コンパイラコマンドのオペランドとして指
定されたモジュール名のコンパイル処理を実行する。コ
ンパイル処理が終了すると、コンパイラからtimeコ
マンドに制御が戻る。該timeコマンドは該コンパイ
ラのコンパイル処理経過時間、CPU使用時間、入出力
回数を標準出力およびNFS(Network File System)経
由で呼び出し元の計算機のファイルシテスムに出力す
る。そして、ステップ(S114)の呼び出し元のサブ
プロセスに戻りexit関数を実行する。このexit
関数を実行することによりステップ(S121)のwa
it関数のwait処理による待ち状態が解放され、次
のステップ(S122)に進む。
In step (S112), the compile processing management counter is read out, and step (S1)
In 13), the next one line is read from the compilation management table shown in FIG. 6, and the module to be compiled next is selected. Step (S114) is equivalent to step (S20).
1, S121), and each step will be described in more detail with reference to FIG. In the figure, in step (S114), a subprocess is started as a main process using a UNIX (Solaris 1.x) fork function. Next, the rsh command is executed by the execute function from the subprocess,
The host name is specified by the hostname operand of the rsh command, and a time command and a compiler command to be executed by the host are also specified. Thereby, in step (S201), a time command is activated on the host. Next, the time command activates a compiler and executes a compiling process for a module name specified as an operand of the compiler command. When the compile processing is completed, control returns to the time command from the compiler. The time command outputs the compile processing elapsed time, the CPU usage time, and the number of times of input / output of the compiler to the file system of the calling computer via standard output and NFS (Network File System). Then, the process returns to the calling sub-process in step (S114) and executes the exit function. This exit
By executing the function, wa of step (S121) is obtained.
The wait state by the wait process of the it function is released, and the process proceeds to the next step (S122).

【0017】一方、ステップ(S114)でfork関
数を実行した後は、直ちに次のステップ(S115)に
進む。ステップ(S115)では、ステップ(S11
4)でコンパイルを依頼した計算機名(ホスト名)と一
致する前記コンパイル監視テーブルのコンパイル中のモ
ジュール名(1)72にステップ(S114)でコンパ
イルを依頼したモジュール名を設定する。
After executing the fork function in step (S114), the process immediately proceeds to the next step (S115). In step (S115), step (S11
The name of the module requested to be compiled in step (S114) is set to the module name (1) 72 being compiled in the compilation monitoring table that matches the computer name (host name) requested to be compiled in 4).

【0018】ステップ(S116)では、次に処理すべ
き処理順序番号67の値を前記コンパイル処理管理カウ
ンタに設定する。そして、ステップ(S110)に進
む。ステップ(S121)では、ステップ(S114)
でホストにコンパイルの依頼を行うが、このコンパイル
処理の完了をこのステップで待つ。すなわち、このステ
ップではwait関数を実行することにより待ち状態に
入る。そして、ステップ(S114)でのexit関数
が実行された段階で、該wait関数による待ち状態が
解除され、次のステップ(S122)に進む。
In step (S116), the value of the processing sequence number 67 to be processed next is set in the compile processing management counter. Then, the process proceeds to step (S110). In step (S121), step (S114)
Compile request to the host, and waits for completion of this compile processing in this step. That is, in this step, the wait state is entered by executing the wait function. Then, when the exit function is executed in step (S114), the wait state by the wait function is released, and the process proceeds to the next step (S122).

【0019】ステップ(S122)では、ホストからt
imeコマンドによりコンパイル処理経過時間、CPU
使用時間、入出力回数を前記NFS(ファイル共用シス
テム)を経由して取得する。そして、コンパイル管理テ
ーブルの翻訳経過時間68、CPU使用時間69、入出
力回数70にそれぞれの値を設定する。ステップ(S1
23)では、翻訳が終了したモジュール名をコンパイル
監視テーブルのコンパイル中のモジュール名(1)72
を検索し、該当するモジュール名を空白で初期化する。
そして、ステップ(S110)に進む。
In step (S122), t
Compile processing elapsed time by CPU
The usage time and the number of times of input / output are acquired via the NFS (file sharing system). Then, respective values are set to the translation elapsed time 68, the CPU usage time 69, and the number of input / output times 70 in the compilation management table. Step (S1
In 23), the name of the module whose translation has been completed is replaced with the name of the module being compiled in the compilation monitoring table (1) 72.
And initialize the corresponding module name with blanks.
Then, the process proceeds to step (S110).

【0020】本発明の第2の実施の例を図面に基づいて
説明する。図2は本発明の第2の実施の例のフロー(そ
の1)を説明する図である。主として図2に基づき説明
する。本発明の第2の実施の例では、各計算機でのコン
パイル処理の実行多重度は1〜4としている。従って、
図7に示すコンパイル中のモジュール名(1)〜(4)
を使用する。
A second embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a view for explaining the flow (No. 1) of the second embodiment of the present invention. This will be mainly described with reference to FIG. In the second embodiment of the present invention, the execution multiplicity of the compile process in each computer is 1 to 4. Therefore,
Module names (1) to (4) being compiled shown in FIG.
Use

【0021】ステップ(S101〜S103)は本発明
の第1の実施形態のステップ(S101〜S103)と
同じ処理を行い、分類キーに基づきコンパイル順序の決
定及び設定を行うものである。既に説明済なので省略す
る。ステップ(S104)では、図7に示すコンパイル
監視テーブルのコンパイル中のモジュール名(1)72
〜コンパイル中のモジュール名(4)75を全てスペー
スで初期化する。
Steps (S101 to S103) perform the same processing as the steps (S101 to S103) of the first embodiment of the present invention, and determine and set the compile order based on the classification key. Since it has already been described, the description is omitted. In step (S104), the module name (1) 72 being compiled in the compilation monitoring table shown in FIG.
Initialize all module names (4) 75 being compiled with spaces.

【0022】ステップ(S105)では、図示していな
いコンパイル処理管理カウンタに1を設定する。なお、
該コンパイル処理管理カウンタは次のコンパイル対象と
なるモジュールの処理順番が設定・保持され、コンパイ
ル対象モジュールを選択するときに参照される。ステッ
プ(S106)は各計算機におけるコンパイラの実行多
重度を管理する多重度管理テーブル(図8を参照)のコ
ンパイル実行数83を全て0(零)で初期化を行う。こ
の多重度管理テーブルには計算機名81に各計算機名
が、コンパイル許容多重度数82に各計算機名ごとのコ
ンパイル許容多重度数がそれぞれ予め設定されている。
また、コンパイラの実行時におけるコンパイル実行数の
値が設定されるコンパイル実行数83が設けられてい
る。
In step (S105), 1 is set to a compile process management counter (not shown). In addition,
The compile processing management counter sets and holds the processing order of the next module to be compiled and is referred to when a module to be compiled is selected. In step (S106), all the compile execution numbers 83 of the multiplicity management table (see FIG. 8) for managing the execution multiplicity of the compiler in each computer are initialized to 0 (zero). In this multiplicity management table, the computer name 81 is set in advance to each computer name, and the compilation allowable multiplicity 82 is set in advance to the compilation allowable multiplicity for each computer name.
Also, a compile execution number 83 is provided in which a value of the compile execution number at the time of executing the compiler is set.

【0023】ステップ(S107)では、図示していな
い指示カウンタに1を設定する。ステップ(S108)
では、多重度管理テーブルから先頭の行が読み出され
る。ステップ(S110)では、全てのコンパイルが完
了したことの判定が行われ、前記コンパイル処理管理カ
ウンタの値が前記最終処理順序番号カウンタの値を越
え、かつ、前記コンパイル監視テーブルにコンパイル中
のモジュール名が設定されていない(モジュール名が全
て空白)場合に全ての翻訳が終了したものと判定する。
In step (S107), 1 is set to an instruction counter (not shown). Step (S108)
Then, the first row is read from the multiplicity management table. In step (S110), it is determined that all compilations have been completed, and the value of the compilation processing management counter exceeds the value of the final processing sequence number counter, and the name of the module being compiled is displayed in the compilation monitoring table. Is not set (all module names are blank), it is determined that all translations have been completed.

【0024】ステップ(S110a)は多重度管理テー
ブルの各計算機名欄ごとに現在の多重度許容数が実行中
の多重度数と等しいか、又は多い場合にステップ(S1
10b)に進み、そうでなければステップ(S110
c)に進む。ステップ(S110b)では、多重度管理
テーブルのコンパイル実行数が前記指示カウンタと同じ
値であるかどうかを判定し、同じであればステップ(S
112)に進み、異なっていればステップ(S110
C)に進む。
Step (S110a) is performed when the current allowable multiplicity is equal to or larger than the currently executed multiplicity for each computer name column of the multiplicity management table.
10b), otherwise (step S110)
Proceed to c). In step (S110b), it is determined whether the number of compiles in the multiplicity management table has the same value as the instruction counter.
112), and if different, step (S110)
Proceed to C).

【0025】ステップ(S112)は、前記コンパイル
処理管理カウンタの読み出し、ステップ(S113)は
コンパイル管理テーブルの読み出しを行う。ステップ
(S114)はステップ(S201,S121)との連
携で動作するものであり、また、ステップ(S115,
S116)も翻訳モジュール名及び処理番号の設定も本
発明の第1の実施の例のフローを説明する図のステップ
(S114,S201,S121,S115,S11
6)と同じ処理であり、既に説明済なので省略する。
The step (S112) reads the compile processing management counter, and the step (S113) reads the compile management table. Step (S114) operates in cooperation with step (S201, S121).
Steps S116, S201, S121, S115, S11 in the figure for explaining the flow of the first embodiment of the present invention, as well as the setting of the translation module name and the processing number in S116).
This is the same process as 6), and has already been described, and thus will not be described.

【0026】ステップ(S117)は多重度管理テーブ
ルの計算機名81において、ステップ(S114)でコ
ンパイルを依頼した計算機名と一致する行のコンパイル
実行数の値に1を加えて設定する。ステップ(S110
c)では、計算機名71に設定された各計算機名(1号
機、2号機)の処理が全て終了すると、ステップ(S1
19)に進み、そうでなければ、ステップ(S118)
に進む。
In step (S117), the computer name 81 of the multiplicity management table is set by adding 1 to the value of the number of compiles executed in the row corresponding to the computer name requested to be compiled in step (S114). Step (S110
In c), when the processing of all the computer names (the first and second computers) set in the computer name 71 is completed, step (S1)
Proceed to 19); otherwise, step (S118)
Proceed to.

【0027】ステップ(S118)では、多重度管理テ
ーブルの次の行を読み出し、ステップ(S110)に進
む。ステップ(S119)では、前記指示カウンタの値
に1を加える。ステップ(S110d)では、多重度管
理テーブル読み出した行のコンパイル許容多重度数82
の値が前記指示カウンタと等しい又は小さいときにステ
ップ(S121)に進み、そうでなければ、ステップ
(S108)に進む。
In step (S118), the next row in the multiplicity management table is read, and the flow advances to step (S110). In step (S119), 1 is added to the value of the instruction counter. In step (S110d), the compile allowable multiplicity number 82 of the row read from the multiplicity management table is set.
When the value is equal to or smaller than the instruction counter, the process proceeds to step (S121); otherwise, the process proceeds to step (S108).

【0028】ステップ(S121,S122,S12
3)はホストに対して翻訳処理を依頼した結果の通知を
待つwait関数を発行し、待ち状態が解除されてから
コンパイル処理経過時間などを設定し、モジュール名の
初期化を行う。詳細な説明については、本発明の第1の
実施の例のフローのステップ(S121,S122,S
123)の説明を参照されたい。
Steps (S121, S122, S12)
3) issues a wait function that waits for a notification of the result of requesting translation processing to the host, sets the compile processing elapsed time after the wait state is released, and initializes the module name. For the detailed description, refer to the steps (S121, S122, S122) of the flow of the first embodiment of the present invention.
123).

【0029】ステップ(S124)は多重度管理テーブ
ルの計算機名81において、ステップ(S121)でコ
ンパイルが終了した計算機名と一致する行のコンパイル
実行数83の値に1を減算する。ステップ(S125)
はコンパイル監視テーブルの中にコンパイル中のモジュ
ール名(1)72〜コンパイル中のモジュール名(4)
75に空白がすべて設定されたとき、すべてのモジュー
ルのコンパイルは終了したものと判定し、処理を終了す
る。そうでなければ、ステップ(126)に進む。
In step (S124), in the computer name 81 of the multiplicity management table, 1 is subtracted from the value of the compile execution number 83 of the row that matches the computer name that has been compiled in step (S121). Step (S125)
Is the name of the module being compiled (1) 72 to the name of the module being compiled (4) in the compilation monitoring table.
When all blanks are set in 75, it is determined that compilation of all modules has been completed, and the processing is terminated. Otherwise, go to step (126).

【0030】ステップ(S126)では、コンパイル管
理テーブルから行の読み出しを行う。ステップ(S12
7)はホストに対してコンパイル処理の依頼を行うもの
であり、前述のステップ(S114)の説明と同じ処理
を行う。ステップ(S128、S129)は翻訳モジュ
ール名をコンパイル監視テーブル及び次の処理順序番号
を前記コンパイル処理管理カウンタに設定するものであ
る。
In step (S126), a line is read from the compile management table. Step (S12
Step 7) requests the host to perform compile processing, and performs the same processing as described in the above-described step (S114). Steps (S128 and S129) set the translation module name in the compilation monitoring table and the next processing sequence number in the compilation processing management counter.

【0031】ステップ(S130)は多重度管理テーブ
ルの計算機名81とステップ(S127)で翻訳依頼を
したホスト名とが対応する計算機名81の行のコンパイ
ル実行数83の値に1を加える。そして、ステップ(S
121)に進む。
In the step (S130), 1 is added to the value of the compile execution count 83 in the row of the computer name 81 corresponding to the computer name 81 of the multiplicity management table and the host name of the translation request in the step (S127). Then, step (S
Go to 121).

【0032】[0032]

【発明の効果】上述したように、本発明によれば、処理
単位に係る処理単位量(ファイルサイズ、ステップ数、
センテンス数、ワード数、及び文字数のいずれか)又は
処理時間(処理経過時間、CPU使用時間、及び入出力
回数のいずれか)を分類キーとして処理単位の名称を降
順に分類し、分類された順序で処理単位をネットワーク
で接続された複数のシステム上で動作するプログラムで
分散処理することにより、各計算機システムでの処理経
過時間を平均化にすることができ、その結果、全処理時
間を短縮できる効果がある。
As described above, according to the present invention, the processing unit amount (file size, number of steps,
The names of processing units are sorted in descending order using the number of sentences, any of words, and the number of characters) or the processing time (one of elapsed processing time, CPU usage time, and number of input / output times) as a classification key, and the classification order By distributing the processing units using a program operating on a plurality of systems connected by a network, the processing elapsed time in each computer system can be averaged, and as a result, the total processing time can be reduced effective.

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

【図1】 本発明の第1の実施の例のフローを説明する
FIG. 1 is a view for explaining the flow of a first embodiment of the present invention;

【図2】 本発明の第2の実施の例のフロー(その1)
を説明する図
FIG. 2 is a flowchart (part 1) of a second embodiment of the present invention;
Diagram explaining

【図3】 本発明の第2の実施の例のフロー(その2)
を説明する図
FIG. 3 is a flowchart (part 2) of the second embodiment of the present invention;
Diagram explaining

【図4】 本発明の第2の実施の例のフロー(その3)
を説明する図
FIG. 4 is a flowchart (part 3) of the second embodiment of the present invention;
Diagram explaining

【図5】 ホストに対してコンパイル指示及びCPU使
用時間等のデータ収集を説明する図
FIG. 5 is a view for explaining data compilation such as a compile instruction and CPU usage time for a host.

【図6】 コンパイル管理テーブルを説明する図FIG. 6 is a view for explaining a compilation management table;

【図7】 コンパイル監視テーブルを説明する図FIG. 7 is a view for explaining a compilation monitoring table;

【図8】 多重度管理テーブルを説明する図FIG. 8 illustrates a multiplicity management table.

【図9】 各モジュールの処理経過時間とCPU使用時
間を説明する図
FIG. 9 is a diagram illustrating the elapsed processing time and the CPU usage time of each module.

【図10】 固定順序コンパイルによる処理経過時間を
説明する図
FIG. 10 is a view for explaining processing elapsed time by fixed order compilation;

【図11】 CPU使用時間順の分散コンパイルによる
処理経過時間の短縮を説明する図
FIG. 11 is a view for explaining reduction of processing elapsed time by distributed compilation in the order of CPU use time.

【符号の説明】[Explanation of symbols]

61 モジュール名 62 ファイルサイズ 63 ステップ数 64 センテンス数 65 ワード数 66 文字数 67 処理順序番号 68 コンパイル処理経過時間 69 CPU使用時間 70 入出力回数 71 計算機名 72 コンパイル中のモジュール名(1) 73 コンパイル中のモジュール名(2) 74 コンパイル中のモジュール名(3) 75 コンパイル中のモジュール名(4) 81 計算機名 82 コンパイル許容多重度数 83 コンパイル実行数 61 Module name 62 File size 63 Number of steps 64 Number of sentences 65 Number of words 66 Number of characters 67 Processing sequence number 68 Compile processing elapsed time 69 CPU usage time 70 Number of input / output times 71 Computer name 72 Module name during compilation (1) 73 Compiling Module name (2) 74 Module name being compiled (3) 75 Module name being compiled (4) 81 Computer name 82 Compilable multiplicity 83 Compilation execution number

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ネットワークで接続された複数の計算機
シテスムにより分散処理を行う分散処理方法において、 複数の処理単位に係る処理単位量をキーにして処理単位
の名称を降順に分類する名称分類手順と、 該名称分類手段により分類された順序で複数の処理単位
を前記複数の計算機システム上でプログラム処理を行わ
せる処理手順とからなることを特徴とする分散処理方
法。
1. A distributed processing method for performing distributed processing by a plurality of computer systems connected via a network, comprising: a name classification procedure for classifying processing unit names in descending order by using a processing unit amount relating to a plurality of processing units as a key; And a processing procedure for causing a plurality of processing units to perform program processing on the plurality of computer systems in the order classified by the name classification means.
【請求項2】 ネットワークで接続された複数の計算機
シテスムにより分散処理を行う分散処理方法において、 複数の処理単位に係る処理時間をキーにして処理単位の
名称を降順に分類する名称分類手順と、 該名称分類手段により分類された順序で複数の処理単位
を前記複数の計算機システム上でプログラム処理を行わ
せる処理手順とからなることを特徴とする分散処理方
法。
2. A distributed processing method for performing distributed processing by a plurality of computer systems connected via a network, comprising: a name classification procedure for classifying processing unit names in descending order by using processing times relating to a plurality of processing units as a key; A processing procedure for causing a plurality of processing units to perform program processing on the plurality of computer systems in the order classified by the name classification means.
【請求項3】 ネットワークで接続された複数の計算機
シテスムにより分散処理を行うためのネットワーク分散
処理プログラムを記録したコンピュータ読み取り可能な
記録媒体であって、 複数の処理単位に係る処理単位量をキーとして処理単位
の名称を降順に分類する名称分類手順と、 該名称分類手段により分類された順序で前記複数の処理
単位を前記複数の計算機システム上でプログラム処理を
行わせる処理手順とを実行させるためのネットワーク分
散処理プログラムを記録したコンピュータ読み取り可能
な記録媒体。
3. A computer-readable recording medium storing a network distributed processing program for performing distributed processing by a plurality of computer systems connected via a network, wherein a processing unit amount related to a plurality of processing units is used as a key. A name classification procedure for classifying processing unit names in descending order, and a processing procedure for causing the plurality of processing units to perform program processing on the plurality of computer systems in the order classified by the name classification means. A computer-readable recording medium recording a network distributed processing program.
【請求項4】 ネットワークで接続された複数の計算機
シテスムにより分散処理を行うためのネットワーク分散
処理プログラムを記録したコンピュータ読み取り可能な
記録媒体であって、 複数の処理単位に係る処理時間をキーとして処理単位の
名称を降順に分類する名称分類手順と、 該名称分類手段により分類された順序で前記複数の処理
単位を前記複数の計算機システム上でプログラム処理を
行わせる処理手順とを実行させるためのネットワーク分
散処理プログラムを記録したコンピュータ読み取り可能
な記録媒体。
4. A computer-readable recording medium on which a network distributed processing program for performing distributed processing by a plurality of computer systems connected by a network is recorded, wherein the processing is performed by using a processing time relating to a plurality of processing units as a key. A network for executing a name classification procedure for classifying unit names in descending order, and a processing procedure for causing the plurality of processing units to perform program processing on the plurality of computer systems in the order classified by the name classification unit. A computer-readable recording medium recording a distributed processing program.
JP5689998A 1998-03-09 1998-03-09 Distributed processing method and computer readable storage medium for recording network distributed processing program Withdrawn JPH11259431A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5689998A JPH11259431A (en) 1998-03-09 1998-03-09 Distributed processing method and computer readable storage medium for recording network distributed processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5689998A JPH11259431A (en) 1998-03-09 1998-03-09 Distributed processing method and computer readable storage medium for recording network distributed processing program

Publications (1)

Publication Number Publication Date
JPH11259431A true JPH11259431A (en) 1999-09-24

Family

ID=13040310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5689998A Withdrawn JPH11259431A (en) 1998-03-09 1998-03-09 Distributed processing method and computer readable storage medium for recording network distributed processing program

Country Status (1)

Country Link
JP (1) JPH11259431A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134976A (en) * 2003-10-28 2005-05-26 Hitachi High-Technologies Corp Image processor for appearance inspection apparatus
JP2020154608A (en) * 2019-03-19 2020-09-24 富士通クライアントコンピューティング株式会社 Information processing device and information processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134976A (en) * 2003-10-28 2005-05-26 Hitachi High-Technologies Corp Image processor for appearance inspection apparatus
JP2020154608A (en) * 2019-03-19 2020-09-24 富士通クライアントコンピューティング株式会社 Information processing device and information processing system

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
US5835737A (en) Method and apparatus for arbitrating access to selected computer system devices
US7971182B1 (en) Application environment specifications for provisioning application specific runtime environments using undefined symbols
Sgall On-line scheduling
JP2005536791A (en) Dynamic multilevel task management method and apparatus
JP2011527788A (en) Efficient parallel computation of dependency problems
CN111639044B (en) Method and device for supporting interrupt priority polling arbitration dispatching
US5774730A (en) Method and apparatus for improving colorability of constrained nodes in an interference graph within a computer system
JPH06202881A (en) Job step parallel execution system
Jiang et al. Symbiosis: Network-aware task scheduling in data-parallel frameworks
US20150100961A1 (en) Operating Programs on a Computer Cluster
US20020083423A1 (en) List scheduling algorithm for a cycle-driven instruction scheduler
EP0427391B1 (en) Operation assignment method and apparatus therefor
US20050071531A1 (en) Concurrent arbitration of interrupt resources
JPH11259431A (en) Distributed processing method and computer readable storage medium for recording network distributed processing program
KR20230138604A (en) Electronic device for analyzing big data and method operating thereof
US5615389A (en) Method and system for device resource resolution in a data processing system
JPH08241214A (en) Data processing system
JPH07105013A (en) Register allocation system
JPH02245864A (en) Multiprocessor system
CN118132199A (en) Cloud platform virtual machine creation method and device, computer equipment and storage medium
JPH04299734A (en) Software developing method
JPH0340053A (en) Control system for plural communication procedures
JP3397425B2 (en) Periodic communication processing device
JPH06202884A (en) Multiprogram execution managment method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510