JP2910676B2 - Load equalizer - Google Patents

Load equalizer

Info

Publication number
JP2910676B2
JP2910676B2 JP8144929A JP14492996A JP2910676B2 JP 2910676 B2 JP2910676 B2 JP 2910676B2 JP 8144929 A JP8144929 A JP 8144929A JP 14492996 A JP14492996 A JP 14492996A JP 2910676 B2 JP2910676 B2 JP 2910676B2
Authority
JP
Japan
Prior art keywords
program
performance
node
nodes
frequently executed
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.)
Expired - Fee Related
Application number
JP8144929A
Other languages
Japanese (ja)
Other versions
JPH09305552A (en
Inventor
彰一 左近
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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8144929A priority Critical patent/JP2910676B2/en
Publication of JPH09305552A publication Critical patent/JPH09305552A/en
Application granted granted Critical
Publication of JP2910676B2 publication Critical patent/JP2910676B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のノードから
構成され、各ノードが1つのジョブを並行して実行する
分散並列処理システムに於いて、各ノードの負荷を均等
にする負荷均等化装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a load equalizing device for equalizing the load on each node in a distributed parallel processing system comprising a plurality of nodes and each node executing one job in parallel. About.

【0002】[0002]

【従来の技術】プロセッサ,メモリ等から構成されるノ
ードを複数備えたシステムに於いては、各ノードの負荷
を均等化するということが従来から行われている。例え
ば、特開平3−262074号公報では、疎結合並列計
算機に於ける負荷を動的に均等化するため、マスタプロ
セッサ以外のスレーブプロセッサに最低優先度のジョブ
を流しておき、このジョブからの応答に基づいて各スレ
ーブプロセッサの負荷を動的に監視し、空いたスレーブ
プロセッサにジョブを割り付けるようにしている。ま
た、特開平1−152571号公報では、ループの繰り
返し処理をプロセッサ総数で均等分割し、分割結果を各
プロセッサに割り付けることにより、負荷の均等化を図
っている。
2. Description of the Related Art In a system having a plurality of nodes including a processor, a memory, and the like, it has been conventionally performed to equalize the load of each node. For example, in Japanese Patent Application Laid-Open No. 3-2620074, in order to dynamically equalize the load in a loosely coupled parallel computer, a job having the lowest priority is sent to slave processors other than the master processor, and a response from this job is sent. , The load of each slave processor is dynamically monitored, and a job is allocated to an empty slave processor. In JP-A-1-152571, the load is equalized by equally dividing the loop repetition processing by the total number of processors and allocating the division result to each processor.

【0003】[0003]

【発明が解決しようとする課題】上述した従来の技術の
内、前者は、ジョブを割り付け単位としているため、複
数のノードで1つのジョブ(分散並列処理プログラム)
を並行して実行する分散並列処理システムには適用でき
ないという問題がある。これに対して、後者の技術によ
れば、分散並列処理システムに於いて、各ノードが行う
仕事量を均等にし、各ノードの負荷を均等にすることが
できる。しかし、後者の技術は、各ノードの性能が同じ
であることを前提としているため、各ノードの性能が異
なる場合は、各ノードが行う仕事量を均等にすることは
できても、各ノードの負荷を均等にすることはできな
い。従って、性能の異なるノードが混在すると、性能の
高いノードの遊び時間が多くなり、分散並列処理システ
ムの性能を十分に引き出せないという問題が生じる。つ
まり、プログラムの実行時間が長くなるという問題が生
じる。
Among the above-mentioned prior arts, the former uses a job as a unit of allocation, so that a single job (distributed parallel processing program) is executed by a plurality of nodes.
Cannot be applied to a distributed parallel processing system that executes the processing in parallel. On the other hand, according to the latter technique, in the distributed parallel processing system, the amount of work performed by each node can be equalized, and the load on each node can be equalized. However, since the latter technology assumes that the performance of each node is the same, if the performance of each node is different, even if the workload performed by each node can be equalized, The load cannot be equalized. Therefore, if nodes having different performances coexist, the idle time of the high-performance nodes increases, and the problem arises that the performance of the distributed parallel processing system cannot be sufficiently brought out. That is, there is a problem that the execution time of the program becomes longer.

【0004】そこで、本発明の目的は、複数のノードか
ら構成される分散並列処理システムに於いて、各ノード
の性能が異なる場合であっても、各ノードの負荷を均等
化することにより、分散並列処理システムの性能を十分
に引き出すことができる負荷均等化装置を提供すること
にある。
[0004] Therefore, an object of the present invention is to provide a distributed parallel processing system comprising a plurality of nodes, by equalizing the load on each node even when the performance of each node is different. It is an object of the present invention to provide a load equalization device that can sufficiently bring out the performance of a parallel processing system.

【0005】[0005]

【課題を解決するための手段】本発明は上記目的を達成
するため、複数のノードから構成された分散並列処理シ
ステムに於ける負荷均等化装置に於いて、ソースプログ
ラムを翻訳して並列処理可能な実行プログラムを生成す
と共に、前記ソースプログラムに基づいて前記各ノー
ドの性能を測定するための性能測定プログラムを生成す
コンパイラと、前記各ノードに前記性能測定プログラ
ムを実行させて前記各ノードの性能を測定した後、前記
各ノードの性能比に応じて前記実行プログラムの処理を
前記各ノードに割り当てるスケジューラとを備えてい
る。
In order to achieve the above object, according to the present invention, a source program can be translated and processed in parallel in a load equalization device in a distributed parallel processing system composed of a plurality of nodes. A simple execution program, and based on the source program,
Generate a performance measurement program to measure the performance of
And the compiler that, after measuring the performance of each node to execute the performance measurement program to the each node, and a scheduler for allocating a processing of said execution program in accordance with the performance ratio of each node to each node ing.

【0006】上記した構成によれば、コンパイラがソー
スプログラムを翻訳して並列処理可能な実行プログラム
を生成すると共に、ソースプログラムに基づいて性能測
定プログラムを生成し、スケジューラが各ノードに性能
測定プログラムを実行させることによって測定した各ノ
ードの性能比に応じて実行プログラムの処理を各ノード
に割り当てる。
According to the above configuration, the compiler translates the source program to generate an executable program that can be processed in parallel , and measures performance based on the source program.
Generate a fixed program and scheduler performs performance on each node
The processing of the execution program is assigned to each node according to the performance ratio of each node measured by executing the measurement program .

【0007】また、本発明は、実行するプログラムに合
った性能測定プログラムによって各ノードの性能を測定
できるようにするため、前記コンパイラは、前記ソース
プログラムの最も多く実行される最頻実行部分を抽出す
る最頻実行部分抽出部と、該最頻実行部分抽出部が抽出
した最頻実行部分に基づいて前記性能測定プログラムを
生成する性能測定プログラム生成部とを備えている。
Further, according to the present invention, in order that the performance of each node can be measured by a performance measuring program suitable for the program to be executed, the compiler extracts the most frequently executed part of the source program. And a performance measurement program generation unit that generates the performance measurement program based on the mode execution part extracted by the mode execution part extraction unit.

【0008】上記した構成によれば、最頻実行部分抽出
部がソースプログラムの最頻実行部分を抽出し、性能測
定プログラム生成部が最頻実行部分抽出部で抽出された
最頻実行部分に基づいて性能測定プログラムを生成す
る。
According to the above configuration, the most frequently executed part extracting unit extracts the most frequently executed part of the source program, and the performance measuring program generating unit extracts the most frequently executed part based on the most frequently executed part extracted by the most frequently executed part extracting unit. To generate a performance measurement program.

【0009】[0009]

【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0010】図1は本発明の実施の形態例を示すブロッ
ク図であり、コンパイラ11及びスケジューラ14を含
む負荷均等化装置1と、ノード21−1〜21−N及び
各ノードを接続するネットワーク22を含む分散並列処
理システム2とから構成されている。ノード21−1〜
21−Nは、プロセッサ及びメモリから構成される。
FIG. 1 is a block diagram showing an embodiment of the present invention, in which a load equalizing device 1 including a compiler 11 and a scheduler 14 is connected to nodes 21-1 to 21-N and a network 22 connecting the nodes. And a distributed parallel processing system 2 including Nodes 21-1 to 21-1
21-N includes a processor and a memory.

【0011】コンパイラ11は、入力されたソースプロ
グラム3を翻訳して並列処理可能な実行プログラム12
を生成する機能を有すると共に、ソースプログラム3の
最も多く実行される部分(最頻実行部分)に基づいて性
能測定プログラム13を生成する機能を有する。
The compiler 11 translates the input source program 3 and executes the parallel executable program 12
And a function of generating the performance measurement program 13 based on the most frequently executed part (the most frequently executed part) of the source program 3.

【0012】スケジューラ14は、各ノード21−1〜
21−Nに性能測定プログラム13を実行させて各ノー
ド21−1〜21−Nの性能を測定する機能,各ノード
21−1〜21−Nの性能に応じて実行プログラム12
の処理を各ノード21−1〜21−Nに割り当てる機能
を有する。
The scheduler 14 has a function of each of the nodes 21-1 to 21-1.
21-N to execute the performance measurement program 13 to measure the performance of each of the nodes 21-1 to 21-N, and to execute the execution program 12 in accordance with the performance of each of the nodes 21-1 to 21-N.
Is assigned to each of the nodes 21-1 to 21-N.

【0013】次に動作について説明する。Next, the operation will be described.

【0014】ソースプログラム3が入力されると、コン
パイラ11は、先ず、字句構文解析を行い、その後、ソ
ースプログラム3の最頻実行部分を抽出する。尚、最頻
実行部分の抽出方法としては、例えば、プログラム構造
を静的に調べ、手続き呼び出しのネストに基づいてルー
プ構造の最内側ループ内の文を最頻実行部分として抽出
する方法、プログラムの実行プロフィールを採取し、そ
れに基づいて最頻実行部分を抽出する方法、ユーザの指
示行による指定により最頻実行部分を抽出する方法な
ど、種々の方法をとることができる。
When the source program 3 is input, the compiler 11 first performs lexical syntax analysis, and then extracts the most frequently executed part of the source program 3. As a method of extracting the most frequently executed part, for example, a method of statically examining a program structure and extracting a statement in the innermost loop of the loop structure as a most frequently executed part based on a nest of procedure calls, Various methods can be adopted, such as a method of extracting an execution profile and extracting the most frequently executed part based on the extracted information, and a method of extracting the most frequently executed part by designating the instruction line by the user.

【0015】その後、コンパイラ11は、抽出された最
頻実行部分で使用されている演算を基に各ノード21−
1〜21−Nの演算性能を測定するための性能測定プロ
グラム13を生成する。更に、コンパイラ11は、字句
構文解析結果に基づいて分散並列処理システム2で並列
処理可能な実行プログラム12を生成する。
After that, the compiler 11 determines each node 21- based on the operation used in the extracted most frequently executed part.
A performance measurement program 13 for measuring the calculation performance of 1 to 21-N is generated. Further, the compiler 11 generates an execution program 12 that can be processed in parallel by the distributed parallel processing system 2 based on the lexical analysis result.

【0016】スケジューラ14は、コンパイラ11によ
って生成された実行プログラム12を分散並列処理シス
テム2で実行させる場合、それに先立って性能測定プロ
グラム13を各ノード21−1〜21−Nで実行させ、
各ノード21−1〜21−Nの性能を測定する。その
後、スケジューラ14は、各ノード21−1〜21−N
の性能比を求め、それに基づいて実行プログラム12の
処理を各ノード21−1〜21−Nに割り当てる。この
ようにすることにより、性能の高いノードには多くの処
理が割り当てられ、性能の低いノードには少しの処理し
か割り当てられないので、各ノード21−1〜21−N
の負荷を均等にすることができる。その結果、各ノード
21−1〜21−Nの実行時間が均等化され、遊ぶノー
ドがなくなるため、プログラムの実行時間を短くするこ
とができる。
When the scheduler 14 executes the execution program 12 generated by the compiler 11 on the distributed parallel processing system 2, the scheduler 14 executes the performance measurement program 13 on each of the nodes 21-1 to 21-N prior to the execution.
The performance of each of the nodes 21-1 to 21-N is measured. Thereafter, the scheduler 14 determines that each of the nodes 21-1 to 21-N
And the processing of the execution program 12 is assigned to each of the nodes 21-1 to 21-N based on the performance ratio. By doing so, many processes are assigned to the high-performance nodes, and only a few processes are assigned to the low-performance nodes.
Load can be equalized. As a result, the execution time of each of the nodes 21-1 to 21-N is equalized, and there is no node to play, so that the execution time of the program can be shortened.

【0017】図2は本発明の実施例のブロック図であ
り、コンパイラ11及びスケジューラ14を含む負荷均
等化装置1と、3台のノードA,B,C及び各ノードを
接続するネットワーク22を含む分散並列処理システム
2とから構成されている。
FIG. 2 is a block diagram of an embodiment of the present invention, which includes a load equalizing apparatus 1 including a compiler 11 and a scheduler 14, three nodes A, B, and C and a network 22 connecting the nodes. And a distributed parallel processing system 2.

【0018】コンパイラ11は、ソースプログラム3を
読み込み、その字句解析,構文解析を行う字句構文解析
部111と、ソースプログラム3の最頻実行部分を抽出
する最頻実行部分抽出部112と、最頻実行部分抽出部
112で抽出された最頻実行部分で使用されている演算
を基に各ノードA,B,Cの演算性能を測定するための
性能測定プログラム13を生成する性能測定プログラム
生成部113と、字句構文解析部111の解析結果に基
づいて並列処理可能な複数のプロセスから構成される実
行プログラム12を生成するコード生成部114とを備
えている。
The compiler 11 reads the source program 3 and analyzes the lexical and syntax of the source program 3. The lexical syntactic analyzer 111 extracts the most frequently executed part of the source program 3. A performance measurement program generation unit 113 that generates a performance measurement program 13 for measuring the operation performance of each of the nodes A, B, and C based on the operation used in the most frequently executed part extracted by the execution part extraction unit 112 And a code generation unit 114 that generates an execution program 12 including a plurality of processes that can be processed in parallel based on the analysis result of the lexical syntax analysis unit 111.

【0019】スケジューラ14は、性能測定プログラム
13を各ノードA,B,Cで実行させることにより各ノ
ードA,B,Cの性能を測定するノード性能測定部14
1と、各ノードA,B,Cの性能を示す性能情報に基づ
いて各ノードA,B,Cの性能比を計算する性能比計算
部142と、実行プログラム12を構成する並列処理可
能な複数のプロセスを各ノードA,B,Cにどのように
割り当てるかを性能比計算部142で計算された性能比
に応じて決定するプログラム割り当て部143と、プロ
グラム割り当て部143の決定に従ってプロセスを各ノ
ードA,B,Cに割り当てるプログラム実行部144と
を備えている。
The scheduler 14 executes a performance measurement program 13 on each of the nodes A, B, and C to measure the performance of each of the nodes A, B, and C.
1, a performance ratio calculation unit 142 that calculates a performance ratio of each of the nodes A, B, and C based on performance information indicating the performance of each of the nodes A, B, and C; A program allocating unit 143 that determines how to assign the process to each of the nodes A, B, and C according to the performance ratio calculated by the performance ratio calculating unit 142. And a program execution unit 144 assigned to A, B, and C.

【0020】図3はソースプログラム3の一例を示した
図であり、この図3に示したHPF(High Per
formance FORTRAN)のソースプログラ
ムは、10000個の数の和を6個のMPI(Mess
age Passing Interface)プロセ
スで分散並列処理することを指示するものである。その
第3行は、プロセッサ数を6にすることを指示する行で
あり、第4行〜第6行は配列a(n),b(n),c
(n)を6個のプロセッサに割り当てることを指示する
行である。尚、第3行によって指示するプロセッサ数
は、分散並列処理システム2が備えているノード数より
も多くすることが必要である。
FIG. 3 is a diagram showing an example of the source program 3. The HPF (High Perm.) Shown in FIG.
The source program of “formance FORTRAN” is the sum of 10000 numbers and 6 MPI (Message).
The instruction indicates that distributed parallel processing is performed by an age passing interface (Age Passing Interface) process. The third line is a line instructing that the number of processors is set to six, and the fourth to sixth lines are arrays a (n), b (n), c
This line indicates that (n) is assigned to six processors. Note that the number of processors specified by the third row needs to be larger than the number of nodes included in the distributed parallel processing system 2.

【0021】図4はコンパイラ11の処理例を示す流れ
図、図5はスケジューラ14の処理例を示す流れ図であ
り、以下各図を参照して本実施例の動作を説明する。
FIG. 4 is a flowchart showing a processing example of the compiler 11, and FIG. 5 is a flowchart showing a processing example of the scheduler 14. The operation of this embodiment will be described below with reference to the drawings.

【0022】コンパイラ11に図3のソースプログラム
3が入力されると、字句構文解析部111がソースプロ
グラム3の字句解析,構文解析を行い、解析結果を最頻
実行部分抽出部112及びコード生成部114に渡す
(図4,S1)。
When the source program 3 shown in FIG. 3 is input to the compiler 11, the lexical analysis unit 111 performs lexical analysis and syntactic analysis of the source program 3, and analyzes the analysis result to the most frequently executed part extraction unit 112 and the code generation unit. It is passed to 114 (FIG. 4, S1).

【0023】字句構文解析部111から解析結果が渡さ
れると、最頻実行部分抽出部112は、最内側ループの
a(i)=b(i)+c(i)の部分を最頻実行部分と
して抽出する(S2)。尚、ソースプログラム3中に複
数ループがある場合は、実行時プロフィール情報を使用
して最頻実行部分を決定するか、ユーザの指定により最
頻実行部分を決定する。
When the analysis result is passed from the lexical syntax analysis unit 111, the mode execution part extraction unit 112 sets the a (i) = b (i) + c (i) part of the innermost loop as the mode execution part. Extract (S2). When there are a plurality of loops in the source program 3, the most frequently executed part is determined by using the profile information at the time of execution, or the most frequently executed part is determined by the designation of the user.

【0024】最頻実行部分が抽出されると、性能測定プ
ログラム生成部113が、抽出された最頻実行部分で使
用されている演算a(i)=b(i)+c(i)を基
に、各ノードA,B,Cの演算性能を測定するための性
能測定プログラム13を生成する(S3)。性能測定プ
ログラム13は、例えば、図6に示すものとなる。性能
測定プログラム13では、演算の実行時間を測定できれ
ば良いので、ループの回転数を多くする必要はなく、図
6の例では、ループの回転数を10としている。
When the most frequently executed part is extracted, the performance measurement program generation unit 113 calculates the operation a (i) = b (i) + c (i) used in the extracted most frequently executed part. Then, a performance measurement program 13 for measuring the operation performance of each of the nodes A, B, and C is generated (S3). The performance measurement program 13 is, for example, as shown in FIG. Since the performance measurement program 13 only needs to measure the execution time of the calculation, it is not necessary to increase the number of rotations of the loop. In the example of FIG. 6, the number of rotations of the loop is set to 10.

【0025】コード生成部114は、字句構文解析部1
11から解析結果が渡されると、HPFの実行プログラ
ム12を生成する(S4)。
The code generation unit 114 includes the lexical syntax analysis unit 1
When the analysis result is passed from 11, the execution program 12 of the HPF is generated (S4).

【0026】スケジューラ14は、実行プログラム12
を分散並列処理システム2で実行させる場合、それに先
立って性能測定プログラム13を入力する。ノード性能
測定部141は、性能測定プログラム13が入力される
と、それを各ノードA,B,Cで実行させることによ
り、各ノードA,B,Cの性能を測定する(図5,S1
1)。
The scheduler 14 executes the execution program 12
Is executed by the distributed parallel processing system 2, the performance measurement program 13 is input prior to the execution. When the performance measurement program 13 is input, the node performance measurement unit 141 executes the program at each of the nodes A, B, and C to measure the performance of each of the nodes A, B, and C (FIG. 5, S1).
1).

