JPH03103964A - Load distribution system - Google Patents

Load distribution system

Info

Publication number
JPH03103964A
JPH03103964A JP1242609A JP24260989A JPH03103964A JP H03103964 A JPH03103964 A JP H03103964A JP 1242609 A JP1242609 A JP 1242609A JP 24260989 A JP24260989 A JP 24260989A JP H03103964 A JPH03103964 A JP H03103964A
Authority
JP
Japan
Prior art keywords
processing
processor
processors
request
pool
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
JP1242609A
Other languages
Japanese (ja)
Inventor
Morio Ikesaka
守夫 池坂
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 JP1242609A priority Critical patent/JPH03103964A/en
Publication of JPH03103964A publication Critical patent/JPH03103964A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve processing efficiency and the performance of parallel system by distributing processing pools to respective processors and executing the distributed processing of a processing request. CONSTITUTION:Each processor 11 is provided with a processing pool 19 for registering a processing group to be processed, the processor 11 transmits a processing request to another processor 11 having a different address after processing its own processing pool 19, and when the other processor has processing, executing the processing up to the end. When the other processor has no processing, the processor concerned shifts a check bit, transmitted a processing request one of other processors 11, and when the processing reaches the prescribed number of processors, completes the whole processing. Thus, the processing pools 19 are distributed to respective processors 11 to distributively processing each processing request. Thus, the processing efficiency can be improved and the performance of the parallel system can be improved.

Description

【発明の詳細な説明】 [概要] 複数のプロセッサが並列接続された並列システムにおけ
る負荷分散方式に関し、 各プロセッサに処理プールを分散し、処理要求を分散処
理することで、処理効率を高め、並列システムの性能を
向上させることができる負荷分散方式を提供することを
目的とし、 各アドレスを有する複数のプロセッサが通信路を介して
接続された並列システムにおいて、処理要求を行なう各
プロセッサのアドレスを決定するチェックビットを有す
る処理要求送信部と、処理要求を受信する処理要求受信
部と、各プロセッサが担当処理すべき処理群を登録する
処理プールを備え、各プロセッサが自己の処理プールの
処理を全て終了後、異なるアドレスを有する他のプロセ
ッサに処理要求を送信し、処理ありの返信があればその
処理を終了し、処理なしの返信のときは、チェックビッ
トをシフトして処理要求を送信するように構威した。
[Detailed Description of the Invention] [Summary] Regarding a load distribution method in a parallel system in which multiple processors are connected in parallel, the processing efficiency is increased by distributing processing pools to each processor and distributing processing requests. The purpose is to provide a load distribution method that can improve system performance. In a parallel system in which multiple processors with each address are connected via a communication path, the address of each processor that makes a processing request is determined. A processing request transmitting section having a check bit to check the processing request, a processing request receiving section for receiving processing requests, and a processing pool for registering the processing group that each processor is responsible for. After finishing, it sends a processing request to another processor with a different address, and if there is a reply saying that processing is done, that processing is finished, and if there is a reply that there is no processing, it shifts the check bit and sends the processing request. It was organized.

[産業上の利用分野] 本発明は、複数のプロセッサが並列接続された並列シス
テムにおける負荷分散方式に関する。
[Industrial Application Field] The present invention relates to a load distribution method in a parallel system in which a plurality of processors are connected in parallel.

複数のプロセッサが通信路を介して並列接続された並列
システムにおいては、その性能を決定する要因の1つと
して負荷分散がある。負荷分散が良いと、並列システム
の性能を向上させることができるが、負荷分散が悪いと
、並列システムの性能を劣化させる。
In a parallel system in which a plurality of processors are connected in parallel via a communication path, load distribution is one of the factors that determines the performance. Good load balancing can improve the performance of a parallel system, but bad load balancing can degrade the performance of a parallel system.

特定の問題では、静的な負荷分散でも効果的なこともあ
るが、一般的には動的な負荷分散が幅広い問題に柔軟に
対応することができ、最も効果がある。したがって、効
果がある動的な負荷分散方式を構築することが必要であ
る。
Although static load balancing can be effective for certain problems, dynamic load balancing is generally the most effective because it provides the flexibility to handle a wide range of problems. Therefore, it is necessary to construct an effective dynamic load balancing scheme.

[従来の技術] 従来の動的な負荷分散方式としては、例えば次のような
ものがある。
[Prior Art] Examples of conventional dynamic load distribution methods include the following.

