JP2998721B2 - 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム - Google Patents

並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム

Info

Publication number
JP2998721B2
JP2998721B2 JP28568797A JP28568797A JP2998721B2 JP 2998721 B2 JP2998721 B2 JP 2998721B2 JP 28568797 A JP28568797 A JP 28568797A JP 28568797 A JP28568797 A JP 28568797A JP 2998721 B2 JP2998721 B2 JP 2998721B2
Authority
JP
Japan
Prior art keywords
processing
coprocessor
buffer
program
group
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.)
Expired - Lifetime
Application number
JP28568797A
Other languages
English (en)
Other versions
JPH11120146A (ja
Inventor
直之 岩下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP28568797A priority Critical patent/JP2998721B2/ja
Publication of JPH11120146A publication Critical patent/JPH11120146A/ja
Application granted granted Critical
Publication of JP2998721B2 publication Critical patent/JP2998721B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は共用資源の排他制御
方式に関し、特に、並列に実行される複数のプログラム
があるコプロセッサを非同期に使用する場合におけるコ
プロセッサ使用権の排他制御方法および排他制御システ
ムに関する。
【0002】
【従来の技術】近年、ソフトウェア処理の一部をハード
ウェア化してコプロセッサを開発して高速化を行うとい
う研究が活発に行われている。従来、並列処理を行うプ
ログラムにおいて、コプロセッサの排他処理を行う場合
には、割り込み禁止にするという手法があったが、高レ
ベルのOSの出現により、アプリケーションプログラマ
が割り込み制御を直接行うことができないこともあり得
るようになった。高レベルのOSにおいてアプリケーシ
ョンプログラマが排他制御を行う場合には、セマフォな
どのシステムコールを発行する必要があり、スレッドの
テーブル検索を伴うディスパッチ処理が行われるので、
オーバヘッドが大きくなっていた。ソフトウェア処理を
ハードウェア化した結果、ハードウェア化した処理が排
他制御のためのシステムコールより小さい場合には、そ
のシステムコールのために性能が低下してしまう。その
ため、オーバヘッドの少ないコプロセッサ排他制御実現
方式が必要になっていた。 共有資源をアクセスする際
の排他制御方式の一例が特開平5−20269号に記載
されている。この方式は、オンライン処理を複数個並列
処理することができるオンライン計算システムに関す
る。このオンライン計算システムは、共用資源(共用フ
ァイル)を有する計算システムと1個の端末とが通信路
を介して接続され、上記端末の、共用資源に対するアク
セス要求を含むオンライン処理を、複数のトランザクシ
ョン(TR)処理プログラムの実行によって行う。
【0003】計算システムは、識別子付与手段と占有管
理テーブルと占有手段と占有解除手段と排他制御手段を
備えている。識別子付与手段は、オンライン処理ごとに
割り当てられた識別子を、該オンラィン処理を構成する
TR処理プログラムに付与する。占有管理テーブルに
は、共用ファイルを占有しているオンライン処理を識別
するための識別子が登録されている。占有手段は、TR
処理プログラムから識別子を含む占有要求を受けると、
上記占有管埋テーブルに上記識別子が登録きれているか
否を調べ、登録きれていないときには、該占有要求に含
まれた識別子を上記占有管理テーブルに登録して、要求
元のTR処理プログラムに占有許可を通知し、登録され
ているときには、登録きれている識別子と該占有要求に
含まれた識別子とを比較し、両者が等しい場合は、要求
元のTR処理プログラムに占有許可を通知し、両者が等
しくない場合は、要求元のTR処理プログラムに占有不
許可を通知する。占有解除手段は、TR処理プログラム
から識別子を含む占有解除要求を受けると、該占有解除
要求に含まれた識別子とを比較し、両者が等しいなら
ば、要求元のTR処理プログラムに占有解除許可を通知
し、両者が等しくないならば要求元のTR処理プログラ
ムに占有解除不許可を通知する。排他制御手段は占有管
理テーブルを管理する。TR処理プログラムが共用ファ
イルの占有要求を発行すると、占有手段は、該TR処理
プログラムに付与された識別子と占有管理テーブルに登
録されている識別子とを比較し、当該TR処理プログラ
ムが共用ファイルを占有できるオンライン処理を構成す
るものであるか否かを判定する。
【0004】
【発明が解決しようとする課題】上記の排他制御方式に
おいては、同一の端末から複数のオンライン処理を構成
する複数のTR処理プログラムが同時に起動されても処
理対象となる共用ファイルへの競合を防止することがで
きる。しかし、この方式においても、TRプログラム切
り替えのために、プログラム実行のプライオリティや待
ち時間等を考慮したスケジューリング処理は必要であ
る。通常、このスケジューリング処理には時間がかか
る。その結果、1つのTR処理プログラムの実行中に、
割り込みによって他のTR処理プログラムが起動された
とき、そのTR処理プログラムの切り替えのために時間
がかかり、切り替えられるTR処理プログラムに関する
オーバヘッド時間が長くなるという問題がある。
【0005】本発明の目的は、並列に実行される複数の
プログラムが共有資源としてのコプロセッサを非同期に
使用する計算システムのコプロセッサ使用権の排他制御
を高速にする方法を提供することにある。
【0006】
【課題を解決する手段】前記の問題を解決するために、
本発明の並列処理プログラムとコプロセッサとの間の排
他制御方法は、コプロセッサが処理を実行する際にプロ
グラム群との入出力を行う複数の処理用バッファから成
る処理バッファ群を当該コプロセッサに装着し、並列処
理プログラムが使用しようとする処理バッファ群内の処
理用バッファの占有使用権を管理する排他制御機能をコ
プロセッサに付与し、プログラム群があるコプロセッサ
を非同期に使用する場合には、使用されていない処理用
バッファを検索し、プログラム群内の並列処理プログラ
ムへ、使用されていない処理用バッファの占有使用権を
コプロセッサから発行し、当該並列処理プログラムに、
占有使用権を取得した処理用バッファに対してのみ制御
を行わせ、当該並列処理プログラムから当該処理用バッ
ファにロードされた処理引数に基づいてコプロセッサに
コプロセッサ処理を実行させ、コプロセッサが実行した
処理の結果を当該処理用バッファに書き込み、当該並列
処理プログラムが該書き込みの終了を認識したときに、
当該並列処理プログラムの制御によって当該処理用バッ
ファの占有使用権を解放し、解放された占有使用権に係
る処理用バッファを、使用されていない処理用バッファ
としてコプロセッサに登録する。
【0007】本発明の計算システムは、複数の並列処理
プログラムから成るプログラム群を実行する中央処理装
置と前記プログラム群を高速で実行するために中央処理
装置に協動するコプロセッサ処理部を備えたコプロセッ
サを有する計算システムであって、前記コプロセッサ
は、プログラム群が処理を実行する際にコプロセッサと
の入出力を行う複数の処理用バッファから成る処理バッ
ファ群と、コプロセッサ処理を実行するコプロセッサ処
理部と、並列処理プログラムが使用しようとする処理バ
ッファ群内の処理用バッファの占有使用権を管理する排
他制御手段を有し、並列処理プログラム群がコプロセッ
サを非同期に使用する場合には、前記排他制御手段はプ
ログラム群内の、当該コプロセッサを使用しようとする
並列処理プログラムに、現在、不使用状態の処理用バッ
ファの占有使用権を発行し、当該並列処理プログラム
は、占有使用権を取得した処理用バッファに対してのみ
制御を行い、コプロセッサ処理部が実行した処理結果は
処理用バッファに書き込まれ、当該並列処理プログラム
は、コプロセッサが実行した処理結果の書き込みが終了
したとき、前記排他制御手段に対して当該処理用バッフ
ァの占有使用権の解放を起動し、前記排他制御手段は、
前記起動に応答して、当該占有使用権に係る処理用バッ
ファを不使用状態の処理用バッファとして登録する。
【0008】
【作用】このように、本発明の方式においては、オーバ
ヘッド時間は、2回のメモリアクセスと1回の空き処理バ
ッファの検索とに要する時間のみになるので、従来の排
他制御の、システムコールを発行してスレッドやプロセ
スのスケジューリング処理を実行するために要する時間
に比較して短くなる。したがって、高速の排他制御が可
能になる。
【0009】本発明の方式においては、異なる並列処理
プログラムの処理結果は異なる処理用バッファに書き込
まれる。したがって、あるプログラムの実行中に他のプ
ログラムの割り込みが発生しても、例えば、当該あるプ
ログラムの処理結果上に当該他のプログラムの処理結果
が上書きされるような、障害を回避することができる。
【0010】
【発明の実施の形態】本発明の並列処理プログラムとコ
プロセッサとの間の排他制御方法は、並列に実行される
複数のプログラムがあるコプロセッサを非同期に使用す
る場合に、コプロセッサ使用権の排他処理を、(コプ
ロセッサに使用権獲得要求の最大衝突数)+1の処理用
バッファをコプロセッサに装着し、コプロセッサから
与えられた処理用バッファの使用権をプログラムが取得
して、取得した処理用バッファに対してのみプログラ
ムが制御を行い、プログラムが処理結果を読み出した
後に処理用バッファの使用権を解放するという4段階の
基本過程から成っている。図1は、本発明の方法を実施
するための、計算機システムの構成図である。計算機シ
ステムはCPU11と共通バス31とコプロセッサ41か
ら成っている。CPU11はm個の並列処理プログラムか
ら成るプログラム群21を有する。コプロセッサ41は
コプロセッサ処理部46と複数(n個)の処理バッファ
から成る処理バッファ群45を有する。コプロセッサ4
1は、さらに、処理バッファ群45内の処理バッファの
占有使用を制御する排他制御手段を有する。
【0011】プログラム群21はCPU11上で実行さ
れる並列処理プログラムの集合で、共通バス31、処理
バッファ群45を介してコプロセッサ41を非同期に使
用する。コプロセッサ処理部46は、プログラム群21
内の並列処理プログラムの処理の高速化を行うために、
CPU11に協調して動作する。処理バッファ群45は、
コプロセッサ処理部46が処理を実行する際にプログラ
ム群21との入出力を行う。排他制御手段は、並列処理
プログラムが使用しようとする処理バッファ群45内の
処理バッファの占有使用権を管理する。
【0012】排他制御手段は、空き処理バッファ識別子
42と、処理バッファ使用状態フラグ群44と、空き処
理バッファ検索回路43を有する。空き処理バッファ識
別子42は、プログラム群21が参照した際に処理バッ
ファ群45内の不使用状態の処理バッファの識別子を出
力する。処理バッファ使用状態フラグ群44は、処理バ
ッファ群45内の処理用バッファが使用中であるか不使
用状態であるかの状態を示す使用状態フラグを保持して
いる。空き処理バッファ検索回路43は、処理バッファ
使用状態フラグ群44内のフラグの状態を管理する。
【0013】図2は、処理バッファ群45に含まれるす
べてのn個の処理用バッファが処理バッファ使用状態フ
ラグ群44の中に対応するバッファ使用状態フラグを持
つことを示している。処理用バッファ数nは(プログラ
ム群21内のプログラムから同時にコプロセッサに対し
て発生しうる使用権獲得要求の最大衝突数)+1であ
る。
【0014】図3は処理バッファ群45中の任意の第i
処理用バッファ5iの構成を示す。第i処理バッファ5
iは、処理引数部71と、処理結果部72と、実行開始
フラグ73と、使用権解放フラグ74を備えている。処
理引数部71は、プログラム群21により書き込み制御
され、コプロセッサ処理部46で処理が行われる際に参
照される情報を格納する。処理結果部72は、コプロセ
ッサ処理部46の処理結果が出力され、プログラム群2
1の処理の際に、プログラム群21によって参照され
る。実行開始フラグ73は、プログラム群21から、コ
プロセッサ処理部46が処理を行う際に参照される情報
を処理引数部71に書き込むための書き込み制御が行わ
れたときにコプロセッサ処理部46に処理引数部71を
参照して処理の開始を行うよう指示する。使用権解放フ
ラグ74は、プログラム群21から読み出し処理が行わ
れたときに空き処理バッファ検索回路43に第i処理バ
ッファ使用状態フラグ6iを不使用状態に設定する指示
をする。
【0015】図4は、プログラム群21が並列で実行さ
れるm個のスレッドプログラムから構成されることを示
している。
【0016】図1のコプロセッサを使用する、プログラ
ム群21中の任意の第jプログラム8jが空き処理バッ
ファ識別子42を読み出し制御すると、空き処理バッフ
ァ識別子42は不使用状態の第i処理バッファ5iを示
す値をもつ識別子を出力する。空き処理バッファ識別子
42は、さらに、空き処理バッファ検索回路43に対し
て、処理バッファ使用状態フラグ群44中の、出力され
た空き処理バッファ識別子42に対応する第i処理用バ
ッファの使用状態を示す処理用バッファ使用状態フラグ
iを使用状態に設定後、処理バッファ使用状態フラグ群
44を検索して不使用状態の処理バッファの識別子を求
めて、空き処理バッファ識別子42を更新するように指
示する。
【0017】第jプログラム8jは空き処理バッファ識
別子42に対応する第i処理バッファ5i内の処理引数
部71にコプロセッサ処理に必要な情報を書き込んだ後
に、実行開始フラグ73を書き込む。第jプログラム8
jは、この実行開始フラグ73の書き込みによってコプ
ロセッサ処理部46に処理の開始指示を行う。第jプロ
グラム8jは、第i処理バッファ5iに対して、次に処
理結果部72からコプロセッサ処理の実行結果を読み出
す処理を行う。この実行結果読み出し処理が終了した
後、第jプログラム8jは使用権解放フラグ74を読み
出すことによって、第i処理バッファ使用状態フラグi
を不使用状態状態に設定する。
【0018】上記の処理中でコプロセッサ処理部46が
行う処理と、空き処理バッファ識別子42読み出しから
更新までの処理と、使用権解放フラグ74から第i処理
バッファ使用状態フラグiを不使用状態状態に設定する
処理を、並列処理されているプログラムが別なプログラ
ムに切り替わるのに必要な時間よりも小さくすることに
より、第jプログラム8jにおける排他制御のオーバー
ヘッドは、空き処理バッファ識別子42の呼び出しと空
き処理バッファ識別子42に対応する第i処理バッファ
のアドレスの計算と使用権解放フラグ74への読み出し
のみになり、高速な排他制御を実現することができる。
【0019】次に本実施形態の動作を説明する。図5は
本実施形態の動作を説明する信号シーケンス図である。
プログラム群21中の任意のスレッドプログラム第jプ
ログラム8jがコプロセッサ処理部46を使用して処理
を行う際には空き処理バッファ識別子42を読み出す
(A1)。空き処理バッファ識別子42は空き処理バッ
ファ検索回路43に対してフラグ更新指示を行う(A
2)。空き処理バッファ検索回路43はフラグ更新指示
A2を受けると、識別子処理読み出し処理A1において
読み出された空き処理バッファ識別子42の値に対応す
る、処理バッファ使用状態フラグ群44中の第i処理バ
ッファ使用状態フラグ6iの状態を「使用中」に設定す
る(A3)。第i処理バッファ使用状態フラグ6iに
「使用中」を設定(A3)した後、空き処理バッファ検
索回路43は処理バッファ使用状態フラグ群44内のフ
ラグ中から不使用の状態のフラグを検索して(A4)、
検出したフラグに対応する識別子を空き処理バッファ識
別子42に出力する(A5)。
【0020】A2からA5までの処理中に割り込みなど
の要因により任意の第jプログラム8j以外のプログラ
ム群21内の別のスレッドプログラム第1プログラム8
1にスレッド切り替えが行われて、第jプログラム8j
がA1で読み出した識別子と同じ値を第1プログラム8
1が読み出さないように、A2からA5までの処理はス
レッド切り替えの最少所要時間以下の時間で処理が終了
するようにする。
【0021】第jプログラム8jは識別子読み出し処理
A1後、読み出した空き処理バッファ識別子42の値に
対応する処理バッファ群45内のある処理バッファ第i
処理バッファ5iのアドレスを算出して、処理引数部7
1にコプロセッサ処理部46が処理を行う際に参照する
情報を書き込む(A6)。処理引数部71への書き込み
処理(A6)が終了してコプロセッサ処理の準備が完了
した後、第jプログラム8jは実行開始フラグ73に書
き込みアクセスを行いコプロセッサ処理部46に処理を
開始するように指示を行う(A7)。実行開始フラグ7
2の書き込み処理A7をトリガとして第i処理バッファ
5iはコプロセッサ処理部46へ処理開始指示を行う
(A8)。コプロセッサ処理部46は処理開始指示A8
を受けてコプロセッサ処理を行い、その処理結果を処理
結果部72に書き込んでいく(A9)。A8からA9ま
での処理中に割り込みなどの要因により第jプログラム
8j以外のプログラム群21内の別のスレッドプログラ
ム第1プログラム81にスレッド切り替えが行われて、
処理結果部72への書き込み処理A9が未完了のうちに
第1プログラム81により実行開始フラグ73に書き込
み処理A7が行われないように、A8からA9完了まで
の所要時間はスレッド切り替えの最少所要時間以下にす
る。第jプログラム8jは実行開始フラグ73への書き
込み処理A7終了後、所要時間分ループ処理で待つか処
理結果部72中に結果書き込み完了を示すフィールドを
持たせ書き込み完了までポーリングするなどしてA8か
らA9までの処理が完了する時間まで待ち、使用権解放
フラグ74に対して読み出しアクセスを行う(A1
1)。第jプログラム8jより使用権解放フラグ74の
読み出しアクセスA11が行われたことをトリガとし
て、第i処理バッファ5iはフラグ空き処理バッファ検
索回路43に対して更新を指示する(A12)。フラグ
更新指示A12を受けて空き処理バッファ検索回路43
は第i処理バッファ使用状態フラグ8iを不使用状態に
する(A13)。
【0022】任意の数をpとし、すでに処理バッファ使
用状態フラグ群45中のフラグがp個使用中になってい
る場合には、不使用フラグ検索ステップA4が実行され
るためには、不使用の状態のフラグが少なくともp+1
個ないと検索が失敗してしまう。したがって、図2の処
理バッファ使用状態フラグ群45中の処理バッファ使用
状態フラグ数nは、(プログラム群21内のプログラム
が同時にコプロセッサに対して発生しうる使用権獲得要
求の最大衝突数)+1以上に設定される。
【0023】上記の実施形態は、プログラム群21が並
列で実行されるm個のスレッドプログラム(図4参照)
であるとして説明したが、プログラム群21がスレッド
プログラムでなくプロセスでから構成されていても本発
明の実施は可能である。また、プログラム群21の、並
列処理プログラムの個数mが無限大であっても、(使用
権獲得要求の最大衝突数)+1個の処理バッファを用意
すれば本発明の実現が可能である。
【0024】
【発明の効果】以上、説明した通り、本発明は次のよう
に要約することができる。すなわち、並列に実行される
複数のプログラムがあるコプロセッサを非同期に使用す
る場合に、コプロセッサに使用権獲得要求の最大衝突
数+1の処理用バッファを装着し、コプロセッサを使
用しようとするコプロセッサが不使用の処理用バッファ
の占有使用権をコプロセッサから取得して、当該プロ
グラムは占有使用権を取得した処理用バッファに対して
のみ制御を行い、プログラムが処理結果を読み出した
後に処理用バッファの使用権を解放する。
【0025】この構成により、本発明においては、コプ
ロセッサ使用権の排他処理のオーバヘッドは、空き処理
バッファ識別子の呼び出しと空き処理バッファ識別子に
対応する処理バッファのアドレスの計算と使用権解放フ
ラグへの読み出し、すなわち、メモリリード2回と空き
処理バッファ識別子を添え字としてアドレス計算を1回
行うのみになり、排他制御を高速に実現することができ
る効果を有する。
【図面の簡単な説明】
【図1】本発明の方法を実施するための、計算機システ
ムの構成図である。
【図2】処理バッファ群とバッファ使用状態フラグとの
対応を示す図である。
【図3】処理バッファ群中の任意の第i処理用バッファ
の構成を示す図である。
【図4】プログラム群が並列で実行されるm個のスレッ
ドプログラムから構成されることを示す図である。
【図5】本発明の計算システムの動作を説明する信号シ
ーケンス図である。
【符号の説明】
11 CPU 21 プログラム群 31 共通バス 41 コプロセッサ 42 空き処理バッファ識別子 43 空き処理バッファ検索回路 44 処理バッファ使用状態フラグ群 45 処理バッファ群 46 コプロセッサ処理部 51,52,5i,5n 処理用バッファ 61,62,6i,6n 処理バッファ使用状態フラグ 71 処理引数部 72 処理結果部 73 実行開始フラグ 74 使用権解放フラグ 81,82,8j,8m プログラム(並列処理プログ
ラム)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 620 G06F 9/46 340

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の並列処理プログラムから成るプロ
    グラム群を実行する中央処理装置と前記プログラム群を
    高速で実行するために中央処理装置に協動するコプロセ
    ッサを有する計算システムにおける、並列処理プログラ
    ムとコプロセッサとの間の排他制御方法において、 コプロセッサが処理を実行する際にプログラム群との入
    出力を行う複数の処理用バッファから成る処理バッファ
    群を当該コプロセッサに装着し、並列処理プログラムが
    使用しようとする処理バッファ群内の処理用バッファの
    占有使用権を管理する排他制御機能をコプロセッサに付
    与し、 プログラム群があるコプロセッサを非同期に使用する場
    合には、使用されていない処理用バッファを検索し、プ
    ログラム群内の並列処理プログラムへ、使用されていな
    い処理用バッファの占有使用権をコプロセッサから発行
    し、 当該並列処理プログラムに、占有使用権を取得した処理
    用バッファに対してのみ制御を行わせ、 当該並列処理プログラムから当該処理用バッファにロー
    ドされた処理引数に基づいてコプロセッサにコプロセッ
    サ処理を実行させ、 コプロセッサが実行した処理の結果を当該処理用バッフ
    ァに書き込み、当該並列処理プログラムが該書き込みの
    終了を認識したときに、当該並列処理プログラムの制御
    によって当該処理用バッファの占有使用権を解放し、 解放された占有使用権に係る処理用バッファを、使用さ
    れていない処理用バッファとしてコプロセッサに登録す
    ることを特徴とする並列処理プログラムとコプロセッサ
    との間の排他制御方法。
  2. 【請求項2】 前記コプロセッサに、前記複数の処理用
    バッファのそれぞれが使用状態であるか不使用状態であ
    るかを示すフラグ群を蓄積する処理バッファ使用状態フ
    ラグ群領域を設け、 前記使用されていない処理用バッファの占有使用権をコ
    プロセッサから発行する処理は、並列処理プログラムが
    処理用バッファの占有使用権を要求するためにコプロセ
    ッサを読み出し、該読み出しに応答してコプロセッサは
    処理バッファ使用状態フラグ群領域を検索し、不使用状
    態の処理用バッファのフラグを使用中に設定する処理を
    含んでいる、請求項1に記載の方法。
  3. 【請求項3】 前記処理用バッファに前記占有使用権の
    解放を指示する信号を蓄積する使用権解放フラグ領域を
    設置し、 前記当該処理用バッファの占有使用権を解放する処理
    は、並列処理プログラムが該書き込みの終了を認識した
    ときに当該並列処理プログラムが前記使用権解放フラグ
    領域を読み出し制御し、該領域から読み出された信号を
    トリガーとして前記排他制御機能が前記占有使用権を解
    放する処理を含んでいる請求項2に記載の方法。
  4. 【請求項4】 前記使用されていない処理用バッファの
    占有使用権をコプロセッサから発行する処理に要する時
    間、前記コプロセッサがコプロセッサ処理を実行する時
    間、前記当該処理用バッファの占有使用権を解放する処
    理に要する時間を、前記複数の並列処理プログラムを切
    り替える最小所要時間以下に設定する、請求項3に記載
    の方法。
  5. 【請求項5】 複数の並列処理プログラムから成るプロ
    グラム群を実行する中央処理装置と前記プログラム群を
    高速で実行するために中央処理装置に協動するコプロセ
    ッサ処理部を備えたコプロセッサを有する計算システム
    において、前記コプロセッサは、 プログラム群が処理を実行する際にコプロセッサとの入
    出力を行う複数の処理用バッファから成る処理バッファ
    群と、 コプロセッサ処理を実行するコプロセッサ処理部と、 並列処理プログラムが使用しようとする処理バッファ群
    内の処理用バッファの占有使用権を管理する排他制御手
    段を有し、 並列処理プログラム群がコプロセッサを非同期に使用す
    る場合には、前記排他制御手段はプログラム群内の、当
    該コプロセッサを使用しようとする並列処理プログラム
    に、現在、不使用状態の処理用バッファの占有使用権を
    発行し、当該並列処理プログラムは、占有使用権を取得
    した処理用バッファに対してのみ制御を行い、コプロセ
    ッサ処理部が実行した処理結果は処理用バッファに書き
    込まれ、当該並列処理プログラムは、コプロセッサが実
    行した処理結果の書き込みが終了したとき、前記排他制
    御手段に対して当該処理用バッファの占有使用権の解放
    を起動し、前記排他制御手段は、前記起動に応答して、
    当該占有使用権に係る処理用バッファを不使用状態の処
    理用バッファとして登録することを特徴とする計算シス
    テム。
  6. 【請求項6】 前記処理バッファは、並列処理プログラ
    ムにより書き込み制御され、かつ、コプロセッサ処理部
    で処理が行われる際に参照される情報を格納する処理引
    数部と、コプロセッサ処理部の処理結果を保持し、並列
    処理プログラムの処理の際に、並列処理プログラムによ
    って参照される処理結果部と、コプロセッサ処理部が処
    理を行う際に参照される情報を処理引数部に書き込むた
    めの書き込み制御が行われたときに、並列処理プログラ
    ムからコプロセッサ処理部へ処理引数部を参照して処理
    の開始を行うように指示する指示信号を保持する実行開
    始フラグ部と、コプロセッサ処理部が処理を終了したと
    き、コプロセッサを使用した並列処理プログラムの制御
    により排他制御手段が当該処理用バッファの使用状態を
    示すフラグを不使用に設定するための処理を起動する信
    号を保持する使用権解放フラグ部とを有する、請求項5
    に記載の計算システム。
  7. 【請求項7】 前記排他制御手段は、プログラム群が参
    照した際に処理バッファ群内の不使用の処理バッファの
    識別子を出力する空き処理バッファ識別子保持手段と、
    処理バッファ群内の処理用バッファが使用中であるか不
    使用であるかの状態を示す使用状態フラグを保持してい
    る処理バッファ使用状態フラグ群保持手段と、、処理バ
    ッファ使用状態フラグ群保持手段内のフラグの状態を管
    理する空き処理バッファ検索回路とを有し、 プログラム群中の任意の並列処理プログラムがコプロセ
    ッサ処理部を使用して処理を行う際には、空き処理バッ
    ファ識別子保持手段を読み出し、空き処理バッファ識別
    子保持手段は空き処理バッファ検索回路に対してフラグ
    更新指示を行い、フラグ更新指示を受けて空き処理バッ
    ファ検索回路は前記空き処理バッファ識別子保持手段の
    読み出し処理において読み出された空き処理バッファ識
    別子の値に対応する処理バッファ使用状態フラグ群保持
    手段中の処理バッファ使用状態フラグの状態を使用中に
    設定し、次に、空き処理バッファ検索回路は処理バッフ
    ァ使用状態フラグ群保持手段内のフラグ中から不使用の
    状態のフラグを検索して、検出したフラグに対応する識
    別子を空き処理バッファ識別子保持手段に出力し、並列
    処理プログラムが処理用バッファの占有使用権を解放す
    るために、当該処理用バッファの使用状態を示すフラグ
    を不使用に設定する指示信号が使用権解放フラグから出
    力されたときには、空き処理バッファ検索回路は当該処
    理用バッファに対応する処理バッファ使用状態フラグを
    不使用状態にする、請求項6に記載の計算システム。
  8. 【請求項8】 前記処理用バッファの数は、少なくと
    も、前記プログラム群内の並列処理プログラムがコプロ
    セッサに対して発生し得る占有使用権取得要求の最大衝
    突数に1を加算した数である、請求項5に記載の計算シ
    ステム。
  9. 【請求項9】 前記並列処理プログラムがスレッドプロ
    グラムである、請求項5に記載の計算システム。
  10. 【請求項10】 前記並列処理プログラムがプロセスで
    ある、請求項5に記載の計算システム。
  11. 【請求項11】 複数の並列処理プログラムから成るプ
    ログラム群を実行する中央処理装置と前記プログラム群
    を高速で実行するために中央処理装置に協動するコプロ
    セッサとを有し、前記コプロセッサは、コプロセッサ処
    理を行うコプロセッサ処理部とプログラム群が処理を実
    行する際にコプロセッサ処理部との入出力を行う複数の
    処理用バッファから成る処理バッファ群と並列処理プロ
    グラムが使用しようとする処理バッファ群内の処理用バ
    ッファの占有使用権を管理する排他制御手段とを備えて
    いる、計算システムにおける処理用バッファの使用に関
    する排他制御手順を記述したプログラムを記録した記録
    媒体であって、 プログラム群がコプロセッサを非同期に使用する場合に
    は、プログラム群内の、当該コプロセッサを使用しよう
    とする並列処理プログラムに対して現在使用されていな
    い空き状態の処理用バッファの占有使用権を前記排他制
    御手段から発行し、当該並列処理プログラムは、占有使
    用権を取得した処理用バッファに対してのみ制御を行
    い、 コプロセッサが実行した処理の結果を当該並列処理プロ
    グラムが読み出した後には、当該並列処理プログラムは
    当該処理用バッファの占有使用権を解放し、 前記占有使用権が解放されると、該排他制御手段は当該
    占有使用権に係る処理用バッファを空き状態の処理用バ
    ッファとして登録する手順を記述したプログラムが記録
    されている記録媒体。
JP28568797A 1997-10-17 1997-10-17 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム Expired - Lifetime JP2998721B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28568797A JP2998721B2 (ja) 1997-10-17 1997-10-17 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28568797A JP2998721B2 (ja) 1997-10-17 1997-10-17 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム

Publications (2)

Publication Number Publication Date
JPH11120146A JPH11120146A (ja) 1999-04-30
JP2998721B2 true JP2998721B2 (ja) 2000-01-11

Family

ID=17694752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28568797A Expired - Lifetime JP2998721B2 (ja) 1997-10-17 1997-10-17 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム

Country Status (1)

Country Link
JP (1) JP2998721B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234144B2 (en) 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
JP6204313B2 (ja) * 2014-08-28 2017-09-27 京セラドキュメントソリューションズ株式会社 電子機器

Also Published As

Publication number Publication date
JPH11120146A (ja) 1999-04-30

Similar Documents

Publication Publication Date Title
US4914570A (en) Process distribution and sharing system for multiple processor computer system
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
EP0132381A2 (en) Method of synchronizing the sequence by which a variety of randomly called unrelated activities are executed in a digital processor
JPH04308961A (ja) 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
JP3180362B2 (ja) 情報処理装置
US4725946A (en) P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPH03212755A (ja) マルチプロセッサ・システムおよび割り込み方法
JPS63310051A (ja) プログラム入出力命令を含む入出力プロセスの実行方法および装置
JP2821345B2 (ja) 非同期i/o制御方式
JP2998721B2 (ja) 並列処理プログラムとコプロセッサとの間の排他制御方法およびその排他制御機能を有する計算システム
CA1302580C (en) Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JP3006676B2 (ja) マルチプロセッサ
JPH11232247A (ja) データフロー計算機およびデータフロー制御方法
JPH0844662A (ja) 情報処理装置
JPH0844661A (ja) 情報処理装置
JP2781999B2 (ja) マルチプロセツサシステムにおける共通データチヤネル装置起動方式
JPS6145348A (ja) バス優先権制御方式
JP2941809B2 (ja) 画像処理方法及びその装置
JPH08297585A (ja) オペレーティングシステムによるデータ転送方法
JP3096760B2 (ja) 共通データ参照設定装置及び参照設定方法
JPH0376497B2 (ja)
JPH01300365A (ja) マルチプロセッサシステムの排他制御方式
JPH08339345A (ja) 情報処理システム
JPS63298555A (ja) 共有メモリ制御方式