JPH01240965A - Synchronization control system - Google Patents

Synchronization control system

Info

Publication number
JPH01240965A
JPH01240965A JP6738888A JP6738888A JPH01240965A JP H01240965 A JPH01240965 A JP H01240965A JP 6738888 A JP6738888 A JP 6738888A JP 6738888 A JP6738888 A JP 6738888A JP H01240965 A JPH01240965 A JP H01240965A
Authority
JP
Japan
Prior art keywords
synchronization control
field
synchronization
value
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6738888A
Other languages
Japanese (ja)
Inventor
Munetsugu Yatani
八谷 宗承
Giichi Tanaka
義一 田中
Kyoko Iwazawa
岩澤 京子
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6738888A priority Critical patent/JPH01240965A/en
Publication of JPH01240965A publication Critical patent/JPH01240965A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make efficient an inter-process synchronization control by notifying another process of an access completion, waiting for the specific field value of a synchronization control table to satisfy synchronizing conditions consisting of two synchronization control message values '>=' and '<=', and then, executing the accessing synchronization control. CONSTITUTION:Due to the synchronizing conditions of the two types of WAITs, the duplicating use for the different synchronization control of the same field of the synchronization control table is possible, and a field for the portion of the number of processes executed in parallel is provided on the synchronization control table, and each inter-process synchronization control is executed in each field. Thus, the inter-process synchronization control can be executed for an inter-process communication area with a small memory quantity and without damaging a parallel condition. Further, by making a POST and the WAIT into a special hardware instruction, and securing the inter-process communication area on an accessible common memory, the control can be made faster.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチプロセサシステムにおいて、DOルー
プを並列化単位とし、ループ繰り返しに関して並列実行
する処理方式において、線形添字配列の同一要素へのア
クセスが並列実行される複数のプロセスで行われるよう
なデータ依存がある場合、各プロセスがその配列要素へ
のアクセス順序を保障するために必要なプロセス間同期
制御に関するものである。
Detailed Description of the Invention [Field of Industrial Application] The present invention provides a processing method in which a DO loop is used as a unit of parallelization in a multiprocessor system and the loop repetitions are executed in parallel. When there is a data dependency between multiple processes executed in parallel, this relates to inter-process synchronization control necessary to ensure the order in which each process accesses its array elements.

〔従来の技術〕[Conventional technology]

従来、データ依存解決のための同期制御につぃては、I
EEE Trans 5OFTWARE ENGINE
ERINGVOL 5R−13,Nα6. JUNE 
1987 PP726−739において論じられている
。そこでは、メモリを一定領域ごとにタグフィールドを
付加した構造として、並列実行する各プロセスが同期制
御の必要な変数(配列要素)をアクセスする場合、その
変数に対応したタグの値が、アクセス可能な条件を満た
す場合のみその変数へのアクセスを行うタグ条件付オペ
レーションと、その変数へのアクセス完了をタグの値を
更新して他のプロセスを通知するタグフィールドオペレ
ーションの組み合わせにより、同期制御を行っているこ
とが論じられている。
Conventionally, I
EEE Trans 5OFTWARE ENGINE
ERINGVOL 5R-13, Nα6. JUNE
Discussed in 1987 PP 726-739. In this case, the memory is structured in such a way that a tag field is added to each fixed area, and when each process executing in parallel accesses a variable (array element) that requires synchronization control, the value of the tag corresponding to that variable can be accessed. Synchronous control is achieved through a combination of tag conditional operations that access a variable only when certain conditions are met, and tag field operations that update the tag value and notify other processes that the variable has been accessed. It is argued that

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来方式では、一定領域ごとにタグ領域を付加した
特殊なメモリ構造を必要とする。しかも並列実行される
各プロセス間で同期制御を行わない場合には、タグ条件
付オペレーション、タグフィールドオペレーションは不
必要であり、従ってタグ領域も必要ない。又、複数回の
同期制御が同一プロセス間で行われる場合、同期制御が
逐次化するため、同期制御用通信領域(タグ領域)の重
複使用が可能な場合があっても重複使用しないなど、タ
グ領域の使用率がよくないという課題があった。
The conventional method described above requires a special memory structure in which a tag area is added to each fixed area. Furthermore, if synchronization control is not performed between processes executed in parallel, tag conditional operations and tag field operations are unnecessary, and therefore tag areas are also unnecessary. In addition, when synchronization control is performed multiple times between the same processes, the synchronization control becomes sequential, so even if it is possible to use the communication area for synchronization control (tag area) overlappingly, it is necessary to avoid overlapping use of the tag. There was a problem with the area usage rate being poor.

