JPH02501603A - 多重処理データシステムにおけるロック制御方法 - Google Patents

多重処理データシステムにおけるロック制御方法

Info

Publication number
JPH02501603A
JPH02501603A JP1504004A JP50400489A JPH02501603A JP H02501603 A JPH02501603 A JP H02501603A JP 1504004 A JP1504004 A JP 1504004A JP 50400489 A JP50400489 A JP 50400489A JP H02501603 A JPH02501603 A JP H02501603A
Authority
JP
Japan
Prior art keywords
lock
record
request
module
data processing
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
JP1504004A
Other languages
English (en)
Other versions
JP2572136B2 (ja
Inventor
シツプル ラルフ エドワード
ゼイス マービン ウイリアム
スジヨランダー ジヨン オスカー
ジヨーダン ジヨン アール.
Original Assignee
ユニシス コーポレーシヨン
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 ユニシス コーポレーシヨン filed Critical ユニシス コーポレーシヨン
Publication of JPH02501603A publication Critical patent/JPH02501603A/ja
Application granted granted Critical
Publication of JP2572136B2 publication Critical patent/JP2572136B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • G06F11/185Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality and the voting is itself performed redundantly
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 多重処理データシステムのための レコードロックプロセッサ 発明の背景 発明の分野 本出願は、複数のデータプロセッサ間で1つの大容量メモリが協調的に共有利用 される多重処理データシステムに関するものである。特に、本出願は、航空予約 システムのような大量処理環境において、1つの大容量メモリの協調的な共有利 用を可能にする専用プロセッサであるレコードロックプロセッサ(RLP)に関 するものである。
背景の一般的説明 本出願は、レコードロックプロセッサを有し、共通資源に対するキューイングお よびコンテンションが複数のホスト間で共有される大容量メモリのレコードに移 されていて、各々のデータ処理装置が自身のオペレーティングシステムを持つ疎 結合構成に関するものである。密結合システム(すなわち、主記憶を共有する複 数のプロセッサ)では、大容量メモリのレコードの使用のためのキューイングに 加えて、内部メモリの参照のためのキューイングが存在する。一つのメモリを共 有する多数のプロセッサのための処理に適用した場合、レコードロックプロセッ サを用いる疎結合システムの効率は対応する密結合構成の効率に比べて高い。
本出願の疎結合システムの効率は、より多くのノード(システム)がネットワー クに付加されてもほとんど一定である。
密結合システムの効率は各データプロセッサが付加されるにつれて低下する。す なわち、付は加えられたプロセッサによる網全体のシステムスルーブツトの増加 は、先に付は加えられたデータプロセッサによるものと比べると小さいものとな る。
また、本システムにおいては、デッドロック検出をすべてのロックに対して行う ことが可能である。デッドロックとは、プロセスAがプロセスBの保持している 資源を待ち、かつプロセスBがプロセスへの保持している資源を待っている状況 のことである。複数の場所でロックが生じている場合に、ロック登録の記憶場所 間における付加的な通信形式なしで、データロック検出を行うことは不可能であ る。ロック機能を一つの場所にまとめることにより、新世代のディスクサブシス テムのためのロック能力をもつ特別な制御ユニットが避けられる。従って、標準 の大容量メモリ制御ユニットを他のアプリケーションに用いることが可能となり 、設計資源における節約が図れる。
レコードロックプロセッサを用いることにより、利用者が付加的な計算能力を標 準の処理システムを用いたアプリケーション/データベースに適用することが可 能となる。レコードロックプロセッサは4個のデータプロセッサを操作するよう に設計されており、(すべてのデータプロセッサが同サイズであると仮定すれば )1つのデータプロセッサと比べて、3.2倍から3.6倍の計算能力が得られ る。このレコードロックプロセッサの概念は、より多くのチャネル接続やローカ ルエリアネットワークを用いることにより、容易にNシステムに拡張される。
単独ノードシステムでは、そのノードが故障した際には計算能力を得ることはで きない、疎結合ネットワークにおいては、一つのノードが故障しても他のノード を用いて処理を続けることができる。はとんどのホット待機システムでは、待機 ノードは主要ノードと同じアプリケーションを処理してはいない、レコードロッ クプロセッサを有した本発明の疎結合システムでは、双方のノードとも同時に同 じアプリケーション/データベースに働きかけることができる。これは、レコー ドロックプロセッサを用いる解決の結合効率が、他のホスト内競合に対するソフ ト的な解決策よりも優れていることによる。
また、レコードロックプロセッサを用いる疎結合システム構成は、システムの逐 次的な成長をも提供する。利用者は、既存のシステムを取り替えることなく、も う一つのシステムをネットワークに加えることで、より大きな計算能力を得るこ とが可能である。レコードロックプロセッサを用いる解決は、より多くのシステ ムを既存の装置に付加することにより成長するシステムに対して、更にもう一つ の次元を付は加える。
疎結合システムは内部の主記憶部と接続する必要がないので、システムを疎結合 システムに付は加えることにより既存コンピュータシステムに大きな影響を与え ることはない。
各データ獲得機能装置の出力を仲裁者に伝えるスーパーバイザモジュールと共に 、複数のデータ獲得装置の使用が、「電子設計J1981年9月3日のページ1 43〜156 (Electronjc Desjgn、Septmber 3 .1981.pages 143−156 )に示されているように、機能から 機能への構成として提案されてきた。この構成においては、各モジュールの票が 一致する場合には処理が進み、そうでない場合には不一致のモジュールが二つの 仲裁者のうちの一つによりシステムから除かれる0機能から機能への構成(FF A)は、ある行為者が機能が他の行為者により実行されることを要求出来るとい うルールの標準化である。「電子設計」の論文におていは、行為者は一つあるい はそれ以上の機能の実行を提供及び制御する実体として定義される0機能は入力 パラメータの集合の出力パラメータの集合への変換として定義される。
一つあるいはそれ以上のユニットから成る共有される大容量メモリを有する多く のデータ処理メインフレームユニットの協調のために、多数の処理装置が設計さ れている。大量処理環境では、ロックの要求と信頼性の要求によって、以前の多 くのシステムが目的とする仕事に全く適さなくなった0本発明のシステムにおい ては、ロック能力は毎秒ts、 ooo回のロック要求以上であり、一度に10 0.000以上のロックを保持する能力及び一度に1.0(11)以上のロック をキューイングする能力を有し、また、4個までのUnisys (商標> 1 100/90コンピユータのような大規模なメインフレームコンピュータ、ある いは2つのLlnisys (商標) 1100プロセツサを用いるUnisy s (商標) 1100/92コンピユータのような多重処理システムと共に動 作する能力をも有する。
本発明は、舷空予約のような大量処理環境の中で疎結合システムにおいて、ホッ ト予備モジュールをもった3重モジュールの冗長的概念を使用する。また、8個 のプログラム可能なチャネルインタフェースを備えている。3つの動作中のロッ クモジュールすべてが同一の入力を受け取り、ロックモジュールからの出力結果 が投票者インタフェースユニットへ送られる。
出力結果の比較は次のように行われる。もしユニットの1つが不一致である場合 には、これが誤りであると判断されて投票はしないが、動作中のユニットと同一 のデータを受け取り処理中のデータと同様の方法でデータを処理し続けているホ ット予備モジュールに入れ換えられる。このようにして、直ちに動作することの できる“ホットな”予備が代わりに入り、故障したユニットが除かれる。
独立したメンテナンスモジュールが故障ユニットの分析とメンテナンスを実行す る。メンテナンスモジュールは故障モジュール上で動作し、故障モジュールが動 作中のユニットと同一の情報を受け取っている間に訂正処理を行う。故障あるい は待機モジュールが回復すると、ホット予備モジュールとじて動作するようにス テータスが更新される。
図面の簡単な説明 本発明は、以下の図面を参照しながら説明される;第1図は、本発明のレコード ロックプロセッサを用いた疎結合の多重処理装置によるデータ処理システム全体 のブロック図; 第2図は、第1図において一つのブロックとして示されているレコードロックプ ロセッサの詳細なブロック図:第3図は、プログラム可能なチャネルインタフェ ースの動作フローチャート;そして、 第4図は、プログラム可能なレコードロックプロセッサの動作フローチャートで ある。
好適な実施例の詳細な説明 本発明の機能においては、以下に述べるような方法でプログラムされたプログラ ム可能なチャネルインタフェースとレコードロックプロセッサとの組合せが重要 である。第3図にプログラム可能なチャネルインタフェースの動作フローチャー トが示されている。プログラム可能なチャネルインタフェースのハードウェアは 、ビット切取りマイクロプロセッサとブロックマルチプレクサI10ユニットチ ャネルへの通信部およびロックモジュールとの通信のための2個のバッファメモ リとから成る。プログラム可能なチャネルインタフェースの制御アルゴリズムは 、マイクロコードで格納されている方が好ましい、フローチャートに示したよう に、プログラム可能なチャネルインタフェースの主な仕事は、(1)チャネルか ら要求ストリームを受け取り、(2)その要求ストリームをチェックしてフォー マットし、ロックモジュールが利用できる要求バッファに位置づけ、(3)ロッ クモジュールの投票を評価してステータスあるいは遅延応答メツセージをチャネ ルへ提示する。
フローチャートに見られるように、100では使用者からの要求ストリームが存 在するかどうかをチェックする。もし存在しない場合には、ステーション102 に示すように遅延応答が要請される。遅延応答の場合には、遅延応答が完了する までこの単位動作が繰り返される。使用者からの要求ストリームが存在する場合 には、これを入力として受け取り、ステーション104に示すように受諾可能な 標準フォーマットかどうかがチェックされる。ストリームがステーション106 の状態でないならば、ストリームが正常になるまでステーション108でユニッ トチェックを繰り返す、一旦、ストリームが有効であると確認されたなら、プロ グラムはステーション110に進んでレコードが存在することを示すフラグを立 てる。ステーション112では、すべてのロックモジュールが同一の入力により 動作するので、ステップ114におけるロックモジュールの投票の評価に移行す る前に、全て動作が終了していなければならない、ロックモジュールの評価に続 いて、点線116で示したようにホット予備モジュールを動作ユニットの一つと 取替えるかどうかを決定する段階がある。これに続いてステージ118において は使用者にチャネルの状態が与えられる。
ステーション102に戻り、例えば特定のレコードに対する要求ロックリストが 待ちリストメモリにキューイングされているときのように、遅延応答が要求され ている場合の、プログラム可能なチャネルインタフェースの動作について述べる 。
要求された遅延応答が完了すると、セクション120で示されるようにロックモ ジュールが評価される。再び、点線122に示すようにモジュールのうちのどれ かに故障があるか否かが調べられる。この段階に続いて、ステップ124では遅 延応答メツセージの次にシステムの結果を示す、レコードロックプロセッサの重 要な機能である投票は、ロックモジュールが要求ストリームにより並列に処理を するにつれ、ロックモジュールにより要求バッファに書き込まれたステータスあ るいはメツセージバイトおよびトークンから構成される。
一方、“トークン”は特定のモジュールが行った決定パスを指示するロックモジ ュール内でのメモリアドレスあるいは内容から構成される。プログラム可能なチ ャネルインタフェースは、スルーブツトを増加させると同時にマイクロプログラ ミングの利点も生じさせるように、ロックモジュールマイクロプロセッサと同一 のサイクルタイムを有する。このような型の構成では、ロックモジュールはプロ グラム可能なチャネルインタフェースによってサービスされているように捉えら れる。上記のことから、ロックモジュールの初期化は、ロックモジュールのプロ グラミングとではなく、プログラム可能なチャネルインタフェースユニットのプ ログラミングと共に完了し、従ってロックモジュールが自由になって、キューイ ングの獲得及びロックの解放という基本的なタスクをより効率的に実行すること が可能となることが分かる。
第4図に示すように、ステップ198のロックモジュールの初期化は、入力デー タがチャネルインタフェース要求であるか否かをチェックするステップ200に 続く。そうでない場合には、チャネルインタフェース要求が到着するまでステッ プ200が繰り返される。一旦、チャネルインタフェース要求が到着したら、ス テップ202に示しているように、プログラム可能なチャネルインタフェースか ら要求パケットを得る。要求パケットの受け取りに続いて、ステップ204で含 まれている機能がロックを必要とするものであるか否かを決めるテストが行われ る。機能がロック機能であるならば、ステップ206でロックリストメモリが調 べられ、目的のものがロックリストに存在するかどうかが決定される。ステップ 208において目的のものが見つかった場合には、ステップ210で要求はこの メモリの待ちロック内に入れられ、ステップ212において、要求待ちフラグが セットされる。このようにして、レコードロック要求は、すでにそれがロックリ ストメモリ内に存在するので、待ちリストメモリに入れられる。ステップ208 において要求がロックリストに存在しなかった場合には、ステップ214におい てレコードのロックが速やかに実行される。
要求が待ちリストに入れられてステップ212でセット要求待ちフラグがセット されたか、ステップ214で目的のものがロックされたかに関わらず、ステップ 216に進んで要求ストリームの終わりが到達したかどうかを調べる。答えが否 である場合には、システムはプログラム可能なチャネルインタフェースから要求 パッケージを受け取るステップ202に戻って、繰り返される。一方、要求スト リームが終わりである場合には、ステップ218で要求待ちフラグのセットがテ ストされる。待ちフラグがセットされていない場合には、プログラム可能なチャ ネルインタフェースは速やかにステップ220に移って“実行”信号が与えられ る。一方、待ちフラグがセットされている場合には、プログラム可能なチャネル インタフェースはステップ222で“待ち”状態にされなければならない。
ステップ204に戻って、機能タイプがロック解除機能である場合には、ステッ プ224に示されるように、最初に目的のものがロックリストに存在するかどう かが調べられる。目的のものがロックリスト中に存在しないときには、ステップ 226に示されるように、プログラム可能なチャネルインタフェースには拒絶状 態となる。目的のものがロックリストに存在するときには、ステップ227で要 求が待ちロックリストで待っているかのチェックが行われる。目的のものが待ち ロックリストで待っていないならば、ステップ228でその目的のものがロック リストから削除され、続いてステップ216で要求ストリームが終わりかどうか のテストが行われる。待ちロックリストで待っている要求が待ち要求の存在を示 している場合には、ステップ230で目的のものは待ちレジスタに入れられて、 待ちロックリストから削除される。
そして、ステップ232において、このプロセスを待っている更に多くの要求が 存在するかのテストが実行される。答えが“否”ならば、ステップ234で待ち 要求者のチャネルインタフェースに“実行”が与えられる。更に待ち要求が存在 する場合には、プロセスは再びステップ216に進む。
前述内容かられかるように、使用者の要求がある度にプログラム可能なチャネル インタフェースにおいてロックモジュールに入る前にロックモジュールの投票が 行われる。このようにして、チャネル要求はすべてのロック機関がうまく動作し ており、交換ユニットが付加されていないことを確認できる。
ロックあるいはロック解除要求信号がロックモジュールに渡される前に、ロック モジュールは以前にそれらが受け取られて待ちメモリリストに渡されたかどうか に関わらず、要求されたロックあるいはロック解除要求を処理し続けることが出 来る。このようにして、使用者から入力される要求は、プログラム可能なチャネ ルインタフェースにより多数決投票手順に基づいてチェックされ、各使用プロセ ッサからの大容量記憶ユニットへのチャネル要求の初期化には、ロックモジュー ルの制御の下で、有効な要求が速やかにプログラム可能なチャネルインタフェー スから受け取られるかどうか、あるいは動作しようとしている待ちレジスタ内に 既に要求が存在しているかどうか、又ロック解除の場合には、目的のものが待ち レジスタからロック解除されて良い状態であるかどうか、又リジェクトの場合に は、目的のものがロックリスト内に見つかるかどうか等により、”実行”あるい は“待ち”あるいは“拒絶”状態信号が与えられる。
疎結合システムは、すべてが共通のデータベース上で一緒に動作する、ユニシス (商標) 1100コンピユータシリーズのシステムのような、大規模なメイン フレームコンピュータのネットワークである。疎結合システムの目的は、2個か ら4個の標準コンピュータシステムの能力を提供することと、より拡大された計 算能力を提供することである。疎結合システムの理想的な応用は業務処理環境に みられる。レコードロックプロセッサは、ネットワーク内のすべてのシステムの ためにレコードのロックを操作する疎結合システムのための新しいハードウェア 設備である。
ハードウェア レコードロックプロセッサを用いる際には、ロックを必要とする共有される大容 量メモリへの各参照は、共有される大容量メモリに対する要求を行う前に、レコ ードロックプロセッサへの要求から始める。レコードロックプロセッサはこの要 求を処理し、要求者に以下の3つのステータスメツセージの1つを与える: ロック許可・・・処理OK ロック不許可、ロックのキューでの競合ロックの解放待ちエラー(異常状態) ロックのキューイングの場合には、要求しているホスト側への他の行動なしに、 ロックが許可されるときに遅延メツセージが要求者に送信される。ロックが許可 された後、ホストは大容量メモリに対する処理を実行してそれからロックを解放 する。ロックの解放により、そのレコードを他の要求者が利用することが可能と なる。
ロック要求はレコードを記述するように意図されてし)る。
しかしながら、ロック登録は論理的存在であり、ソフトウェアにより意味を選択 できる。つまり、ロックはソフトウェアに対して名前を表わしてもよい。
ロック解除には特別の考慮が払われている。ロックを解除する典型的な手法は、 プロセス(すなわち、処理)に対してすべてのロックを解放する一団のロック解 除命令を発することである。−団のロック解除命令はロック解除プロセスと呼ば れる。ロック解除プロセス命令は処理が完了したときに発せられる。多くのI/ ○命令を保持している可能性のあるプロセスに対して、一つの命令ですべてのロ ックを解放できる。
ロック解除命令の第2のタイプは、レコードあるいはファイルをロック解除する ものである。これは、単に特定の目的のものをロック解除する個々のロック解除 である。第3のロック解除命令は、ロック解除適用グループ/ホストと呼ばれる 。
例えば、ホストがダウンして、そのダウンしているホストに対するすべてのロッ クを解放したいときなどの場合に、ロック解除側収集(Sub−Col Iec tion)が用いられる。
デッドロック レコードロックプロセッサはデッドロック検出を処理する。
すべてのロックが複数のハードウェア装置間に分散しているのではなくて一つの 場所に保持されているので、デッドロックの存在を検出することが可能である。
デッドロックの例として第1のプロセスが第2のプロセスの保持している資源を 待ち続け、且つ第2のプロセスが第1のプロセスが保持している資源を待ち続け ているという状態があげられる。双方のプロセスは待ち続け、どちらもプロセス が仕事を完了するまで他方が必要とする資源を解放することはない、デッドロッ クにおいては他の資源を待ち続ける一方で資源を保持し続け、その間はデッドロ ックされたプロセスによりいかなる仕事も実行されない、また、デッドロックは 他のプロセスがロックされている資源を使用することをも不可能にする。デッド ロックの結果はネットワークにおける処理速度の低下につながる。
デッドロック状態に対処するために、ロックモジュールは要求が内部でキューイ ングされるときにタイマを始動させる。
(要求が許可された場合には競合は存在しない、従って、キューイングしている ロック要求を考慮するだけでよい)。
キューイングしているロック要求のタイマが切れると、かなりの時間が経過した ということであり、ロックモジュールはデッドロック検出のプロセスを起動する 。デッドロックが存在すると、その状況がデッドロックを起こしている要求者に 報告される。デッドロックが存在しないときには、タイマはリセットされる。タ イマによる解決法を用いる理由は、デッドロックの検出にはかなりの時間を必要 とするが、デッドロックの発生がかなり少ないことによる。デッドロックが検出 されないとすれば、それが生じたときにスルーブツトの点で困惑する事態になる 。各々のロック登録に対する仮想デッドロックと呼ばれる第2のデッドロックオ プションが提供されている。要求がすぐに許可されないときにはその要求は拒絶 される。
託シーケンス番− レコードロックプロセッサは委託シーケンス番号を要求する命令を有している。
委託シーケンス番号はカウンタに基づいている0番号は一意的であって増えてい くものであることが保証されている。委託シーケンス番号は回復目的の監査の手 がかりを残すために用いられる。
レコードロックプロセッサの能力 好適な実施例におけるレコードロックプロセッサは、4台のユニシス(商標)  1100/94コンピユータから期待できる速度の2倍の処理を可能とする。レ コードロックプロセッサには8個のFIPS 60−2ブロック多重チャネルイ ンタフェースがある。
8個のプログラム可能なチャネルインタフェースは4つの各システムと2つの接 続を提供するように設計されている。
加えて、診断に使われるメンテナンスチャネルも有している。
メンテナンスチャネルは通常の動作においては用いられない。
レコードロックプロセッサの− レコードロックプロセッサは、3重の本体と一つのホット予備モジュールが1つ のキャビネットに含まれるように構成される。3重構成はバックアップを提供し 、完全性を保証し、且つ同一のロックモジュール間で不一致が生じたときの競合 を解決する。
4個のロックモジュールはすべて並列に同じタスクを実行する。ロックモジュー ルはすべて同一である。3個の動作中のロックモジュールは要求者に応答を返す 前に応答に対して投票を行う。ロックモジュール間で不一致が生じた場合には、 2個の一致したロックモジュールからの応答が正しい応答として選択される。不 一致の場合は、異なるロックモジュールを自動的に切り離し、次の処理には予備 を引き入れる。予備は、すぐに使用できるように、現在のロックのコピーを有し ている。
投票ロジックは、各々のチャネルインタフェースにおいて2重になっており、単 独の故障が起こることはない、チャネルインタフェースはすべて並列に動作する 。ロック命令は、プログラム可能なチャネルインタフェースによりI10チャネ ルを通して受け取られる。全体の命令が有効であるかどうかがチェックされる。
全体の要求がチャネルにキューイングされて有効性がチェックされた後にのみ、 チャネルインタフェースがロックモジュールの使用を試みる。このような方式は 、I10100並列性をもたらし、ロックモジュールの最大限の利用を可能にす る。この解決法により、データが転送され要求がチェックされている間、ロック モジュールがチャネルと接続することを避けることができる。8個のプログラム 可能なチャネルインタフェースへの要求のオーバーラツプが起こるために、レコ ードロックプロセッサの全性能は向上する。
レコードロックプロセッサの内部では、各ロックモジュールと4のチャネルの各 グループに対して別々の電源ならびに冷却装置がある。2個の電源装置に接続す る2個のAC取入口がある。どのモジュールもキャビネット内の他のモジュール が動作中にキャビネットから取り外せるように設計されている。
どちらかのAC装置が存在すれば、レコードロックプロセッサは動作し続ける。
望まれるのなら、連続電源が外付けされる必要がある。
1つのロックモジュールが故障してもホット予備が存在する。1番目のロックモ ジュールがサービスに復帰する前に2番目のロックモジュールが故障しても、残 りの2個のロックモジュールが全体の負荷確実にを処理することができる。
1番目及び2番目のロックモジュールがサービスに復帰する前に3番目のロック モジュールが故障したら、レコードロックプロセッサは1個のロックモジュール を用いて動作をし続ける。チャネルモジュールが故障した場合には、残りのプロ グラム可能なチャネルインタフェースが動作を続け、メインフレームコンピュー タシステムの負荷を低下なしに処理する。プログラム可能なチャネルインタフェ ースの全グループが故障した場合には、他のチャネルインタフェースグループが 負荷を処理できる。レコードロックプロセッサは、少なくとも一つの故障に対し て、またある場合には複数の故障に対しても余裕がある。
疎結合システムの0 と有効生 疎結合システムは、すべて同一のデータベース上で動作する標準システムの大型 ネットワークを大きくする一手法を提供している。この能力はシステムの容量と 有効性とを改善する。
疎結合システムのネットワークは、一つのノードの計算能力に比べ全体の計算能 力を3.2倍から3.6倍に増やすことができる。
一つのノードがダウンしたとしても、一つあるいはそれ以上の残っているノード によりなお計算能力を得ることができる。
ダウンしたホストにより保持されているロックは、ダウンホストが回復するまで ロックされたままである。ダウンホストにより保持されているロックは他のホス トにより回避される。
レコードロックプロセッサがダウンホストにより保持されているロックに対して の要求を拒絶するように、特別なステップがとられる。すなわち、ダウンホスト が回復するまでの間、動作中のホストは他のトランザクションで処理を続けるこ とができる。
疎結合システム構成は、単独ノードではホストが回復するまで全体がダウンする ため、単独ノードに比べより有効性を増進している。疎結合システムでは、“ダ ウン”ノートが回復している間も“ライフ゛ノードが処理を続けることができる 。
it並ごロス 本発明のシステムの使用者は、一つのノードがダウンしても、仕事の負荷を処理 できるのに十分な計算能力が存在するように、容量を越える構成を選ぶことがで きる。また、使用者は、すべての構成要素が動作しているときに最大負荷を処理 するようにシステムを構成することもできる。この2番目の解決策では、一つの ノードがダウンしたときに容量が減少することになる。使用者の特別な要求に合 わせて、構成を選ぶことができるという柔軟性がある。
正」【カニ欠」二五 疎結合システムは逐次的な生長を提供する。より大きな容量を必要とするときに は、新しいシステム(ノード)を付は加えることができ、システムの残りの部分 に重大な影響を与えることなくテストすることができる。共有される周辺装置な らびにレコードロックプロセッサとの接続は必要であるが、既存のシステムに影 響が及ぶことはない。
疎結合システムの構成により、利用者が負荷ピーク時にはアプリケーションに最 大の計算能力を設定することができ、そしてピーク時以外には他のタスクに構成 のある部分を割り振ることができる。利点は、利用者が必要なときに予備の計算 能力を用いることができ、また重要でない時期には他のアプリケーションに“予 備の”計算能力を用いることができることである。
惺−一一作 本発明のレコードロックプロセッサを用いることにより、大きな処理環境のアプ リケーションにおいて、4個のUnisys(商標) 1100/94プロセツ サの能力は、1個のUnisys (商標)1100/94プログラムの3.2 倍から3.6倍の計算能力を提供すると予想される。これは、それぞれ20パー セントから10パーセントのオーバーヘッドを基にしている。疎結合システムネ ットワークにおいて可能な計算能力の使用を禁じるアプリケーションあるいはデ ータベースの渋滞が存在しないこと、双方のケースにおいて同一のプロセッサ使 用がなされていることを仮想している。他のアプリケーションにおける疎結合シ ステムの性能は変化する。オーバーヘッドは20パーセントあるいはそれ以下で あると考えられる。
疎結合システムネットワークは、トランザクション処理環境に対して本発明のよ り向上した容量および有効性を提供するための一つの回答を与える。共有される データを協調的に使用するために必要な新しいハードウェアは、レコードロック プロセッサと呼ばれる。
セクションAmシステムの概 本発明のレコードロックプロセッサ(RLP)は、ここで述べる好適な実施例に おいては、2個から4個の独立したデータ処理システム間における大容量メモリ の協調的な共有使用を可能にする専用プロセッサである二それは、データベース ファイル中の共通の共有グループに対する複数のホストからの同時アクセスを提 供し且つ制御するために、共有される大容量メモリと共に用いられる。このよう に、RLPはファイルアクセスの同期を取るための中央機構であり、デッドロッ ク検出を行うこともできる。ここで述べる実施例は、特に舷空予約システムなど での使用に適している。
このような環境におけるRLPの主な特徴は;(1)一度に100.000以上 のロックを蓄積する能力を有し;(2)すべてのチャネルからの毎秒15.00 0以上のロックを処理できる能力を有し; (3)各リクエスト処理の結果を決めるために多数決技術を用いており; (4)3つのロックモジュールと第4のロックモジュールを“ホット”待機、す なわち予備ユニットとして用いており;(5)大容量メモリのロック要求に対し てデッドロックを提供し:そして、 (6)処理チャネルとは別のメンテナンスチャネルを有し、ライン上で故障した ユニットの動作を残りの動作中のロックモジュールによって処理されている同一 の使用者要求とデータとを用いてチェックする。
4つのロックモジュールを用いるときには、8つのプログラム可能なチャネルイ ンタフェースが使用される。プログラム可能なチャネルインタフェースは、ホス トシステムに対して動作インタフェースを提供する。ロックモジュールは、ロッ クならびに待ち要求を保持し、ロックおよびロック解除アルゴリズムを実行する 。メンテナンスモジュールはRLPの全体的な状態を監視し、メンテナンスモジ ュールのI10トラフィック(TRAFFIC)が通常処理と妨害しないように 、通常の動作チャネルとは独立しているホストシステムとの分離チャネルインタ フェースを通して、必要なテストおよびメンテナンス機能を実行する。
ロックモジュール ロックモジュール(LM)は、RLPにおいてロックおよびロック解除動作を実 行する。ここで述べる実施例での各LMは、誤り訂正機能を有すことが望まれる 4Mバイトのロックメモリを備えている。ロックメモリ(LM)はロック登録と 待ちロック要求とを蓄える。LMのハードウェアは以下の3つの機能的部分から 構成される: (1)ロックメモリ・・・このメモリはロック登録と待ちロック要求を保持する : (2)マイクロコード化された制御部・・・この部位はロック/ロック解除およ びデッドロック検出アルゴリズムを実行する。
好適な実施例ではアドバンス・マイクロ・デバイス(AdvancedMicr o Devices )で作成されたAm 29014バイト・バイポーラマイ クロプロセッサ・スライスを用いている;そして、(3)プログラム可能なチャ ネルインタフェース(CI )とメンテナンスモジュール(MM)へのインタフ ェース。
このハードウェアは、8個のプログラム可能なチャネルインタフェース及びメン テナンスモジュールと接続されている。
チャネルモジュール チャネルモジュール(CM)は、4つの独立したプログラム可能なチャネルイン タフェースから構成される。各プログラム可能なチャネルインタフェース(CI )はホストコンピユークシステムとの通信能力を提供する。これは、ホストから RLPにすべての命令要求を伝え、同じホストに応答を返すために使われる。各 CIはすべてのLMの決定に基づき多数決を行い、それに従い動作する。CIの ハードウェアは以下の3つの機能的部分から構成されている;(1)メイルボッ クスメモリのセット・・・これらのメモリは4個すべてのLMとの通信手段を提 供する:(2)ブロック多重インタフェース・・・このインタフェースはホスト システムとの通信路を提供する:(3)マイクロコード化された制御部・・・こ の部位はチャネルインタフェース・アルゴリズムを実行する。
16ビツト幅の2901マイクロプロセツサを基にしている。
CIは、ホストコンピュータシステムとのチャネルを提供するブロックマルチプ レクサと接続かつ相互作用を行うように設計されており、複数のサブシステムア ドレスに応答を返す。
メンテナンスモジュール RLP中のメンテナンスモジュール(MM)は、RLPの保守およびテスト、な らびにLMやCIへのマイクロコードのダウンロートを行う設備である。それは 、LMやCIモジュールに対するスキャンセットのためのインタフェースと、メ ンテナンスパネルと、ブロックマルチプレクサと、チャネルインタフェースと、 CIボードのセットのための“テスト穴(testwell)”を含む、MMは 二つの処理モードをもつ:(1)上Z旦デヱネ九女k・・・このモードはRLP のバランスに関するメンテナンス処理に用いられる。これはMMが機能的に正常 であることを必要とする。このモードでは、テストマイクロコードがI10チャ ネルからダウンロードされ、命令が実行される。テストの結果は入力/出力(I lo)チャネルを通して報告される。また、このモードはメンテナンスモード時 にLMおよびCIモジュールに対してすべてをスキャンセットする能力を提供し 、通常処理時にはこれらモジュールに対して限定されたスキャンモニタ要求の能 力を提供する。
(2)メンテナンスパネルから・・・このモードは主にMM自身の保守のための ものであり、MMがI10チャネルと通信できないときにのみ用いられる。
一以下余白一 システムブロック図のLQ 第1図は、本発明が使用されるディジタルデータ処理システム全体のシステムブ ロック図である。全体のシステムは本質的にモジュール化されていて並列処理を 提供し、ジエームズH,スケウネマン(James H,Scheuneman  )の名前で1987年3月10日に発行され、本発明の譲受人が所有している 米国特許番号4.649.475号に述べられているシステムに基づいている。
図示された構成では、各々10とう1ル付けされた第1から第4のインストラク ションプロセッサIPOからIP3が使用されている。各IPは、例えばユニシ スコーポレーションの3054−Do型ユニットでも良いし、互換性のある市販 中の他のインストラクションプロセッサでも良い、IPは基本モードおよび拡張 モードの命令実行、すなわち仮想機械能力を提供し、演算値バッファと命令バッ ファとの2つのバッファメモリ(示されていない)を有している。各IPは、メ モリから命令を読みだして実行し、一般にはデータ操作を行う機能を有する。ま た、IPは入力および出力バッファのセットアツプする命令とチャネルアクセス の制御とを実行する。
IPと共に、12でラベル付けされた第1から第4の入/出力プロセッサl0P Oからl0P3が使用される。まとめて14とラベル付けされたIPとIOPと の相互接続は、実際には各ユニット間の直接接続であってバス接続ではない。
各IOPは、ユニシスコーポレーションの3067−00 型ユニットでも良い し、同型のプロセッサでも良い、IOPは、IPとメモリシステムと周辺サブシ ステム(示されていない)間のすべての通信を取扱う、この型の構成では、IP は同時中央(Sys−Central )処理ユニットとして機能し、IOPは すべての通信を制御するCPUとして働<、IPとIOPとは一般に1100/ 90システムとして9照される。
各々16とラベル付けされた、第1から第4の高性能記憶ユニットHPSUOか らHPSU3が、このシステムで用いられる。各HPSUは、それぞれの群(バ ンク)が524にワードである8個のメモリ群をもった自由構造のユニットであ る。各々のHPSUは、まとめて相互接続路18で示されているように、IPへ の読み書き両方の通信路を提供するための4個のインストラクションプロセッサ (I P)ボートを提供する。ここでも、それぞれのHPSUとIP間の相互接 続はバス接続ではなくて直接接続であることに留意されたい。
また、各HPSUはIOPとの相互接続のための4個の入/出力プロセッサ(I OP)ボートも有する。これらの接続は、図中ではまとめて相互接続20と示さ れており、それぞれのHPSUとIOPとは直接接続されている。IPとIOP のボートは、2ワードの読み書きインタフェースであり、それぞれ1ワードが3 6データピツトと4パリテイビツトから成る。また、各HPSUは少なくとも1 つの科学計算用プロセッサ(sp)ボートを有し、示している実施例では2つの このようなSPボートをもつ。IOPとIPゼインフェースは60ナノ秒のクロ ックサイクルで動作し、SPインタフェースは30ナノ秒のクロックサイクルで 動作する。HPSUは優れたメモリシステムであり、一つあるいはそれ以上の前 記出願審査中の特許出願に説明されている。
各HPSU内では誤り訂正符号(ECC)が用いられ、1ビツトの誤り訂正と2 ビツトの誤り検出を行う。
示されている実施例では、22とラベル付けされた1個あるいは2個の科学計算 用プロセッサSPOとSPIとが使用されている。一つのSPが一つのHPSU と共に用いられる時には、HPSUのSPボートと直接接続すればよい、2つ以 上のHPSUがSPと共に用いられる時には、それぞれのSPに対してマルチプ ルユニットアダプタ(MUA)が必要となる。この構成では、それぞれ24とラ ベル付けされたMUAOとMUAlとが、インタフェースライン26と28とを 通してそれぞれSPOとSPIに接続されている。MUAOは相互接続パス30 を通してそれぞれのHPSUと接続されており、MUA 1は相互接続パス32 を通してそれぞれのHPSUと接続されている。
各々のSPは、1つあるいはそれ以上のIPの指示の下で、支持モードで科学的 計算を実行する。このような観点からは、IPがホストプロセッサでSPが支持 プロセッサであり、全ての動作は共有メモリを通して行なわれるものと捉えるこ とができる。
全体のシステムのメンテナンスや監視は、34とラベル付けされたシステムのす べてのユニットと接続されている1個あるいは2個のシステム支持プロセッサ( SSP)SSPOとSSP 1とが行う、sspは市販されており、ユニシスコ ーポレーションの1100/90システムで用いられている。一般には、各SS Pはシステムのためにハードウェアのメンテナンスパネルの機能を提供する。情 報の表示ならびに設定、多くのメンテナンス設備の活性化、動作モードの選択な どは、SSPの制御部で行われる。
クロックシステム36はシステム全体の同期動作を得るために用いられる。クロ ックと同期信号は各々のIP、HPSU。
■○P、SPに送られる。クロックインタフェースは、クロックレート、クロッ クモード、サイクル数及びクロックの他の性質を制御するためのIPからの信号 や命令を含んでいる。
レコードロックプロセッサ(RLP)17は(第1図および第2図に示されてい るように)ライン19,21,23.25を通してIPと接続されて、オンライ ン周辺装置として機能し、マルチホストシリーズの疎結合データ処理システムに つながっている共有される全人容量メモリに対する記憶。
ブロックおよびファイルロックを管理する。それは、接続されているホストから の制御パケットおよびメツセージを受け取り、接続されているホストにデータパ ケット、メツセージ及びステータスを送るために、ライト、リード及びセンス命 令を実行する。また、ロックやメツセージを管理し、RLPの他の機能を働かせ るために、ロック、ロック解除、促進メツセージなどのロッキング補助命令を実 行する。
RLPは、制御本体と目標目的物とを識別するサブコレクション番号、プロセス 番号、目的物を識別するオブジェクト名のような、プロセス、レコード、ブロッ ク、ファイルパラメータを含むパケットにより制御される。制御パケットとメツ セージとは別々に送られてもストリームとして送られてもよい。
第2図に示すように、RLPはロックモジュール(LM)とチャネルモジュール (CM)とメンテナンスモジュール(MM)とから構成される。主要なユニット はLMであり、ロック機能を行う。CMはすべての110機能を行い、各ロック 機能時においてLMから受け取った票を処理する。
MMはRLPの全般的な状態を監視し、必要とされるテストおよびメンテナンス 機能を実行する。
RLPの完全な機能は、一つのロックモジュールと一つのチャネルインタフェー スとの組合せから得られる。複数のユニットは、ハードウェアの構成部品の故障 に対処するための冗長性を提供する。
電源の落ちたあるいは休止中のロックモジュールのメモリは、オンラインの作動 中のロックモジュールのメモリ内容のコピーにより満たされなければならない、 メンテナンスモジュールはロックモジュールの状態をチェックする。投票におい て異なる票を投じたためにオフラインとされたロックモジュールは、メンテナン スモジュールによりオフラインユニットとして検出される。診断テストをダウン ロードして実行することを要求するために、メンテナンスモジュールを通して信 号がホストに送られる。マイクロ診断が、メンテナンスモジュールを通して当該 のロックモジュールにダウンロードされる。処理マイクロコードもロックモジュ ールにダウンロードされる。
当該のロックモジュールの始動のために、メンテナンスモジュールを通してロッ ク要求信号が送られる。当該のロックモジュールは“始動”信号を受け取ってデ ータの充填を要求するために、オンラインのロックモジュールを選択する。
当該のロックモジュールは、一つの有効なロックモジュールから当該のロックモ ジュールへすべてのロックリスト、待ちロックリストおよび他の必要な制御情報 の書き込みを制御する。コピー動作が行われている間、ロック要求に関する処理 は停止している。ここで述べる実施例においては、停止期間は最高でおよそ2秒 間である。
コピー動作(充填)が完了すると、オフラインのロックモジュールは、通常の待 機状態におかれる。この状態において、ホット予備スペアロックモジュールとな る。一方、メンテナンステストによりテストされたロックモジュールの完全性に 疑問が残るときには、当該のロックモジュールは保留待機におかれる。保留待機 では、ロックモジュールは有効な投票メンバーに替わることはできない。しかし ながら、他の命令は同じように続けられる。すなわち、当該のロックモジュール は、動作中のロックモジュールと同一のデータに対して処理を行い、メンテナン スモジュールによってさらにテストを受けることになる。
ロックモジュールの説日 ロックモジュール(LM)は、RLPにおいてロックおよびロック解除処理を実 行する。ロックモジュールAのみが詳細に示されている。他のロックモジュール B、C,DはロックモジュールAと同一である。ロックモジュールは、機能ロジ ックとメモリとを含んだ12のプリント回路列(PCA)から構成される。各L Mは、ロック登録と待ち登録のための誤り訂正符号(ECC)を有した4Mバイ トメモリと、96にバイトのマイクロコードメモリと、16にバイトのローカル メモリとを有する。LMのハードウェアは以下の3つの機能的部分から構成され る: (1)ロックメモリ・・・このメモリはロック登録と待ちロック要求とを保持す る; (2)マイクロコード化された制御部・・・この部位はロック/ロック解除およ びデッドロック検出アルゴリズムを実行する。
32ビツト幅のAm 2901マイクロプロセツサを基にしている:(3)LM 、CIとMMへのインタフェース・・・このハードウェアは他の3つのロックモ ジュール、8個のプログラム可能なチャネルインタフェースとメンテナンスモジ ュールとに接続されている。
しかしながら、概念的には、LMは4個の機能的部分に分けられ、それらのうち の2つが同一のハードウェア本体(ロックメモリ)に含まれる: (1)ロックリスト・・・ロックメモリの一部で、ロック登録を保持するために 使用される部位である。それぞれの登録はレコード識別子、ロック所有書名およ びある他の情報から構成される: (2)ロックキュ・・・ロックメモリの一部で、以前にある他のプロセスによっ てロックされて既にロックリストに存在する目的物に対して、ロック動作を保留 しているようなロック要求を保持するために使用される部位である。目的のもの がロック解除される(すなわち登録がロックリストから削除される)場合は、い つまでも待ちリストが解除された目的物のロックを待っている要求のために走査 される: (3)上述したマイクロコード化された制御部:(4)上述したLM、CI及び MMへのインタフェース。
ロックメモリアドレスレジスタ LMAR)各LM内の20ビツトのLMARは 、現在のロックメモリアドレスを蓄えている。このサイズは2Mワードまでのア ドレシングを可能にする。LMARは書込み専用レジスタであり、ロックメモリ の読み書き動作中にLMARの内容を変更することはメモリ内容の誤りにつなが る。このような理由から、不適切な時にLMARへの書込みがあればLMクロッ クを止めるように、LMARの登録はロックメモリのタイミングと連動される。
LMARは、ロックメモリ動作を始動させるのと同じマイクロ命令によって登録 されてもよい。
既知の優先技術を用いて、各々のCIからのロック要求バッファ可能(LRB  AV)信号の巡回的優先選択を実施してもよい、 LRB AV倍信号与えられ たら、すべての他のCIがサービスし終るまで、再びLRB AVが与えられる ことはない。
チャネルモジュール(CM)は4個の独立したCIから構成される。各々のチャ ネルインタフェース(cBは、ホストシステムとの通信能力を提供する。これは 、ホストからのすべての処理要求なRLPに伝え、同じホストに応答を返すため に使われる。各CIはすべてのLMの決定に基づく多数決を行い、それに従い動 作する。好適な実施例では、各CIは24にバイトのマイクロコードメモリと8 にバイトのローカルメモリそして16にバイトのバッファメモリとを有する。
CIのハードウェアは以下の3つの機能的部分から構成されている: メイルボックスメモリのセット・・・これらのメモリは4個のすべてのLMとの 通信手段を提供する;ブロック多重インタフェース・・・このインタフェースは ホストシステムとの通信路を提供する; マイクロコード化された制御部・・・この部位はICアルゴリズムを実行する。
16 ビット幅のAm 2901マイクロプロセツサを基にしている(以下、“ 2901”と参照される)。
CIは、ホストシステムのブロックマルチプレクサチャネルと接続かつ相互利用 を行うように設計され、複数のサブシステムアドレスに応答する。
機」しJΣjし天 チャネルインタフェース(cBは、レコードのロックおよびロック解除を目的と し、診断ならびにメンテナンス機能を実行するためのロックモジュール(LM) に対して、前置プロセッサとして用いられる。このため、CIはハードウェア的 にRLPの負荷でより多くの時間を費やす部分を実行するように作られている。
機能的には、CIはブロックマルチプレクサチャネルを通して、ホストコンピュ ータと0全での通信を実行する。CIは、100フイートI10ケーブルの時に は毎秒1.2Mバイトのレートで、好適な例における最高長400フィートI1 0ケーブルの時には毎秒800にバイトのレートで、チャネルと通信する。通信 はマイクロプログラム制御により行われる。
このことにより、チャネルプロトコル機構を実施する際に用いるハードウェアを 最小にすることが可能となる。
ホストからRLPに送られたロックレコードのようなチャネルパケットは、CI によって復号され再フォ−マツトされる。
再フォ−マツトにより、コマンドパケットはLMによってより処理されやすいよ うな形式に直される。
コマンドパケットは、CIにより再フォ−マツトされたのち、4個のロック要求 バッファ(LRB)に蓄えられる。
これらの4個のLRBは4個のLMと接続されている。これにより、各々のLM はコマンドパケットに対して独立に動作することが可能である。LMは、8ビツ トバスを通してLRBからデータを読み込んで自身のワークメモリに蓄える。そ して、LMはコマンドパケットを処理して結果をCIの遅延応答バッファ(DR B)に送信する。すべてのLMがCIのコマンドパケットに対する応答を返し終 えたとき、CIはDRB内の結果を評価する。評価はDRBの内容を基に多数決 をもって行われる。多数の票を集めた内容がコマンドに対する最終応答としてチ ャネルに送られる。
DRBは、上述した応答バッファという以外の別の目的にも使用される。レコー ドの解放などのような非同期な出来事がLM内で生じたときには、LMはパケッ トをCIのDRBに送信する。CIはこの出来事を認識して、パケットを処理す る。
RLPには全体で8個のCIが存在する。各CIは、同時に最高3個がオンライ ンとなる4個のLMと通信する。異なるモジュールの2個のCIは、それぞれの ホストコンピュータ、一般には異なるIOPに接続される。このことにより、一 つのCIが故障したとしても、RLPとホストコンピュータ間に冗長性を有する パスが提供できる。各々のCIは4つのPCカードから構成されるニ一つはマイ クロプロセッサ、2つのバッファ、一つがインタフェースとローカルストアとス キャン/セット機能とを提供する。チャネルモジュール(CM)は4個のCIと 一つのパワー制御およびスキャン/セットのファンアウトPCカードとから構成 される。計算値はCIマイクロ機械においては16ビツト幅であり、チャネルイ ンクフェースを通して渡されるデータを処理をするのに必要な能力を提供する。
 2901マイクロプロセツサの固有の速度を合わせて考えると、16ビツト幅 はCIの処理要求に十分に適合する。
Fig、4 (特許法第17条の2第1号の規定による補正)手続補正書 平成1年11月21日

Claims (25)

    【特許請求の範囲】
  1. 1.レコードの記憶のための複数の共有される記憶手段と、該共有される記憶手 段に接続されて、各々が選ばれたどのレコードを使用するとのデータ処理手段も が、データ処理のために前記選択されたレコードを用いることが出来る期間に、 選択されたレコードの使用を要求する要求レコード信号を発する複数のデータ処 理手段とを備えるレコードロックプロセッサシステムであって、 少なくとも一つのチャネルインタフェース手段から成り、前記データ処理手段の 各々に接続されて、前記データ処理手段からレコードロックおよびロック解除要 求信号を受け取り、フラグ信号を供給する複数のプログラム可能なチャネルイン タフェース手段と、 プログラム可能のロックモジュール手段のグループであって、該グループが少な くとも3個の本質的に別々のロックモジュール手段を有して、該ロックモジュー ル手段の各々が前記フラグ信号を受け取るために接続され、該ロックモジュール 手段の各々が、前記フラグ信号の受け取りに続いて、前記チャネルインタフェー スから該ロックモジュールに与えられた前記レコード要求信号に応答して、ロッ クおよびロック解除ステータス信号を発するグループと、 前記のロックモジュール手段の各々により与えられた前記ロックあるいはロック 解除ステータス信号により多数決を実施し、前記チャネルインタフェース手段を 通して、前記多数決のロックステータス信号を前記要求データ処理手段に与える 投票評価手段とを備え、 前記ロックモジュール手段は、現在の要求レコード信号を蓄えるロックリストメ モリと、以前の要求レコード信号に従う前記要求レコードヘの以前のロックが解 放されるまでキューイングされる前記以前の要求レコード信号を蓄える待ちロッ クリストメモリとから構成され、 前記ロックモジュール手段は、ロック要求に従う該レコードのためのロック信号 が既に前記ロックリストメモリあるいは前記の待ちロックリストメモリに存在す るか否かに応じて、要求レコードがロックされていることあるいは要求レコード のロックが待機しなければならないことを要求データ処理手段に伝えるステータ ス信号と、ロック解除の要求に従う該レコードのためのロック信号が前記ロック リストメモリあるいは前記待ちロックリストメモリに存在するか否かに応じて、 要求レコードがロック解除されていることあるいはロック解除要求が拒絶される ことを要求データ処理手段に伝えるステータス信号とを提供する前記要求データ 処理手段により使用される前記選択されたレコードをロックするためのレコード ロック手段を備えるレコードロックプロセッサシステム。
  2. 2.請求の範囲第1項のレコードロックプロセッサシステムにおいて、 更に、動作中のロックモジュール手段として動作することが可能であり、前記シ ステムの他のロックモジュール手段として前記データ処理手段と前記共有される 記憶手段とから同一の入力信号を受け取るが、予備として動作している間は前記 投票評価手段へのロックあるいはロック解除ステータス信号を提供しない予備ロ ックモジュール手段と、 前記ロックモジュール手段と前記多数決評価手段とに接続されて、多数決と不一 致であるロックあるいはロック解除ステータス信号、あるいは前記投票において 有効な関与をしないで前記多数決評価手段によって提供される前記信号を提供す るとのロックモジュール手段をも切換えて、前記予備ロックモジュール手段を動 作状態に置くメンテナンス手段とを備える。
  3. 3.請求の範囲第2項のレコードロックプロセッサシステムにおいて、 前記メンテナンス手段は、前記切り放されるロックモジュール手段が前記ロック あるいはロック解除ステータス信号の多数決に有効に関与しているロックモジュ ール手段と同一の入力信号を受け取っている間、故障のために有効な関与から切 り離された前記ロックモジュール手段を診断する。
  4. 4.請求の範囲第2項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  5. 5.請求の範囲第2項のレコードロックプロセッサシステムにおいて、 前記メンテナンス手段は、前記切り放されるロックモジュール手段が前記ロック あるいはロック解除ステータス信号の多数決に有効に関与しているロックモジュ ール手段と同一の入力信号を受け取っている間、故障のために有効な関与から切 り離された前記ロックモジュール手段を診断する。
  6. 6.各々が自身のオペレーティングシステムを有する複数のデータ処理手段と、 あるものはロックされたモードで一時に一つのプロセッサのみがアクセスでき、 また他のものは同時にどのプロセッサからもアクセスすることのできるレコード を含む共有記憶手段とを備える疎結合データプロセッサシステムであって、 該データプロセッサシステムに接続されて、各々が現在のレコード信号を蓄える ロックリストメモリと、以前の要求レコード信号によりロックされた要求レコー ドヘの以前のロックが解放されるまでキューイングされる以前の要求ロック信号 を蓄える待ちロックリストとを有する複数のロックモジュール手段から成る中央 ロック処理手段と、 前記データ処理手段に接続されたチャネルモジュール手段とを備え、 前記ロックモジュール手段は、ロック要求に従う該レコードのためのロック信号 が既に前記ロックリストメモリあるいは前記の待ちロックリストメモリに存在す るか否かに応じて、要求レコードがロックされていることあるいは要求レコード のロックが待機しなければならないことを要求データ処理手段に伝えるステータ ス信号を前記チャネルモジュール手段を通して提供し、ロック解除の要求に従う 該レコードのためのロック信号が前記ロックリストメモリあるいは前記待ちロッ クリストメモリに存在するか否かに応じて、要求レコードがロック解除されてい ることあるいはロック解除要求が拒絶されることを要求データ処理手段に伝える ステータス信号を前記チャネルモジュール手段を通してを提供する疎結合データ プロセッサシステム。
  7. 7.請求の範囲第6項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  8. 8.請求の範囲第6項のレコードロックプロセッサシステムにおいて、 更に、動作中に故障したロックモジュール手段が故障していないロックモジュー ル手段と同一の入力信号を受け取っている間に、動作中に故障した前記ロジック モジュール手段を診断するメンテナンスモジュール手段を備える。
  9. 9.請求の範囲第6項のレコードロックプロセッサシステムにおいて、 前記チャネルモジュール手段は、前記データ処理手段の各々と接続されたプログ ラム可能なチャネルインタフェース手段を備える。
  10. 10.レコードの記憶のための複数の共有される記憶手段と、該共有される記憶 手段に接続されて、各々が選ばれたどのレコードを使用するどのデータ処理手段 もが、データ処理のために前記選択されたレコードを用いることが出来る限られ た期間に、選択されたレコードの排他的使用を要求する要求レコード信号を発す る複数のデータ処理手段と、前記チータ処理手段の1つに接続されて、各々が関 連するデータ処理手段からの要求に応答して前記共有されるメモリの選択された レコードをロックあるいはロック解除する本質的に同一の複数のロックモジュー ル手段と、故障したロックモジュール手段が故障していないロックモジュール手 段と同一の入力信号を受け取っている間に、動作中に故障した前記ロジックモジ ュール手段を診断するメンテナンス手段とを備えるレコードロックプロセッサシ ステム。
  11. 11.請求の範囲第10項のレコードロックプロセッサシステムにおいて、 前記のレコードロツク手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  12. 12.請求の範囲第10項のレコードロックプロセッサシステムにおいて、 前記各ロックモジュール手段は、現在のレコード信号を蓄えるロックリストメモ リと、以前の要求レコード信号によりロックされた要求レコードヘの以前のロッ クが解放されるまでキューイングされる以前の要求ロック信号を蓄える待ちロッ クリストとを有し、 前記ロックモジュール手段は、ロック要求に従う該レコードのためのロック信号 が既に前記ロックリストメモリあるいは前記の待ちロックリストメモリに存在す るか否かに応じて、要求レコードがロックされていることあるいは要求レコード のロックが待機しなければならないことを要求データ処理手段に伝えるステータ ス信号を提供し、ロック解除の要求に従う該レコードのためのロック信号が前記 ロックリストメモリあるいは前記待ちロックリストメモリに存在するか否かに応 じて、要求レコードがロック解除されていることあるいはロック解除要求が拒絶 されることを要求データ処理手段に伝えるステータス信号を提供する。
  13. 13.請求の範囲第12項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  14. 14.レコードの記憶のための複数の共有される記憶手段と、該共有される記憶 手段に接続されて、各々が選ばれたどのレコードを使用するとのデータ処理手段 もが、データ処理のために前記選択されたレコードを用いることが出来る期間に 、選択されたレコードの使用を要求する要求レコード信号を発する複数のデータ 処理手段とを備えるレコードロックプロセッサシステムであって、 各々が現在のレコード信号を蓄えるロックリストメモリと、以前の要求レコード 信号によりロックされた要求レコードヘの以前のロックが解放されるまでキュー イングされる以前の要求ロック信号を蓄える待ちロックリストとを有し、前記要 求データ処理により使用される前記選択されたレコードをロックする複数のプロ グラム可能なロックモジュール手段と、マイクロコード制御メモリ手段と、 前記ロックモジュール手段に接続されて、前記ロックモジュール手段を診断し、 前記診断が失敗したロックモジュール手段を待機状態に置くメンテナンス手段と を備え、前記メンテナンス手段は蓄積された診断テスト情報を有し、前記メンテ ナンス手段が前記故障を診断した後に、前記メンテナンス手段からの該診断テス ト情報、ならびに前記診断テストを通過した前記ロックモジュール手段の1つか らのロックリストメモリの内容と、前記診断テストを通過した前記ロックモジュ ール手段の1つからの待ちロックリストメモリの内容と、前記診断をテストを通 過した前記ロックモジュール手段からの制御メモリ内容のすべてが、前記故障し たロックモジュール手段にロードされるレコードロックプロセッサシステム。
  15. 15.請求の範囲第14項のレコードロックプロセッサシステムにおいて、 前記ロックモジュール手段は、ロック要求に従う該レコードのためのロック信号 が既に前記ロックリストメモリあるいは前記の待ちロックリストメモリに存在す るか否かに応じて、要求レコードがロックされていることあるいは要求レコード のロックが待機しなければならないことを要求データ処理手段に伝えるステータ ス信号を提供し、ロック解除の要求に従う該レコードのためのロック信号が前記 ロックリストメモリあるいは前記待ちロックリストメモリに存在するか否かに応 じて、要求レコードがロック解除されていることあるいはロック解除要求が拒絶 されることを要求データ処理手段に伝えるステータス信号を提供する。
  16. 16.請求の範囲第15項のレコードロックプロセッサシステムにおいて、 更に、前記のロックモジュール手段の各々により与えられた前記ロックあるいは ロック解除ステータス信号により多数決を実施し、前記チャネルインタフェース 手段を通して、前記多数決のロックステータス信号を前記要求データ処理手段に 与える投票評価手段とを備える。
  17. 17.請求の範囲第16項のレコードロックプロセッサシステムにおいて、 更に、動作中のロックモジュール手段として動作することが可能であり、前記シ ステムの他のロックモジュール手段として前記データ処理手段と前記共有される 記憶手段とから同一の入力信号を受け取るが、予備として動作している間は前記 投票評価手段へのロックあるいはロック解除ステータス信号を提供しない予備ロ ックモジュール手段と、 前記ロックモジュール手段と前記多数決評価手段とに接続されて、多数決と不一 致であるロックあるいはロック解除ステータス信号、あるいは前記投票において 有効な関与をしないで前記多数決評価手段によって提供される前記信号を提供す るどのロックモジュール手段をも切換えて、前記予備ロックモジュール手段を動 作状態に置くメンテナンス手段とを備える。
  18. 18.請求の範囲第17項のレコードロックプロセッサシステムにおいて、 前記メンテナンス手段は、前記切り放されるロックモジュール手段が前記ロック あるいはロック解除ステータス信号の多数決に有効に関与しているロックモジュ ール手段と同一の入力信号を受け取っている間、故障のために有効な関与から切 り離された前記ロックモジュール手段を診断する。
  19. 19.請求の範囲第18項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  20. 20.請求の範囲第14項のレコードロックプロセッサシステムにおいて、 更に、少なくとも一つのチャネルインタフェース手段から成り、前記データ処理 手段の各々に接続されて、前記データ処理手段からレコードロックおよびロック 解除要求信号を受け取り、フラグ信号を供給する複数のプログラム可能なチャネ ルインタフェース手段と、 前記ロックモジュール手段は、前記フラグ信号の受け取りに続いて、前記チャネ ルインタフェースから該ロックモジュールに与えられた前記レコード要求信号に 応答して、ロックおよびロック解除ステータス信号を発する。
  21. 21.請求の範囲第20項のレコードロックプロセッサシステムにおいて、 更に、前記のロックモジュール手段の各々により与えられた前記ロックあるいは ロック解除ステータス信号により多数決を実施し、前記チャネルインタフェース 手段を通して、前記多数決のロックステータス信号を前記要求データ処理手段に 与える投票評価手段とを備える。
  22. 22.請求の範囲第21項のレコードロックプロセッサシステムにおいて、 更に、動作中のロックモジュール手段として動作することが可能であり、前記シ ステムの他のロックモジュール手段として前記データ処理手段と前記共有される 記憶手段とから同一の入力信号を受け取るが、予備として動作している間は前記 投票評価手段へのロックあるいはロック解除ステータス信号を提供しない予備ロ ックモジュール手段と、 前記ロックモジュール手段と前記多数決評価手段とに接続されて、多数決と不一 致であるロックあるいはロック解除ステータス信号、あるいは前記投票において 有効な関与をしないで前記多数決評価手段によって提供される前記信号を提供す るどのロックモジュール手段をも切換えて、前記予備ロックモジュール手段を動 作状態に置くメンテナンス手段とを備える。
  23. 23.請求の範囲第22項のレコードロックプロセッサシステムにおいて、 前記メンテナンス手段は、前記切り放されるロックモジュール手段が前記ロック あるいはロック解除ステータス信号の多数決に有効に関与しているロックモジュ ール手段と同一の入力信号を受け取っている間、故障のために有効な関与から切 り離された前記ロックモジュール手段を診断する。
  24. 24.請求の範囲第23項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
  25. 25.請求の範囲第14項のレコードロックプロセッサシステムにおいて、 前記のレコードロック手段は、競合するデータ処理手段間でのデッドロックを検 出して解決するデッドロック検出手段を備える。
JP1504004A 1988-03-14 1989-03-13 多重処理データシステムにおけるロック制御方法 Expired - Lifetime JP2572136B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16774888A 1988-03-14 1988-03-14
US167,748 1988-03-14

Publications (2)

Publication Number Publication Date
JPH02501603A true JPH02501603A (ja) 1990-05-31
JP2572136B2 JP2572136B2 (ja) 1997-01-16

Family

ID=22608659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1504004A Expired - Lifetime JP2572136B2 (ja) 1988-03-14 1989-03-13 多重処理データシステムにおけるロック制御方法

Country Status (5)

Country Link
US (1) US5140685A (ja)
EP (1) EP0357768B1 (ja)
JP (1) JP2572136B2 (ja)
DE (1) DE68913629T2 (ja)
WO (1) WO1989008883A1 (ja)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210848A (en) * 1989-02-22 1993-05-11 International Business Machines Corporation Multi-processor caches with large granularity exclusivity locking
JPH03127161A (ja) * 1989-10-13 1991-05-30 Hitachi Ltd 複数操作卓の協調方式
JP2629384B2 (ja) * 1989-11-16 1997-07-09 日本電気株式会社 ダウンラインロード起動制御方式
US5276847A (en) * 1990-02-14 1994-01-04 Intel Corporation Method for locking and unlocking a computer address
JPH0448350A (ja) * 1990-06-18 1992-02-18 Toshiba Corp データベース管理システム
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges
US5442785A (en) * 1991-10-08 1995-08-15 Unisys Corporation Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor
US5423044A (en) * 1992-06-16 1995-06-06 International Business Machines Corporation Shared, distributed lock manager for loosely coupled processing systems
US5455944A (en) * 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5485573A (en) * 1993-07-16 1996-01-16 Unisys Corporation Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
AU1091295A (en) * 1993-11-09 1995-05-29 Kenneth H. Conner First come memory accessing without conflict
US5987586A (en) * 1993-12-23 1999-11-16 Unisys Corporation Method and apparatus for asynchronous device communication
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US5537583A (en) * 1994-10-11 1996-07-16 The Boeing Company Method and apparatus for a fault tolerant clock with dynamic reconfiguration
US5666371A (en) * 1995-02-24 1997-09-09 Unisys Corporation Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements
US5511164A (en) 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5682537A (en) * 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system
US5675768A (en) * 1996-02-01 1997-10-07 Unisys Corporation Store software instrumentation package instruction
US5761734A (en) * 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system
US5940826A (en) * 1997-01-07 1999-08-17 Unisys Corporation Dual XPCS for disaster recovery in multi-host computer complexes
US5949970A (en) * 1997-01-07 1999-09-07 Unisys Corporation Dual XPCS for disaster recovery
US6021508A (en) * 1997-07-11 2000-02-01 International Business Machines Corporation Parallel file system and method for independent metadata loggin
JPH1165863A (ja) * 1997-08-26 1999-03-09 Hitachi Ltd 共有資源管理方法
US6253273B1 (en) * 1998-02-06 2001-06-26 Emc Corporation Lock mechanism
US6205449B1 (en) * 1998-03-20 2001-03-20 Lucent Technologies, Inc. System and method for providing hot spare redundancy and recovery for a very large database management system
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
EP1242869B1 (en) 1999-09-01 2011-11-16 Intel Corporation Context swap instruction for multithreaded processor
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6307789B1 (en) * 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6631430B1 (en) * 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6324624B1 (en) * 1999-12-28 2001-11-27 Intel Corporation Read lock miss control and queue management
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6714943B1 (en) 2001-01-31 2004-03-30 Oracle International Corporation Method and mechanism for tracking dependencies for referential integrity constrained tables
US6728719B1 (en) 2001-01-31 2004-04-27 Oracle International Corporation Method and mechanism for dependency tracking for unique constraints
US6804672B1 (en) * 2001-01-31 2004-10-12 Oracle International Corporation Method and mechanism for dependency tracking
US6678542B2 (en) * 2001-08-16 2004-01-13 Optiscan Biomedical Corp. Calibrator configured for use with noninvasive analyte-concentration monitor and employing traditional measurements
US7216204B2 (en) * 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7225281B2 (en) 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US20030055719A1 (en) * 2001-09-20 2003-03-20 Faigle Christopher T. Remote participation and voting in a meeting
US7126952B2 (en) 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) * 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) * 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) * 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) * 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7610451B2 (en) 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7437724B2 (en) * 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US6912621B2 (en) 2002-04-17 2005-06-28 International Business Machines Corporation Method and apparatus for updating data in mass storage subsystem using emulated shared memory
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US20040019660A1 (en) * 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data systems
US8095657B2 (en) * 2002-07-24 2012-01-10 Oracle America, Inc. First thread lock management for distributed data systems
US7093230B2 (en) * 2002-07-24 2006-08-15 Sun Microsystems, Inc. Lock management thread pools for distributed data systems
US7565406B2 (en) * 2002-07-24 2009-07-21 Sun Microsystems, Inc. Last thread lock management for multi-threaded process and distributed data systems
US7337275B2 (en) 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7730046B2 (en) * 2002-12-23 2010-06-01 Sap Ag Nomination locking system and method
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7634456B2 (en) * 2003-09-06 2009-12-15 Oracle International Corporation SQL structure analyzer
US7213099B2 (en) 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7757226B2 (en) * 2004-03-17 2010-07-13 Oracle International Corporation Method and mechanism for performing a rolling upgrade of distributed computer software
US20050251523A1 (en) * 2004-05-07 2005-11-10 Oracle International Corporation Minimizing downtime for application changes in database systems
US7788285B2 (en) * 2004-05-14 2010-08-31 Oracle International Corporation Finer grain dependency tracking for database objects
JP4469783B2 (ja) * 2005-11-28 2010-05-26 株式会社東芝 メモリ保護装置、メモリ保護システムおよびメモリ保護方法
US10395309B2 (en) * 2007-03-30 2019-08-27 Detica Patent Limited Detection of activity patterns
US20110178984A1 (en) * 2010-01-18 2011-07-21 Microsoft Corporation Replication protocol for database systems
US8825601B2 (en) * 2010-02-01 2014-09-02 Microsoft Corporation Logical data backup and rollback using incremental capture in a distributed database
US9081653B2 (en) 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0049423A2 (en) * 1980-10-06 1982-04-14 International Business Machines Corporation Multiprocessor system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551892A (en) * 1969-01-15 1970-12-29 Ibm Interaction in a multi-processing system utilizing central timers
US3670306A (en) * 1971-03-01 1972-06-13 Honeywell Inf Systems Process for data communication between data processing systems
DE2202231A1 (de) * 1972-01-18 1973-07-26 Siemens Ag Verarbeitungssystem mit verdreifachten systemeinheiten
BE789828A (nl) * 1972-10-09 1973-04-09 Bell Telephone Mfg Gegevensverwerkend besturingsstelsel.
US3886525A (en) * 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4318182A (en) * 1974-04-19 1982-03-02 Honeywell Information Systems Inc. Deadlock detection and prevention mechanism for a computer system
JPS5296836A (en) * 1976-02-10 1977-08-15 Toshiba Corp Multiplex data processing system
IT1062827B (it) * 1976-03-29 1985-02-11 Olivetti Controllo Numerico Sistema di controllo numerico per macchine utensili
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4354227A (en) * 1979-11-19 1982-10-12 International Business Machines Corp. Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4394728A (en) * 1980-06-26 1983-07-19 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a duplex plurality of central processing units
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4698752A (en) * 1982-11-15 1987-10-06 American Telephone And Telegraph Company At&T Bell Laboratories Data base locking
JPS6054052A (ja) * 1983-09-02 1985-03-28 Nec Corp 処理継続方式
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US4649475A (en) * 1984-04-02 1987-03-10 Sperry Corporation Multiple port memory with port decode error detector

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0049423A2 (en) * 1980-10-06 1982-04-14 International Business Machines Corporation Multiprocessor system

