JPS6079460A - 密結合多重演算装置における制御方式 - Google Patents

密結合多重演算装置における制御方式

Info

Publication number
JPS6079460A
JPS6079460A JP58188203A JP18820383A JPS6079460A JP S6079460 A JPS6079460 A JP S6079460A JP 58188203 A JP58188203 A JP 58188203A JP 18820383 A JP18820383 A JP 18820383A JP S6079460 A JPS6079460 A JP S6079460A
Authority
JP
Japan
Prior art keywords
processing
arithmetic
lock
instruction
operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP58188203A
Other languages
English (en)
Other versions
JPH0120466B2 (ja
Inventor
Kazunobu Fujiwara
一伸 藤原
Kunikazu Kawashima
川嶋 邦一
Takashi Tobe
戸辺 隆
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
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58188203A priority Critical patent/JPS6079460A/ja
Priority to US06/657,635 priority patent/US4663709A/en
Priority to FR8415397A priority patent/FR2553207B1/fr
Publication of JPS6079460A publication Critical patent/JPS6079460A/ja
Publication of JPH0120466B2 publication Critical patent/JPH0120466B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の属する技術分野 本発明はマルチプロセッシングにち・ける情報処理方式
、具体的には複数の密結合多才【演算装置間での主記憶
装置上に格納された共通データの弁開/更新を逐次化す
る制御方式に関する。
従来技術 主記憶装置を複数台の演算装置で共鳴し処理を行うマル
チプロセシングはシステムの処理能力の向上と烏信頼性
を確保する点で効果のある処理方式である。マルチプロ
セシング少のもとでは一元的な処理を行うために複数の
演算装置間での連絡機能を必要とする。該機能の一つと
して複数の演算装置が主記憶上に格納された共通データ
を参照/更新する場合、一方の演算装置が該データの参
照/更新を終了するまで、他方の演算装置の該データの
参照/更新を一時的に抑止する機構が必要である。マル
チプロセシングでは、演算装置間で主記憶装置上にある
共通データを競合して使用するケースは随所にある。例
えば、CPUとチャネルまたはCPUとCPUにおいて
である。特にCPUとCPUについて処理を逐次化する
機構は2つのタイプに分類できる。第1のタイプは第2
図に示されるようなサスペンドφタイプと呼ばれるもの
である。LOCKは一つのオペランドを有する命令であ
り主記憶のある番地を指定する。この番地は共用テーブ
ル等のある特定のリソースに対応づけられている。LO
CK命令はそのオペランドにより指定される番地の内容
を取り出しそれの特定ビットを調へてもしゝ0“であれ
ばそのビットを11“に変えて元のところへ格納し、L
OCK命令につづく命令を実行する。もし、そのビット
がすでに21“であれば、指定された番地の内容は変え
ずに割込みを発生する。この割込みによって管理プログ
ラムに制御が移り割込みが発生したタスクの実行を中断
(サスペンド)させて待ち(ウェイト)状態に置き、他
のタスクに制御を移す。
UNLOCKはL OCK命令と対をなす命令であり、
オペランドに指定される番地の内容を取り出し、それの
特定ビットを調べてもしゝ1“であればそのビットを1
0“に変えて元のところへ格納し割込みを発生する。こ
の割込みによって管理プログラムはこのリソースのため
にウェイトしている1タスクを実行可能状態に置いた後
、割込みが発生したタスクのUNLOCK命令につづく
命令ヘリターンし実行を継続させる。もしその特定ビッ
トが10“であればエラーであるので割込みの発生によ
って管理プログラムはこのタスクをアポートさせる等の
処置を行うことができる。本例では第1の演算装置5上
で実行しているタスクlがリソースAを先に確保したた
めに、第2の演算装置6上で実行に入った状態が示され
ている。第2の演算装[6はその間、他のタスクを実行
しており遊びはない。
オーバヘッドを少なくするために割込みをできるだけ発
生させない方法も考案されている。UNLOCK命令で
はオペランドに指定される番地の内容の特定ビットを無
条件にV″0“に変えて元のところに格納し割込みは発
生させない。したがって、サスペンド−ロックのタスク
の実行開始は、通常のタスクへの演算装置割当て(ディ
スパッチング)と同じに扱われることになり、実行開始
した時点で再ひサスペンド・ロックとなる可能性は存在
する。その他にLOCK命令とUNLOCK命令のオペ
ランドにより指定される飴(ロック・ワード)またはそ
の特定ビット(ロック・ビット)は、対応するリソース
が使用されているか否かの情報だけでなく、使用待ちタ
スク数のカウンタとする方法がある。カウンタ′XO“
が未使用、v′1“が使用中、′2“以上が使用待ちタ
スク数+1を表わす。LOCK命令はカウンタに1“を
加え結果がゝゝ2“以上ならば割込みを発生する。υN
L OCK命令はカウンタからゝ1“を減じ、結果が1
1“以上ならば割込みを発生する。割込みによって管理
プログラムはそれぞれタスクをサスペンド・ロックさせ
たシ、ロックによりウェイトしているタスクから一つの
再実行させたりする。
U N′L OCK命令でカウンタ減算の結果がゝゝl
“以上のケースが希れであれは割込み社かなり防ぐこと
ができる。さらに別の方法、LOCK命令とUNLOC
K命令では割込みを一切発生させずタスク自身に制御を
任せてしまうことも考えられる。
すなわち、LOCK命令ではオペランドに指定されるロ
ック・ビットを調べ′X″0“であれはそのビットを“
l“に変えて元のところへ格納し、固定数番地先へ分岐
し処理を続行する。もし21“であれはLOCK命令に
つづく命令を実行する。この命令から固定数番地先の直
前までの一連の命令祉一定時間そのタスク自身の制御を
放棄し後刻制御を得°Cから再びLOCK命令へ分岐す
る動作をする様なものを並べる。UNLOCK1f6令
ではオペランドに指定されたロック−ビットを無条件に
“0“に変えるだけで良い。なお算ツク・ワードまたは
ロック・ビットは′Xo“をロック・オンとしゝゝ0“
以外をロック・オフとして逐次制御することもでき、こ
れは以降の説明でも同様である。
ハードウェアの機構としては、LOCK命令とUNLO
eK命令であり、それぞれの動作過程が一つの命令でで
きること、動作中は演算装置内蔵のキャッシュをバイパ
スすることそして途中に割込みを一切許さないことが必
要である。
サスペンドタイプの性徴としCは、リソースを確保して
いる時間には方式上制限がない、演算装置に待ちによる
遊びがない、マルチプロセッシングだけでなくユニプロ
セッシングにもタスクで共通に参照/更新されるリソー
ス管理とし°C使用できる点である。
第2のタイプはスピン・タイプと呼ばれるものであり、
第3図に例を示す。スピン・タイプはサスペンド−タイ
プと同様にマルチプロセッシングにおけるタスク間での
リソースの逐次使用を制御するのに広く利用できるが、
スピン・ロックの競合は後述するように演算処置の並行
処理性を減少させることから、タスク自身を制御するノ
ン・タスク部のルーチンで主として利用される。一連の
タスクあるいはルーチンを構成する手続きが演算装置で
実行されているときその軌跡をプロセスと呼ぶ。
LOCK命令は二つのオペランドを有する命令定のリソ
ースに対応づけられている。第2オペラ/ドの番地は飛
び先を指定する。LOCK命令は第1オペランドによシ
指定されるロック・ワード/ビットを調べCもしロック
・オフであればオンに変えて元のところへ格納しLOC
K命令につづく命令を実行する。もしすでにロック・ワ
ード/ビットがすでにロック・オンであれば何も変えず
に第2オペランドの番地へ分岐する。ロック・ワード/
ビットの読み出しと書き込みは演算装置内蔵のキャシュ
をバイパスして行われ、命令動作途中で割込みは起こら
ないようにしている。
UNLOCK命令はオペランドに指されるロック・ワー
ド/ビットを無条件にロック・オフに変える。
本例では第1の演算装置S上で実行し°Cいるプロセス
lがリソースAを先に確保したため第2の演算装置6上
で実行しCいたプロセスmはB番地へ分岐する。B番地
は全ての演算装置6上のリソース待ちルーチンの入口点
であり再帰的プログラム構造を有している。ここでは、
一定時間リソースAが解放されるまでループし、解放さ
れたならは直ちにプロセスmへ制御を移す。プロセスm
は再度LOCK命令によってリソースAを確保する。
一定時間待っCもリソースAが解放されなければエラー
、である。リソース待ちルーチンでLOCK命令によっ
てリソースAが使用中かどうか調べることにすればプロ
セスmへ制御を移した時点で再度LOCK命令を出す必
要をなくすことができる。
スピン・タイプは演算装置自身が制御上ループしC待ち
合わせる、すなわちスピンするため利用土煙つかの制約
を付けるのが普通である。異常検出のためにスピンして
いる時間を有限とするにはプロセスがリソースを確保し
′Cいる間を割込み禁止とする必要がある。演算装置に
は割込み禁止で連続し゛τ動作する時間に演算装置固有
の処理性能に見合う程度の時間制限を設けるのが普通で
あるのでスピンし′Cいる時間の最大値はその制限値ま
でである。一方の演算装置にてスピンしていたプロセス
が既に幾つかのリソースを確保していた場合で、他方の
演算装置でのプロセスがそのリソースを確保しようとし
た時ロック競合よシブラドロックになる可能性を有する
。これを避けるため、スピンタイプではロックの確保と
解放の順番に一定の規則を設けている。例えば、リソー
ス名のアルファベット類にロックを確保しかつ解放する
等である。スピンタイプはユニプロセッシングでは意味
を持たないがリソース確保中割込み禁止とし′Cいる点
でユニプロセッシングにおいてスピンせずに参照/更新
を逐次化する手段はある。
サスペンド・タイプとスピン・タイプの中にはハードウ
ェア機構であるLOCK命令とUNLOCK命令を7ア
ームウエアで制御し、ソフトウェアに対してはENQ/
1)EQマクロ命令、あるいはセマフォ制御命令として
みせリソース使用の逐次操作を行うものもある。
マルチプロセッシングにおける逐次化手法の最大の問題
点は、枚数の演算装置のうち一方がロックを確保したま
ま停止したとき他方の演算装置がルーフないしウェイト
状態となり、結局システム全体の処理が進行しなくなっ
てしまうことである。
一般に、タスク実行途中の演算装置停止は、他の演算装
置上の管理プログラムによって該タスクをアポートする
か、該タスクの処理上都合の良い区切り点まで逆に戻し
、再実行させることを行う。
該タスクがロックを確保中であれば、演算装置停止時に
他の演算装置を使って矛盾なく処理を行うことは非常に
難しい。タスクをアポートさせる場合は、アポート時の
後処理で区切り点まで逆に戻す場合は戻す前処理で、ロ
ックを解放するとともに該ロック・ワード/ビットに対
応するリソースの状態を確保以前にまで戻さなければな
らないからである。管理プログラムの基本部であるルー
チンではアポートはシステlトダウンを意味し、かつ、
他のプログラムによって処理を戻すということすらでき
ないので通常システム−ダウンとしている。
このために、マルチプロセッシングでは、タスクあるい
はルーチンにリソースを使用するロック操作の段階で参
照/更新前の該リソースの情報を自己管理のもとて適当
な主記憶上の領域に退避することと前記停止による回復
処理、すなわち、該リソースを退避した情報によって使
用前の状態に戻し、ロックを解放する機能を入れ、一方
の演算装置停止時に、他方の演算装置上で次々と前記タ
スクあるいはルーチンの回復処理を行なわせることによ
っC正しく処理を継続させる方式が考案されている。
しかし、従来の方式では逐次処理の必要な全てのリソー
スに対してロック操作を行う全てのタスクあるいはルー
チンのモジュールに前記考慮を行なわせなけれはならず
プログラムの量的規模が大きくなる点と、リソースを使
用前の状態に戻すことができない場合もあり、完全には
回復処理ができないという欠点がある。
発明の目的 本発明の目的はロック操作による共用リソースの逐次化
使用の機構を有するマルチプロセシングのもとで、マル
チプロセシングを構成する如何なる演算装置が、如何な
る処理をし°Cいても任意の時点に任意の演算装置をマ
ルチプロセシング全体の処理を間断なく継続させること
を前提として停止させることができるようにした密結合
多重演算装置における制御方式を提供することにある。
発明の構成 本発明の方式は共通プログラムおよび共通データを記憶
する主記憶装置と、 この主記憶装置の前記共通プログラムの参照および前記
共通データの参照/更新を行なう第1の演算処理装置と
、 前記第1の演算処理装置による前記主記憶装置の前記共
通プログラムの参照および前記共通データの参照/更新
中前記共通プログラムの参照および前記共通データの参
照/更新の終了を待ち合わせる第2の演算処理装置とを
備えた密結合多重演算装置における制御方式におい′C
1 クロックの停止した演算処理装置をb田怠する第1の装
置記憶手段と、 クロック停止演算処理装置からのクロック停止通知をB
ピ憶する停止通知記憶手段と、処理を一時中断した演算
処理装置を記憶する第2の装置記憶手段と、 処理を一時中断した演算処理装置の継続処理を再開させ
る処理再開手段とを有し、 前記第2の装置記憶手段と1記処理再開手段とを組み合
わせ使用することによって前記第1の装置記憶手段によ
る演算処理装置の中断した処理と前記停止通知記憶手段
による演算処理装置の処理を、前記停止通知記憶手段に
よる演算処理装置において前記共通プログラムの参照お
よび前記共通テークの参照/更新の競合がなくなるまで
交互に実行することを特徴とする。
発明の実施例 次に本発明について図面を参照し゛C詳細に説明する。
第1図を参照すると本発明の一実施例は、主記憶装置1
.複数の演算処理装置3.チャネル制御装置4、および
これら各装置1〜3に接続される構成制御装置2を含む
このシステムは演算装置3とチャネル制御装置4との間
で主記憶装置1の参照を逐次化する機構を有しており、
かつ複数の演算装置30間でも前記逐次化の機構を有し
てい′C複数の演算装置に関する前記機構はLOOK/
UNLOCKと呼ぶ二つの命令からなり、複数の演算装
置3のうちの一つを緊急に停止させる必要が発生したと
き停止すべき演算装置へ内部割込を発生させる機構と、
停止する演算装置の5TOP命令実命令文り複数の演算
装置の一つに停止したことを知らせる外部割込を発生さ
せる機構とを有する。前記内部割込が発生した場合特定
演q、装置の処理が中断したことを主記憶装置上に記憶
し、中断した時点の演算装置のレジスタ情報を主記憶装
置上に退避し停止する演算装置を仮想化することを主記
憶装置上に記憶する。5TOP命令の実行により、前記
演算装置は停止するとともに他の一つの演算装置に外部
割込を発生させ該外部割込を受付けた演算装置は、仮想
化した演算装置を肩替りする実演算装置であることを主
記憶装置上に記憶し、直ちに仮想演算装置の実行に入る
。すなわち、自らの処理を中断させるために、処理が中
断したことを主記憶装置上に記憶し、中断した時点の演
狗装置のレジスタ情報を主記憶上に退避し、仮想演算装
置の処理の中断が解除されたことを主記憶上に反映し、
中断した時点の仮想演算装置の退避したレジスタを実演
算装置に復元することによって処理を再開させる。これ
以降、仮想化された演算装置と肩替りする実演算装置の
間でロック競合が発生した時点で後からロックしてルー
プまたはウェイトした演算装置の処理を前記手段で中断
させ先にロックしたままにて中断していた演算装置を前
記手段で再開処理させデッドロックを回避しつつ全体の
処理を継続させる。一つの演算装置で二つの演算装置の
処理をロック競合の状況によって次々と切替して処理を
進行するのは管理プログラムにて演算装置をディスパッ
チングする時点で処理を中断している演算装置が無くな
るまでとする。前記処理と関係のない第三以上の演算装
置間のロック競合は、それらの間で解決させるのは当然
として、たとえ前記演算装置とロック競合しても前記切
替は起こさすUNLOCKされるまでループまたはウェ
イトさせるだけである。なお、前記内部割込みから外部
割込みまでの処理を専用処理装置にて実施しても良く、
このことは本発明を特に限定するものでない。
以下本発明の動作につき詳細に説明する。
第4A図−第4C図は本発明の一実施例の動作表1 領域(V−) 仮想演算装置Vを実現するために実演算装置のレジスタ
情報(几)を退避・復元する記憶上に存在する領域。こ
れは仮想演算装置ごとにある。
再開要求フラグ(V) 仮想演算装置■が処理再開を要求する主記憶上に存在す
るフラグ。これは仮想演算装置ごとにおる。
遷移中フラグ(V) の共通データを参照していると混乱が生じる可能性があ
る期間を示すフラグであり主記憶上に存在する。これは
仮想演算装置ごとにある。
■とはVでない他の仮想演算装置の意。−は任意の数。
表1は該フローチャート中に出現する特別な記号を説明
したものである。ずなわち、スピン−タイツの機構を有
するマルチプロセシングのモトて何らかの原因で特定の
演算装置、第4A図の例においては番号lの実演算装置
を緊急に停止させる必要が発生した場合、停止させるこ
とを唯一の目的とする内部割込みが演算装置(l、l)
に発生し、実行中のプロセス(l、x)を中断させ管理
プログラム内の割込処理ルーチンの特定の入口点■に飛
ぶ。該内部側込みはプロセス(l、1)が割込禁止状態
であっても受付けることのできるものである。停止させ
る動機としては人手による押ボタンでも良いし、演算装
置(l、1)のハードウェアエラーチェック機構と連動
させたものとすることもできる。割込処理ルーチンでは
停止を目的とする内部割込みであることを確認した稜レ
ジスタ情報(1)を領域(1)に退避し、再開要求フラ
グ(1)をセットする。再開要求フラグは仮想演算装置
で実行中のプロセスが中断されていて実行待ちであるこ
とを示し実演算装置を与へ仮想演算装置に対応するレジ
スタ情報を復元すればいつでも中断プロセスを再開でき
る状態にあることを意味している。レジスタ情報は割込
処理ルーチンの入口点で退避することから、中断プロセ
スに関するものとなるが命令カウンタや制御用レジスタ
類は管理プログラムの出口点で中断プロセスにリターン
できる値に変更しておく必要がある。該割込処理ルーチ
ンでは最後に遷移中フラグ(1)をセットした後、S 
’I” OF命令を発行して停止する。遷移中フラグは
複数の演算装置間で主記憶上に格納された共通データを
競合して参照したとき一方の仮想演舞装置がスピン・ロ
ックでループしているのを解除し実演算装置を競合して
いた他方の仮想演算装置へ明は渡すかどうかの判定に使
用するためのものである。5TOP命令は一つのオペラ
ンドを有し主記憶のある番地を指す。この番地には5T
OP命令を発行したことを通知すべき実演算装置の番号
が格納されている。5TOP命令の実行によって発行元
演算装置(1,1)は直ちに停止し、演算装置(2,2
)に発行したことを通知する外部割込みを発生させる。
外部割込みは演算装置が割込み禁止状態では保留され割
込許可状態のときに受付けられる。第4A図の例ではプ
ロセス(m 、 2 )実行途中割込まれ、割込処理ル
ーチンの入口点■へ飛ぶ。一般に外部割込の受付けは入
出力割込等全てまとめて行うのが通當であるから受付は
後停止の通知であることを確認したらすぐ割込処理ルー
チンの入口点■へ飛ぶようにしても良い。割込処理ルー
チンではレジスタ情報(2)を領域(1)へ退避した後
再開要求フラグ(2)と遷移中フラグ(2)をセットす
る。これによって演算装置(212)で実行し”Cいた
プロセス(m、2)は、後に実演算装置を与へられれば
いつでも再開できる状態で中断したことになる。割込処
理ルーチンではこの後、演算装置(1,1)で中断して
いたプロセスlの実行を再開させる処理に入る。どの実
演算装置が停止したかを知るには、特定の主記憶上の番
地に演算装置(i +1)が停止命令を発行する前に番
号を格納して置くことで十分である。該番号は1である
から再開要求フラグ(1)をリセットし、領域(1)よ
りレジスタ情報を番号2の実演算装置へ復元することに
よってプロセス(l、1)ヘリターンする。演算装置(
2,2)で実行していたプロセス(m、2)を中断させ
てまでプロセス(l 、 ]、 )を再開させる理由a
演算装置(111)へ割込んだ内部割込みがプロセス(
l11)による割込禁止状態でも受付けられる点にあり
処理上の優先度を配慮したことによる。第4A図では、
遷移中フラグは2台の仮想演算装置、つまり、停止した
演算装置と停止したことを通知された演算装置だけにつ
きセットされるが、これは演算装置の構成が3台以上有
していても、前記2台の仮想演算装置と1台の実演算装
置のみケマッピングさせることで処理の単純性を追求し
たことによる。
本実施例では演算装置(1+1)での内部割込み受付け
から停止命令発行まで演算装置(1+1〕自身で処理し
ているが、停止の動機が演算装置(t +i)の・・−
ドウエア障害の場合、演算装置(1,1)を引き続き動
作させることが好ましくない、または動1作させること
ができない状況もある。この場合演算装置(1,1)で
の内部割込み受付けから5TOP命令発行までの処理を
別の専用演算装置に代行させることで解決でき、・本発
明の効果を限定するものではない。
次に第4B図の例である演算装置(tt、V)で実行し
ているプロセス(n、V)がL OCK命令を実行する
と第1オペランドによる指されるリソースAが調べられ
未使用であれば使用中としてLOCK命令の次の命令へ
進ませ、既に使用中であればアドレス2ヘジヤンプする
。アドレスは管理プログラム内のウェイトルーチンの入
口点であり。
従来技術では該リソースAが未使用になるまで演算装!
(R,V)上にてスピン・ロックの閉ループを形成して
いたが1本発明においては該リソース八がスピン・ロッ
クしている他の仮想演算装置に遷移中フラグがオンのも
のがあり、かつその演74装置で該リソースAを使用中
の場合スピン・ロックの閉ループを脱出させるようにし
ている。ただしスピン・ロックしている仮想演算装置自
身の遷移中フラグがオフである場合、再びスピン・ロッ
クの閉ループに飛び込む。すなわち、遷移中フラグがオ
フの演算装置は実演算装置と仮想演算装置の番号は一致
させるようにする。これは停止した演算装置と停止した
ことを通知された演算装置の2台の間だけで実演算装置
を切換して使用し仮想化することによってロック・競合
によるデッドロックを回避することができるからであり
、遷移・中フラグがオフのbI・算装置はひたすら待ち
に入っておれば良い。スピン・口、りの閉ループ中に該
リソースAが未使用となれば直ちにイ史用中とじフ。
ロセス(n 、 V )ヘリターンしLOCK 命令の
次の命令へ進むことができる。一方、一定時間、Tミリ
秒経過し”[もスピン・ロックの閉ルーフ゛を脱出でき
なけれはエラーであり一般的にはシステムダウンさせて
情報収集するのが普通である。
遷移中フラグ(V)がオンの場合、レジスタ情報(6)
を領域(V)へ退避させ再開要求フラグ(ト)をセット
することによってプロセス(n、V)を中断し先に該リ
ソースAを使用していて中断していたプロセスを再開始
させる処理を行う。つまり先に該リソースAを使用し°
Cいた仮想演算装置の番号をめその仮想演算装置の再開
要求フラグをリセットした後対応する領域よりレジスタ
情報を番号Rの実演算装置へ復元することにより中断プ
ロセス(K。
W)をスタートさせる。ある演算装置(比、■)で実行
中のプロセス(n、V)が入出力完了を含む割込みある
いはプロセス自身の制御の放棄により管理プログラムの
一つであるディスパッチャへ制御が渡ると第4C図に示
すように遷移中フラグがオンの仮想演算装置があるか調
べ、なければ通常のディスパッチ処理を行う。遷移中フ
ラグがオンの仮想演算装置が存在しかつ再開要求フラグ
がオンであれば、直ちに該仮想演算装置上で実行途中で
あうたプロセスをスタートさせる処理を行う。
遷移中フラグがオンの仮想演算装置が存在しても再開要
求フラグがオフのものしかなけれは全°ての遷移中7ラ
グをリセットした後通常のデイスノくツチ処理を行う。
全′Cの遷移中フラグをリセットした段階で実演算装置
を複数の仮想演算装置に遂次割当てるという処理は終了
する。スピン・タイプ。
の制約によりプロセス(n 、V)が特定のリソースを
使用中の場合は、演I!装置(几、■)は割込禁止状態
にあり、かつ実行の放棄はしないことになっているので
ディスパッチャに制御が渡ることなくロック・競合によ
るデッドロックは起こらない。なお、特に本発明の一実
施例における逐次制御は、スピンタイプを前提としてい
るが、これに限定されずサスペンドタイプでも適用でき
ることに注意されたい。
発明の効果 本発明には第4図のような処理方式を実施することによ
りロック操作による逐次制御機構を有するマルチプロセ
シングにおいて、演算装置上で実行しているプログラム
の実行属性や処理内容および複数波a、装置それぞれの
処理の時間的組み合わせを一切考慮せずかつ最小のプロ
グラム規模で任意の時点で直ちに演算装置を停止させ残
シの演算装置のうち一つを仮想化させロック競合による
デッドロックを回避しつつマルチプロセシング全体の処
理を継続できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図および第3
図は本発明の基礎となる技術を説明するための図、およ
び第4A図−第4C図は本発明の一実施例の処理フロー
を示す図である。 第1図において、1・・・・・・主記憶装置、2・・・
・・・描成制御装置、3・・・・・・演算装置、4・・
・・・・チャネル制御装置。 第 l 坏 #2 区 來3 図 第4CB)図 第4(C)図 **ty+うjズノ\°ツケλ!理

Claims (1)

  1. 【特許請求の範囲】 共通プログラムおよび共通データを記憶する主記憶装置
    と、この主記憶装置の前記共通プログラムの参照および
    前記共通テークの参照/更新を行なう第一の演算処理装
    置と、前記第一の演算処理装置による前記主記憶装置の
    前記共通プログラムの参照および前記共通データの参照
    /更新中前記共通プログラムの参照および前記共通デー
    タの参照/更新の終了を待ち合わせる第二の演算処理装
    置とを備えた密結合多重演算装置における制御方式にお
    いて、 クロックの停止した演算処理装置を記憶する第一の装置
    記憶手段と、クロック停止演算処理装置からのクロック
    停止通知を記憶する停止通知記憶手段と、処理を一時中
    断した演算処理装置を記憶する第二の装置記憶手段と、
    処理を一時中萌した演算処理装置の継続処理を再開させ
    る処理再開手段とを有し、前記第二の装置記憶手段と前
    記処理再開手段とを組み合わせ使用することによって前
    記第一の装置記憶手段による演算処理装置の中断した処
    理と前記停止通知記憶手段による演算処理装置の処理を
    、前記停止通知記憶手段による演算処理装置において前
    記共通プログラムの参照および前記共通データの参照/
    更新の競合がなくなるまで交互に実行することを%徴と
    する密結合多重演算装置における制御方式。
JP58188203A 1983-10-07 1983-10-07 密結合多重演算装置における制御方式 Granted JPS6079460A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58188203A JPS6079460A (ja) 1983-10-07 1983-10-07 密結合多重演算装置における制御方式
US06/657,635 US4663709A (en) 1983-10-07 1984-10-04 Control system for tightly-coupled multiprocessing units
FR8415397A FR2553207B1 (fr) 1983-10-07 1984-10-08 Systeme de commande pour unites multitraitement a couplage etroit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58188203A JPS6079460A (ja) 1983-10-07 1983-10-07 密結合多重演算装置における制御方式

Publications (2)

Publication Number Publication Date
JPS6079460A true JPS6079460A (ja) 1985-05-07
JPH0120466B2 JPH0120466B2 (ja) 1989-04-17

Family

ID=16219575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58188203A Granted JPS6079460A (ja) 1983-10-07 1983-10-07 密結合多重演算装置における制御方式

Country Status (3)

Country Link
US (1) US4663709A (ja)
JP (1) JPS6079460A (ja)
FR (1) FR2553207B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010095198A1 (ja) * 2009-02-17 2010-08-26 パナソニック株式会社 資源排他制御方法および資源排他制御装置
JP4840926B2 (ja) * 2004-08-27 2011-12-21 学校法人 久留米大学 バーチャル映像を利用した筋肉電気刺激システム
US10343058B2 (en) 2007-10-09 2019-07-09 Nintendo Co., Ltd. Storage medium storing a load detecting program and load detecting apparatus

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809168A (en) * 1986-10-17 1989-02-28 International Business Machines Corporation Passive serialization in a multitasking environment
US5291581A (en) * 1987-07-01 1994-03-01 Digital Equipment Corporation Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
US5016167A (en) * 1987-12-21 1991-05-14 Amdahl Corporation Resource contention deadlock detection and prevention
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
WO1989008883A1 (en) * 1988-03-14 1989-09-21 Unisys Corporation Record lock processor for multiprocessing data system
US4979105A (en) * 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式
US5210848A (en) * 1989-02-22 1993-05-11 International Business Machines Corporation Multi-processor caches with large granularity exclusivity locking
US5263161A (en) * 1989-07-26 1993-11-16 Massachusetts Institute Of Technology Non-busy waiting resource control
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
JPH07101410B2 (ja) * 1990-01-17 1995-11-01 インターナショナル、ビジネス、マシーンズ、コーポレーション データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US5276847A (en) * 1990-02-14 1994-01-04 Intel Corporation Method for locking and unlocking a computer address
US5276835A (en) * 1990-12-14 1994-01-04 International Business Machines Corporation Non-blocking serialization for caching data in a shared cache
JPH04308961A (ja) * 1991-01-18 1992-10-30 Ncr Corp 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
JP2675961B2 (ja) * 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
US5485626A (en) * 1992-11-03 1996-01-16 International Business Machines Corporation Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing
US5481706A (en) * 1993-11-01 1996-01-02 International Business Machines Corporation System and method for creating thread-safe shared libraries
US5560018A (en) * 1994-12-16 1996-09-24 International Business Machines Corporation Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
US7340740B2 (en) * 2003-04-22 2008-03-04 International Business Machines Corporation Cooperatively multitasking in an interrupt free computing environment
US7814065B2 (en) * 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
DE102005041455A1 (de) * 2005-08-31 2007-03-15 Abb Patent Gmbh Automatisierungstechnische Einrichtung
DE102005043481A1 (de) * 2005-09-13 2007-03-15 Abb Patent Gmbh Automatisierungstechnische Einrichtung
DE102005043485A1 (de) 2005-09-13 2007-03-15 Abb Patent Gmbh Automatisierungstechnische Einrichtung
DE102005043482A1 (de) * 2005-09-13 2007-03-15 Abb Patent Gmbh Automatisierungstechnische Einrichtung
US9323528B2 (en) * 2012-12-20 2016-04-26 Intel Corporation Method, apparatus, system creating, executing and terminating mini-threads
US10606714B2 (en) 2017-09-05 2020-03-31 International Business Machines Corporation Stopping central processing units for data collection based on event categories of events
US10740030B2 (en) * 2017-09-06 2020-08-11 International Business Machines Corporation Stopping a plurality of central processing units for data collection based on attributes of tasks
US11163892B2 (en) * 2019-01-09 2021-11-02 International Business Machines Corporation Buffering data until encrypted destination is unlocked

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533073A (en) * 1967-09-12 1970-10-06 Automatic Elect Lab Digital control and memory arrangement,particularly for a communication switching system
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US3528062A (en) * 1968-07-05 1970-09-08 Ibm Program interlock arrangement,including task suspension and new task assignment
US4318174A (en) * 1975-12-04 1982-03-02 Tokyo Shibaura Electric Co., Ltd. Multi-processor system employing job-swapping between different priority processors
JPS5296836A (en) * 1976-02-10 1977-08-15 Toshiba Corp Multiplex data processing system
JPS588018B2 (ja) * 1978-09-14 1983-02-14 日本電気株式会社 多重プロセッサシステム
US4414664A (en) * 1981-02-23 1983-11-08 Genrad, Inc. Wait circuitry for interfacing between field maintenance processor and device specific adaptor circuit
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FACOM OS4-F4 F4fb±lýÐ E40ibÐc=S57 *
FACOM OS4-F4 MSPýþmw¤×|h´ÝuªmÆ´g jþhf¨Þs¨ E10ibÐc=S57 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4840926B2 (ja) * 2004-08-27 2011-12-21 学校法人 久留米大学 バーチャル映像を利用した筋肉電気刺激システム
US10343058B2 (en) 2007-10-09 2019-07-09 Nintendo Co., Ltd. Storage medium storing a load detecting program and load detecting apparatus
WO2010095198A1 (ja) * 2009-02-17 2010-08-26 パナソニック株式会社 資源排他制御方法および資源排他制御装置
JP2010191575A (ja) * 2009-02-17 2010-09-02 Panasonic Corp 資源排他制御方法および資源排他制御装置
US8463911B2 (en) 2009-02-17 2013-06-11 Panasonic Corporation Exclusive control method of resource and exclusive controller of resource
US9135085B2 (en) 2009-02-17 2015-09-15 Socionext Inc. Exclusive control method of resource and exclusive controller of resource

Also Published As

Publication number Publication date
FR2553207A1 (fr) 1985-04-12
FR2553207B1 (fr) 1988-11-25
JPH0120466B2 (ja) 1989-04-17
US4663709A (en) 1987-05-05

Similar Documents

Publication Publication Date Title
JPS6079460A (ja) 密結合多重演算装置における制御方式
JP4759273B2 (ja) データ処理装置及び共用資源へのアクセス制御方法
US5875342A (en) User programmable interrupt mask with timeout
US5937199A (en) User programmable interrupt mask with timeout for enhanced resource locking efficiency
CN101833475B (zh) 用于执行指令原子块的方法和装置
Rossbach et al. TxLinux: Using and managing hardware transactional memory in an operating system
EP1027650B1 (en) Method and apparatus for altering thread priorities in a multithreaded processor
JP2597811B2 (ja) データ処理システム
JPS62163149A (ja) マルチプロセッサ仮想計算機システム
JPH06208552A (ja) スモール・グレイン機構
JPS6346857B2 (ja)
JP2001188685A (ja) オブジェクトのロック管理方法及び装置
KR101669298B1 (ko) 트랜잭션 메모리 내에서의 부수 효과 액션들을 위한 트랜잭션 처리 기법
CN107003896B (zh) 具有共享事务处理资源的装置和数据处理方法
Singh et al. Efficient processor support for DRFx, a memory model with exceptions
US20170024249A1 (en) Parallel Execution Mechanism and Operating Method Thereof
US20100083261A1 (en) Intelligent context migration for user mode scheduling
US6405234B2 (en) Full time operating system
US20070136562A1 (en) Decoupling register bypassing from pipeline depth
US6317821B1 (en) Virtual single-cycle execution in pipelined processors
US20150160967A1 (en) Context preservation during thread level speculative execution
US5708808A (en) Method and apparatus for concurrency with critical regions
JPH01297760A (ja) タスク制御方式及びオンライン・トランザクション・システム
JPH0384632A (ja) データ処理装置
Engel Tightening critical section bounds in mixed-criticality systems through preemptible hardware transactional memory