本発明の目的は、並列実行される複数のプロセスでアク
セスされる線形添字配列要素を含むり。
It is an object of the present invention to include linear index array elements accessed by multiple processes running in parallel.

ループを、アクセス順序を保障して複数のプロセスで並
列実行するために必要なプロセス間同期制御を、少ない
同期制御通信領域で、効率的に実現することである。
The object of the present invention is to efficiently realize inter-process synchronization control necessary for executing a loop in parallel in a plurality of processes while guaranteeing the access order, using a small synchronization control communication area.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的は、並列実行するすべてのプロセスが共通にア
クセスできる通信領域に、テーブルID(T I D)
で識別される。同期制御の数を総数とする同期制御テー
ブルで、各テーブルは、その内部を、フィールドID(
FID)で識別される、並列実行するプロセスの数分に
等分割されたフィールドを設け、TID、FIDで示さ
れる同期制御テーブルのフィールドに、同期制御メツセ
ージ(M S G ) ヲ書き込むPOSTと、TID
、FIDで示される同期制御テーブルのフィールドの値
が、MSG以上(GE)、あるいは、MSG以下(LE
)の2種類の同期方法(TYPE)からなる同期条件を
満たすまで待つWAITと、あらかじめ、同期制御対象
配列の添字式の値から、POST 。
The above purpose is to create a table ID (TID) in a communication area that can be accessed in common by all processes executing in parallel.
is identified by A synchronization control table whose total number is the number of synchronization controls, and each table has a field ID (
POST and TID are used to write a synchronization control message (MSG) into the fields of the synchronization control table indicated by TID and FID.
, the value of the field in the synchronization control table indicated by FID is greater than or equal to MSG (GE) or less than or equal to MSG (LE
WAIT, which waits until the synchronization conditions are met, consisting of two types of synchronization methods (TYPE); and POST, which is determined in advance from the value of the subscript expression of the synchronization control target array.

WA I TのMSGを、及び、POST、WAITが
同期制御を行う同期制御テーブルのフィールドを決定し
、逐次実行した場合の同添字式の増減から、TYPEを
、GE、あるいは、L Eと決定し、同期制御の必要の
ない配列添字の値に、同期制御テーブルの各フィールド
を初期化する同期制御準備処理により、達成される。
Determine the MSG of WAIT and the field of the synchronous control table where POST and WAIT perform synchronous control, and determine TYPE as GE or LE based on the increase/decrease in the same subscript expression when executed sequentially. , is achieved by a synchronization control preparation process that initializes each field of the synchronization control table to the value of the array index that does not require synchronization control.

〔作用〕[Effect]

並列実行されるプロセス間で、アクセス順序を保障する
必要のある線形添字配列要素の対で、先にアクセスする
必要のある側(P OS T側と呼ぶ)と、後にアクセ
スする必要のある側CWAIT側とよぶ)との間で、次
のように同期制御が行われる。
A pair of linear subscript array elements whose access order must be guaranteed between processes executed in parallel; the side that needs to be accessed first (called the POST side) and the side that needs to be accessed later CWAIT synchronous control is performed as follows.

(1)同期制御準備 同期制御テーブルの各フィールドを、同期制御が必要な
いと取り決めた配列添字式の値に初期化し、POST側
の同期制御対象配列の添字式と、WAIT側の同期制御
対象配列の添字式から、POSTがMSGを書き込むフ
ィールド(FIDPで示す)と、WAITが値を読み出
すフィールド(F I DWで示す)が、同一配列要素
に対して一致するように決定し、POST、WAITの
MSGを、それぞれ、p o s ’r側、WAIT側
の配列添字式の値に決定し、逐次実行した場合の配列添
字式の増減が、増加していく場合には、GE、減少して
いく場合には、LEに、WAITのTYPEを決定する
。これにより、以下説明する同期制御の誤動作が防止さ
れ、プロセス間の各同期制御が。
(1) Initialize each field of the synchronous control preparation synchronous control table to the value of the array subscript expression that has been determined as not requiring synchronous control, and use the subscript expression of the synchronous control target array on the POST side and the synchronous control target array on the WAIT side. From the subscript expression, it is determined that the field in which POST writes MSG (indicated by FIDP) and the field in which WAIT reads the value (indicated by FI DW) match for the same array element, and POST and WAIT If MSG is determined to be the value of the array subscript expression on the p o s 'r side and WAIT side, respectively, and the increase/decrease in the array subscript expression when executed sequentially increases, GE will decrease. In this case, the WAIT TYPE is determined as LE. This prevents malfunctions of synchronization control, which will be explained below, and prevents synchronization control between processes.

同期制御テーブルの各フィールドで行うことができる。This can be done in each field of the synchronization control table.

(2)プロセス間同期制御 並列実行される各プロセスにおいて、POST側の同期
制御対象配列要素をアクセスする場合には、アクセスし
た直後に、POSTにより、同配列添字式の値をMSG
として、F I I) Pで示されたフィールドに書き
込むことにより、他プロセスにアクセス完了を通知する
。一方、WAIT側の同期制御対象配列要素をアクセス
する場合には、アクセスする直前に、WAITにより、
F I DWで示されるフィールドの値が、同配列添字
式の値からなるMSG以上(TYPE=GE)、あるい
は、以下(’14PE=LE)の同期条件を満たすまで
待った時、同配列要素へのアクセスを行う。
(2) Inter-process synchronization control In each process that is executed in parallel, when accessing an array element subject to synchronization control on the POST side, immediately after accessing it, POST changes the value of the array subscript expression to MSG.
By writing in the field indicated by F I I) P, the access completion is notified to other processes. On the other hand, when accessing an array element subject to synchronization control on the WAIT side, immediately before accessing, WAIT:
When waiting until the value of the field indicated by F I DW satisfies the synchronization condition of greater than or equal to MSG consisting of the value of the same array subscript expression (TYPE = GE) or less than ('14PE = LE), the synchronization condition to the same array element is Make access.

上記同期制御準備によって、PO8T側のM S G 
With the above synchronous control preparation, the MSG on the PO8T side
.

FIDPと、WAIT側のMSG、FIDWは、同一の
同期制御対象配列要素に対して一致するように決定され
ているが、PO3T側の配列要素へのアクセスを実行す
るプロセスと、WAIT側の配列要素へのアクセスを実
行するプロセスは、並列実行される2つの異なるプロセ
スであるため、WAI’r側があらかじめ定められたM
SGを受理する(ここで、受理するとは、フィールドの
値がMSGと一致することをいう。)前に、PO8T側
のプロセスが、異なるMSGを同一フィールドに書き込
みを行い、そのフィールドの値が更新されてしまうこと
(オーバーライド)が起こり得る。
FIDP and MSG and FIDW on the WAIT side are determined to match for the same synchronously controlled array element, but the process that accesses the array element on the PO3T side and the array element on the WAIT side Since the processes performing access to are two different processes running in parallel, the WAI'r side
Before accepting the SG (here, acceptance means that the value of the field matches the MSG), the process on the PO8T side writes a different MSG to the same field, and the value of that field is updated. may be overridden.

しかし、フィールドが別の値に更新されている場合には
、前の)) OS T側の同期制御対象配列要素のアク
セスは、すでに、同一プロセスにより実行完了している
。従って、WA、IT側では、TYPEを、フィールド
の値が、実行に伴い増加していく場合に、GE、減少し
ていく場合に、LEとすることで、PO8Tによるオー
バーライI−による同期制御の誤動作を防ぐことができ
(このフィールドの増減は、逐次実行した場合の同期制
御対象配列の添字式の増減に一致する。)、PO8T側
での配列要素のアクセスと、WAIT側での配列要素の
アクセスの順序関係を保障することができる。
However, if the field has been updated to a different value, the previous access to the synchronously controlled array element on the OS T side has already been completed by the same process. Therefore, on the WA and IT sides, TYPE is set to GE when the field value increases with execution, and LE when it decreases, allowing synchronization control by overriding I- by PO8T. (The increase/decrease in this field corresponds to the increase/decrease in the subscript expression of the synchronous control target array when executed sequentially.) This prevents the access of array elements on the PO8T side and the array element on the WAIT side. access order relationship can be ensured.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図から第4図を用いて説
明する。
An embodiment of the present invention will be described below with reference to FIGS. 1 to 4.