Also Published As

Publication number Publication date
EP0357768B1 (en) 1994-03-09
DE68913629D1 (de) 1994-04-14
EP0357768A1 (en) 1990-03-14
DE68913629T2 (de) 1994-06-16
US5140685A (en) 1992-08-18
JP2572136B2 (ja) 1997-01-16
WO1989008883A1 (en) 1989-09-21

Similar Documents

Publication Publication Date Title
JPH02501603A (ja) 多重処理データシステムにおけるロック制御方法
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
DE69126498T2 (de) Wiederherstellungsverfahren und Gerät für eine Pipeline-Verarbeitungseinheit eines Multiprozessor-systems
CA1310129C (en) Interface of non-fault tolerant components to fault tolerant system
US5099485A (en) Fault tolerant computer systems with fault isolation and repair
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
US9052887B2 (en) Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode
Bernstein Sequoia: A fault-tolerant tightly coupled multiprocessor for transaction processing
US5249187A (en) Dual rail processors with error checking on I/O reads
US6128755A (en) Fault-tolerant multiple processor system with signature voting
EP0514075A2 (en) Fault tolerant processing section with dynamically reconfigurable voting
EP1090350B1 (en) Multi-processor system bridge with controlled access
US6223230B1 (en) Direct memory access in a bridge for a multi-processor system
JPS61216071A (ja) マルチコンピユ−タデジタル処理システム
JP2001350651A (ja) 故障状態を分離する方法
JP2002518745A (ja) サイクル終了モニタ付きのバス・コントローラ
US20020116438A1 (en) Method and apparatus for shared resource management in a multiprocessing system
US5909574A (en) Computing system with exception handler and method of handling exceptions in a computing system
US20020116664A1 (en) Method and apparatus for machine check abort handling in a multiprocessing system
US6029255A (en) Input/output control device and method applied to fault-resilient computer system
JPH1027115A (ja) コンピュータシステムの障害情報採取回路
JP3019409B2 (ja) マルチプロセッサシステムのマシンチェックテスト方法
JPS6316777B2 (ja)
Boyle The design of a distributed kernel for a multiprocessor system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 13