この負荷分散方式においては、多数のプロセッサに行な
わせたい処理群を格納した処理プールをシステム全体で
1個有し、処理終了したプロセッサが、1つの処理プー
ルに次の処理要求を発行し、この要求に対してプール管
理機構が↓つずつ処理を与え、要求したプロセッサが与
えられた処理を実行していた。
In this load distribution method, the entire system has one processing pool that stores a group of processing that many processors want to perform, and a processor that has completed processing issues the next processing request to one processing pool, and The pool management mechanism assigned processing to each request one by one, and the requesting processor executed the given processing.

[発明が解決しようとする課題] しかしながら、このような従来の負荷分散方式にあって
は、1つのプール管理機構に多数のプロセッサから処理
要求が集中するため、処理効率が悪化し、並列システム
の性能を向上させることができないという問題点があっ
た。
[Problems to be Solved by the Invention] However, in such a conventional load balancing method, processing requests from a large number of processors are concentrated on one pool management mechanism, which deteriorates processing efficiency and reduces the efficiency of parallel systems. There was a problem that performance could not be improved.

本発明は、このような従来の問題点に鑑みてなされたも
のであって、各プロセッサに処理プールを分散し、処理
要求を分散処理することで、処理効率を高め、並列シス
テムの性能を向上させることができる負荷分散方式を提
供することを目的としている。
The present invention has been made in view of these conventional problems. By distributing processing pools to each processor and distributing processing requests, the present invention increases processing efficiency and improves the performance of parallel systems. The purpose is to provide a load balancing method that can

[課題を解決するための手段] 第1図は本発明の原理説明図である。[Means to solve the problem] FIG. 1 is a diagram explaining the principle of the present invention.

第1図において、11は通信路12を介して接続され各
アドレスを有する複数のプロセッサ、16は処理要求を
行なう各プロセッサ11のアドレスを決定するチェック
ビット17を有する処理要求送信部、15は処理要求を
受信する処理要求受信部、19は各プロセッサ11が担
当処理すべき処理群を登録する処理プールである。
In FIG. 1, reference numeral 11 indicates a plurality of processors connected via a communication path 12 and having respective addresses; 16 indicates a processing request transmitter having a check bit 17 for determining the address of each processor 11 that issues a processing request; and 15 indicates a processing request. A processing request receiving unit 19 that receives requests is a processing pool in which processing groups to be processed by each processor 11 are registered.

[作用] 本発明においては、各プロセッサに担当処理すべき処理
群を登録する処理プールを設け、自己の処理プールの処
理を終了後、異なるアドレスを有する他のプロセッサに
処理要求を送信し、他のプロセッサで処理があるときは
、その処理を終了し、他のプロセッサで処理がないとき
は、チェックビットをシフトしてさらに他のプロセッサ
に処理要求を行ない、所定のプロセッサ台数に達したと
きに処理を完了する。
[Operation] In the present invention, each processor is provided with a processing pool in which the processing group to be processed is registered, and after completing processing in its own processing pool, a processing request is sent to another processor having a different address. When there is processing in one processor, that processing is finished, and when there is no processing in other processors, the check bit is shifted and further processing requests are made to other processors. When the predetermined number of processors is reached, the processing is completed. Complete the process.

5 このように各プロセッサに処理プールを分散し、処理要
求を分散処理するようにしたので、処理効率を高めるこ
とができ、並列システムの性能を向上させることができ
る。
5. Since the processing pool is distributed among the processors in this way and processing requests are processed in a distributed manner, processing efficiency can be increased and the performance of the parallel system can be improved.

[実施例] 以下、本発明の実施例を図面に基づいて説明する。[Example] Embodiments of the present invention will be described below based on the drawings.

第2図〜第5図は本発明の一実施例を示す図である。2 to 5 are views showing one embodiment of the present invention.

第2図は全てのプロセッサがハイパーキュープ接続され
た並列システムを示す。ここでは3次元のハイパーキュ
ープシステムを例にとって説明する。
FIG. 2 shows a parallel system in which all processors are connected in a hypercube. Here, a three-dimensional hypercube system will be explained as an example.

第2図において、11はO〜7よりなる複数のプロセッ
サであり、これらの23=8台のプロセッサ11が並列
システムを構成している。各プロセッサ11はシステム
で唯一のアドレスを有し、各プロセッサアドレスと展開
ビットパターンとの対応は、以下のとおりである。
In FIG. 2, 11 is a plurality of processors O to 7, and these 23=8 processors 11 constitute a parallel system. Each processor 11 has a unique address in the system, and the correspondence between each processor address and the expanded bit pattern is as follows.