第2図に、本発明の適用が必要な一例を、第3図に、第
2図の例の実行推移を示す。
FIG. 2 shows an example to which the present invention is applied, and FIG. 3 shows the progress of execution of the example shown in FIG.

本例では、DOループをループ繰り返しに関して、4つ
に分割して、並列に実行することを考える。、P1〜P
4は、並列実行される各プロセスで、それぞれ、プロセ
ス番号(P=1〜4)により、識別される。各プロセス
間で、線形添字配列Xの同一要素へのアクセスが行われ
る。例えば、プロセスP1のD2で書き込み(以下、定
義とよぶ)されたX(2)は、プロセスP2のtJ 2
で読み出しく以下、使用とよぶ)される。このため、プ
ロセス間同期制御により、配列変数Xへのアクセス順序
を保障する必要がある。すなわち、第4図中の矢印の始
点、終点で示すように、各プロセスでの配列要素X (
1)の使用Uは、他のプロセス(P=1.2,3.4に
対して、それぞれ4,1゜2.3)によるX (I+1
)の定義りが行われた後に実行されなければ、正しい実
行結果は得られない。ただし、プロセスP1のUlでの
配列要素X(1)の使用は、他のプロセスでの定義を必
要としない。
In this example, consider dividing the DO loop into four parts and executing them in parallel in terms of loop repetition. , P1~P
4 represents each process executed in parallel, and each process is identified by a process number (P=1 to 4). The same elements of the linear index array X are accessed between each process. For example, X(2) written (hereinafter referred to as definition) in D2 of process P1 is tJ 2 of process P2.
(hereinafter referred to as "use"). Therefore, it is necessary to ensure the order of access to the array variable X by inter-process synchronization control. That is, as shown by the start and end points of the arrows in Figure 4, the array element X (
1) use U is X (I+1
) is defined and then executed, correct execution results will not be obtained. However, the use of array element X(1) in Ul of process P1 does not require definition in other processes.

次に、第1図、第4図、及び、第5図を用いて、第2図
の例への本発明の詳細な説明する。
Next, the present invention will be explained in detail using the example of FIG. 2 using FIGS. 1, 4, and 5.

第4図は、本発明の第2図の例への適用例、第1図は、
第4図の適用例での本発明の動作概要、第5図は、第4
図の適用例での同期制御テーブルの各フィールドの対応
づけを示す。
FIG. 4 shows an example of application of the present invention to the example shown in FIG. 2, and FIG.
The operation overview of the present invention in the application example shown in FIG. 4 is shown in FIG.
The correspondence of each field of the synchronization control table in the application example shown in the figure is shown.

D○ループを実行する前に、各プロセスは、それぞれP
O8TがM S Gを書き込むフィールド(FIDPで
示す)と、WAITが値を読み出すフィールド(F I
 DWで示す)を対応づける(第4図中の1)、第5図
に各プロセスでのFIDP。
Before executing the D○ loop, each process has P
The field where O8T writes the MSG (denoted as FIDP) and the field where WAIT reads the value (FIDP).
FIG. 5 shows the FIDP in each process.

FIDWの値を示す。この対応づけにより、線形添字配
列Xへのアクセス順序の保証が必要なプロセス間、プロ
セスP1とプロセスP2.プロセスP2とプロセスP3
.プロセスP3とプロセスP4.プロセスP4とプロセ
スP1に対し、それぞれ、同期制御テーブルの各フィー
ルド、Fl。
Indicates the value of FIDW. Through this association, between the processes that require guaranteed access order to the linear index array X, process P1, process P2, etc. Process P2 and Process P3
.. Process P3 and Process P4. Each field of the synchronization control table, Fl, for process P4 and process P1, respectively.

