JP2004038511A - Multi-processor system, load distribution control method for the same, and program for the same system - Google Patents

Multi-processor system, load distribution control method for the same, and program for the same system Download PDF

Info

Publication number
JP2004038511A
JP2004038511A JP2002194044A JP2002194044A JP2004038511A JP 2004038511 A JP2004038511 A JP 2004038511A JP 2002194044 A JP2002194044 A JP 2002194044A JP 2002194044 A JP2002194044 A JP 2002194044A JP 2004038511 A JP2004038511 A JP 2004038511A
Authority
JP
Japan
Prior art keywords
event
exclusive control
processors
management device
processor
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.)
Granted
Application number
JP2002194044A
Other languages
Japanese (ja)
Other versions
JP4039145B2 (en
Inventor
Masahiro Fujii
藤井 政浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002194044A priority Critical patent/JP4039145B2/en
Publication of JP2004038511A publication Critical patent/JP2004038511A/en
Application granted granted Critical
Publication of JP4039145B2 publication Critical patent/JP4039145B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multi-processor system which enables each processor to be used effectively and is capable of performing load distribution effectively. <P>SOLUTION: An exclusive control management device 1 registers exclusive control tags 11-0 to 11-n which each of processors (#0 to #n) 3-1 to 3-n is processing. In each of the processors (#0 to #n) 3-1 to 3-n, the same programs 31-0 to 31-n operate. Events coming from outside are composed of exclusive control tags 21-0 to 21-n and processing contents 22-0 to 22-n, and are sequentially stored in an event queue 2. In the event queue 2, the stored events are freely retrievable not only from the head but also from the middle. To an event which needs synchronizing, the same exclusive control tag is attached and queued in the event queue 2. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はマルチプロセッサシステム及びそれに用いる負荷分散制御方法並びにそのプログラムに関し、特に各プロセッサがメモリ空間を共有しないマルチプロセッサシステムにおける負荷分散制御方法に関する。
【0002】
【従来の技術】
従来、この種のマルチプロセッサシステムでは、複数のプロセッサ各々がメモリ空間を共有しない設定となっており、そのシステムにおける負荷分散制御を行う際に、一般に、プロセッサ間での同期が困難である。
【0003】
上記のマルチプロセッサシステムでは、図6に示すように、負荷分散処理制御用マスタプロセッサ4が存在し、この負荷分散処理制御用マスタプロセッサ4が他のプロセッサ(#1〜#m)5−1〜5−mの負荷状況を管理している(以下、第1の従来技術とする)。
【0004】
負荷分散処理制御用マスタプロセッサ4による他のプロセッサ(#1〜#m)5−1〜5−mの負荷状況の管理は、各プロセッサ負荷情報41及び同期管理情報42を用いて行われている。
【0005】
また、他のマルチプロセッサシステムでは、図7に示すように、プロセッサ(#1〜#x)7−1〜7−x各々にA〜X系処理プログラム71−1〜71−xを配布しておくことで、プロセッサ(#1〜#x)7−1〜7−x各々において処理することができるイベント内容を固定している。
【0006】
この場合、このマルチプロセッサシステムでは、プロセッサ(#0)6からプロセッサ(#1〜#x)7−1〜7−x各々にA系イベント、B系イベント、C系イベント、・・・というように指示して動作している(以下、第2の従来技術とする)。
【0007】
【発明が解決しようとする課題】
上述した従来のマルチプロセッサシステムでは、第1の従来技術の場合、いかにイベントを効率的に分配するかを目的としているので、各プロセッサを効率的に使用することができない。
【0008】
また、第2の従来技術の場合には、各プロセッサにおいて処理することができるイベント内容を固定し、各プロセッサによって動作するプログラムが異なっているため、負荷分散を効率的に行うことが困難である。
【0009】
そこで、本発明の目的は上記の問題点を解消し、各プロセッサを効率的に使用することができ、負荷分散を効率的に行うことができるマルチプロセッサシステム及びそれに用いる負荷分散制御方法並びにそのプログラムを提供することにある。
【0010】
【課題を解決するための手段】
本発明によるマルチプロセッサシステムは、各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムであって、
処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューと、
前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスとを有し、
前記複数のプロセッサ各々が、前記イベントキューから前記イベントを取得する際に前記排他制御管理デバイスに問合せを行う手段と、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得する手段と、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録する手段とを備えている。
【0011】
本発明による負荷分散制御方法は、各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムの負荷分散制御方法であって、
処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューから前記イベントを取得する際に前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスに問合せを行うステップと、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得するステップと、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録するステップとを前記複数のプロセッサ各々に備えている。
【0012】
本発明による負荷分散制御方法のプログラムは、各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムの負荷分散制御方法のプログラムであって、前記複数のプロセッサ各々に、処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューから前記イベントを取得する際に前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスに問合せを行う処理と、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得する処理と、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録する処理とを実行させている。
【0013】
すなわち、本発明のマルチプロセッサシステムは、各々独自のメモリ空間を持つ複数のプロセッサと、イベントキューと、排他制御管理デバイスとをバスによって接続したマルチプロセッサシステムにおいて、負荷分散を制御するマスタプロセッサを必要とせず、処理内容と排他制御タグとからなるイベントを外部から受信してイベントキューにキューイングしている。
【0014】
イベント処理を行うプロセッサは自らイベントキューからイベントを取得し、イベントを取得する際に、排他制御管理デバイスに問合せを行い、イベント内の排他制御タグが排他制御管理デバイスに登録されていない時のみ、イベントキューからイベントを取得可能とし、イベントの取得時に排他制御タグを排他制御管理デバイスに登録することによって、各イベント取得処理における排他制御を行っている。
【0015】
これによって、本発明のマルチプロセッサシステムでは、マスタプロセッサの存在をなくすことが可能となり、全て同レベルのプロセッサとして機能することになるので、プロセッサが有効に利用可能となる。
【0016】
また、本発明のマルチプロセッサシステムでは、各プロセッサの処理内容が決まっておらず、全プロセッサが同様の処理を行えることによって、従来のように、ある処理を行うプロセッサのみに高い負荷がかかっていた場合においても、他のプロセッサも処理を行うことによって、負荷が分散され、プロセッサが有効に活用可能となる。
【0017】
したがって、本発明のマルチプロセッサシステムでは、処理可能なイベントが存在する際に、未動作のプロセッサが存在する状況がなくなり、プロセッサが効率よく使用可能になるとともに、同期管理の必要があるイベントにも効率よく対処可能となる。
【0018】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるマルチプロセッサシステムの構成を示すブロック図である。図1において、マルチプロセッサシステムは複数のプロセッサ(#0〜#n)3−1〜3−n各々をバス100によって排他制御管理デバイス1と、イベントキュー2とに接続して構成されている。
【0019】
排他制御管理デバイス1にはプロセッサ(#0〜#n)3−1〜3−n各々が処理中の排他制御タグ11−0〜11−nが登録される。プロセッサ(#0〜#n)3−1〜3−n各々では同じプログラム31−0〜31−nが動作する。
【0020】
外部から来るイベントは排他制御タグ21−0〜21−nと処理内容22−0〜22−nとから構成され、イベントキュー2に順次格納される。イベントキュー2では格納したイベントを先頭からだけではなく、途中からも取出し自在となっている。同期が必要なイベントには同じ排他制御タグが付けられ、イベントキュー2にキューイングされる。
【0021】
図2及び図3は本発明の一実施例によるマルチプロセッサシステムのプロセッサ (#0〜#n)3−1〜3−n各々のイベント取得動作を示すフローチャートである。これら図1〜図3を参照してプロセッサ(#0〜#n)3−1〜3−n各々のイベント取得動作について説明する。尚、図2及び図3に示す処理はプロセッサ(#0〜#n)3−1〜3−n各々がプログラム31−0〜31−nを実行することで実現される。
【0022】
プロセッサ(#0〜#n)3−1〜3−n各々はイベント取得可能状態になると、イベントキュー2に対してイベント取得を開始する。まず、プロセッサ(#0〜#n)3−1〜3−n各々はイベント取得権(イベントキュー2のアクセス権)を獲得しにいく。
【0023】
プロセッサ(#0〜#n)3−1〜3−n各々は他のプロセッサによってイベント取得権が確保されている場合、イベント取得権を獲得することができないので(図2ステップS1)、待ち状態となる(図2ステップS8)。
【0024】
プロセッサ(#0〜#n)3−1〜3−n各々はイベント取得権を確保することができた場合(図2ステップS1)、イベント取得状態通知受信をマスクし(図2ステップS2)、イベントキュー2の先頭からイベント取得を開始する(図2ステップS3)。
【0025】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントの排他制御タグが排他制御管理デバイス1に登録されているかを確認し(図2ステップS4)、登録されていれば、イベントキュー2に次のイベントが存在するかを判断し(図2ステップS5)、イベントキュー2に次のイベントが存在すれば、ステップS2に戻って上記と同様のイベント取得処理を行う。
【0026】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントキュー2に存在する全てのイベントが取得不可の場合(図2ステップS5)、イベント取得権を解放し(図2ステップS6)、イベント取得状態通知受信マスクを解除し(図2ステップS7)、イベント取得状態通知待ちとなる(図2ステップS8)。
【0027】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントの排他制御タグが排他制御管理デバイス1に登録されていなければ、その排他制御タグを排他制御管理デバイス1に登録し(図2ステップS9)、イベントの取得、イベント取得権の解放、イベント取得状態通知をそれぞれ行う(図2ステップS10)。
【0028】
処理内容処理完了後、プロセッサ(#0〜#n)3−1〜3−n各々は排他制御管理デバイス1から排他制御タグを削除し(図3ステップS11)、イベント取得状態通知受信マスクを解除し(図3ステップS12)、イベント取得状態通知を行う(図3ステップS13)。
【0029】
プロセッサ(#0〜#n)3−1〜3−n各々がイベント取得状態となるのは、イベント取得状態通知を受信した場合となる。イベント取得状態通知はイベントキュー2にイベントがキューイングされた時、プロセッサ(#0〜#n)3−1〜3−n各々がイベント取得権を解放した時、プロセッサ(#0〜#n)3−1〜3−n各々がイベント処理を完了し、排他制御タグを削除した時となる。
【0030】
このように、本実施例では、マスタプロセッサの存在をなくし、全て同レベルのプロセッサとして機能することによって、プロセッサ(#0〜#n)3−1〜3−n各々を有効に利用することができる。
【0031】
また、本実施例では、プロセッサ(#0〜#n)3−1〜3−n各々の処理内容が決まっておらず、全てのプロセッサにおいて同様の処理を行うようにすることで、従来ある処理を行うプロセッサのみに高い負荷がかかっていた場合でも、その処理を他のプロセッサでも処理を行うことによって、負荷が分散されるので、プロセッサ(#0〜#n)3−1〜3−n各々を有効に活用することができる。
【0032】
これによって、本実施例では、処理可能なイベントが存在するが、未動作のプロセッサが存在する状況がなくなり、プロセッサを効率よく使用することができ、同期管理の必要があるイベントにも効率よく対処することができる。
【0033】
図4及び図5は本発明の他の実施例によるマルチプロセッサシステムのプロセッサ各々のイベント取得動作を示すフローチャートである。本発明の他の実施例によるマルチプロセッサシステムは図1に示す本発明の一実施例によるマルチプロセッサシステムと同様の構成となっているので、これら図1と図4と図5とを参照してプロセッサ(#0〜#n)3−1〜3−n各々のイベント取得動作について説明する。尚、図4及び図5に示す処理はプロセッサ(#0〜#n)3−1〜3−n各々がプログラム31−0〜31−nを実行することで実現される。
【0034】
本発明の他の実施例では、プロセッサ(#0〜#n)3−1〜3−n各々のイベント取得状態遷移タイミングがイベント取得状態通知ではなく、ラウンドロビン形式の場合に対応しており、以下、この場合の動作について説明する。
【0035】
本発明の他の実施例では、プロセッサ(#0〜#n)3−1〜3−n各々の動作とは独立したラウンドロビン形式のイベント取得権遷移機構(図示せず)を用意している。
【0036】
イベント取得権遷移機構はあるプロセッサにイベント取得権を与え、一定時間後に、次のプロセッサにイベント取得権を委譲する。最後のプロセッサの次は先頭のプロセッサに委譲することとなる。
【0037】
プロセッサ(#0〜#n)3−1〜3−n各々はイベント取得可能状態になると、イベント処理中でなければ(図4ステップS21)、イベント取得権遷移機構の遷移を停止させる(図4ステップS23)。
【0038】
次に、プロセッサ(#0〜#n)3−1〜3−n各々はイベントキュー2に対してイベント取得を開始し(図4ステップS24)、イベントの排他制御タグが排他制御管理デバイス1に登録されているかどうかを確認する(図4ステップS25)。
【0039】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントの排他制御タグが排他制御管理デバイス1に登録されている場合、イベントキュー2に次のイベントが存在するかを判断し(図4ステップS26)、イベントキュー2に次のイベントが存在すれば、ステップS24に戻って、上記と同様のイベント取得処理を行う。
【0040】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントキュー2に存在する全てのイベントが取得不可の場合(図4ステップS26)、イベント取得権遷移機構の遷移停止を解除し(図4ステップS27)、イベント取得状態通知待ちとなる(図4ステップS28)。
【0041】
プロセッサ(#0〜#n)3−1〜3−n各々はイベントの排他制御タグが排他制御管理デバイス1に登録されていなければ、その排他制御タグを排他制御管理デバイス1に登録し(図4ステップS29)、イベントの取得、イベント取得権の解放、イベント取得状態通知をそれぞれ行う(図4ステップS30)。
【0042】
処理内容処理完了後、プロセッサ(#0〜#n)3−1〜3−n各々は排他制御管理デバイス1から排他制御タグを削除し(図5ステップS31)、イベント取得状態通知待ちとなる(図5ステップS32)。
【0043】
【発明の効果】
以上説明したように本発明は、各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムにおいて、処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューからイベントを取得する際にプロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスに問合せを行い、当該イベント内の排他制御タグが排他制御管理デバイスに登録されていない時にイベントキューからイベントを取得し、当該イベントの取得時にそれに対応する排他制御タグを排他制御管理デバイスに登録することによって、各プロセッサを効率的に使用することができ、負荷分散を効率的に行うことができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例によるマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の一実施例によるマルチプロセッサシステムのプロセッサ各々のイベント取得動作を示すフローチャートである。
【図3】本発明の一実施例によるマルチプロセッサシステムのプロセッサ各々のイベント取得動作を示すフローチャートである。
【図4】本発明の他の実施例によるマルチプロセッサシステムのプロセッサ各々のイベント取得動作を示すフローチャートである。
【図5】本発明の他の実施例によるマルチプロセッサシステムのプロセッサ各々のイベント取得動作を示すフローチャートである。
【図6】従来例によるマルチプロセッサシステムの構成例を示すブロック図である。
【図7】従来例によるマルチプロセッサシステムの他の構成例を示すブロック図である。
【符号の説明】
1 排他制御管理デバイス
2 イベントキュー
3−1〜3−n プロセッサ(#0〜#n)
11−0〜11−n,
21−0〜21−n 排他制御タグ
22−0〜22−n 処理内容
31−0〜31−n プログラム
100 バス
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a multiprocessor system, a load distribution control method used therefor, and a program therefor, and more particularly to a load distribution control method in a multiprocessor system in which each processor does not share a memory space.
[0002]
[Prior art]
Conventionally, in this type of multiprocessor system, a setting is made such that a plurality of processors do not share a memory space, and it is generally difficult to synchronize between processors when performing load distribution control in the system.
[0003]
In the above multiprocessor system, as shown in FIG. 6, there is a load distribution processing control master processor 4, and this load distribution processing control master processor 4 is composed of other processors (# 1 to #m) 5-1 to 5-1. 5-m is managed (hereinafter referred to as a first conventional technique).
[0004]
The management of the load status of the other processors (# 1 to #m) 5-1 to 5-m by the load distribution control master processor 4 is performed using the processor load information 41 and the synchronization management information 42. .
[0005]
In another multiprocessor system, as shown in FIG. 7, A to X processing programs 71-1 to 71-x are distributed to processors (# 1 to #x) 7-1 to 7-x, respectively. By doing so, the event contents that can be processed in each of the processors (# 1 to #x) 7-1 to 7-x are fixed.
[0006]
In this case, in this multiprocessor system, the processor (# 0) 6 sends the A (system) event, the B (system) event, the C (system) event to the processors (# 1 to #x) 7-1 to 7-x. (Hereinafter, referred to as a second conventional technique).
[0007]
[Problems to be solved by the invention]
In the above-described conventional multiprocessor system, in the case of the first conventional technique, the purpose is to efficiently distribute events, so that each processor cannot be used efficiently.
[0008]
Further, in the case of the second conventional technique, it is difficult to efficiently distribute the load because the content of an event that can be processed by each processor is fixed, and the programs that operate on each processor are different. .
[0009]
Therefore, an object of the present invention is to solve the above problems, to efficiently use each processor, and to efficiently perform load distribution, a multiprocessor system, a load distribution control method used therefor, and a program therefor. Is to provide.
[0010]
[Means for Solving the Problems]
A multiprocessor system according to the present invention is a multiprocessor system including a plurality of processors each having a unique memory space,
An event queue for receiving and queuing an event composed of a processing content and an exclusive control tag from the outside;
An exclusive control management device that manages an exclusive control tag of an event processed by the processor,
Means for inquiring the exclusive control management device when the plurality of processors each obtain the event from the event queue, and when the exclusive control tag in the event is not registered in the exclusive control management device, A means for acquiring the event from an event queue; and a means for registering an exclusive control tag corresponding to the event in the exclusive control management device when the event is acquired.
[0011]
A load distribution control method according to the present invention is a load distribution control method for a multiprocessor system including a plurality of processors each having a unique memory space,
An inquiry is made to the exclusive control management device that manages the exclusive control tag of the event processed by the processor when acquiring the event from the event queue that receives and queues the event consisting of the processing content and the exclusive control tag from the outside. Performing the step, acquiring the event from the event queue when the exclusive control tag in the event is not registered in the exclusive control management device, and controlling the exclusive control tag corresponding to the event when acquiring the event. Registering with the management device for each of the plurality of processors.
[0012]
A program of a load distribution control method according to the present invention is a program of a load distribution control method for a multiprocessor system including a plurality of processors each having a unique memory space, wherein each of the plurality of processors has a processing content and an exclusive control tag. A process of inquiring an exclusive control management device that manages an exclusive control tag of an event processed by the processor when acquiring the event from an event queue that externally receives and queues an event consisting of: Acquiring the event from the event queue when the exclusive control tag is not registered in the exclusive control management device, and registering the corresponding exclusive control tag in the exclusive control management device when acquiring the event And running.
[0013]
That is, the multiprocessor system of the present invention requires a master processor that controls load distribution in a multiprocessor system in which a plurality of processors each having a unique memory space, an event queue, and an exclusive control management device are connected by a bus. Instead, the event including the processing content and the exclusive control tag is received from the outside and queued in the event queue.
[0014]
The processor that performs the event processing acquires the event from the event queue by itself, and when acquiring the event, inquires of the exclusive control management device, and only when the exclusive control tag in the event is not registered in the exclusive control management device, Exclusive control in each event acquisition process is performed by enabling an event to be acquired from an event queue and registering an exclusive control tag in the exclusive control management device when the event is acquired.
[0015]
As a result, in the multiprocessor system of the present invention, the existence of the master processor can be eliminated, and all the processors function as processors of the same level, so that the processors can be used effectively.
[0016]
Further, in the multiprocessor system of the present invention, the processing content of each processor is not determined, and all the processors can perform the same processing, so that only a processor performing a certain processing has a high load as in the related art. Even in such a case, the load is distributed and the processor can be effectively used by the other processors performing the processing.
[0017]
Therefore, in the multiprocessor system of the present invention, when there is an event that can be processed, there is no situation in which an inactive processor exists, and the processor can be used efficiently, and an event that needs to be managed synchronously. It can be dealt with efficiently.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a multiprocessor system according to one embodiment of the present invention. In FIG. 1, the multiprocessor system is configured by connecting a plurality of processors (# 0 to #n) 3-1 to 3-n to an exclusive control management device 1 and an event queue 2 by a bus 100.
[0019]
In the exclusive control management device 1, the exclusive control tags 11-0 to 11-n that are being processed by the processors (# 0 to #n) 3-1 to 3-n are registered. The same programs 31-0 to 31-n operate in each of the processors (# 0 to #n) 3-1 to 3-n.
[0020]
An event coming from the outside is composed of exclusive control tags 21-0 to 21-n and processing contents 22-0 to 22-n, and is sequentially stored in the event queue 2. In the event queue 2, the stored events can be taken out not only from the top but also from the middle. Events that require synchronization are given the same exclusive control tag and are queued in the event queue 2.
[0021]
FIGS. 2 and 3 are flowcharts showing the event acquisition operation of each of the processors (# 0 to #n) 3-1 to 3-n of the multiprocessor system according to the embodiment of the present invention. The event acquisition operation of each of the processors (# 0 to #n) 3-1 to 3-n will be described with reference to FIGS. 2 and 3 are realized by the processors (# 0 to #n) 3-1 to 3-n executing the programs 31-0 to 31-n.
[0022]
When each of the processors (# 0 to #n) 3-1 to 3-n enters an event-acquirable state, the processor (# 0 to #n) starts acquiring an event for the event queue 2. First, each of the processors (# 0 to #n) 3-1 to 3-n goes to acquire an event acquisition right (access right to the event queue 2).
[0023]
If the processor (# 0 to #n) 3-1 to 3-n cannot acquire the event acquisition right when the event acquisition right is secured by another processor (step S1 in FIG. 2), the waiting state is set. (Step S8 in FIG. 2).
[0024]
When each of the processors (# 0 to #n) 3-1 to 3-n can secure the event acquisition right (step S1 in FIG. 2), the processor masks the reception of the event acquisition state notification (step S2 in FIG. 2), Event acquisition is started from the head of the event queue 2 (step S3 in FIG. 2).
[0025]
Each of the processors (# 0 to #n) 3-1 to 3-n checks whether the exclusive control tag of the event is registered in the exclusive control management device 1 (step S4 in FIG. 2). It is determined whether the next event exists in the queue 2 (step S5 in FIG. 2). If the next event exists in the event queue 2, the process returns to step S2 to perform the same event acquisition processing as described above.
[0026]
When all the events existing in the event queue 2 cannot be acquired (step S5 in FIG. 2), each of the processors (# 0 to #n) 3-1 to 3-n releases the event acquisition right (step S6 in FIG. 2). Then, the event acquisition state notification reception mask is released (step S7 in FIG. 2), and the process waits for the event acquisition state notification (step S8 in FIG. 2).
[0027]
If the exclusive control tag of the event is not registered in the exclusive control management device 1, each of the processors (# 0 to #n) 3-1 to 3-n registers the exclusive control tag in the exclusive control management device 1 (see FIG. 2 step S9), event acquisition, release of event acquisition right, and event acquisition state notification are performed (step S10 in FIG. 2).
[0028]
After the completion of the processing, each of the processors (# 0 to #n) 3-1 to 3-n deletes the exclusive control tag from the exclusive control management device 1 (step S11 in FIG. 3), and releases the event acquisition state notification reception mask. Then (step S12 in FIG. 3), an event acquisition state notification is performed (step S13 in FIG. 3).
[0029]
Each of the processors (# 0 to #n) 3-1 to 3-n enters the event acquisition state when it receives the event acquisition state notification. The event acquisition status notification is sent when the event is queued in the event queue 2, when the processor (# 0 to #n) 3-1 to 3-n releases the event acquisition right, and when the processor (# 0 to #n) releases the event acquisition right. This is the time when each of the event processing has been completed and the exclusive control tag has been deleted.
[0030]
As described above, in the present embodiment, the existence of the master processor is eliminated, and the processors (# 0 to #n) 3-1 to 3-n can be effectively used by functioning as processors of the same level. it can.
[0031]
Further, in the present embodiment, the processing contents of the processors (# 0 to #n) 3-1 to 3-n are not determined, and the same processing is performed in all processors. Even if a high load is applied only to the processor that performs the processing, the load is distributed by performing the processing by the other processors, so that the processors (# 0 to #n) 3-1 to 3-n Can be effectively utilized.
[0032]
As a result, in the present embodiment, although there are events that can be processed, there is no situation where there are no inactive processors, the processors can be used efficiently, and events that require synchronization management can be efficiently handled. can do.
[0033]
FIGS. 4 and 5 are flowcharts showing an event acquisition operation of each processor of a multiprocessor system according to another embodiment of the present invention. Since a multiprocessor system according to another embodiment of the present invention has the same configuration as the multiprocessor system according to one embodiment of the present invention shown in FIG. 1, referring to FIGS. 1, 4 and 5, FIG. The event acquisition operation of each of the processors (# 0 to #n) 3-1 to 3-n will be described. 4 and 5 are realized by the processors (# 0 to #n) 3-1 to 3-n executing the programs 31-0 to 31-n.
[0034]
In another embodiment of the present invention, the event acquisition state transition timing of each of the processors (# 0 to #n) 3-1 to 3-n is not an event acquisition state notification, but corresponds to a round robin format. Hereinafter, the operation in this case will be described.
[0035]
In another embodiment of the present invention, an event acquisition right transition mechanism (not shown) in a round robin format independent of the operation of each of the processors (# 0 to #n) 3-1 to 3-n is provided. .
[0036]
The event acquisition right transition mechanism grants an event acquisition right to a certain processor, and after a predetermined time, transfers the event acquisition right to the next processor. After the last processor, it is delegated to the first processor.
[0037]
When the processors (# 0 to #n) 3-1 to 3-n enter the event-acquirable state, unless the event is being processed (step S21 in FIG. 4), the transition of the event acquisition right transition mechanism is stopped (FIG. 4). Step S23).
[0038]
Next, each of the processors (# 0 to #n) 3-1 to 3-n starts acquiring events in the event queue 2 (step S24 in FIG. 4), and the exclusive control tag of the event is transmitted to the exclusive control management device 1. It is confirmed whether or not it has been registered (step S25 in FIG. 4).
[0039]
When the exclusive control tag of an event is registered in the exclusive control management device 1, each of the processors (# 0 to #n) 3-1 to 3-n determines whether the next event exists in the event queue 2 ( In step S26 in FIG. 4, if the next event exists in the event queue 2, the process returns to step S24 to perform the same event acquisition processing as described above.
[0040]
If all the events existing in the event queue 2 cannot be acquired (step S26 in FIG. 4), the processors (# 0 to #n) 3-1 to 3-n release the transition stop of the event acquisition right transition mechanism (FIG. 4). In step S27 in FIG. 4, the process waits for an event acquisition state notification (step S28 in FIG. 4).
[0041]
If the exclusive control tag of the event is not registered in the exclusive control management device 1, each of the processors (# 0 to #n) 3-1 to 3-n registers the exclusive control tag in the exclusive control management device 1 (see FIG. 4 step S29), acquisition of an event, release of an event acquisition right, and notification of an event acquisition state are performed (step S30 in FIG. 4).
[0042]
After the completion of the processing, each of the processors (# 0 to #n) 3-1 to 3-n deletes the exclusive control tag from the exclusive control management device 1 (step S31 in FIG. 5), and waits for an event acquisition state notification (FIG. 5). FIG. 5 step S32).
[0043]
【The invention's effect】
As described above, according to the present invention, in a multiprocessor system including a plurality of processors each having a unique memory space, an event formed from an externally received event is queued by receiving an event including a processing content and an exclusive control tag. Queries the exclusive control management device that manages the exclusive control tag of the event processed by the processor when acquiring, and acquires the event from the event queue when the exclusive control tag in the event is not registered in the exclusive control management device However, by registering the exclusive control tag corresponding to the event in the exclusive control management device at the time of acquiring the event, each processor can be used efficiently and the load can be efficiently distributed. Can be
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a multiprocessor system according to one embodiment of the present invention.
FIG. 2 is a flowchart illustrating an event acquisition operation of each processor of a multiprocessor system according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating an event acquisition operation of each processor of a multiprocessor system according to an embodiment of the present invention.
FIG. 4 is a flowchart illustrating an event acquisition operation of each processor of a multiprocessor system according to another embodiment of the present invention.
FIG. 5 is a flowchart illustrating an event acquisition operation of each processor of a multiprocessor system according to another embodiment of the present invention.
FIG. 6 is a block diagram showing a configuration example of a multiprocessor system according to a conventional example.
FIG. 7 is a block diagram illustrating another configuration example of a multiprocessor system according to a conventional example.
[Explanation of symbols]
1 Exclusive control management device 2 Event queue 3-1 to 3-n Processor (# 0 to #n)
11-0 to 11-n,
21-0 to 21-n Exclusive control tag 22-0 to 22-n Processing contents 31-0 to 31-n Program 100 Bus

Claims (7)

各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムであって、
処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューと、
前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスとを有し、
前記複数のプロセッサ各々が、前記イベントキューから前記イベントを取得する際に前記排他制御管理デバイスに問合せを行う手段と、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得する手段と、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録する手段とを有することを特徴とするマルチプロセッサシステム。
A multiprocessor system comprising a plurality of processors each having a unique memory space,
An event queue for receiving and queuing an event composed of a processing content and an exclusive control tag from the outside;
An exclusive control management device that manages an exclusive control tag of an event processed by the processor,
Means for inquiring the exclusive control management device when each of the plurality of processors acquires the event from the event queue, and when the exclusive control tag in the event is not registered in the exclusive control management device, A multiprocessor system comprising: means for acquiring the event from an event queue; and means for registering an exclusive control tag corresponding to the event in the exclusive control management device when the event is acquired.
前記複数のプロセッサ各々は、前記イベントキューから前記イベントを自ら取得するようにしたことを特徴とする請求項1記載のマルチプロセッサシステム。2. The multiprocessor system according to claim 1, wherein each of the plurality of processors acquires the event from the event queue by itself. 前記複数のプロセッサ各々のうちのいずれかに前記イベントの取得権を与えかつ前記イベントの取得権を予め設定された一定時間後に次のプロセッサに委譲するイベント取得権遷移機構を含むことを特徴とする請求項1または請求項2記載のマルチプロセッサシステム。An event acquisition right transition mechanism for giving the acquisition right of the event to any one of the plurality of processors and delegating the acquisition right of the event to a next processor after a predetermined period of time. The multiprocessor system according to claim 1 or 2. 各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムの負荷分散制御方法であって、
処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューから前記イベントを取得する際に前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスに問合せを行うステップと、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得するステップと、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録するステップとを前記複数のプロセッサ各々に有することを特徴とする負荷分散制御方法。
A load distribution control method for a multiprocessor system including a plurality of processors each having a unique memory space,
An inquiry is made to an exclusive control management device that manages an exclusive control tag of an event processed by the processor when acquiring the event from an event queue that receives and queues an event composed of a processing content and an exclusive control tag from the outside. Performing, acquiring the event from the event queue when the exclusive control tag in the event is not registered in the exclusive control management device, and performing exclusive control on the exclusive control tag corresponding to the event when the event is acquired. Registering in a management device in each of the plurality of processors.
前記複数のプロセッサ各々が前記イベントキューから前記イベントを自ら取得するようにしたことを特徴とする請求項4記載の負荷分散制御方法。The load distribution control method according to claim 4, wherein each of the plurality of processors acquires the event from the event queue by itself. 前記複数のプロセッサ各々のうちのいずれかに前記イベントの取得権を与えるイベント取得権遷移機構が、前記イベントの取得権を予め設定された一定時間後に次のプロセッサに委譲することを特徴とする請求項4または請求項5記載の負荷分散制御方法。An event acquisition right transition mechanism that gives an acquisition right of the event to any one of the plurality of processors delegates the acquisition right of the event to a next processor after a predetermined period of time. The load distribution control method according to claim 4 or 5. 各々独自のメモリ空間を持つ複数のプロセッサからなるマルチプロセッサシステムの負荷分散制御方法のプログラムであって、前記複数のプロセッサ各々に、処理内容と排他制御タグとからなるイベントを外部から受信してキューイングするイベントキューから前記イベントを取得する際に前記プロセッサによって処理されるイベントの排他制御タグを管理する排他制御管理デバイスに問合せを行う処理と、当該イベント内の排他制御タグが前記排他制御管理デバイスに登録されていない時に前記イベントキューから前記イベントを取得する処理と、当該イベントの取得時にそれに対応する排他制御タグを前記排他制御管理デバイスに登録する処理とを実行させるためのプログラム。A program of a load distribution control method for a multiprocessor system including a plurality of processors each having a unique memory space, wherein each of the plurality of processors receives an event including a processing content and an exclusive control tag from the outside and queues the event. A process of inquiring an exclusive control management device that manages an exclusive control tag of an event processed by the processor when acquiring the event from the event queue to be registered; A program for executing a process of acquiring the event from the event queue when the event is not registered in the device, and a process of registering an exclusive control tag corresponding to the event in the exclusive control management device when the event is acquired.
JP2002194044A 2002-07-03 2002-07-03 Multiprocessor system, load balancing control method used therefor, and program thereof Expired - Fee Related JP4039145B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002194044A JP4039145B2 (en) 2002-07-03 2002-07-03 Multiprocessor system, load balancing control method used therefor, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002194044A JP4039145B2 (en) 2002-07-03 2002-07-03 Multiprocessor system, load balancing control method used therefor, and program thereof

Publications (2)

Publication Number Publication Date
JP2004038511A true JP2004038511A (en) 2004-02-05
JP4039145B2 JP4039145B2 (en) 2008-01-30

Family

ID=31702835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002194044A Expired - Fee Related JP4039145B2 (en) 2002-07-03 2002-07-03 Multiprocessor system, load balancing control method used therefor, and program thereof

Country Status (1)

Country Link
JP (1) JP4039145B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170180A (en) * 2014-03-07 2015-09-28 株式会社デンソー Electronic control device
JP2019212032A (en) * 2018-06-05 2019-12-12 株式会社デンソー Electronic control device with multi-core microcomputer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170180A (en) * 2014-03-07 2015-09-28 株式会社デンソー Electronic control device
JP2019212032A (en) * 2018-06-05 2019-12-12 株式会社デンソー Electronic control device with multi-core microcomputer
JP7070108B2 (en) 2018-06-05 2022-05-18 株式会社デンソー Electronic control device equipped with a multi-core microcomputer

Also Published As

Publication number Publication date
JP4039145B2 (en) 2008-01-30

Similar Documents

Publication Publication Date Title
JP4171910B2 (en) Parallel processing system and parallel processing program
JP5453825B2 (en) Program parallel execution system and program parallel execution method on multi-core processor
JP3490473B2 (en) Communication system between processors
JP2004038511A (en) Multi-processor system, load distribution control method for the same, and program for the same system
JP2003345614A (en) Parallel processing system by os for single processor
JPH11265297A (en) Distributed simulator system
JP2001092676A (en) Task management system in integrated program
US20090019259A1 (en) Multiprocessing method and multiprocessor system
JPH11154122A (en) Message exchange communication system
JP2003330739A (en) Communication response synchronous system and method, and communication response synchronous program
JP2910176B2 (en) Request reception processing device
JP2003186684A (en) Method of specifying and changing instance queue condition of service logic program, and service control node apparatus
JPH0991231A (en) Application program execution method and device therefor in server-client computer system
JPH0887477A (en) Service requesting method
JPH08115301A (en) Control unit for priority between processes
JP2550189B2 (en) Message identifier numbering system
JP2001344119A (en) Transaction execution control system and transaction execution control method
JPH07107679B2 (en) Message communication control method between client and server
CN116128704A (en) Data processing method, data processing apparatus, and computer readable storage medium
JP2007026008A (en) Task integration system
JPH06197145A (en) Osi application protocol communication processor
JPH05342119A (en) Time activation control system
JPH0573339A (en) Parallel execution system fore distributed service
JP2000029850A (en) Task controlling method using inter-processor communication of operating system
JPH07210524A (en) Message transfer order guaranteeing device for computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4039145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees