JPH01240965A - 同期制御方式 - Google Patents

同期制御方式

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
synchronization
field
value
array
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
English (en)
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/ja
Publication of JPH01240965A publication Critical patent/JPH01240965A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチプロセサシステムにおいて、DOルー
プを並列化単位とし、ループ繰り返しに関して並列実行
する処理方式において、線形添字配列の同一要素へのア
クセスが並列実行される複数のプロセスで行われるよう
なデータ依存がある場合、各プロセスがその配列要素へ
のアクセス順序を保障するために必要なプロセス間同期
制御に関するものである。
〔従来の技術〕
従来、データ依存解決のための同期制御につぃては、I
EEE Trans 5OFTWARE ENGINE
ERINGVOL 5R−13,Nα6. JUNE 
1987 PP726−739において論じられている
。そこでは、メモリを一定領域ごとにタグフィールドを
付加した構造として、並列実行する各プロセスが同期制
御の必要な変数(配列要素)をアクセスする場合、その
変数に対応したタグの値が、アクセス可能な条件を満た
す場合のみその変数へのアクセスを行うタグ条件付オペ
レーションと、その変数へのアクセス完了をタグの値を
更新して他のプロセスを通知するタグフィールドオペレ
ーションの組み合わせにより、同期制御を行っているこ
とが論じられている。
〔発明が解決しようとする課題〕
上記従来方式では、一定領域ごとにタグ領域を付加した
特殊なメモリ構造を必要とする。しかも並列実行される
各プロセス間で同期制御を行わない場合には、タグ条件
付オペレーション、タグフィールドオペレーションは不
必要であり、従ってタグ領域も必要ない。又、複数回の
同期制御が同一プロセス間で行われる場合、同期制御が
逐次化するため、同期制御用通信領域(タグ領域)の重
複使用が可能な場合があっても重複使用しないなど、タ
グ領域の使用率がよくないという課題があった。
本発明の目的は、並列実行される複数のプロセスでアク
セスされる線形添字配列要素を含むり。
ループを、アクセス順序を保障して複数のプロセスで並
列実行するために必要なプロセス間同期制御を、少ない
同期制御通信領域で、効率的に実現することである。
〔課題を解決するための手段〕
上記目的は、並列実行するすべてのプロセスが共通にア
クセスできる通信領域に、テーブルID(T I D)
で識別される。同期制御の数を総数とする同期制御テー
ブルで、各テーブルは、その内部を、フィールドID(
FID)で識別される、並列実行するプロセスの数分に
等分割されたフィールドを設け、TID、FIDで示さ
れる同期制御テーブルのフィールドに、同期制御メツセ
ージ(M S G ) ヲ書き込むPOSTと、TID
、FIDで示される同期制御テーブルのフィールドの値
が、MSG以上(GE)、あるいは、MSG以下(LE
)の2種類の同期方法(TYPE)からなる同期条件を
満たすまで待つWAITと、あらかじめ、同期制御対象
配列の添字式の値から、POST 。
WA I TのMSGを、及び、POST、WAITが
同期制御を行う同期制御テーブルのフィールドを決定し
、逐次実行した場合の同添字式の増減から、TYPEを
、GE、あるいは、L Eと決定し、同期制御の必要の
ない配列添字の値に、同期制御テーブルの各フィールド
を初期化する同期制御準備処理により、達成される。
〔作用〕
並列実行されるプロセス間で、アクセス順序を保障する
必要のある線形添字配列要素の対で、先にアクセスする
必要のある側(P OS T側と呼ぶ)と、後にアクセ
スする必要のある側CWAIT側とよぶ)との間で、次
のように同期制御が行われる。
(1)同期制御準備 同期制御テーブルの各フィールドを、同期制御が必要な
いと取り決めた配列添字式の値に初期化し、POST側
の同期制御対象配列の添字式と、WAIT側の同期制御
対象配列の添字式から、POSTがMSGを書き込むフ
ィールド(FIDPで示す)と、WAITが値を読み出
すフィールド(F I DWで示す)が、同一配列要素
に対して一致するように決定し、POST、WAITの
MSGを、それぞれ、p o s ’r側、WAIT側
の配列添字式の値に決定し、逐次実行した場合の配列添
字式の増減が、増加していく場合には、GE、減少して
いく場合には、LEに、WAITのTYPEを決定する
。これにより、以下説明する同期制御の誤動作が防止さ
れ、プロセス間の各同期制御が。
同期制御テーブルの各フィールドで行うことができる。
(2)プロセス間同期制御 並列実行される各プロセスにおいて、POST側の同期
制御対象配列要素をアクセスする場合には、アクセスし
た直後に、POSTにより、同配列添字式の値をMSG
として、F I I) Pで示されたフィールドに書き
込むことにより、他プロセスにアクセス完了を通知する
。一方、WAIT側の同期制御対象配列要素をアクセス
する場合には、アクセスする直前に、WAITにより、
F I DWで示されるフィールドの値が、同配列添字
式の値からなるMSG以上(TYPE=GE)、あるい
は、以下(’14PE=LE)の同期条件を満たすまで
待った時、同配列要素へのアクセスを行う。
上記同期制御準備によって、PO8T側のM S G 
FIDPと、WAIT側のMSG、FIDWは、同一の
同期制御対象配列要素に対して一致するように決定され
ているが、PO3T側の配列要素へのアクセスを実行す
るプロセスと、WAIT側の配列要素へのアクセスを実
行するプロセスは、並列実行される2つの異なるプロセ
スであるため、WAI’r側があらかじめ定められたM
SGを受理する(ここで、受理するとは、フィールドの
値がMSGと一致することをいう。)前に、PO8T側
のプロセスが、異なるMSGを同一フィールドに書き込
みを行い、そのフィールドの値が更新されてしまうこと
(オーバーライド)が起こり得る。
しかし、フィールドが別の値に更新されている場合には
、前の)) OS T側の同期制御対象配列要素のアク
セスは、すでに、同一プロセスにより実行完了している
。従って、WA、IT側では、TYPEを、フィールド
の値が、実行に伴い増加していく場合に、GE、減少し
ていく場合に、LEとすることで、PO8Tによるオー
バーライI−による同期制御の誤動作を防ぐことができ
(このフィールドの増減は、逐次実行した場合の同期制
御対象配列の添字式の増減に一致する。)、PO8T側
での配列要素のアクセスと、WAIT側での配列要素の
アクセスの順序関係を保障することができる。
〔実施例〕
以下、本発明の一実施例を第1図から第4図を用いて説
明する。
第2図に、本発明の適用が必要な一例を、第3図に、第
2図の例の実行推移を示す。
本例では、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)の使用は、他のプロセスでの定義を必
要としない。
次に、第1図、第4図、及び、第5図を用いて、第2図
の例への本発明の詳細な説明する。
第4図は、本発明の第2図の例への適用例、第1図は、
第4図の適用例での本発明の動作概要、第5図は、第4
図の適用例での同期制御テーブルの各フィールドの対応
づけを示す。
D○ループを実行する前に、各プロセスは、それぞれP
O8TがM S Gを書き込むフィールド(FIDPで
示す)と、WAITが値を読み出すフィールド(F I
 DWで示す)を対応づける(第4図中の1)、第5図
に各プロセスでのFIDP。
FIDWの値を示す。この対応づけにより、線形添字配
列Xへのアクセス順序の保証が必要なプロセス間、プロ
セスP1とプロセスP2.プロセスP2とプロセスP3
.プロセスP3とプロセスP4.プロセスP4とプロセ
スP1に対し、それぞれ、同期制御テーブルの各フィー
ルド、Fl。
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)。
D○ループの実行中、Dの配列要素X(Il1)の実行
の直後、第4図中の4のPO8Tにより、Il1をMS
Gとして、同期制御テーブルのFIDPで示されるフィ
ールドに書き込みを行う (P=1゜2.3.4に対し
て、それぞれ、F I D P = 1. 。
2.3.4)。これにより、配列要素X(Il1)の定
義完了を他プロセスに通知する(Wl〜W4)、例えば
、プロセスP1では、U2のX(2)の定義の直後に、
MSGの値2を、フィールドF1に5プロセスP2では
、U3のx(3)の定義の直後に、MSGの値3をフィ
ールドF2に書き込む。
次に、第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となっているので、ただちに、行われる。
以上により、配列変数Xの定義、使用の順序が保障され
て、正しい実行結果を得ることができる。
本発明の同期制御では、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)の
定義が完了していることが保障できるためである。
又、同期制御テーブルに、並列実行されるプロセス数分
のフィールドを用意し、各フィールドでプロセス間同期
制御を行うため、これらの同期制御は並列に実行される
本適用例は、同期制御の必要な1対の線形添字配列のア
クセスに対し、TIDIで示す1つの同期制御テーブル
を用いて同期制御を行っているが、同期制御の必要な線
形添字配列のアクセスの対が、複数ある場合は、その対
の数分の同期制御テーブル(各テーブルは、それぞれ異
なるTIDで識別する。)を用意して、それぞれの対に
ついて、本適用例と同様に同期制御を行う。
本発明は、余分なハードウェア付加機構なしに主記憶共
有型マルチプロセス上で実現可能であるが、PO8T、
WAITの専用ハードウェア命令化、及び、プロセス間
通信領域を、高速アクセス可能な共有メモリ上に確保、
あるいは、より高速な同期レジスタと、同期レジスタオ
プレーションとして実現することにより、さらなる高速
化が可能である。
〔発明の効果〕 本発明は、2種類のWA I Tの同期条件により、同
期制御テーブルの同一フィールドの異なる同期制御のた
めの重複使用が可能となり、又、並列実行されるプロセ
ス数分のフィールドを同期制御テ−プルに設け、各プロ
セス間同期制御を各フィールドで行うので、プロセス間
通信領域を少ないメモリ量で、並列性を損うことなく、
プロセス間同期制御を行うことができる。
【図面の簡単な説明】
第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図

Claims (1)

  1. 【特許請求の範囲】 1、マルチプロセサシステムに対して、DOループを並
    列化単位として並列実行する処理方式において、線形添
    字配列の同一要素への値の書き込みあるいは読み出しで
    あるアクセスが並列実行される複数のプロセスで行われ
    る場合に必要なプロセス間同期制御であつて、全プロセ
    ス共通の通信領域に設けたプロセス数分のフィールドを
    もつ同期制御テーブルの特定のフィールドに同期制御メ
    ッセージの値の書き込みを行うことにより、アクセス完
    了を他プロセスに通知し、同期制御テーブルの特定のフ
    ィールドの値が同期制御メッセージの値“以上”、ある
    いは、“以下”の2種類から成る同期条件を満たすまで
    待つた後、アクセスを行う同期制御を実行することを特
    徴とする同期制御方法。 2、同期制御対象配列の線形添字から、同期制御メッセ
    ージの決定及び、プロセス間の各同期制御と同期制御テ
    ーブルの各フィールドの対応づけを行い、逐次実行した
    場合の配列添字の増減から、同期方法を決定し、同期制
    御の必要ない配列添字の値で同期制御テーブルの各フィ
    ールドの初期化を行う同期制御準備処理を行うことを特
    徴とする特許請求の範囲第1項記載の同期制御方式。
JP6738888A 1988-03-23 1988-03-23 同期制御方式 Pending JPH01240965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6738888A JPH01240965A (ja) 1988-03-23 1988-03-23 同期制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6738888A JPH01240965A (ja) 1988-03-23 1988-03-23 同期制御方式

Publications (1)

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

Family

ID=13343558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6738888A Pending JPH01240965A (ja) 1988-03-23 1988-03-23 同期制御方式

Country Status (1)

Country Link
JP (1) JPH01240965A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04152465A (ja) * 1990-10-16 1992-05-26 Fujitsu Ltd データ処理システム及びデータ処理方法
JPH06243110A (ja) * 1993-02-16 1994-09-02 Nec Corp バリア同期実現方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04152465A (ja) * 1990-10-16 1992-05-26 Fujitsu Ltd データ処理システム及びデータ処理方法
JPH06243110A (ja) * 1993-02-16 1994-09-02 Nec Corp バリア同期実現方法

Similar Documents

Publication Publication Date Title
KR960003046B1 (ko) 비정렬 레퍼런스의 처리가 가능한 risc 컴퓨터 및 그 처리방법
US5920714A (en) System and method for distributed multiprocessor communications
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
ATE185205T1 (de) Risc mikroprozessorarchitektur mit mehrere registersätze von unterschiedlichen typen
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
JPH02238553A (ja) マルチプロセツサ・システム
JPH0512750B2 (ja)
CN108845829B (zh) 一种系统寄存器访问指令的执行方法
JPH06223043A (ja) 分散メモリ型プロセッサシステム
RU2198422C2 (ru) Асинхронная синергическая вычислительная система
US7437729B2 (en) Method for load balancing a loop of parallel processing elements
JP2866421B2 (ja) 複数パス並列処理方法
JPH0764960A (ja) データフロープロセサ
JPH03135630A (ja) 命令スケジューリング方式
Kurzak et al. Solving Systems of Linear Equations on the CELL Processor Using Cholesky Factorization–LAPACK Working Note 184
SU1647584A1 (ru) Устройство обработки данных процессора
DE3314390C2 (de) Digitalrechner
JPS6343782B2 (ja)
JPH0827719B2 (ja) デ−タ処理装置
JPS58163045A (ja) プログラムカウンタ制御装置
JPS61206061A (ja) ストア制御方法
Tomlin Microprogrammed disc controllers.
JPH0425961A (ja) 共有データ更新方式
JPH01189732A (ja) タスク起動制御方法
JPH03251940A (ja) 記憶装置および方法