F2.F3.F4が対応づけられる。ここで、F1〜F
4は、それぞれ、FID=1〜4で示される同期制御テ
ーブルのフィールドである。次に、1’) 0ループを
逐次実行した場合、D、Uの同期制御対象配列Xの添字
式の値が、ループの繰り返しに伴って増加することから
、TYPEをG Eとする(第4図中の2)。逆に、ル
ープ繰り返しに伴い減少する場合は、TYPEをLEと
するが、この場合でも、行われる同期制御は同様である
ので説明は省略する。次に、他プロセスによる定義の必
要ない配列要素X(1)の使用U1における添字式の値
1に同期制御テーブルの各フィールドを初期化する(第
4図中の3)。
F2. F3. F4 is associated. Here, F1 to F
4 are fields of the synchronization control table indicated by FID=1 to 4, respectively. Next, 1') When the 0 loop is executed sequentially, the value of the subscript expression of the synchronously controlled array X of D and U increases as the loop is repeated. 2) in the figure. Conversely, when the number decreases as the loop repeats, the TYPE is set to LE, but even in this case, the synchronization control performed is the same, so the explanation will be omitted. Next, each field of the synchronization control table is initialized to the value 1 of the subscript expression in the use U1 of the array element X(1) that does not need to be defined by another process (3 in FIG. 4).

D○ループの実行中、Dの配列要素X(Il1)の実行
の直後、第4図中の4のPO8Tにより、Il1をMS
Gとして、同期制御テーブルのFIDPで示されるフィ
ールドに書き込みを行う (P=1゜2.3.4に対し
て、それぞれ、F I D P = 1. 。
During the execution of the D○ loop, immediately after the execution of array element X (Il1) of D, Il1 is set to MS by PO8T of
As G, write to the field indicated by FIDP in the synchronization control table (FIDP = 1. for P = 1°2.3.4, respectively).

2.3.4)。これにより、配列要素X(Il1)の定
義完了を他プロセスに通知する(Wl〜W4)、例えば
、プロセスP1では、U2のX(2)の定義の直後に、
MSGの値2を、フィールドF1に5プロセスP2では
、U3のx(3)の定義の直後に、MSGの値3をフィ
ールドF2に書き込む。
2.3.4). This notifies other processes of the completion of definition of array element X (Il1) (Wl to W4). For example, in process P1, immediately after defining X(2) of U2,
5 Process P2 writes MSG value 2 to field F1 immediately after the definition of x(3) in U3.

次に、第4図中の5のWAITにより、同期制御テーブ
ルのp”Il”)Wで示されるフィールドの値を読み出
し、MSGの値工以上となるまで待ち、この同期条件を
満たした後、Uの配列要素X (I)の使用を行う(L
l〜L 4. )。例えば、プロセスP2では、フィー
ルドF1の値が2以上となった後、U2のx(2)の使
用を、プロセスP3では、フィールドF2の値が3以上
になった後、U3のX(3)の使用を行う。ただし、プ
ロセスP1での、UlのX(1)の使用は、第4図中の
3のフィールドの初期化により、フィールドF4の値が
1となっているので、ただちに、行われる。
Next, by WAIT 5 in FIG. 4, read the value of the field indicated by p"Il")W in the synchronization control table, wait until it becomes equal to or higher than the value of MSG, and after satisfying this synchronization condition, Use array element X (I) of U (L
l~L 4. ). For example, in process P2, after the value of field F1 becomes 2 or more, use x(2) of U2, and in process P3, after the value of field F2 becomes 3 or more, use x(3) of U3. make use of. However, the use of X(1) of Ul in process P1 is performed immediately because the value of field F4 is 1 due to the initialization of field 3 in FIG.