【0027】各ノードA,B,Cの性能情報が得られる
と、性能比計算部142が各ノードA,B,Cの性能比
を計算する(S12)。今、例えば、各ノードA,B,
Cの性能を示す性能情報として、それぞれ20秒,30
秒,60秒が得られたとすると、性能比はA:B:C=
1/20:1/30:1/60=3:2:1となる。
When the performance information of each of the nodes A, B, and C is obtained, the performance ratio calculator 142 calculates the performance ratio of each of the nodes A, B, and C (S12). Now, for example, each node A, B,
The performance information indicating the performance of C is 20 seconds and 30 seconds, respectively.
And 60 seconds, the performance ratio is A: B: C =
1/20: 1/30: 1/60 = 3: 2: 1.

【0028】各ノードA,B,Cの性能比が求められる
と、プログラム割り当て部143は、ノードA,B,C
の性能比がA:B:C=3:2:1であり、実行プログ
ラム12が6個のプロセスによって構成されていること
から、ノードA,B,Cにそれぞれ3プロセス,2プロ
セス,1プロセスを割り当てることを決定する(S1
3)。
When the performance ratio of each of the nodes A, B, and C is obtained, the program allocating unit 143 sets the nodes A, B, and C
Is A: B: C = 3: 2: 1 and the execution program 12 is composed of six processes, so that three processes, two processes, and one process Is determined (S1).
3).

