JPH06149765A - Shared memory exclusive control automatic release method - Google Patents
Shared memory exclusive control automatic release methodInfo
- Publication number
- JPH06149765A JPH06149765A JP4301900A JP30190092A JPH06149765A JP H06149765 A JPH06149765 A JP H06149765A JP 4301900 A JP4301900 A JP 4301900A JP 30190092 A JP30190092 A JP 30190092A JP H06149765 A JPH06149765 A JP H06149765A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- storage unit
- memory pool
- access
- memory
- 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
Links
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】排他制御中のプロセッサが障害を発生した場
合、他のプロセッサがこれを認識して当該排他制御を解
除し、正常なプロセッサの処理を継続可能とし、システ
ム全体の処理能力を向上させるこを技術的目的とする。
【構成】共有メモリ(1)の各メモリプール(4)に、
当該メモリプール(4)が排他制御中か否かを示す状態
表示手段(4a)、当該メモリプール(4)を排他制御
しているプロセッサ(2)を特定するプロセッサIDを
格納する第1のプロセッサID格納部(4b)を備える
と共に、前記各プロセッサ(2)には、前記第1のプロ
セッサID格納部(4b)のプロセッサIDを格納する
バッファ(2a)、他のプロセッサ(2)がアクセス状
態にあるメモリプール(4)へアクセス要求を行った回
数を計数するアクセスカウンタ(2b)とを備えてな
る。
(57) [Summary] [Purpose] When a processor under exclusive control fails, another processor recognizes it and cancels the exclusive control, allowing normal processor processing to continue, and The technical purpose is to improve the processing capacity. [Configuration] In each memory pool (4) of the shared memory (1),
A state display unit (4a) indicating whether or not the memory pool (4) is under exclusive control, and a first processor that stores a processor ID that identifies a processor (2) that is under exclusive control of the memory pool (4). An ID storage unit (4b) is provided, and a buffer (2a) for storing the processor ID of the first processor ID storage unit (4b) and another processor (2) are in an access state to each processor (2). And an access counter (2b) for counting the number of access requests to the memory pool (4).
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数のプロセッサを備
え、それらを並列に起動して処理を行うマルチプロセッ
サシステムに関し、特に共有メモリへ任意のプロセッサ
がアクセスしている際に、他のプロセッサがアクセスす
ることを防止する排他制御を行うマルチプロセッサシス
テムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system having a plurality of processors and activating them in parallel to perform processing. In particular, when any processor is accessing a shared memory, the other processors are processed. The present invention relates to a multiprocessor system that performs exclusive control to prevent access by a user.
【0002】[0002]
【従来の技術】計算機システムは、メモリ、プロセッ
サ、入出力装置等からなるハードウェア資源(以下、リ
ソースと記す)と、個々のタスクにリソースを割り当
て、その動作を制御する制御プログラム、すなわちソフ
トウェアとから構成されている。2. Description of the Related Art A computer system consists of a hardware resource (hereinafter referred to as a resource) consisting of a memory, a processor, an input / output device, etc., and a control program, ie software, for allocating the resource to each task and controlling its operation. It consists of
【0003】最近では、複数のタスクを単一のプロセッ
サで時分割多重方式により並列処理可能とする機能をソ
フトウェアにもたせたマルチタスク方式が知られてい
る。このマルチタスク方式では、複数のタスク間でリソ
ースを効率よく共用することが可能となり、演算処理を
高速に行え、計算機システム全体の処理能力を向上させ
るという利点がある。Recently, a multi-task system has been known in which a software has a function of enabling a plurality of tasks to be processed in parallel by a single processor by a time division multiplex system. The multitasking method has an advantage that resources can be efficiently shared among a plurality of tasks, the arithmetic processing can be performed at high speed, and the processing capacity of the entire computer system is improved.
【0004】しかし、近年では情報処理量が著しく増加
してきたために、一つのプロセッサでこれらの情報処理
を行うと非常に時間がかかるという問題が出てきたた
め、プロセッサを複数備えたマルチプロセッサシステム
が普及してきている。However, since the amount of information processing has increased remarkably in recent years, there has been a problem that it takes a very long time to perform such information processing by one processor. Therefore, a multiprocessor system having a plurality of processors has become widespread. I'm doing it.
【0005】このマルチプロセッサシステムには、主記
憶装置等のリソースを複数のプロセッサに共用させて運
用するものがある。この具体的な構成を図12に示す。In some multiprocessor systems, resources such as a main memory are shared by a plurality of processors for operation. This concrete structure is shown in FIG.
【0006】同図において、マルチプロセッサシステム
は、N個のプロセッサと、これらのプロセッサが共用す
べき共有メモリを共通バスにより接続して構成される。
ここで、前記した共有メモリは、独立した複数のメモリ
プール群から構成されており、複数のプロセッサが同時
に共有メモリの同一メモリプールにアクセスすることを
防止するため、すなわち、任意のプロセッサがメモリプ
ールにアクセスしている際に、他のプロセッサが同一の
メモリプールへアクセスすることを防止する排他制御が
行われる。In FIG. 1, the multiprocessor system is constructed by connecting N processors and a shared memory to be shared by these processors by a common bus.
Here, the shared memory is composed of a plurality of independent memory pool groups, and in order to prevent a plurality of processors from accessing the same memory pool of the shared memory at the same time, that is, an arbitrary processor has a memory pool. Exclusive access control is performed to prevent other processors from accessing the same memory pool while accessing the memory.
【0007】この排他制御とは、各メモリプールの先頭
アドレス領域に排他制御フラグを設け、このフラグが”
0”の場合は排他制御が行われておらずアクセスが可能
であることを示す。一方、このフラグが”1”の場合は
排他制御中、すなわち任意のプロセッサが当該メモリプ
ールにアクセス中であることを示すようにしている。In this exclusive control, an exclusive control flag is provided in the head address area of each memory pool, and this flag is set to "
When it is "0", it means that the exclusive control is not performed and the access is possible. On the other hand, when this flag is "1", the exclusive control is being performed, that is, an arbitrary processor is accessing the memory pool. I try to show that.
【0008】これにより、各プロセッサは、自身のアク
セスしようとするメモリプールの先頭アドレスの排他制
御フラグを参照して、このフラグが”0”ならば、当該
メモリプールにアクセスすると共に、このフラグを”
1”に変更する。そして、アクセス終了後に再びフラグ
を”0”に戻すという処理を行う。As a result, each processor refers to the exclusive control flag of the start address of the memory pool to which it accesses, and if this flag is "0", it accesses that memory pool and sets this flag. ”
The value is changed to 1 ”. Then, after the access is completed, the flag is set back to“ 0 ”again.
【0009】一方、アクセスしようとした際に排他制御
フラグが”1”の場合は、当該プロセッサはその起動を
一旦休止して一定時間経過後に再度排他制御フラグを参
照する。ここでフラグが”0”ならば当該メモリプール
にアクセスし、”1”ならば再び一定時間の休止を行
う。On the other hand, when the exclusive control flag is "1" when an access is attempted, the processor once suspends its activation and refers to the exclusive control flag again after a lapse of a certain time. Here, if the flag is "0", the memory pool is accessed, and if it is "1", a pause for a certain time is performed again.
【0010】これにより複数のプロセッサによる共有メ
モリの共用が行え、当該システムの処理をスムースに行
うことが可能となっている。As a result, the shared memory can be shared by a plurality of processors, and the processing of the system can be smoothly performed.
【0011】[0011]
【発明が解決しようとする課題】しかし、前記したシス
テムでは、任意のメモリプールにアクセスしているプロ
セッサがダウンした場合、排他制御フラグは”1”に固
定されたままとなり、他の正常なプロセッサが当該メモ
リプールにアクセスすることを妨害するという問題点が
あり、これにより当該システム全体の処理能力の低下を
招いていた。However, in the system described above, when the processor accessing an arbitrary memory pool goes down, the exclusive control flag remains fixed at "1" and other normal processors However, there is a problem in that the access to the memory pool is hindered, which causes a reduction in the processing capacity of the entire system.
【0012】そこで、本発明は、前記問題点に鑑みてな
されたものであり、排他制御中のプロセッサが何等かの
原因で障害を発生した場合、他のプロセッサがこれを認
識して当該排他制御を解除することにより、正常なプロ
セッサにより当該システムの処理を継続可能とし、シス
テム全体の処理能力を向上させるこを技術的課題とす
る。Therefore, the present invention has been made in view of the above problems, and when a processor under exclusive control fails for some reason, another processor recognizes the failure and the exclusive control is executed. By canceling the above, it is a technical subject to enable the normal processor to continue the processing of the system and improve the processing capacity of the entire system.
【0013】[0013]
【課題を解決するための手段】本発明は、前記課題を解
決するために以下のようにしたこれを図1の原理図に基
いて説明する。In order to solve the above-mentioned problems, the present invention will be described below with reference to the principle diagram of FIG.
【0014】本発明にかかるマルチプロセッサシステム
は、複数のメモリプール4を有する共有メモリ1と、複
数のプロセッサ2とから構成される。前記課題を解決す
る第一の手段は、各メモリプール4には、状態表示手段
4a、プロセッサID格納部4bを備える。The multiprocessor system according to the present invention comprises a shared memory 1 having a plurality of memory pools 4 and a plurality of processors 2. The first means for solving the above problem is that each memory pool 4 is provided with a status display means 4a and a processor ID storage section 4b.
【0015】一方、各プロセッサ2には、バッファ2
a、アクセスカウンタ2bを備える。上記した状態表示
手段4aは、当該メモリプール4が任意のプロセッサ2
によりアクセス状態にあるか否かを示す。On the other hand, each processor 2 has a buffer 2
a, access counter 2b. The above-mentioned status display means 4a is provided for the processor 2 whose memory pool 4 is arbitrary.
Indicates whether or not it is in the access state.
【0016】プロセッサID格納部4bは、当該メモリ
プール4にアクセスしているプロセッサ2を特定するプ
ロセッサIDを格納するものである。また、バッファ2
aは、プロセッサID格納部4bに格納されているプロ
セッサIDを複写・登録するものである。The processor ID storage unit 4b stores a processor ID that identifies the processor 2 that is accessing the memory pool 4. Also, buffer 2
a is for copying / registering the processor ID stored in the processor ID storage unit 4b.
【0017】アクセスカウンタ2bは、特定のメモリプ
ール4に対するアクセス要求の発行回数を計数する。さ
らに、各メモリプール4には、任意のプロセッサ2のア
クセスを許容した際にインクリメントされるカウンタ4
cを設けるようにしてもよい。The access counter 2b counts the number of times an access request is issued to a specific memory pool 4. Further, each memory pool 4 has a counter 4 that is incremented when access by an arbitrary processor 2 is permitted.
You may make it provide c.
【0018】次に、前記課題を解決するための第二の手
段として、各メモリプール4には、状態表示手段4a、
第1のプロセッサID格納部4b、第2のプロセッサI
D格納部4dを備える。Next, as a second means for solving the above problems, each memory pool 4 has a status display means 4a,
First processor ID storage unit 4b, second processor I
The D storage unit 4d is provided.
【0019】一方、各プロセッサ2には、バッファ2
a、アクセスカウンタ2bを備えるようにする。ここ
で、上記した状態表示手段4aは、前述の第1の解決手
段同様、当該メモリプール4が任意のプロセッサ2によ
りアクセス状態にあるか否かを示す。On the other hand, each processor 2 has a buffer 2
a and access counter 2b. Here, the state display unit 4a described above indicates whether or not the memory pool 4 is in an access state by an arbitrary processor 2 as in the case of the first solving unit described above.
【0020】第1のプロセッサID格納部4bは、当該
メモリプール4にアクセスしているプロセッサ2のプロ
セッサIDを格納するものである。第2のプロセッサI
D格納部4dは、当該メモリプール4にアクセスした状
態で障害を発生したプロセッサ2のプロセッサIDを格
納するものである。The first processor ID storage section 4b stores the processor ID of the processor 2 accessing the memory pool 4. Second processor I
The D storage unit 4d stores the processor ID of the processor 2 in which the failure has occurred while accessing the memory pool 4.
【0021】また、バッファ2aは、第1のプロセッサ
ID格納部4bに登録されているプロセッサIDを複写
・格納する。アクセスカウンタ2bは、当該メモリプー
ル4に対するアクセス要求の発行回数を計数するもので
ある。The buffer 2a also copies and stores the processor ID registered in the first processor ID storage unit 4b. The access counter 2b counts the number of access requests issued to the memory pool 4.
【0022】さらに、上記の状態表示手段4aに、第1
のプロセッサID格納部4bにプロセッサIDが格納さ
れている場合に、前記プロセッサIDに対応するプロセ
ッサ2によるアクセス状態を表示する機能を付加するよ
うにしてもよい。この場合、第1のプロセッサID格納
部4b及び第2のプロセッサID格納部4dの双方にプ
ロセッサIDが格納されているとき、当該メモリプール
4が二つのプロセッサ2により二重アクセス状態にある
旨を表示する機能を付加する。Further, the status display means 4a is provided with a first
When the processor ID is stored in the processor ID storage unit 4b, the function of displaying the access state by the processor 2 corresponding to the processor ID may be added. In this case, when the processor IDs are stored in both the first processor ID storage unit 4b and the second processor ID storage unit 4d, it is indicated that the memory pool 4 is in the double access state by the two processors 2. Add the function to display.
【0023】次に、前記課題を解決する第三の手段につ
いて以下に示す。各メモリプール4に、状態表示手段4
a、プロセッサID格納部4bを備える。Next, the third means for solving the above problems will be described below. Status display means 4 is provided in each memory pool 4.
a, processor ID storage unit 4b.
【0024】一方、各プロセッサ2には、照合手段2c
を備えるようにする。ここで、上記した状態表示手段4
aは、当該メモリプール4が任意のプロセッサ2により
アクセスされている状態か、いずれのプロセッサ2から
もアクセスされていない状態か、言い替えればアクセス
状態からアクセス可能状態かを表示する。On the other hand, each processor 2 has a matching means 2c.
Be prepared. Here, the status display means 4 described above
“A” indicates whether the memory pool 4 is being accessed by any processor 2, is not being accessed by any of the processors 2, or in other words, is accessible from the access state.
【0025】プロセッサID格納部4bは、当該メモリ
プール4がアクセス状態にあるとき、アクセスしている
プロセッサ2を特定するプロセッサIDを格納するもの
である。The processor ID storage unit 4b stores a processor ID for identifying the processor 2 that is accessing when the memory pool 4 is in an access state.
【0026】一方、プロセッサ2において、照合手段2
cは、プロセッサID格納部4bに登録されているプロ
セッサIDと自プロセッサIDとを照合する。On the other hand, in the processor 2, the matching means 2
The c collates the processor ID registered in the processor ID storage unit 4b with the own processor ID.
【0027】[0027]
【作用】本発明にかかる第一の手段によれば、プロセッ
サ2は、共有メモリ1の任意のメモリプール4へアクセ
スする際、そのメモリプール4の備える状態表示手段4
aを参照する。According to the first means of the present invention, when the processor 2 accesses an arbitrary memory pool 4 of the shared memory 1, the state display means 4 of the memory pool 4 is provided.
See a.
【0028】この状態表示手段4aにより当該メモリプ
ール4のアクセス可能状態が表示されている場合には、
当該プロセッサ2を特定するプロセッサIDを、プロセ
ッサID格納部4bに格納する。ここで、状態表示手段
4aは、当該メモリプール4のアクセス状態を表示す
る。When the accessible state of the memory pool 4 is displayed by the state display means 4a,
The processor ID that identifies the processor 2 is stored in the processor ID storage unit 4b. Here, the status display unit 4a displays the access status of the memory pool 4.
【0029】一方、状態表示手段4aが当該メモリプー
ルのアクセス状態を表示している場合には、アクセスカ
ウンタ2bをインクリメントすると共に、プロセッサI
D格納部4bのプロセッサIDをバッファ2aに複写・
格納する。On the other hand, when the status display means 4a is displaying the access status of the memory pool, the access counter 2b is incremented and the processor I
Copy the processor ID of the D storage unit 4b to the buffer 2a.
Store.
【0030】そして、所定時間経過後、当該プロセッサ
2は、前記のメモリプール4に対して再度のアクセス要
求を行う。つまり、状態表示手段4aを参照し、当該メ
モリプール4がアクセス状態にあるか、アクセス可能状
態にあるかを判別する。After a lapse of a predetermined time, the processor 2 makes another access request to the memory pool 4. That is, the state display unit 4a is referred to and it is determined whether the memory pool 4 is in the access state or the accessible state.
【0031】アクセス可能状態にあれば、上記同様に自
身のプロセッサIDをプロセッサID格納部4bに登録
し、当該メモリプール4にアクセスする。一方、他のプ
ロセッサによるアクセス状態にあれば、当該プロセッサ
2は、バッファ2aに格納したプロセッサIDとプロセ
ッサID格納部4bのプロセッサIDとを照合する。If it is in the accessible state, the processor ID of itself is registered in the processor ID storage section 4b and the memory pool 4 is accessed as described above. On the other hand, if the other processor is in an access state, the processor 2 collates the processor ID stored in the buffer 2a with the processor ID stored in the processor ID storage unit 4b.
【0032】ここで、双方のプロセッサIDが不一致の
場合には、上記アクセスカウンタ2bの値をリセット
し、上記同様の処理を繰り返す。また、双方のプロセッ
サIDが一致した場合には、このプロセッサIDに対応
するプロセッサ2に何等かの障害が発生したと判別す
る。そして、状態表示手段4aにアクセス可能状態を表
示させた後、プロセッサID格納部4bのプロセッサI
Dを自身のプロセッサIDに書き換える。これにより、
障害を発生したプロセッサ2による排他制御状態を解除
し、当該プロセッサ2がアクセス可能となる。If the two processor IDs do not match, the value of the access counter 2b is reset and the same processing as above is repeated. If the two processor IDs match, it is determined that some failure has occurred in the processor 2 corresponding to this processor ID. Then, after displaying the accessible state on the state display means 4a, the processor I of the processor ID storage unit 4b is displayed.
Rewrite D to its own processor ID. This allows
The exclusive control state by the faulty processor 2 is released, and the processor 2 becomes accessible.
【0033】次に、各メモリプール4にカウンタ4cを
設けた場合について説明する。任意のプロセッサ2は、
メモリプール4にアクセスする際、状態表示手段4aを
参照する。そして、当該メモリプール4が他のプロセッ
サ2によりアクセス状態、すなわち排他制御状態にある
か否かを判別する。Next, the case where the counter 4c is provided in each memory pool 4 will be described. Any processor 2
When accessing the memory pool 4, the state display means 4a is referred to. Then, it is determined whether or not the memory pool 4 is in the access state, that is, the exclusive control state, by another processor 2.
【0034】ここで、当該メモリプール4がアクセス可
能状態にあれば、当該プロセッサ2は、プロセッサID
格納部4bに自プロセッサIDを格納する。このとき、
カウンタ4cの値はひとつインクリメントされる。Here, if the memory pool 4 is accessible, the processor 2 determines the processor ID.
The own processor ID is stored in the storage unit 4b. At this time,
The value of the counter 4c is incremented by one.
【0035】一方、当該メモリプール4が排他制御状態
にある場合は、プロセッサID格納部4bのプロセッサ
IDと共にカウンタ4cの値をバッファ2aに格納す
る。所定時間経過後、当該プロセッサ2は、前記のメモ
リプール4に対し再度のアクセス要求を行う。On the other hand, when the memory pool 4 is in the exclusive control state, the value of the counter 4c is stored in the buffer 2a together with the processor ID of the processor ID storage unit 4b. After the elapse of a predetermined time, the processor 2 makes another access request to the memory pool 4.
【0036】ここで、状態表示手段4aにアクセス可能
状態が表示されていれば、当該プロセッサ2は、当該メ
モリプール4にアクセス処理を行う。つまり、プロセッ
サID格納部4bに自プロセッサIDを格納したのち当
該メモリプール4にアクセスする。このときカウンタ4
cはひとつインクリメントされる。If the accessible state is displayed on the state display means 4a, the processor 2 executes the access process to the memory pool 4. That is, the processor ID storage unit 4b stores its own processor ID and then accesses the memory pool 4. At this time counter 4
c is incremented by one.
【0037】また、状態表示手段4aに排他制御状態が
表示されている場合には、当該プロセッサ2は、バッフ
ァ2aに格納したプロセッサIDとプロセッサID格納
部4bのプロセッサIDを照合すると共に、バッファ2
aに格納したカウンタ値とカウンタ4cのカウンタ値を
照合する。When the exclusive control status is displayed on the status display means 4a, the processor 2 collates the processor ID stored in the buffer 2a with the processor ID in the processor ID storage section 4b, and at the same time, the buffer 2
The counter value stored in a is compared with the counter value of the counter 4c.
【0038】ここで、プロセッサIDまたはカウンタ値
のいずれか一方が不一致の場合には、新規のプロセッサ
ID及びカウンタ値をバッァ2aに格納する。さらにア
クセスカウンタ2bの値をリセットした後、ひとつイン
クリメントする。If either the processor ID or the counter value does not match, the new processor ID and the new counter value are stored in the buffer 2a. Further, after resetting the value of the access counter 2b, it is incremented by one.
【0039】プロセッサID及びカウンタ値の双方が一
致した場合には、当該プロセッサ2は、アクセスカウン
タ2bの値をひとつインクリメントする。以上の動作を
繰り返し行い、アクセスカウンタ2bの値が特定値に達
した場合に、プロセッサID格納部4bのプロセッサI
Dに対応するプロセッサ2に何等かの障害が発生したこ
とを認識し、状態表示手段4aをアクセス可能状態に変
更する。その後、プロセッサID格納部4bに自プロセ
ッサIDを格納し、カウンタ4cをひとつインクリメン
トする。When both the processor ID and the counter value match, the processor 2 increments the value of the access counter 2b by one. The above operation is repeated, and when the value of the access counter 2b reaches a specific value, the processor I of the processor ID storage unit 4b is processed.
It recognizes that some failure has occurred in the processor 2 corresponding to D, and changes the state display means 4a to the accessible state. After that, the processor ID storage unit 4b stores its own processor ID, and the counter 4c is incremented by one.
【0040】本発明にかかる第二の手段によれば、プロ
セッサ2は、メモリプール4にアクセスする際、状態表
示手段4aを参照する。これにより、当該メモリプール
4が他のプロセッサ2により、アクセス状態であるか、
すなわち排他制御状態にあるか否かを判別する。According to the second means of the present invention, the processor 2 refers to the status display means 4a when accessing the memory pool 4. As a result, whether the memory pool 4 is being accessed by another processor 2,
That is, it is determined whether or not the exclusive control state is set.
【0041】当該メモリプール4がアクセス可能状態の
場合は、第1のプロセッサID格納部4bに自プロセッ
サ2のプロセッサIDを格納する。一方、当該メモリプ
ール4が排他制御状態にある場合には、第1のプロセッ
サID格納部4bのプロセッサIDを前記バッファ2a
に格納する(1回目のみ)と共にアクセスカウンタ2b
の値をひとつインクリメントする。When the memory pool 4 is accessible, the processor ID of its own processor 2 is stored in the first processor ID storage section 4b. On the other hand, when the memory pool 4 is in the exclusive control state, the processor ID of the first processor ID storage unit 4b is set to the buffer 2a.
To the access counter 2b (only for the first time)
Increment the value of.
【0042】その後、所定時間経過した際に再度のアク
セス要求を発行する。そして、この処理を繰り返し行
い、アクセスカウンタ2bの値が特定値に達した場合、
当該プロセッサ2は、バッファ2aに格納したプロセッ
サIDと第1のプロセッサID格納部4bのプロセッサ
IDとを照合する。After that, when a predetermined time has elapsed, another access request is issued. Then, when this process is repeated and the value of the access counter 2b reaches a specific value,
The processor 2 collates the processor ID stored in the buffer 2a with the processor ID in the first processor ID storage unit 4b.
【0043】ここで、双方のプロセッサIDが一致した
場合には、第1のプロセッサID格納部4bのプロセッ
サIDに対応するプロセッサ2に、何等かの障害が発生
したと判別する。そして、このプロセッサIDを第2の
プロセッサID格納部4dに格納し、状態表示手段4a
にアクセス可能状態を表示させる。これにより、当該プ
ロセッサ2は、自プロセッサIDを第1のプロセッサI
D格納部4bへ格納し、当該メモリプール4へアクセス
することが可能となる。If the two processor IDs match, it is determined that some failure has occurred in the processor 2 corresponding to the processor ID in the first processor ID storage section 4b. Then, this processor ID is stored in the second processor ID storage section 4d, and the status display means 4a is stored.
To display the accessible status. As a result, the processor 2 assigns its own processor ID to the first processor I.
It becomes possible to store the data in the D storage unit 4b and access the memory pool 4.
【0044】ここで、本発明では、障害発生プロセッサ
による排他制御を強制的に解除した場合、第1のプロセ
ッサID格納部4b及び第2のプロセッサID格納部4
dの双方にプロセッサIDが格納されることとなり、こ
の状態(二重アクセス状態)を、前記の状態表示手段4
aにより表示可能としている。これにより、任意のメモ
リプール4に対するアクセスを終了する際に、プロセッ
サ2は、第1のプロセッサID格納部4b及び第2のプ
ロセッサID格納部4dを参照する。Here, in the present invention, when the exclusive control by the faulty processor is forcibly released, the first processor ID storage unit 4b and the second processor ID storage unit 4 are
Since the processor IDs are stored in both d, this state (double access state) is displayed in the state display means 4 described above.
It can be displayed by a. As a result, when ending the access to the arbitrary memory pool 4, the processor 2 refers to the first processor ID storage unit 4b and the second processor ID storage unit 4d.
【0045】ここで、第1のプロセッサID格納部4b
のみプロセッサIDが格納されている場合は、このプロ
セッサIDと自プロセッサIDの一致を確認後、当該プ
ロセッサIDを消去し、当該メモリプール4に対するア
クセスを終了する。Here, the first processor ID storage unit 4b
If only the processor ID is stored, the processor ID is erased after confirming that the processor ID and the own processor ID match, and the access to the memory pool 4 is terminated.
【0046】また、第1のプロセッサID格納部4b及
び第2のプロセッサID格納部4dの双方にプロセッサ
IDが格納されている場合は、自プロセッサIDと、前
記第1のプロセッサID格納部4b及び第2のプロセッ
サID格納部4dの各々のプロセッサIDとを比較す
る。When the processor IDs are stored in both the first processor ID storage unit 4b and the second processor ID storage unit 4d, the self processor ID and the first processor ID storage unit 4b and The respective processor IDs of the second processor ID storage unit 4d are compared.
【0047】ここで、自プロセッサIDと第2のプロセ
ッサID格納部4dのプロセッサIDが一致した場合に
は、第2のプロセッサID格納部4dから自プロセッサ
IDを消去する。If the self processor ID and the processor ID of the second processor ID storage unit 4d match, the self processor ID is erased from the second processor ID storage unit 4d.
【0048】一方、自プロセッサIDと第1のプロセッ
サID格納部4bのプロセッサIDと一致した場合に
は、このプロセッサIDを消去すると共に、第2のプロ
セッサID格納部4dのプロセッサIDを第1のプロセ
ッサID格納部4bに格納させる。On the other hand, when the own processor ID matches the processor ID in the first processor ID storage unit 4b, this processor ID is deleted and the processor ID in the second processor ID storage unit 4d is set to the first processor ID. It is stored in the processor ID storage unit 4b.
【0049】これにより、任意のメモリプールにアクセ
スしているプロセッサが何等かの原因で障害を発生した
場合、このメモリプールにアクセスしようとするプロセ
ッサが前記プロセッサの障害発生を認識して当該メモリ
プールにかかる排他制御を解除することができる。従っ
て、他の正常なプロセッサは当該メモリプールにアクセ
スすることが可能となる。As a result, when a processor accessing an arbitrary memory pool fails for some reason, the processor trying to access this memory pool recognizes the occurrence of the failure of the processor, and the memory pool concerned is recognized. It is possible to release the exclusive control related to. Therefore, another normal processor can access the memory pool.
【0050】次に、本発明にかかる第三の手段によれ
ば、プロセッサ2は、障害発生から再立ち上げされた際
に、共有メモリ1の各メモリプール4にアクセスする。
そして、各メモリプール4において、状態表示手段4a
を参照し、当該メモリプールが任意のプロセッサ2によ
りアクセス状態にあるか否かを判別する。Next, according to the third means of the present invention, the processor 2 accesses each memory pool 4 of the shared memory 1 when the processor 2 is restarted from the occurrence of a failure.
Then, in each memory pool 4, the status display means 4a
It is determined whether or not the memory pool is being accessed by any processor 2 by referring to.
【0051】当該メモリプール4がアクセス状態にある
場合に、照合手段2cは、このメモリプール4のプロセ
ッサID格納部4bに格納されているプロセッサIDと
自プロセッサIDとを照合する。When the memory pool 4 is in the access state, the collating means 2c collates the processor ID stored in the processor ID storage section 4b of this memory pool 4 with its own processor ID.
【0052】ここで、自プロセッサIDと前記メモリプ
ール4にアクセスしているプロセッサ2のプロセッサI
Dとが一致した場合、当該プロセッサ2は、前記状態表
示手段4aをアクセス可能状態に書き換えると共に、プ
ロセッサID格納部4bのプロセッサIDを消去する。Here, the self processor ID and the processor I of the processor 2 accessing the memory pool 4
When D matches, the processor 2 rewrites the status display unit 4a to the accessible state and erases the processor ID in the processor ID storage unit 4b.
【0053】以上、第三の手段によれば、任意のプロセ
ッサが、メモリプールを排他制御中に障害を発生した場
合、そのプロセッサは、障害修復後に自身が排他制御し
ていたメモリプールを自動的に検出可能である。さら
に、そのメモリプールの排他制御を解除することができ
る。As described above, according to the third means, when an arbitrary processor fails during exclusive control of a memory pool, that processor automatically executes the memory pool which it has been in exclusive control after the failure is repaired. Can be detected. Further, the exclusive control of the memory pool can be released.
【0054】[0054]
【実施例】以下に、本発明の具体的な実施例について説
明する。EXAMPLES Specific examples of the present invention will be described below.
【0055】[0055]
【実施例1】本実施例1におけるマルチプロセッサシス
テムの概略構成を図2に示す。本実施例1におけるマル
チプロセッサシステムは、第1〜第N(N:自然数)の
N個のプロセッサ5と、単一の共有メモリ6とからな
る。First Embodiment FIG. 2 shows a schematic configuration of a multiprocessor system according to the first embodiment. The multiprocessor system according to the first embodiment includes N first to Nth (N: natural number) N processors 5 and a single shared memory 6.
【0056】前記共有メモリ6は、相互に独立したアド
レスをもつ第1から第3メモリプールにより構成され
る。この具体的な説明は後述する。そして、本実施例1
においては、任意のメモリプール7に任意のプロセッサ
5がアクセスしている際に、他のプロセッサ5がこのメ
モリプール7へアクセスすることを防止する排他制御を
行っている。The shared memory 6 comprises first to third memory pools having mutually independent addresses. This specific description will be described later. Then, the first embodiment
In (1), when any processor 5 is accessing any memory pool 7, exclusive control is performed to prevent another processor 5 from accessing this memory pool 7.
【0057】図3は、本実施例1におけるメモリプール
の内部構成ブロック図をである。本実施例におけるメモ
リプール7は、排他制御領域8とデータ領域9とから構
成される。FIG. 3 is a block diagram of the internal structure of the memory pool in the first embodiment. The memory pool 7 in this embodiment is composed of an exclusive control area 8 and a data area 9.
【0058】前記した排他制御領域8は、当該メモリプ
ール7に任意のプロセッサ5がアクセスした際に行われ
る排他制御情報を格納するための領域であり、本発明に
かかる状態表示手段としてのフラグビット8a、及びプ
ロセッサID格納部8bとから構成される。The exclusive control area 8 is an area for storing exclusive control information performed when an arbitrary processor 5 accesses the memory pool 7, and is a flag bit as a status display means according to the present invention. 8a and a processor ID storage unit 8b.
【0059】フラグビット8aは、当該メモリプール7
にアクセスしているプロセッサ5があるか否か、すなわ
ち排他制御中であるか否かを表すものであり、排他制御
中であれば”1”、アクセス可能状態にあれば”0”を
立たせる。The flag bit 8a indicates the memory pool 7 concerned.
It indicates whether or not there is a processor 5 that is accessing the device, that is, whether or not exclusive control is being performed. When exclusive control is being performed, "1" is set, and when it is accessible, "0" is set. .
【0060】プロセッサID格納部8bは、当該メモリ
プール7にアクセスしているプロセッサ5を特定するプ
ロセッサIDを格納する領域であり、アクセスしている
プロセッサ5が存在しない場合、すなわち当該メモリプ
ール7がアクセス可能状態にある場合はリセット状態”
0”とする。The processor ID storage section 8b is an area for storing a processor ID for identifying the processor 5 accessing the memory pool 7, and when there is no processor 5 accessing the memory pool 7, that is, the memory pool 7 is Reset state if accessible ”
0 ".
【0061】次に、図4は、本実施例1におけるプロセ
ッサの内部構成ブロック図である。本実施例1における
プロセッサ5は、当該プロセッサ5に割り当てられたタ
スク10と、オペレーティングシステム部14、アクセ
スカウンタ11、タイマ12、バッファ13とから構成
される。Next, FIG. 4 is a block diagram of the internal configuration of the processor according to the first embodiment. The processor 5 according to the first embodiment includes a task 10 assigned to the processor 5, an operating system unit 14, an access counter 11, a timer 12, and a buffer 13.
【0062】タスク10は、当該プロセッサ5に任意の
処理命令を発行するものである。オペレーティングシス
テム部14は、当該プロセッサ5の基本動作を管理する
ものである。The task 10 issues an arbitrary processing instruction to the processor 5. The operating system unit 14 manages the basic operation of the processor 5.
【0063】アクセスカウンタ11は、当該プロセッサ
5が他のプロセッサ5により排他制御状態にある特定の
メモリプール7にアクセス要求を行った回数を計数する
ためのものである。The access counter 11 is for counting the number of times that the processor 5 has issued an access request to a specific memory pool 7 in the exclusive control state by another processor 5.
【0064】タイマ12は、排他制御中のメモリプール
7にアクセス要求を行った場合、再度アクセス要求を行
うまでの待機時間を計時するものである。バッファ13
は、当該プロセッサ5が排他制御中のメモリプール7に
アクセス要求を行った際に、その排他制御を行っている
プロセッサを特定するプロセッサIDを前記プロセッサ
ID格納部8bから読み出しこれを格納するためのもの
である。When an access request is made to the memory pool 7 under exclusive control, the timer 12 measures the waiting time until the access request is made again. Buffer 13
When the processor 5 issues an access request to the memory pool 7 under exclusive control, the processor ID for identifying the processor under exclusive control is read from the processor ID storage unit 8b and stored therein. It is a thing.
【0065】次に、本実施例1における排他制御自動解
除の動作過程を図5のフローチャート図に基いて説明す
る。本実施例1におけるプロセッサ5のタスク10が共
有メモリ獲得システムコールを発行すると(ステップ5
01)、同プロセッサ5内のオペレーティングシステム
部14が共有メモリ6と当該プロセッサ5とを接続する
バスをロックする(ステップ502)。Next, the operation process of exclusive control automatic cancellation in the first embodiment will be described with reference to the flowchart of FIG. When task 10 of processor 5 in the first embodiment issues a shared memory acquisition system call (step 5)
01), the operating system unit 14 in the processor 5 locks the bus connecting the shared memory 6 and the processor 5 (step 502).
【0066】次に、当該オペレーティングシステム部1
4は、共有メモリ内の該当メモリプール7にアクセス
し、排他制御領域8のフラグビット8aを参照し、排他
制御中(フラグビット8aは”1”)か、アクセス可能
状態(フラグビット8aは”0”)かを認識する(ステ
ップ503)。ここで、フラグビット8aが”1”の場
合、すなわち排他制御中の場合は、オペレーティングシ
ステム部14は排他制御領域8内のプロセッサID格納
部8bのプロセッサIDを読み込んで、これを当該プロ
セッサ5内のバッファ13に格納させる(1回目のみ)
と共に、アクセスカウンタ11の値をインクリメントす
る(ステップ504)。さらに、当該プロセッサ5と共
有メモリ7とを接続するバスのロックを解除する(ステ
ップ505)。Next, the operating system section 1
4 refers to the flag bit 8a of the exclusive control area 8 by accessing the corresponding memory pool 7 in the shared memory, and is under exclusive control (flag bit 8a is "1") or accessible (flag bit 8a is " 0 ") is recognized (step 503). Here, when the flag bit 8a is "1", that is, when the exclusive control is being performed, the operating system unit 14 reads the processor ID of the processor ID storage unit 8b in the exclusive control area 8 and stores it in the processor 5 concerned. To be stored in the buffer 13 (only for the first time)
At the same time, the value of the access counter 11 is incremented (step 504). Further, the lock of the bus connecting the processor 5 and the shared memory 7 is released (step 505).
【0067】そして、オペレーティングシステム部14
は、タイマ12を起動させて一定時間の休止状態にはい
る。タイマ12の計時終了後、前記アクセスカウンタ1
1の値を参照して、特定値に達しているか否かを判別す
る(ステップ507)。The operating system unit 14
Starts the timer 12 and enters a sleep state for a fixed time. After the timer 12 has finished measuring time, the access counter 1
The value of 1 is referred to, and it is determined whether or not it has reached a specific value (step 507).
【0068】ここで、特定値に達していなければ上記し
たステップ502以降の処理を繰り返し行い、特定値に
達していれば、当該プロセッサ5のオペレーティングシ
ステム部14は、共有メモリ6のバスロックを行った
後、共有メモリ6内の該当メモリプール7の排他制御領
域にアクセスし、フラグビット8aの値を”0”にする
と共に、プロセッサID格納部8bをリセット(”
0”)にする(ステップ509)。Here, if the specified value is not reached, the above-mentioned processing from step 502 is repeated, and if the specified value is reached, the operating system unit 14 of the processor 5 locks the shared memory 6 with the bus. After that, the exclusive control area of the corresponding memory pool 7 in the shared memory 6 is accessed, the value of the flag bit 8a is set to "0", and the processor ID storage unit 8b is reset ("
0 ") (step 509).
【0069】そして、当該オペレーティングシステム部
14は、該当メモリプール7の排他制御領域内のフラグ
ビット8aの値を”1”にし、さらにプロセッサID格
納部8bに自身のプロセッサIDを書き込む(ステップ
510)。Then, the operating system unit 14 sets the value of the flag bit 8a in the exclusive control area of the corresponding memory pool 7 to "1", and further writes its own processor ID in the processor ID storage unit 8b (step 510). .
【0070】オペレーティングシステム部14は、当該
プロセッサ5と共有メモリ6とを結ぶバスのロックを解
除し(ステップ511)、当該システムコールにかかる
処理を行う(ステップ512)。The operating system unit 14 unlocks the bus connecting the processor 5 and the shared memory 6 (step 511), and performs the processing related to the system call (step 512).
【0071】上記の処理を終了後、オペレーティングシ
ステム部14は、メモリプール7内の排他制御領域のフ
ラグビット8aの値を”1”から”0”へ変換し、プロ
セッサID格納部8bをリセット(”0”)する(ステ
ップ513)。After the above processing is completed, the operating system unit 14 converts the value of the flag bit 8a of the exclusive control area in the memory pool 7 from "1" to "0" and resets the processor ID storage unit 8b ( "0") (step 513).
【0072】上記のステップ503において、フラグビ
ット8aの値が”0”の場合、オペレーティングシステ
ム部14は、上記のステップ510以降の処理を行う。
従って、本実施例1によれば、同一のプロセッサが特定
のメモリプールに所定時間以上アクセスしていると、こ
れを他のプロセッサが認識して前記プロセッサに障害が
発生したこを認識し、かかるメモリプールの排他制御を
解除することができる。これにより、他の正常なプロセ
ッサに影響を与えることなく、当該マルチプロセッサシ
ステムの処理を継続することができる。When the value of the flag bit 8a is "0" in the above step 503, the operating system section 14 performs the processing of the above step 510 and thereafter.
Therefore, according to the first embodiment, when the same processor accesses a specific memory pool for a predetermined time or longer, another processor recognizes this and recognizes that a failure has occurred in the processor. Exclusive control of the memory pool can be released. As a result, the processing of the multiprocessor system can be continued without affecting other normal processors.
【0073】[0073]
【実施例2】本実施例2におけるマルチプロセッサシス
テムの構成は、N個のプロセッサ5及び単一の共有メモ
リ6とからなる。Second Embodiment The configuration of a multiprocessor system according to the second embodiment is composed of N processors 5 and a single shared memory 6.
【0074】各プロセッサ5の構成は、前述の実施例1
と同様であり、タスク10、オペレーティングシステム
部14、アクセスカウンタ11、タイマ12、バッファ
13とからなる。The configuration of each processor 5 is the same as that of the first embodiment.
And is composed of a task 10, an operating system unit 14, an access counter 11, a timer 12, and a buffer 13.
【0075】図6に、本実施例2におけるメモリプール
7の内部構成ブロックを示す。本実施例2におけるメモ
リプール7は、前述の実施例1に対して、排他制御領域
8にカウンタ8cを設けてある。その他の構成は、前述
の実施例1と同様であり、排他制御部8は、フラグビッ
ト8a、プロセッサID格納部8bを有し、データ領域
9は、複数のメモリプールからなる。FIG. 6 shows the internal configuration blocks of the memory pool 7 in the second embodiment. The memory pool 7 according to the second embodiment has a counter 8c in the exclusive control area 8 as compared with the first embodiment. Other configurations are the same as those in the first embodiment described above, the exclusive control unit 8 has a flag bit 8a and a processor ID storage unit 8b, and the data area 9 is composed of a plurality of memory pools.
【0076】当該カウンタ8cは、当該メモリプール7
にアクセスを許可されたプロセッサ5によりインクリメ
ントされるもので、すなわち当該メモリプール7を排他
制御したプロセッサ5毎にインクリメントされる。The counter 8c corresponds to the memory pool 7
Is incremented by the processor 5 that is permitted to access the memory pool, that is, incremented for each processor 5 that exclusively controls the memory pool 7.
【0077】図7は、本実施例2における排他制御自動
解除の動作過程を示すフローチャート図である。プロセ
ッサ5では、自身に割り当てられたタスク10が共有メ
モリ獲得システムコールを発行すると(ステップ70
1)、当該プロセッサ5のオペレーティングシステム部
14が当該プロセッサ5と共有メモリ6とを接続するバ
スをロックする(ステップ702)。FIG. 7 is a flow chart showing the operation process of exclusive control automatic cancellation in the second embodiment. In the processor 5, when the task 10 assigned to itself issues a shared memory acquisition system call (step 70).
1) The operating system unit 14 of the processor 5 locks the bus connecting the processor 5 and the shared memory 6 (step 702).
【0078】当該オペレーティングシステム部14は、
前記システムコールにかかるメモリプール7へアクセス
要求を行い、このメモリプール7の排他制御領域8内の
フラグビット8aを参照し、当該メモリプール7が排他
制御中か否かを判別する(ステップ703)。The operating system section 14 is
An access request is made to the memory pool 7 related to the system call, and the flag bit 8a in the exclusive control area 8 of the memory pool 7 is referred to determine whether or not the memory pool 7 is under exclusive control (step 703). .
【0079】ここで、当該メモリプール7が排他制御中
の場合、すなわち、前記フラグビット8aが”1”の場
合、オペレーティングシステム部14は、排他制御領域
内のプロセッサID格納部のプロセッサID及びカウン
タ8cのカウンタ値を当該バッファ13に格納させる
(1回目のみ)と共に、自身のアクセスカウンタ11を
インクリメントする(ステップ704)。Here, when the memory pool 7 is under exclusive control, that is, when the flag bit 8a is "1", the operating system unit 14 determines the processor ID and the counter of the processor ID storage unit in the exclusive control area. The counter value of 8c is stored in the buffer 13 (only for the first time), and the access counter 11 of itself is incremented (step 704).
【0080】そして、オペレーティングシステム部14
は、当該プロセッサ5と共有メモリ6とを接続するバス
のロックを解除し(ステップ705)、タイマ12を起
動させて特定時間の休止状態にはいる(ステップ70
6)。The operating system unit 14
Unlocks the bus connecting the processor 5 and the shared memory 6 (step 705), activates the timer 12, and enters a sleep state for a specific time (step 70).
6).
【0081】前記タイマ12の計時終了後、オペレーテ
ィングシステム部14は、アクセスカウンタ11を参照
して前記メモリプール7に対するアクセス要求を指定回
数行った否かを判別する(ステップ707)。ここで、
指定回数に満たない場合は、前述のステップ702以降
の処理を繰り返し行う。After the timer 12 finishes measuring the time, the operating system unit 14 refers to the access counter 11 to determine whether or not the access request to the memory pool 7 has been made a specified number of times (step 707). here,
If the number of times is less than the specified number of times, the processing from step 702 described above is repeated.
【0082】一方、指定回数に達している場合は、プロ
セッサID格納部8bのプロセッサID及びカウンタ8
cのカウンタ値と、当該バッファ13に格納されている
プロセッサID及びカウンタ値とを比較し(ステップ7
08)、いずれか一方が不一致の場合は新規のプロセッ
サID及びカウンタ値を当該バッファ13に格納し、自
身のアクセスカウンタ11をリセット後1つインクリメ
ントし、その後前述のステップ702以降の処理を繰り
返し行う。On the other hand, if the specified number of times has been reached, the processor ID and the counter 8 in the processor ID storage section 8b are counted.
The counter value of c is compared with the processor ID and the counter value stored in the buffer 13 (step 7
08), if any one of them does not match, the new processor ID and the counter value are stored in the buffer 13, the access counter 11 of its own is reset and incremented by one, and then the processes of step 702 and thereafter are repeated. .
【0083】一方、それぞれが一致した場合は、オペレ
ーティングシステム部14は、共有メモリ6のバスロッ
クを行った後、共有メモリ6内の該当メモリプール7の
排他制御領域8のフラグビット8aを”1”から”0”
に変更し、プロセッサID格納部8bをリセットする
(ステップ709)。On the other hand, if they match each other, the operating system unit 14 locks the shared memory 6 by bus and then sets the flag bit 8a of the exclusive control area 8 of the corresponding memory pool 7 in the shared memory 6 to "1". From "0"
And the processor ID storage unit 8b is reset (step 709).
【0084】さらに、当該オペレーティングシステム部
14は、該当メモリプール7の排他制御領域8内のフラ
グビット8aを”1”にすると共に、プロセッサID格
納部8bに自身のプロセッサIDを書き込み、カウンタ
8cをインクリメントする(ステップ710)。Further, the operating system unit 14 sets the flag bit 8a in the exclusive control area 8 of the corresponding memory pool 7 to "1", writes the processor ID of itself in the processor ID storage unit 8b, and sets the counter 8c. Increment (step 710).
【0085】そして、オペレーティングシステム部14
は、共有メモリ6のバスロックを解除し(ステップ71
1)、当該システムコールにかかる処理を行う。(ステ
ップ712)。The operating system unit 14
Releases the bus lock of the shared memory 6 (step 71
1) Perform processing related to the system call. (Step 712).
【0086】前記処理を終了した後、オペレーティング
システム部14は、排他制御領域8内のフラグビット
を”1”を”0”に変更すると共に、プロセッサID格
納部8bをリセットする(ステップ713)。After the above processing is completed, the operating system unit 14 changes the flag bit in the exclusive control area 8 from "1" to "0" and resets the processor ID storage unit 8b (step 713).
【0087】したがって、本実施例2によれば、同一の
プロセッサが複数回特定メモリプールにアクセスしてい
るのか、または特定メモリプールに所定時間以上継続し
てアクセスしているのかを判別可能となり、所定時間以
上継続してアクセスしている場合には、そのプロセッサ
に障害が発生していることを認識することが可能とな
る。これにより、他の正常なプロセッサが当該メモリプ
ールへアクセスすることが可能となる。Therefore, according to the second embodiment, it is possible to determine whether the same processor is accessing the specific memory pool multiple times or continuously accessing the specific memory pool for a predetermined time or longer. When the access is continued for a predetermined time or longer, it is possible to recognize that the processor has a failure. As a result, another normal processor can access the memory pool.
【0088】[0088]
【実施例3】本実施例3におけるマルチプロセッサシス
テムの構成は、N個のプロセッサ5及び単一の共有メモ
リ6とからなる。Third Embodiment A multiprocessor system according to the third embodiment is composed of N processors 5 and a single shared memory 6.
【0089】各プロセッサ5の構成は、前述の実施例1
と同様であり、タスク10、オペレーティングシステム
部14、アクセスカウンタ11、タイマ12、バッファ
13とからなる。The configuration of each processor 5 is the same as that of the first embodiment.
And is composed of a task 10, an operating system unit 14, an access counter 11, a timer 12, and a buffer 13.
【0090】図8に、本実施例3におけるメモリプール
7の内部構成ブロックを示す。本実施例3におけるメモ
リプール7は、前述の実施例1に対して、排他制御領域
8内に、二つのプロセッサID格納部を設けてある。こ
こでは、一方を第1プロセッサID格納部8bとし、他
方を第2プロセッサID格納部8dとしてある。また、
本実施例3におけるフラグビット8aは、ふた桁と
し、”00”は当該メモリプール7にアクセス可能、”
01”は排他制御中、”11”は二重排他制御中(二重
アクセス状態)を示す。FIG. 8 shows internal configuration blocks of the memory pool 7 in the third embodiment. The memory pool 7 in the third embodiment has two processor ID storage units in the exclusive control area 8 as compared with the first embodiment. Here, one is the first processor ID storage 8b and the other is the second processor ID storage 8d. Also,
The flag bit 8a in the third embodiment has a double digit, and “00” can access the memory pool 7.
"01" indicates that exclusive control is in progress, and "11" indicates that dual exclusive control is in progress (double access state).
【0091】その他の構成は、前述の実施例1と同様
で、データ領域9は、複数のメモリプールからなる。前
記第1プロセッサID格納部8bは、当該メモリプール
7を排他制御しているプロセッサのプロセッサIDを格
納するものである。The other structure is the same as that of the first embodiment, and the data area 9 is composed of a plurality of memory pools. The first processor ID storage unit 8b stores the processor ID of the processor that exclusively controls the memory pool 7.
【0092】一方、第2プロセッサID格納部8dは、
当該メモリプール7を排他制御中に障害を発生したプロ
セッサのプロセッサIDを格納するものである。図9
は、本実施例3における共有メモリアクセス要求処理の
過程を示すフローチャート図である。On the other hand, the second processor ID storage section 8d
The processor ID of the processor in which a failure has occurred during exclusive control of the memory pool 7 is stored. Figure 9
FIG. 16 is a flowchart showing a process of shared memory access request processing in the third embodiment.
【0093】本実施例3において、プロセッサ5に割り
当てられたタスク10が共有メモリ6の獲得システムコ
ールを発行すると(ステップ901)、当該プロセッサ
5のオペレーティングシステム部14は当該プロセッサ
5と共有メモリ6を接続するバスをロックする(ステッ
プ902)。In the third embodiment, when the task 10 assigned to the processor 5 issues an acquisition system call for the shared memory 6 (step 901), the operating system unit 14 of the processor 5 sends the processor 5 and the shared memory 6 to each other. The bus to be connected is locked (step 902).
【0094】次に、オペレーティングシステム部14
は、共有メモリ6の該当メモリプール7内の排他制御領
域8を参照し、フラグビット8aが”00”か否かを判
別する(ステップ903)。Next, the operating system unit 14
Refers to the exclusive control area 8 in the corresponding memory pool 7 of the shared memory 6 to determine whether the flag bit 8a is "00" (step 903).
【0095】ここで、フラグビット8aが”00”の場
合には、共有メモリ6内の該当メモリプール7のフラグ
ビット8aを”01”にし、第1プロセッサID格納部
8bに自身のプロセッサIDを格納する(ステップ91
0)。Here, when the flag bit 8a is "00", the flag bit 8a of the corresponding memory pool 7 in the shared memory 6 is set to "01", and its own processor ID is stored in the first processor ID storage unit 8b. Store (step 91)
0).
【0096】そして、オペレーティングシステム部14
は、共有メモリ6のバスロックを解除し(ステップ91
1)、当該メモリプール7にアクセスして当該システム
コールにかかる処理を実行する(ステップ912)。The operating system unit 14
Releases the bus lock of the shared memory 6 (step 91
1), the memory pool 7 is accessed to execute the process related to the system call (step 912).
【0097】一方、前述のステップ903において、メ
モリプール7のフラグビット8aが”00”以外の場合
には、第1プロセッサID格納部8bに格納されている
プロセッサIDをバッファ13に格納する(1回目の
み)と共にアクセスカウンタ11の値をひとつインクリ
メントする(ステップ904)。On the other hand, when the flag bit 8a of the memory pool 7 is other than "00" in step 903, the processor ID stored in the first processor ID storage section 8b is stored in the buffer 13 (1 The value of the access counter 11 is incremented by one at the same time (step 904).
【0098】そして、オペレーティングシステム部14
は、一旦共有メモリ6のバスロックを解除し(ステップ
905)、タイマ12を起動させる(ステップ90
6)。ここで、タイマ12が一定時間を計時している
間、オペレーティングシステム部14は動作を休止す
る。The operating system unit 14
Releases the bus lock of the shared memory 6 (step 905) and starts the timer 12 (step 90).
6). Here, the operating system unit 14 suspends its operation while the timer 12 measures a certain time.
【0099】タイマ12が一定時間の計時を終了した際
に、オペレーティングシステム部14は、第1プロセッ
サID格納部8bのプロセッサIDとバッファ13に登
録したプロセッサIDとを照合し(ステップ907)、
一致しなかった場合は、前述のステップ902以降の処
理を行う。When the timer 12 finishes measuring the fixed time, the operating system section 14 collates the processor ID in the first processor ID storage section 8b with the processor ID registered in the buffer 13 (step 907).
If they do not match, the above-described processing from step 902 is performed.
【0100】一方、一致した場合は、オペレーティング
システム部14は、アクセスカウンタ11の値が指定値
に達したか否かを判別する(ステップ908)。アクセ
スカウンタ11の値が指定値に達した場合には、オペレ
ーティングシステム部14は、第1プロセッサID格納
部8bのプロセッサIDに対応するプロセッサ5に障害
が発生したと判別する。この場合、共有メモリ6内の該
当メモリプール7のフラグビット8aを”11”にし、
第1プロセッサID格納部8bのプロセッサIDを第2
プロセッサID格納部8dに格納すると共に、第1プロ
セッサID格納部8bに新たに自プロセッサ5のプロセ
ッサIDを格納する(ステップ909)。On the other hand, if they match, the operating system unit 14 determines whether or not the value of the access counter 11 has reached the designated value (step 908). When the value of the access counter 11 reaches the designated value, the operating system unit 14 determines that the processor 5 corresponding to the processor ID in the first processor ID storage unit 8b has failed. In this case, the flag bit 8a of the corresponding memory pool 7 in the shared memory 6 is set to "11",
The processor ID of the first processor ID storage unit 8b is set to the second
The processor ID storage unit 8d stores the new processor ID of its own processor 5 in the first processor ID storage unit 8b (step 909).
【0101】次にオペレーティングシステム部14は、
上記したステップ911以降の処理を行う。また、前述
のステップ908において、アクセスカウンタ11の値
が指定回数に達していない場合には、ステップ902以
降の処理を繰り返し行う。Next, the operating system unit 14
The processing from step 911 onwards is performed. If the value of the access counter 11 has not reached the specified number of times in step 908, the processing from step 902 onward is repeated.
【0102】次に、図10は、共有メモリ返却処理の過
程を示すフローチャート図である。プロセッサ5内のタ
スクが共有メモリ返却システムコールを発行すると(ス
テップ1001)、オペレーティングシステム部14は
当該プロセッサ5と共有メモリとを接続するバスをロッ
クする(ステップ1002)。Next, FIG. 10 is a flow chart showing the process of shared memory return processing. When a task in the processor 5 issues a shared memory return system call (step 1001), the operating system unit 14 locks the bus connecting the processor 5 and the shared memory (step 1002).
【0103】次に、当該オペレーティングシステム部1
4は、排他制御領域8内のフラグビット8aを参照し
て、”01”が立っているか、”11”が立っているか
を判別する(ステップ1003)。Next, the operating system section 1
4 refers to the flag bit 8a in the exclusive control area 8 and determines whether "01" is set or "11" is set (step 1003).
【0104】ここで、フラグビット8aが”01”の場
合は、本システムコールの発行元は、上記した図9にお
いてステップ910に対応するプロセッサ5であり、こ
のプロセッサ5のオペレーティングシステム部14は、
共有メモリ6へのバスロックを解除し(ステップ100
9)、当該システムコールにかかる処理を行う(ステッ
プ1010)。そして、オペレーティングシステム部1
4は、排他制御領域内のフラグビット”01”を”0
0”に変更すると共に、第1プロセッサID格納部8b
をリセットして”0”にする。このとき、当該排他制御
領域内では、フラグビット8aに”00”が立ち、第1
プロセッサID格納部8b及び第2プロセッサID格納
部8dはリセット状態”0”となる。When the flag bit 8a is "01", the issuer of this system call is the processor 5 corresponding to step 910 in FIG. 9 described above, and the operating system unit 14 of this processor 5 is
The bus lock to the shared memory 6 is released (step 100
9), the process related to the system call is performed (step 1010). And the operating system section 1
4 sets the flag bit "01" in the exclusive control area to "0"
0 "and the first processor ID storage unit 8b
Is reset to "0". At this time, in the exclusive control area, "00" is set in the flag bit 8a, and the first bit
The processor ID storage unit 8b and the second processor ID storage unit 8d are in the reset state "0".
【0105】一方、前述のステップ1003において、
フラグビット8aに”11”が立っている場合は、上記
の図9のステップ909に対応するプロセッサからの共
有メモリ返却処理であり、当該オペレーティングシステ
ム部14は、共有メモリ6へのバスロックを解除して
(ステップ1004)、排他制御領域8のフラグビッ
ト”11”から”01”に変更する(ステップ100
5)。On the other hand, in step 1003 described above,
If the flag bit 8a is set to "11", it means the shared memory return processing from the processor corresponding to the above step 909 of FIG. 9, and the operating system unit 14 releases the bus lock to the shared memory 6. Then (step 1004), the flag bit "11" of the exclusive control area 8 is changed to "01" (step 100).
5).
【0106】次に、オペレーティングシステム部14
は、当該プロセッサ5のプロセッサIDが排他制御領域
8の第1プロセッサID格納部8bのプロセッサIDと
一致するか、第2プロセッサID格納部8dのプロセッ
サIDと一致するかを判別する(ステップ1006)。Next, the operating system unit 14
Determines whether the processor ID of the processor 5 matches the processor ID of the first processor ID storage unit 8b of the exclusive control area 8 or the processor ID of the second processor ID storage unit 8d (step 1006). .
【0107】ここで、当該プロセッサ5のプロセッサI
Dが第2プロセッサID格納部8dのプロセッサIDと
一致した場合は、当該プロセッサ5は前述の図9におい
て障害を発生したプロセッサであり、共有メモリ返却処
理は当該プロセッサ5が障害から復帰した後に行われる
ものである。一方、当該プロセッサ5のプロセッサID
が第1プロセッサID格納部8bのプロセッサIDと一
致した場合は、当該プロセッサ5は前述の図9において
障害を発生したプロセッサによる排他制御を自動的に解
除させ、当該メモリプール7にアクセスしているプロセ
ッサである。Here, the processor I of the processor 5 is
If D matches the processor ID of the second processor ID storage unit 8d, the processor 5 is the processor in which the failure has occurred in FIG. 9 described above, and the shared memory return processing is performed after the processor 5 recovers from the failure. It is something that will be done. On the other hand, the processor ID of the processor 5
Is matched with the processor ID of the first processor ID storage unit 8b, the processor 5 automatically cancels the exclusive control by the failed processor in FIG. 9 and accesses the memory pool 7. It is a processor.
【0108】前述のステップ1006において、当該プ
ロセッサIDと第2プロセッサID格納部8dのプロセ
ッサIDとが一致した場合、当該プロセッサ5のオペレ
ーティングシステム部14は、第2プロセッサID格納
部8dをリセット”0”にし(ステップ1008)、当
該メモリプール7を返却する。In step 1006 described above, when the processor ID matches the processor ID of the second processor ID storage unit 8d, the operating system unit 14 of the processor 5 resets the second processor ID storage unit 8d to "0". "(1008), and the memory pool 7 is returned.
【0109】一方、前述のステップ1006において、
当該プロセッサIDと第1プロセッサID格納8bのプ
ロセッサIDとが一致した場合、当該プロセッサ5のオ
ペレーティングシステム部14は、第2プロセッサID
格納部8dのプロセッサIDを第1プロセッサID格納
部8bに格納させ、第2プロセッサID格納部8dをリ
セット”0”にして、当該メモリプール7を返却する
(ステップ1007)。On the other hand, in step 1006 described above,
When the processor ID and the processor ID in the first processor ID storage 8b match, the operating system unit 14 of the processor 5 determines that the second processor ID
The processor ID of the storage unit 8d is stored in the first processor ID storage unit 8b, the second processor ID storage unit 8d is reset to "0", and the memory pool 7 is returned (step 1007).
【0110】従って、本実施例3によれば、障害を発生
したプロセッサの排他制御状態を保持したまま、他の正
常なプロセッサが同一のメモリプールへアクセスするこ
とが可能であり、障害を発生したプロセッサは復帰した
時点で障害発生前の処理を継続して行うことができる。Therefore, according to the third embodiment, it is possible for another normal processor to access the same memory pool while maintaining the exclusive control state of the faulty processor, and the fault has occurred. When the processor recovers, it can continue the processing before the failure.
【0111】[0111]
【実施例4】本実施例4におけるマルチプロセッサシス
テムの構成は、N個のプロセッサ5及び単一の共有メモ
リ6とからなる。Fourth Embodiment A multiprocessor system according to the fourth embodiment is composed of N processors 5 and a single shared memory 6.
【0112】各プロセッサ5の構成は、前述の実施例1
と同様であり、タスク10、オペレーティングシステム
部14、アクセスカウンタ11、タイマ12、バッファ
13とからなる。ここで、本実施例4では、上記のオペ
レーティングシステム部14に、当該プロセッサ5によ
る排他制御中のメモリプールが存在するか否かを判別す
る機能を付加する。つまり、当該プロセッサ5が障害を
発生した当時排他制御状態にあったメモリプールを、再
立ち上げ後に検出し、この排他制御を自動的に解除す
る。The configuration of each processor 5 is the same as that of the first embodiment.
And is composed of a task 10, an operating system unit 14, an access counter 11, a timer 12, and a buffer 13. Here, in the fourth embodiment, a function of determining whether or not there is a memory pool under exclusive control by the processor 5 is added to the operating system unit 14 described above. That is, the memory pool that was in the exclusive control state at the time when the processor 5 failed is detected after restarting, and this exclusive control is automatically released.
【0113】本実施例4におけるプロセッサ5の動作過
程を図11のフローチャートに基づいて説明する。オペ
レーティングシステム部14は、共有メモリ6内のメモ
リプール7に上位から順次アクセスし、各メモリプール
7のフラグビット8aを参照する(ステップ110
1)。The operation process of the processor 5 in the fourth embodiment will be described with reference to the flowchart of FIG. The operating system unit 14 sequentially accesses the memory pool 7 in the shared memory 6 from the upper level and refers to the flag bit 8a of each memory pool 7 (step 110).
1).
【0114】そして、任意のメモリプール7にアクセス
した際に、オペレーティングシステム部14は、当該メ
モリプール7のフラグビット8aが”1”か否かを判別
する(ステップ1102)。ここで、フラグビット8a
が”0”の場合には、次のメモリプール7へアクセス
し、フラグビット8aが”1”の場合には、当該メモリ
プール7内の第1プロセッサID格納部8bにアクセス
する。そして、第1プロセッサID格納部8bに格納さ
れているプロセッサIDと自プロセッサ5のプロセッサ
IDとを照合する(ステップ1103)。When an arbitrary memory pool 7 is accessed, the operating system section 14 determines whether the flag bit 8a of the memory pool 7 is "1" (step 1102). Here, the flag bit 8a
Is 0, the next memory pool 7 is accessed, and if the flag bit 8a is 1, the first processor ID storage unit 8b in the memory pool 7 is accessed. Then, the processor ID stored in the first processor ID storage unit 8b is compared with the processor ID of the own processor 5 (step 1103).
【0115】ここで、双方のプロセッサIDが不一致の
場合には、次のメモリプール7へアクセスし、双方のプ
ロセッサIDが一致する場合には、当該メモリプール7
の返却処理を行う。すなわち、当該メモリプール7の返
却システムコールを発行し、当該メモリプール7の排他
制御を解除する(ステップ1104)。If both processor IDs do not match, the next memory pool 7 is accessed. If both processor IDs match, the memory pool 7 concerned is accessed.
Will be returned. That is, the return system call for the memory pool 7 is issued and the exclusive control of the memory pool 7 is released (step 1104).
【0116】次に、当該オペレーティングシステム部1
4は、前記メモリプール7内の排他制御領域8内のフラ
グビット8a及びプロセッサID格納部8bをリセット
し、双方を”0”にする(ステップ1105)。Next, the operating system section 1
4 resets the flag bit 8a and the processor ID storage 8b in the exclusive control area 8 in the memory pool 7 and sets both to "0" (step 1105).
【0117】個々で、オペレーティングシステム部14
は、前記メモリプール7が当該共有メモリ6の最下位の
メモリプール7であるか否かを判別する(ステップ11
06)。Each operating system unit 14
Determines whether the memory pool 7 is the lowest memory pool 7 of the shared memory 6 (step 11).
06).
【0118】当該メモリプール7が最下位の場合には、
当該返却処理を終了する。一方、当該メモリプール7よ
り下位のメモリプール7が存在する場合には、そのメモ
リプール7にアクセスし、前述のステップ1102以降
の処理を繰り返し行う。If the memory pool 7 is the lowest,
The return process ends. On the other hand, if there is a memory pool 7 lower than the memory pool 7, the memory pool 7 is accessed, and the processing from step 1102 above is repeated.
【0119】以上、本実施例4によれば、障害を発生し
たプロセッサは、障害のデバック処理終了後に、自プロ
セッサの排他制御状態にあるメモリプールを自動的に検
索してそのメモリプールに対する排他制御を解除可能と
なる。As described above, according to the fourth embodiment, the faulty processor automatically searches for the memory pool in the exclusive control state of its own processor after completion of the fault debugging process, and performs the exclusive control on the memory pool. Can be released.
【0120】[0120]
【発明の効果】本発明によれば、複数のプロセッサによ
り単一の共有メモリを共有するマルチプロセッサシステ
ムにおいて、任意のプロセッサが共有メモリにアクセス
した状態で障害を発生した場合、他の正常なプロセッサ
がこれを認識して障害を発生したプロセッサの排他制御
を自動的に解除し、正常なプロセッサは継続して処理を
実行することができる。これによりマルチプロセッサシ
ステム全体の処理能力が向上する。According to the present invention, in a multiprocessor system in which a single shared memory is shared by a plurality of processors, if a failure occurs while any processor is accessing the shared memory, another normal processor is activated. Recognizing this, the exclusive control of the faulty processor is automatically released, and the normal processor can continuously execute the processing. This improves the processing capability of the multiprocessor system as a whole.
【図1】本発明の原理図FIG. 1 is a principle diagram of the present invention.
【図2】本実施例1におけるマルチプロセッサシステム
の概略構成ブロック図FIG. 2 is a schematic configuration block diagram of a multiprocessor system according to the first embodiment.
【図3】本実施例1におけるメモリプールの内部構成ブ
ロック図FIG. 3 is a block diagram of an internal configuration of a memory pool according to the first embodiment.
【図4】本実施例1におけるプロセッサの内部構成ブロ
ック図FIG. 4 is an internal configuration block diagram of a processor according to the first embodiment.
【図5】本実施例1における排他制御自動解除の動作過
程を示すフローチャート図FIG. 5 is a flowchart showing an operation process of exclusive control automatic cancellation in the first embodiment.
【図6】本実施例2におけるメモリプールの内部構成ブ
ロック図FIG. 6 is a block diagram of an internal configuration of a memory pool according to the second embodiment.
【図7】本実施例2における排他制御自動解除の動作過
程を示すフローチャート図FIG. 7 is a flowchart showing an operation process of exclusive control automatic cancellation in the second embodiment.
【図8】本実施例3におけるメモリプールの内部構成ブ
ロック図FIG. 8 is a block diagram of an internal configuration of a memory pool according to the third embodiment.
【図9】本実施例3における共有メモリアクセス要求時
の処理過程を示すフローチャート図FIG. 9 is a flowchart showing a processing process when a shared memory access request is made in the third embodiment.
【図10】本実施例3における共有メモリ返却処理の過
程を示すフローチャート図FIG. 10 is a flowchart showing a process of shared memory return processing according to the third embodiment.
【図11】本実施例4におけるプロセッサの動作過程を
示すフローチャート図FIG. 11 is a flowchart showing the operation process of the processor in the fourth embodiment.
【図12】従来のマルチプロセッサシステムの具体例を
示す図FIG. 12 is a diagram showing a specific example of a conventional multiprocessor system.
1・・共有メモリ 2・・プロセッサ 2a・・バッファ 2b・・アクセスカウンタ 2c・・照合手段 4・・メモリプール 4a・・状態表示手段 4b・・第1のプロセッサID格納部 4c・・カウンタ 4d・・第2のプロセッサID格納部 5・・プロセッサ 6・・共有メモリ 7・・メモリプール 8・・排他制御領域 8a・・フラグビット 8b・・プロセッサID格納部、第1プロセッサID格
納部 8c・・カウンタ 8d・・第2プロセッサID格納部 9・・データ領域 9a・・メモリプール(1) 9b・・メモリプール(2) 10・・タスク 11・・アクセスカウンタ 12・・タイマ 13・・バッファ 14・・オペレーティングシステム部1-shared memory 2-processor 2a-buffer 2b-access counter 2c-collation means 4-memory pool 4a-status display means 4b-first processor ID storage unit 4c-counter 4d- Second processor ID storage unit 5 Processor 6 Shared memory 7 Memory pool 8 Exclusive control area 8a Flag bit 8b Processor ID storage unit 1c Processor storage unit 8c Counter 8d ··· Second processor ID storage unit 9 · · Data area 9a · · Memory pool (1) 9b · · Memory pool (2) 10 · Task 11 · Access counter 12 · · Timer 13 · · Buffer 14 ·・ Operating system department
フロントページの続き (72)発明者 山崎 光男 神奈川県横浜市港北区新横浜3丁目9番18 号 富士通コミュニケーション・システム ズ株式会社内Front Page Continuation (72) Inventor Mitsuo Yamazaki 3-9-18 Shin-Yokohama, Kohoku Ward, Yokohama City, Kanagawa Prefecture Fujitsu Communication Systems Limited
Claims (6)
メモリ(1)と、複数のプロセッサ(2)を備え、任意
のプロセッサ(2)からメモリプール(4)に対するア
クセスを排他的に制御し、他のプロセッサ(2)からの
アクセスを防止するマルチプロセッサシステムにおい
て、 前記各メモリプール(4)には、当該メモリプール
(4)が任意のプロセッサ(2)によりアクセス状態に
あるか否かを示す状態表示手段(4a)と、個々のプロ
セッサ(2)を特定するプロセッサIDを格納するプロ
セッサID格納部(4b)を備えると共に、 前記各プロセッサ(2)には、前記プロセッサID格納
部(4b)に登録されているプロセッサIDを複写・格
納するバッファ(2a)と、当該メモリプール(4)に
対するアクセス要求の発行回数を計数するアクセスカウ
ンタ(2b)を備え、 前記プロセッサ(2)は、前記共有メモリ(1)の任意
のメモリプール(4)へアクセスする際、そのメモリプ
ール(4)の備える状態表示手段(4a)を参照し、当
該メモリプール(4)がアクセス状態にあるか否かを判
別し、 当該メモリプール(4)がアクセス状態の場合に、前記
アクセスカウンタ(2b)をインクリメントすると共
に、前記プロセッサID格納部(4b)に登録されてい
るプロセッサIDを前記バッファ(2a)に複写し、 所定時間経過後に再度状態表示手段(4a)を参照し、
アクセス状態の場合には、前記アクセスカウンタ(2
b)を再度インクリメントし、このアクセスカウンタ
(2b)の計数値が任意に設定される特定値に達した場
合、前記バッファ(2a)に複写したプロセッサIDと
前記プロセッサID格納部(4b)に登録されているプ
ロセッサIDとを比較し、両者が一致したとき、当該プ
ロセッサIDに対応するプロセッサの障害発生を認識
し、 前記状態表示手段(4a)を空き状態に変更すると共
に、第1のプロセッサID格納部(4b)のプロセッサ
IDを自身のプロセッサIDに書き換えることを特徴と
する共有メモリ排他制御方式。1. A shared memory (1) having a plurality of memory pools (4) and a plurality of processors (2) are provided to exclusively control access from any processor (2) to the memory pool (4). In a multiprocessor system for preventing access from another processor (2), whether or not each memory pool (4) is being accessed by any processor (2) The processor includes a status display unit (4a) and a processor ID storage unit (4b) that stores a processor ID that identifies each processor (2), and each processor (2) includes the processor ID storage unit (4b). ), The buffer (2a) for copying / storing the processor ID registered in), and the number of times the access request is issued to the memory pool (4). An access counter (2b) for counting, and when the processor (2) accesses an arbitrary memory pool (4) of the shared memory (1), a status display means (4a) included in the memory pool (4). And determines whether or not the memory pool (4) is in the access state, and increments the access counter (2b) and stores the processor ID when the memory pool (4) is in the access state. The processor ID registered in the section (4b) is copied into the buffer (2a), and after a lapse of a predetermined time, the status display means (4a) is referred to again,
In the case of the access state, the access counter (2
b) is incremented again, and when the count value of the access counter (2b) reaches a specific value that is arbitrarily set, the processor ID copied in the buffer (2a) and the processor ID storage unit (4b) are registered. When the two coincide with each other, the occurrence of a failure in the processor corresponding to the processor ID is recognized, the status display means (4a) is changed to an empty state, and the first processor ID A shared memory exclusive control method in which the processor ID of the storage unit (4b) is rewritten to its own processor ID.
(4)には、任意のプロセッサ(2)のアクセスを許容
した際にインクリメントされるカウンタ(4c)を設
け、 任意のプロセッサ(2)は、前記メモリプール(4)に
アクセスする際に、前記状態表示手段(4a)を参照
し、当該メモリプール(4)が他のプロセッサ(2)に
よりアクセス状態の場合は、前記プロセッサID格納部
(4b)のプロセッサIDと共に前記カウンタ(4c)
の値を前記バッファ(2a)に格納し、 特定回数のアクセスを試しみた後、前記バッファ(2
a)のプロセッサID及びカウンタ値と前記第1のプロ
セッサID格納部(4b)のプロセッサID及び前記カ
ウンタ(4c)のカウンタ値を比較し、 それぞれが一致した場合に、当該プロセッサ(2)は前
記プロセッサIDに対応するプロセッサ(2)の障害発
生を認識することを特徴とする請求項1記載の共有メモ
リ排他制御方式。2. Each memory pool (4) of the shared memory (1) is provided with a counter (4c) that is incremented when access by any processor (2) is permitted, and any processor (2) is provided. Refers to the status display means (4a) when accessing the memory pool (4), and if the memory pool (4) is being accessed by another processor (2), the processor ID storage unit The counter (4c) together with the processor ID of (4b)
Is stored in the buffer (2a), the access is tried a certain number of times, and then the buffer (2
The processor ID and the counter value of a) are compared with the processor ID of the first processor ID storage unit (4b) and the counter value of the counter (4c), and when they match, the processor (2) is 2. The shared memory exclusive control system according to claim 1, wherein the occurrence of a failure in the processor (2) corresponding to the processor ID is recognized.
メモリ(1)と、複数のプロセッサ(2)を備え、任意
のプロセッサ(2)からメモリプール(4)に対するア
クセスを排他的に制御し、他のプロセッサ(2)からの
アクセスを防止するマルチプロセッサシステムにおい
て、 前記各メモリプール(4)には、当該メモリプール
(4)が任意のプロセッサ(2)によりアクセス状態に
あるか否かを示す状態表示手段(4a)と、前記メモリ
プール(4)にアクセスしているプロセッサ(2)のプ
ロセッサIDを格納する第1のプロセッサID格納部
(4b)と、前記メモリプール(4)のアクセス状態で
障害を発生したプロセッサ(2)のプロセッサIDを格
納する第2のプロセッサID格納部(4d)を備えると
共に、 前記各プロセッサ(2)には、前記第1のプロセッサI
D格納部(4b)に登録されているプロセッサIDを複
写・格納するバッファ(2a)と、当該メモリプール
(4)に対するアクセス要求の発行回数を計数するアク
セスカウンタ(2b)を備え、 任意のプロセッサ(2)は、前記メモリプール(4)に
アクセスする際に、前記状態表示手段(4a)を参照
し、当該メモリプール(4)が他のプロセッサ(2)に
よりアクセス状態か否かを判別し、 当該メモリプール(4)がアクセス可能状態の場合は、
前記第1のプロセッサID格納部(4b)に自プロセッ
サ(2)のプロセッサIDを格納し、 当該メモリプール(4)が他のプロセッサ(2)により
アクセス状態の場合は、前記第1のプロセッサID格納
部(4b)に格納されているプロセッサIDを前記バッ
ファ(2a)に複写すると共に、前記アクセスカウンタ
(2b)をインクリメントし、特定回数アクセスを繰り
返した後、前記バッファ(2a)のプロセッサIDと前
記第1のプロセッサID格納部(4b)のプロセッサI
Dとを照合し、 双方のIDが一致した場合に、前記第1のプロセッサI
D格納部(4b)のプロセッサIDを前記第2のプロセ
ッサID格納部(4d)に格納させると共に、自プロセ
ッサIDを前記第1のプロセッサID格納部(4b)に
登録することを特徴とする共有メモリ排他制御方式。3. A shared memory (1) having a plurality of memory pools (4) and a plurality of processors (2) for exclusively controlling access from any processor (2) to the memory pool (4). In a multiprocessor system for preventing access from another processor (2), whether or not each memory pool (4) is being accessed by any processor (2) A status display unit (4a) shown, a first processor ID storage section (4b) for storing a processor ID of a processor (2) accessing the memory pool (4), and an access to the memory pool (4). A second processor ID storage section (4d) for storing the processor ID of the processor (2) in which a failure has occurred, and The (2), the first processor I
An arbitrary processor is provided with a buffer (2a) for copying / storing the processor ID registered in the D storage unit (4b) and an access counter (2b) for counting the number of times an access request is issued to the memory pool (4). (2) refers to the status display means (4a) when accessing the memory pool (4), and determines whether the memory pool (4) is in an access status by another processor (2). , If the memory pool (4) is accessible,
If the processor ID of its own processor (2) is stored in the first processor ID storage unit (4b) and the memory pool (4) is being accessed by another processor (2), the first processor ID The processor ID stored in the storage unit (4b) is copied to the buffer (2a), the access counter (2b) is incremented, and the access is repeated a specific number of times, and then the processor ID of the buffer (2a) is stored. Processor I of the first processor ID storage unit (4b)
If the IDs of both are matched, the first processor I
Sharing the processor ID of the D storage unit (4b) in the second processor ID storage unit (4d) and registering its own processor ID in the first processor ID storage unit (4b) Memory exclusive control method.
のプロセッサID格納部(4b)にプロセッサIDが格
納されている場合に、前記プロセッサIDに対応するプ
ロセッサ(2)によるアクセス状態を表示すると共に、 前記第1のプロセッサID格納部(4b)及び第2のプ
ロセッサID格納部(4d)の双方にプロセッサIDが
格納されている場合に、前記双方のプロセッサIDに対
応した二つのプロセッサ(2)により二重アクセス状態
である旨を表示することを特徴とする請求項3記載の共
有メモリ排他制御方式。4. The status display means (4a) comprises the first
When the processor ID is stored in the processor ID storage unit (4b), the access state by the processor (2) corresponding to the processor ID is displayed, and the first processor ID storage unit (4b) and When the processor IDs are stored in both of the two processor ID storage units (4d), the two processors (2) corresponding to the two processor IDs indicate that the dual access state is set. The shared memory exclusive control method according to claim 3.
ール(4)に対するアクセス終了時、前記第1のプロセ
ッサID格納部(4b)及び第2のプロセッサID格納
部(4d)を参照し、 前記第1のプロセッサID格納部(4b)のみプロセッ
サIDが格納されている場合には、このプロセッサID
と自プロセッサIDの一致を確認後、当該プロセッサI
Dを消去し、 前記第1のプロセッサID格納部(4b)及び第2のプ
ロセッサID格納部(4d)の双方にプロセッサIDが
格納されている場合には、自プロセッサIDと、前記第
1のプロセッサID格納部(4b)及び第2のプロセッ
サID格納部(4d)の各々のプロセッサIDとを比較
し、 前記第2のプロセッサID格納部(4d)のプロセッサ
IDと一致した場合には、このプロセッサIDを消去
し、 前記第1のプロセッサID格納部(4b)のプロセッサ
IDと一致した場合には、このプロセッサIDを消去す
ると共に、前記第2のプロセッサID格納部(4d)の
プロセッサIDを当該第1プロセッサID格納部(4
b)に格納させることを特徴とする請求項3記載の共有
メモリ排他制御方式。5. The processor (2) refers to the first processor ID storage unit (4b) and the second processor ID storage unit (4d) at the end of access to the memory pool (4), If the processor ID is stored only in the first processor ID storage section (4b), this processor ID
After confirming the match between the
When D is erased and a processor ID is stored in both the first processor ID storage unit (4b) and the second processor ID storage unit (4d), the self processor ID and the first processor ID The processor IDs of the processor ID storage unit (4b) and the second processor ID storage unit (4d) are compared with each other, and if the processor IDs of the second processor ID storage unit (4d) match, When the processor ID is deleted and the processor ID in the first processor ID storage unit (4b) matches, the processor ID is deleted and the processor ID in the second processor ID storage unit (4d) is changed. The first processor ID storage unit (4
The shared memory exclusive control method according to claim 3, wherein the shared memory exclusive control method is stored in b).
メモリ(1)と、複数のプロセッサ(2)を備え、任意
のプロセッサ(2)からメモリプール(4)に対するア
クセスを排他的に制御し、他のプロセッサ(2)からの
アクセスを防止するマルチプロセッサシステムにおい
て、 前記各メモリプール(4)には、当該メモリプール
(4)が任意のプロセッサ(2)によりアクセス状態に
あるか否かを示す状態表示手段(4a)と、 前記メモリプール(4)にアクセスしているプロセッサ
(2)のプロセッサIDを格納するプロセッサID格納
部(4b)とを備えると共に、 前記各プロセッサ(2)には、前記プロセッサID格納
部(4b)に登録されているプロセッサIDと自プロセ
ッサIDとを照合する照合手段(2c)を備え、 前記プロセッサ(2)は、障害発生から再立ち上げされ
た際に、前記共有メモリ(1)の各メモリプール(4)
にアクセスし、前記照合手段(2c)は、各メモリプー
ル(4)の状態表示手段(4a)にアクセスして当該メ
モリプール(4)のアクセス状態を表示しているか否か
を判別し、 前記状態表示手段(4b)がアクセス状態を表示してい
る場合に、そのメモリプール(4)のプロセッサID格
納部(4b)に格納されているプロセッサIDと自プロ
セッサIDとを照合し、 前記双方のプロセッサIDが一致した場合に、当該メモ
リプール(4)の状態表示手段(4a)をアクセス可能
状態に変更すると共に、前記プロセッサID格納部(4
b)に格納されている自プロセッサIDを消去すること
を特徴とする共有メモリ排他制御方式。6. A shared memory (1) having a plurality of memory pools (4), and a plurality of processors (2) for exclusively controlling access from any processor (2) to the memory pool (4). In a multiprocessor system for preventing access from another processor (2), whether or not each memory pool (4) is being accessed by any processor (2) And a processor ID storage unit (4b) for storing the processor ID of the processor (2) accessing the memory pool (4). A matching unit (2c) for matching the processor ID registered in the processor ID storage unit (4b) with the own processor ID, Processor (2), when it is raised again up from a failure, the shared each memory pool memory (1) (4)
Access to the status display means (4a) of each memory pool (4) to determine whether or not the access status of the memory pool (4) is displayed. When the status display means (4b) is displaying the access status, the processor ID stored in the processor ID storage section (4b) of the memory pool (4) is compared with its own processor ID, When the processor IDs match, the state display means (4a) of the memory pool (4) is changed to the accessible state and the processor ID storage unit (4)
A shared memory exclusive control method characterized by erasing the own processor ID stored in b).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4301900A JPH06149765A (en) | 1992-11-12 | 1992-11-12 | Shared memory exclusive control automatic release method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4301900A JPH06149765A (en) | 1992-11-12 | 1992-11-12 | Shared memory exclusive control automatic release method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06149765A true JPH06149765A (en) | 1994-05-31 |
Family
ID=17902479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4301900A Withdrawn JPH06149765A (en) | 1992-11-12 | 1992-11-12 | Shared memory exclusive control automatic release method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06149765A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6374362B1 (en) | 1998-01-14 | 2002-04-16 | Nec Corporation | Device and method for shared process control |
| WO2008062508A1 (en) * | 2006-11-21 | 2008-05-29 | Fujitsu Limited | Multiprocessor system |
| CN101331454A (en) * | 2005-10-20 | 2008-12-24 | 高通股份有限公司 | Method and device for clearing semaphore reservation |
| JP2020184365A (en) * | 2020-07-07 | 2020-11-12 | オラクル・インターナショナル・コーポレイション | System and method for booting application servers in parallel |
-
1992
- 1992-11-12 JP JP4301900A patent/JPH06149765A/en not_active Withdrawn
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6374362B1 (en) | 1998-01-14 | 2002-04-16 | Nec Corporation | Device and method for shared process control |
| CN101331454A (en) * | 2005-10-20 | 2008-12-24 | 高通股份有限公司 | Method and device for clearing semaphore reservation |
| JP2009512945A (en) * | 2005-10-20 | 2009-03-26 | クゥアルコム・インコーポレイテッド | Method and apparatus for clearing a semaphore reservation |
| JP2015144000A (en) * | 2005-10-20 | 2015-08-06 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Method and apparatus to clear semaphore reservation |
| WO2008062508A1 (en) * | 2006-11-21 | 2008-05-29 | Fujitsu Limited | Multiprocessor system |
| JP2020184365A (en) * | 2020-07-07 | 2020-11-12 | オラクル・インターナショナル・コーポレイション | System and method for booting application servers in parallel |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6493837B1 (en) | Using log buffers to trace an event in a computer system | |
| US5379398A (en) | Method and system for concurrent access during backup copying of data | |
| US8234645B2 (en) | Deallocation of computer data in a multithreaded computer | |
| US4914570A (en) | Process distribution and sharing system for multiple processor computer system | |
| JP2000284995A (en) | Data processing device and recording medium | |
| US6178445B1 (en) | System and method for determining which processor is the master processor in a symmetric multi-processor environment | |
| EP0727742A2 (en) | Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system | |
| JPH0296849A (en) | Accurate one-time semantics in tp cueing system | |
| JPH0583935B2 (en) | ||
| JPH0715664B2 (en) | How to recover data set | |
| JPH0644010A (en) | Method and system for polling under sub-file in time zero-backup-copy-process | |
| EP0608255A1 (en) | Method and means for time zero backup copying of data | |
| US6336164B1 (en) | Method and system for preventing deadlock in a log structured array | |
| WO2025138722A1 (en) | Method and apparatus for handling memory access failure queue, and electronic device | |
| WO2025148564A1 (en) | Refilling data processing method and apparatus, and device, storage medium and program | |
| CN1231449A (en) | Request based synchronous bus operation | |
| CN114217855A (en) | Method and system for realizing store _ buffer merge | |
| US4985826A (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| IE61306B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| JPH08129492A (en) | Resource exclusion check system and resource exclusion check method | |
| KR19980049353A (en) | How to recover distributed transactions | |
| JP3356090B2 (en) | Memory management method, memory management device, and recording medium | |
| CN118151887B (en) | Divider data processing method, device, terminal equipment and storage medium | |
| JP3035966B2 (en) | Storage device | |
| JP2903605B2 (en) | File area management processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20000201 |