以上により、配列変数Xの定義、使用の順序が保障され
て、正しい実行結果を得ることができる。
As described above, the order of definition and use of array variables X is guaranteed, and correct execution results can be obtained.

本発明の同期制御では、WAITの同期条件を、フィー
ルドの値がMSG以上(TYPE=GE)、あるいは、
以下(TYPE=LE)とすることにより、PO3Tが
書き込んだMSGをWA I Tが受理する前に、PO
5Tが次のMSGを同じフィールドに書き込むことが可
能で、この場合でも、同期制御は誤動作することがない
。例えば、プロセスP1では、U2のX(2)の定義の
直後、MSGの値2を、U6のX(6)の定義の直後、
MSGの値6を、フィールドF1に書き込む。これらの
定義は、それぞれ、プロセスP2のU2゜U6で使用さ
れるが、プロセスP2がU2のX(2)の使用を行うと
きすでに、プロセスP1がU6のX(6)の定義を完了
し、フィールドF]−の値が6になっていることがある
。この場合でも、U2のX(2)の使用のためのWAI
Tの同期条件(フィールドの値が2以上)を満たし、プ
ロセスP2は、U2のX(2)の使用を行う。これは、
U2(7)X(2)+7)定義と、U6のX (6)(
7)定義は、同一プロセスP1で逐次実行されるため、
U6のX(6)の定義の完了時には、U2のX(2)の
定義が完了していることが保障できるためである。
In the synchronization control of the present invention, the WAIT synchronization condition is set to a field value of MSG or more (TYPE=GE), or
By setting the following (TYPE=LE), before WAIT accepts the MSG written by PO3T, PO
5T can write the next MSG in the same field, and even in this case, the synchronization control will not malfunction. For example, in process P1, immediately after the definition of X(2) in U2, the value 2 of MSG is set, immediately after the definition of X(6) in U6,
Write the MSG value 6 to field F1. These definitions are used in U2゜U6 of process P2, respectively, but when process P2 makes use of X(2) of U2, process P1 has already completed the definition of X(6) of U6, The value of field F]- may be 6. Even in this case, WAI for the use of X(2) in U2
The synchronization condition of T (field value is 2 or more) is satisfied, and process P2 uses X(2) of U2. this is,
U2(7)X(2)+7) definition and U6's X(6)(
7) Since the definitions are executed sequentially in the same process P1,
This is because when the definition of U6's X(6) is completed, it can be guaranteed that the definition of U2's X(2) is completed.

又、同期制御テーブルに、並列実行されるプロセス数分
のフィールドを用意し、各フィールドでプロセス間同期
制御を行うため、これらの同期制御は並列に実行される
Furthermore, the synchronization control table has fields for the number of processes to be executed in parallel, and inter-process synchronization control is performed in each field, so these synchronization controls are executed in parallel.

本適用例は、同期制御の必要な1対の線形添字配列のア
クセスに対し、TIDIで示す1つの同期制御テーブル
を用いて同期制御を行っているが、同期制御の必要な線
形添字配列のアクセスの対が、複数ある場合は、その対
の数分の同期制御テーブル(各テーブルは、それぞれ異
なるTIDで識別する。)を用意して、それぞれの対に
ついて、本適用例と同様に同期制御を行う。
In this application example, synchronous control is performed using one synchronous control table indicated by TIDI for accessing a pair of linear subscript arrays that require synchronous control. If there are multiple pairs, prepare as many synchronization control tables as there are pairs (each table is identified by a different TID), and perform synchronization control for each pair in the same way as in this application example. conduct.