6 プロセッサφ=φφφ プロセッサ1=φφ1 プロセッサ2−φ1φ プロセッサ3=φ11 プロセッサ4−1φφ プロセッサ5=1φ1 プロセッサ6=11φ プロセッサ7=1 1 1 各プロセッサアドレスの展開ビットパターンの中で1ビ
ットのみ異なるプロセッサ11が直接通信路12で接続
されている。例えば、プロセッサ0はプロセッサ1,2
および4、プロセッサ1はプロセッサφ,3及び5にそ
れぞれ通信路12を介して接続されている。
6 Processor φ = φφφ Processor 1 = φφ1 Processor 2 - φ1φ Processor 3 = φ11 Processor 4 - 1φφ Processor 5 = 1φ1 Processor 6 = 11φ Processor 7 = 1 1 1 Processors that differ by only 1 bit in the expanded bit pattern of each processor address 11 are directly connected through a communication path 12. For example, processor 0 is processor 1, 2
and 4, processor 1 is connected to processors φ, 3 and 5 via communication paths 12, respectively.

次に、各プロセッサ11の構成を第3図に基づいて説明
する。
Next, the configuration of each processor 11 will be explained based on FIG. 3.

第3図において、l3は他のプロセッサから送られたデ
ータを受信するデータ受信部、14は他のプロセッサに
データを送信するデータ送信部、15は他のプロセッサ
からの処理要求を受信する処理要求受信部、16は他の
プロセッサに対して処理要求を送信する処理要求送信部
である。
In FIG. 3, l3 is a data receiving unit that receives data sent from other processors, 14 is a data transmitting unit that transmits data to other processors, and 15 is a processing request that receives processing requests from other processors. The receiving unit 16 is a processing request transmitting unit that transmits processing requests to other processors.

処理要求送信部16はチェックビット17を有し、チェ
ックビット17は処理要求を行なうプロセッサアドレス
を決定する。すなわち、チェックビット17により各プ
ロセッサ11がどのプロセッサとペアを組んで負荷分散
を行なうかを制御する。例えば、チェツクビットーφ,
1.2であり、例えばチェックビット17がφのときは
、プロセッサアドレスのφビット目が異なるプロセッサ
の負荷を分散するように制御する。チェックビット17
はまずφビット、次にlビット、最後に2ビットをチェ
ック対象とする。例えば、プロセッサ0を例にとると、
まずプロセッサ1が、次にプロセッサ2が、最後にプロ
セッサ4がチェック対象となる。
The processing request transmitter 16 has a check bit 17, and the check bit 17 determines the processor address to which the processing request is made. That is, the check bit 17 controls which processor each processor 11 pairs with to perform load distribution. For example, check bit φ,
1.2, and for example, when check bit 17 is φ, control is performed to distribute the loads of processors having different φ bits of the processor addresses. check bit 17
First, the φ bit, then the l bit, and finally the 2 bits are checked. For example, taking processor 0 as an example,
First, processor 1 is checked, then processor 2, and finally processor 4.

18は処理プール管理部であり、処理プール管理部18
は処理プール19および処理カウンタ20を有する。処
理プール19は自己プロセッサで担当し処理すべき処理
群を格納する。処理プール19は各プロセッサーlに分
散して設けられ、処理プール19の初期値としては全処
理数(量)を全プロセッサ台数で分割した数(量)を登
録する。
18 is a processing pool management section;
has a processing pool 19 and a processing counter 20. The processing pool 19 stores processing groups to be handled and processed by the own processor. The processing pool 19 is provided distributed among the processors l, and the initial value of the processing pool 19 is registered as the number (amount) obtained by dividing the total number of processes (amount) by the total number of processors.

処理カウンタ20は処理数をカウントする。21は処理
部であり、処理部21は処理プール19より取り出した
処理群を処理する。
A processing counter 20 counts the number of processes. 21 is a processing unit, and the processing unit 21 processes a processing group taken out from the processing pool 19.

次に、動作を説明する。Next, the operation will be explained.

第4図は処理要求送信処理のフローチャートを、第5図
は処理要求受信処理のフローチャートを、それぞれ示す
FIG. 4 shows a flowchart of processing request sending processing, and FIG. 5 shows a flowchart of processing request receiving processing.