【0029】その後、プログラム実行部144が、プロ
グラム割り当て部143の決定に従って、ノードA,
B,Cにそれぞれ3プロセス,2プロセス,1プロセス
を割り当て、プログラムを実行させる(S14)。尚、
上述した実施例に於いては、コンパイラ11で性能測定
プログラム13を作成し、それによってノードの性能を
測定するようにしたが、予め用意されている性能測定プ
ログラムによってノードの性能を測定するようにしても
良い。しかし、実施例のようにした方が、ノードの性能
を正確に測定することができる。
Thereafter, the program execution unit 144 determines whether the node A,
Three processes, two processes, and one process are assigned to B and C, respectively, and the program is executed (S14). still,
In the above-described embodiment, the performance measurement program 13 is created by the compiler 11, and the performance of the node is measured by the compiler 11. However, the performance of the node is measured by the performance measurement program prepared in advance. May be. However, in the case of the embodiment, the performance of the node can be accurately measured.

【0030】[0030]

【発明の効果】以上説明したように、本発明は、各ノー
ドの性能に応じて実行プログラムの処理を各ノードに割
り当てるので、各ノードの性能が異なる場合であっても
各ノードの負荷を均等にすることができる。この結果、
各ノードのプログラム実行時間が均等化され、遊ぶノー
ドがなくなるので、プログラムの実行時間を短縮するこ
とができる。
As described above, according to the present invention, the processing of the execution program is assigned to each node in accordance with the performance of each node. Therefore, even if the performance of each node is different, the load of each node is equalized. Can be As a result,
Since the program execution time of each node is equalized and there are no nodes to play, the program execution time can be reduced.