本発明は、余分なハードウェア付加機構なしに主記憶共
有型マルチプロセス上で実現可能であるが、PO8T、
WAITの専用ハードウェア命令化、及び、プロセス間
通信領域を、高速アクセス可能な共有メモリ上に確保、
あるいは、より高速な同期レジスタと、同期レジスタオ
プレーションとして実現することにより、さらなる高速
化が可能である。
The present invention can be realized on a main memory shared multi-process without any extra hardware addition mechanism, but PO8T,
Converts WAIT into dedicated hardware instructions and secures inter-process communication area on shared memory that can be accessed at high speed.
Alternatively, further speeding up is possible by implementing a faster synchronous register and synchronous register operation.

〔発明の効果〕 本発明は、2種類のWA I Tの同期条件により、同
期制御テーブルの同一フィールドの異なる同期制御のた
めの重複使用が可能となり、又、並列実行されるプロセ
ス数分のフィールドを同期制御テ−プルに設け、各プロ
セス間同期制御を各フィールドで行うので、プロセス間
通信領域を少ないメモリ量で、並列性を損うことなく、
プロセス間同期制御を行うことができる。
[Effects of the Invention] The present invention enables the same field of the synchronization control table to be used redundantly for different synchronization controls by using two types of WAIT synchronization conditions, and also allows the use of fields for the number of processes executed in parallel. is provided in the synchronization control table, and synchronization control between each process is performed in each field, so the interprocess communication area can be used with a small amount of memory without compromising parallelism.
Inter-process synchronous control can be performed.

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

第1図は1本発明の適用例での動作概要、第2図は、本
発明の適用が可能な例、第3図は、第2図の例の実施推
移、第4図は、第2図の例への本発明の適用例、第5図
は、第4図の適用例での、同期制御テーブルの各フィー
ルドの対応づけを表わしている。 MS・・・共有メモリ、T]・・・同期制御テーブル、
F1〜F4・・・同期制御テーブルの各フィールド、2
1〜P4・・・プロセス、Wl、−W4・・・PO3T
によるMSGの書き込み、L1〜L4・・・WAITに
よる値の読み出し、D、1)2.D3.D6・・・配列
変数Xの定義、U、Ul、U2.U3.U6・・・配列
変数Xの使用。 ギ 7!−国 Di5  io  l=I、A/      0vii
)  I=P、N−4茅 ■ Ul υL  シ己夕1(ゾ委(Kめ4又r月弄 4 
図 茅S図
Fig. 1 shows an overview of the operation in an application example of the present invention, Fig. 2 shows an example to which the present invention can be applied, Fig. 3 shows the implementation progress of the example shown in Fig. 2, and Fig. 4 shows an example of the application of the present invention. FIG. 5, an example of application of the present invention to the example shown in the figure, shows the association of each field of the synchronization control table in the example of application of FIG. MS...Shared memory, T]...Synchronization control table,
F1 to F4... Each field of the synchronization control table, 2
1 to P4...Process, Wl, -W4...PO3T
Writing MSG by L1 to L4... Reading value by WAIT, D, 1) 2. D3. D6...Definition of array variable X, U, Ul, U2. U3. U6: Use of array variable X. Gi 7! -Country Di5 io l=I, A/0vii
) I=P, N-4 茅 ■ Ul υL
Illustration S

Claims (1)