第4図において、まず、ステップS1で自己の処理プー
ル19にある処理を全て処理する。次に、ステップS2
でチェックビット17のみ異なるアドレスを有する他の
プロセッサに処理要求を送信する。例えば、プロセッサ
φの場合、プロセッサ1に処理要求を送信する。
In FIG. 4, first, in step S1, all processes in its own processing pool 19 are processed. Next, step S2
Then, a processing request is sent to another processor having a different address only in check bit 17. For example, in the case of processor φ, a processing request is sent to processor 1.

次に、第5図において、ステップS11で処理要求受信
部15で前記処理要求を受信し、ステップS12で処理
プール19にまだ処理があるか否かを判別する。処理が
ないときは、ステップS19 3で処理なしと要求元のプロセッサに送信する。
Next, in FIG. 5, the processing request receiving unit 15 receives the processing request in step S11, and it is determined in step S12 whether or not there are any more processes in the processing pool 19. If there is no processing, a message indicating no processing is sent to the requesting processor in step S193.

処理があるときは、ステップS14で処理プール19に
残っている一部分の処理を要求元のプロセッサに送信す
る。要求元のプロセッサに送信する処理数(量)として
は基本的にはその1/2とする。
If there is a process, the part of the process remaining in the process pool 19 is sent to the requesting processor in step S14. The number (amount) of processing to be sent to the requesting processor is basically 1/2 of that number.

ここで、再び第4図に戻り、ステップS3で処理ありの
返信があったときは、ステップs1へ戻り、処理を行な
い、処理終了後処理要求を送信する。処理なしの返信が
あったときは、ステップS4でチェックビット17をシ
フトし、ステップS5でチェックビット17がプロセッ
サ台数に達したか否かを判別する。チェックビット17
がプロセッサ台数に達していないときはステップS2へ
戻って、処理要求を送信し、プロセッサ台数に達したと
きは、処理終了となる。
Here, returning to FIG. 4 again, if there is a reply indicating that processing is required in step S3, the process returns to step s1, the processing is performed, and a processing request is sent after the processing is completed. When there is a reply indicating no processing, the check bit 17 is shifted in step S4, and it is determined in step S5 whether the check bit 17 has reached the number of processors. check bit 17
If the number of processors has not reached the number of processors, the process returns to step S2 and a processing request is sent, and if the number of processors has been reached, the process ends.

このように、処理プール19を各プロセッサ11に分散
し、処理要求を分散処理するようにしたため、処理効率
を高め、並列システムの性能を向上させることができる
In this way, since the processing pool 19 is distributed among the processors 11 and processing requests are processed in a distributed manner, processing efficiency can be increased and the performance of the parallel system can be improved.

10 なお、本実施例においては、ハイパーキューブ接続され
た並列システムを例にとって説明したが、これは最小の
通信コストのハイパーキューブ接続に最も効果的である
からであるが、必ずしもこれに限定されるものではなく
、ハイパーキューブ接続されていないシステムにも適用
することができる。
10 In this embodiment, a parallel system connected to a hypercube is explained as an example, but this is because it is most effective for hypercube connection with minimum communication cost, but it is not necessarily limited to this. It can also be applied to systems that are not connected to a hypercube.

[発明の効果] 以上説明してきたように、本発明によれば、各プロセッ
サに処理プールを分散し、処理要求を分散処理するよう
にしたため、処理効率を高めることができ、並列システ
ムの性能を向上させることができる。
[Effects of the Invention] As explained above, according to the present invention, processing pools are distributed to each processor and processing requests are processed in a distributed manner, so processing efficiency can be improved and the performance of a parallel system can be improved. can be improved.

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

第1図は本発明の原理説明図、 第2図は本発明の一実施例を示す全体図、第3図は各プ
ロセッサの構成図、 第4図は処理要求送信処理を示すフローチャ−11 第5図は処理要求受信処理を示すフローチャートである
。 図中、 11・・・プロセッサ、 12・・・通信路、 13・・・データ受信部、 14・・・データ送信部、 15・・・処理要求受信部、 16・・・処理要求送信部、 17・・・チェックビット、 18・・・処理プール管理部、 19・・・処理プール、 20・・・処理カウンタ、 21・・・処理部。
FIG. 1 is a diagram explaining the principle of the present invention, FIG. 2 is an overall diagram showing an embodiment of the present invention, FIG. 3 is a configuration diagram of each processor, and FIG. 4 is a flowchart 11 showing processing request transmission processing. FIG. 5 is a flowchart showing processing request reception processing. In the figure, 11... Processor, 12... Communication path, 13... Data receiving section, 14... Data transmitting section, 15... Processing request receiving section, 16... Processing request transmitting section, 17... Check bit, 18... Processing pool management unit, 19... Processing pool, 20... Processing counter, 21... Processing unit.