【0031】また、本発明は、ソースプログラムの最頻
実行部分に基づいて性能測定プログラムを生成し、この
性能測定プログラムによって各ノードの性能を測定する
ようにしたものであり、実行するプログラムに合った性
能測定プログラムによって各ノードの性能を測定できる
ので、実行されるプログラムにかかわらず、各ノードの
負荷を均一化することができる。
Further, according to the present invention, a performance measurement program is generated based on the most frequently executed part of a source program, and the performance of each node is measured by the performance measurement program. Since the performance of each node can be measured by the performance measurement program, the load of each node can be equalized regardless of the program to be executed.

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

【図1】本発明の実施の形態例を示すブロック図であ
る。
FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】本発明の実施例のブロック図である。FIG. 2 is a block diagram of an embodiment of the present invention.

【図3】ソースプログラム3の一例を示す図である。FIG. 3 is a diagram illustrating an example of a source program 3.

【図4】コンパイラ11の処理例を示す流れ図である。FIG. 4 is a flowchart showing a processing example of a compiler 11;

【図5】スケジューラ14の処理例を示す流れ図であ
る。
FIG. 5 is a flowchart showing a processing example of a scheduler 14;

【図6】性能測定プログラム13の一例を示す図であ
る。
FIG. 6 is a diagram showing an example of a performance measurement program 13.

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