【特許請求の範囲】 1、マルチプロセサシステムに対して、DOループを並
列化単位として並列実行する処理方式において、線形添
字配列の同一要素への値の書き込みあるいは読み出しで
あるアクセスが並列実行される複数のプロセスで行われ
る場合に必要なプロセス間同期制御であつて、全プロセ
ス共通の通信領域に設けたプロセス数分のフィールドを
もつ同期制御テーブルの特定のフィールドに同期制御メ
ッセージの値の書き込みを行うことにより、アクセス完
了を他プロセスに通知し、同期制御テーブルの特定のフ
ィールドの値が同期制御メッセージの値“以上”、ある
いは、“以下”の2種類から成る同期条件を満たすまで
待つた後、アクセスを行う同期制御を実行することを特
徴とする同期制御方法。 2、同期制御対象配列の線形添字から、同期制御メッセ
ージの決定及び、プロセス間の各同期制御と同期制御テ
ーブルの各フィールドの対応づけを行い、逐次実行した
場合の配列添字の増減から、同期方法を決定し、同期制
御の必要ない配列添字の値で同期制御テーブルの各フィ
ールドの初期化を行う同期制御準備処理を行うことを特
徴とする特許請求の範囲第1項記載の同期制御方式。
[Claims] 1. In a processing method in which a DO loop is executed in parallel as a unit of parallelization for a multiprocessor system, multiple accesses for writing or reading values to the same element of a linear index array are executed in parallel. This is inter-process synchronization control that is necessary when the process is performed by a process, and writes the value of a synchronization control message to a specific field of a synchronization control table that has fields for the number of processes provided in a communication area common to all processes. By doing so, it notifies other processes of the access completion, and waits until the value of a specific field in the synchronization control table satisfies two types of synchronization conditions: "greater than" or "less than" the value of the synchronization control message. A synchronous control method characterized by executing synchronous control for access. 2. Determine the synchronization control message from the linear subscript of the synchronization control target array, associate each synchronization control between processes with each field of the synchronization control table, and determine the synchronization method from the increase/decrease of the array subscript when executed sequentially. 2. The synchronous control method according to claim 1, wherein a synchronous control preparation process is performed in which each field of the synchronous control table is initialized with the value of an array subscript that does not require synchronous control.
JP6738888A 1988-03-23 1988-03-23 Synchronization control system Pending JPH01240965A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6738888A JPH01240965A (en) 1988-03-23 1988-03-23 Synchronization control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6738888A JPH01240965A (en) 1988-03-23 1988-03-23 Synchronization control system

Publications (1)

Publication Number Publication Date
JPH01240965A true JPH01240965A (en) 1989-09-26

Family

ID=13343558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6738888A Pending JPH01240965A (en) 1988-03-23 1988-03-23 Synchronization control system

Country Status (1)

Country Link
JP (1) JPH01240965A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04152465A (en) * 1990-10-16 1992-05-26 Fujitsu Ltd System and method for data processing
JPH06243110A (en) * 1993-02-16 1994-09-02 Nec Corp Barrier synchronization attaining method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04152465A (en) * 1990-10-16 1992-05-26 Fujitsu Ltd System and method for data processing
JPH06243110A (en) * 1993-02-16 1994-09-02 Nec Corp Barrier synchronization attaining method

Similar Documents

Publication Publication Date Title
JP6525286B2 (en) Processor core and processor system
EP0571395B1 (en) System for distributed multiprocessor communication
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
KR960003046B1 (en) Risc computer with unaligned reference handling and the method for the same
DE102018126001A1 (en) Synchronization in a multi-tile processing array
JPH04348451A (en) Parallel computer
JPS62159268A (en) Multi-processor system
Fisher et al. Microcode compaction: Looking backward and looking forward
JPH0512750B2 (en)
US9274831B2 (en) Information processing apparatus, information processing method, and storage medium
JPH01240965A (en) Synchronization control system
EP0164418B1 (en) Microprogram control system
JP2514922B2 (en) Performance control method for information processing equipment
JP2866421B2 (en) Multi-pass parallel processing method
US7437729B2 (en) Method for load balancing a loop of parallel processing elements
JPH09237186A (en) Loop controller and processor
Mayer et al. The data-parallel Ada run-time system, simulation and empirical results
JPS58146952A (en) Parallel computer system
JP3743155B2 (en) Pipeline controlled computer
JP2567111B2 (en) Micro program controller
Kurzak et al. Solving Systems of Linear Equations on the CELL Processor Using Cholesky Factorization–LAPACK Working Note 184
JPS60215247A (en) Arithmetic processor
JPH03172958A (en) Synchronous processing method, system and method for parallel processing, and parallel program generator
Mayer et al. Simulation and Empirical Results
JPH0827719B2 (en) Data processing device