Claims (1)

【特許請求の範囲】[Claims] 各アドレスを有する複数のプロセッサ(11)が通信路
(12)を介して接続された並列システムにおいて、処
理要求を行なう各プロセッサ(11)のアドレスを決定
するチェックビット(17)を有する処理要求送信部(
16)と、処理要求を受信する処理要求受信部(15)
と、各プロセッサ(11)が担当処理すべき処理群を登
録する処理プールを備え、各プロセッサ(11)が自己
の処理プール(19)の処理を全て終了後、異なるアド
レスを有する他のプロセッサに処理要求を送信し、処理
ありの返信があればその処理を終了し、処理なしの返信
のときは、チェックビットをシフトして処理要求を送信
するようにしたことを特徴とする負荷分散方式。
In a parallel system in which a plurality of processors (11) having respective addresses are connected via a communication path (12), processing request transmission having a check bit (17) that determines the address of each processor (11) that makes a processing request Department (
16) and a processing request receiving unit (15) that receives the processing request.
and a processing pool in which each processor (11) registers the processing group that it is responsible for processing, and after each processor (11) completes all processing in its own processing pool (19), it transfers data to other processors with different addresses. A load distribution method characterized in that a processing request is sent, and if there is a reply indicating that processing is to be performed, the processing is terminated, and if there is a reply that there is no processing, the check bit is shifted and the processing request is sent.
JP1242609A 1989-09-19 1989-09-19 Load distribution system Pending JPH03103964A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1242609A JPH03103964A (en) 1989-09-19 1989-09-19 Load distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1242609A JPH03103964A (en) 1989-09-19 1989-09-19 Load distribution system

Publications (1)

Publication Number Publication Date
JPH03103964A true JPH03103964A (en) 1991-04-30

Family

ID=17091600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1242609A Pending JPH03103964A (en) 1989-09-19 1989-09-19 Load distribution system

Country Status (1)

Country Link
JP (1) JPH03103964A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561841A (en) * 1991-08-30 1993-03-12 Agency Of Ind Science & Technol Dynamically equalizing system for load in parallel computers
JPH06111008A (en) * 1992-09-29 1994-04-22 Nhk Spring Co Ltd Discrimination structure for object
US5410696A (en) * 1992-03-16 1995-04-25 Hitachi, Ltd. Method of processing a program by parallel processing, and a processing unit thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561841A (en) * 1991-08-30 1993-03-12 Agency Of Ind Science & Technol Dynamically equalizing system for load in parallel computers
US5410696A (en) * 1992-03-16 1995-04-25 Hitachi, Ltd. Method of processing a program by parallel processing, and a processing unit thereof
JPH06111008A (en) * 1992-09-29 1994-04-22 Nhk Spring Co Ltd Discrimination structure for object

Similar Documents

Publication Publication Date Title
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US6356930B2 (en) Connection concentrator for distributed object systems
EP0880741B1 (en) Method and apparatus for connecting a client node to a server node based on load levels
US4644470A (en) Non-unique names for broadcast messages
US5748897A (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US6247056B1 (en) Method and apparatus for handling client request with a distributed web application server
US8514749B2 (en) Routing requests for duplex applications
US7177933B2 (en) Method for load balancing of requests for service by devices on a network and a device and a network for carrying out such method
US6999997B2 (en) Method and apparatus for communication of message data using shared queues
EP2073118A1 (en) Load distribution in distributed database system
US20020165900A1 (en) Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor
JPH0331296B2 (en)
TWI393400B (en) Method and system for authenticating a requestor without providing a key
JPS61253572A (en) Load distributing system for loose coupling multi-processor system
US6922832B2 (en) Execution of dynamic services in a flexible architecture for e-commerce
JPH03103964A (en) Load distribution system
JPH0793639B2 (en) Method and system for mitigating processing and recording requirements at a network node
CN116185630A (en) Service processing method and device of system cluster, electronic equipment and medium
US8055754B2 (en) Verification of the availability of a server
JPH09160884A (en) Dynamic load-distributed parallel computer
EP0638863A1 (en) Distributed data processing system having uniform load distribution
JP2000029806A (en) Lan adaptor load distribution system for computer system
JP2001331398A (en) Server-managing system
JP3224876B2 (en) Multiplexed communication distributed processing system
JPH09114722A (en) Shared information controlling method in distributed system