1…負荷均等化装置 11…コンパイラ 111…字句構文解析部 112…最頻実行部分抽出部 113…性能測定プログラム生成部 114…コード生成部 12…実行プログラム 13…性能測定プログラム 14…スケジューラ 141…ノード性能測定部 142…性能比計算部 143…プログラム割り当て部 144…プログラム実行部 2…分散並列処理システム 21−1〜21−N,A,B,C…ノード 22…ネットワーク DESCRIPTION OF SYMBOLS 1 ... Load equalization apparatus 11 ... Compiler 111 ... Lexical syntax analysis part 112 ... Most frequently executed part extraction part 113 ... Performance measurement program generation part 114 ... Code generation part 12 ... Execution program 13 ... Performance measurement program 14 ... Scheduler 141 ... Node Performance measurement unit 142 Performance ratio calculation unit 143 Program allocation unit 144 Program execution unit 2 Distributed parallel processing system 21-1 to 21-N, A, B, C Node 22 Network

フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 630 G06F 9/45 G06F 15/177 674 Continuation of the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 15/16 630 G06F 9/45 G06F 15/177 674

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のノードから構成された分散並列処
理システムに於ける負荷均等化装置に於いて、 ソースプログラムを翻訳して並列処理可能な実行プログ
ラムを生成すると共に、前記ソースプログラムに基づい
て前記各ノードの性能を測定するための性能測定プログ
ラムを生成するコンパイラと、 前記各ノードに前記性能測定プログラムを実行させて前
記各ノードの性能を測定した後、前記各ノードの性能比
に応じて前記実行プログラムの処理を前記各ノードに割
り当てるスケジューラとを備えたことを特徴とする負荷
均等化装置。
In a load equalization device in a distributed parallel processing system including a plurality of nodes, a source program is translated to generate an executable program that can be processed in parallel , and based on the source program.
Performance measurement program for measuring the performance of each node
A compiler that generates ram, after measuring the performance of the by executing the performance measurement program to each node each node, a scheduler for allocating a processing of the execution program in accordance with the performance ratio of each node to each node And a load equalizing device.
【請求項2】 前記コンパイラは、 前記ソースプログラムの最も多く実行される最頻実行部
分を抽出する最頻実行部分抽出部と、 該最頻実行部分抽出部が抽出した最頻実行部分に基づい
て前記性能測定プログラムを生成する性能測定プログラ
ム生成部とを備えたことを特徴とする請求項1記載の負
荷均等化装置。
2. The compiler according to claim 1, wherein the compiler extracts a most frequently executed part of the source program, and extracts a most frequently executed part of the source program, based on the most frequently executed part extracted by the most frequently executed part. 2. The load equalization apparatus according to claim 1, further comprising a performance measurement program generation unit that generates the performance measurement program.
【請求項3】 前記最頻実行部分抽出部は、前記ソース
プログラムの最内側ループ部分を最頻実行部分として抽
出する構成を備えたことを特徴とする請求項2記載の負
荷均等化装置。
3. The load equalization apparatus according to claim 2, wherein the mode execution portion extraction unit has a configuration for extracting an innermost loop portion of the source program as a mode execution portion.
JP8144929A 1996-05-15 1996-05-15 Load equalizer Expired - Fee Related JP2910676B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8144929A JP2910676B2 (en) 1996-05-15 1996-05-15 Load equalizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8144929A JP2910676B2 (en) 1996-05-15 1996-05-15 Load equalizer

Publications (2)

Publication Number Publication Date
JPH09305552A JPH09305552A (en) 1997-11-28
JP2910676B2 true JP2910676B2 (en) 1999-06-23

Family

ID=15373498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8144929A Expired - Fee Related JP2910676B2 (en) 1996-05-15 1996-05-15 Load equalizer

Country Status (1)

Country Link
JP (1) JP2910676B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4034312B2 (en) * 2003-03-24 2008-01-16 富士通株式会社 Distributed processing control device, distributed processing control method, and distributed processing control program
JP4345334B2 (en) * 2003-03-28 2009-10-14 日本電気株式会社 Fault tolerant computer system, program parallel execution method and program
JP4457581B2 (en) 2003-05-28 2010-04-28 日本電気株式会社 Fault-tolerant system, program parallel execution method, fault-detecting system for fault-tolerant system, and program
JP2008191881A (en) * 2007-02-03 2008-08-21 Fujitsu Ltd Calculation load optimization device and calculation load optimization method
EP3743812B1 (en) * 2018-01-23 2023-08-02 ParTec AG Application runtime determined dynamical allocation of heterogeneous compute resources

Also Published As

Publication number Publication date
JPH09305552A (en) 1997-11-28

Similar Documents

Publication Publication Date Title
EP0561541B1 (en) A method of processing a program by parallel processing, and a processing unit thereof
US8495603B2 (en) Generating an executable version of an application using a distributed compiler operating on a plurality of compute nodes
JP5911286B2 (en) Device, method, and program for runtime assignment of functions to hardware accelerators
US20160179484A1 (en) Code Generating Method, Compiler, Scheduling Method, Scheduling Apparatus and Scheduling System
US7594195B2 (en) Multithreaded reachability
Potier New users' introduction to QNAP 2
JPS6184740A (en) Generating system of general-use object code
JP2910676B2 (en) Load equalizer
Wolf et al. An analysis of fault partitioned parallel test generation
JP2002358293A (en) System, method and program for load distribution at run- time
EP3857362A1 (en) Method, apparatus, and electronic device for improving parallel performance of cpu
JP3339317B2 (en) Dynamic information utilization type program optimization device
JP2003084989A (en) Priority dynamic control system, priority dynamic control method, and priority dynamic control program
JP3431568B2 (en) Program conversion device, program conversion method, and program recording medium
JPH09282283A (en) Tracing method and performance evaluation method for on-line transaction, and on-line transaction processing system
Marques Soares et al. On the use of HCM to develop a resource allocation algorithm for heterogeneous clusters
WO2011114539A1 (en) A programming supporting device and a method for generating routing information for an array of computing nodes
Yu et al. Parallel Algorithms For Image Convolution y
Chaube et al. LB_Migrate: A Dynamic Load Balancing Library
Som et al. Effects of resource saturation in real-time computing on data flow architectures
Kumar et al. Finite state machine verification on MIMD machines
Chaube et al. Effectiveness of a dynamic load balancing library for scientific applications
Avetisyan et al. Extension of Java environment by facilities supporting development of SPMD Java-programs
Chen et al. Effect of architecture configuration on software reliability and performance estimation
JP2023183342A (en) Job scheduler and job scheduling method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080409

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110409

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120409

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees