JP2603369B2 - ローカルキャッシュに共通のページ間の一貫性を確保する方法 - Google Patents

ローカルキャッシュに共通のページ間の一貫性を確保する方法

Info

Publication number
JP2603369B2
JP2603369B2 JP3042612A JP4261291A JP2603369B2 JP 2603369 B2 JP2603369 B2 JP 2603369B2 JP 3042612 A JP3042612 A JP 3042612A JP 4261291 A JP4261291 A JP 4261291A JP 2603369 B2 JP2603369 B2 JP 2603369B2
Authority
JP
Japan
Prior art keywords
lock
cache
page
manager
processor
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
JP3042612A
Other languages
English (en)
Other versions
JPH05127995A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05127995A publication Critical patent/JPH05127995A/ja
Application granted granted Critical
Publication of JP2603369B2 publication Critical patent/JP2603369B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ記憶装置の
ある面の管理に関するものであり、更に詳しくいえば、
ローカルデータキャッシュを有する分散システムにおけ
るプロセッサ境界内でロッキングおよびキャッシュ無効
化を包括的に同時に管理する方法に関するものである。
【0002】
【関連技術の説明】定義された分散システム、CPU、
およびいくつかのオペレーティング構成部品本発明の目
的のための「分散システム」は、DASD指向外部記憶
装置サブシステムに対する共用されたアクセスを有する
2つまたはそれ以上のプロセッサを含む。そのような
ステムの各CPUすなわちプロセッサは典型的にはロー
カルオペレーティングシステム(OS)、RAM指向内
部記憶装置、プロセッサの内部記憶装置から作動的に形
成された命令キャッシュおよびデータキャッシュ、アク
セスを共用される外部記憶装置、ロックマネジャーおよ
びキャッシュ資源マネジャーを含む。
【0003】CPUで実行するアプリケーション(プロ
セス/タスク)はOSにより読出し操作と書込み操作
発生する。次に、読出し操作と書込み操作は、データキ
ャッシュ内に常駐しているか、または共用されている外
部記憶装置からデータキャッシュに更新して入れられる
ページへの登録簿にロック可能であるアクセス経路を設
定するために、データキャッシュマネジャーおよびロッ
ク資源マネジャーを利用する。
【0004】内部記憶装置および外部記憶装置 記憶装置の費用は、速度の向上とともに劇的に増大する
から、多くのコンピュータ装置は物理的記憶装置サブシ
ステムをいくつかの性能レベルに分ける。それらのレベ
ルのうちいくつか、例えばDASDおよびテープは、
クセスを共用された周辺I/O装置として処理されてお
り、非同期経路を介してアクセスされる。RAMやキャ
ッシュのような別のレベルはシステム・ハードウェアに
より直接取扱われ、内部記憶装置の一部として同期経路
を介してアクセスされる。
【0005】「内部記憶装置」という用語は、1回の読
み出し転送および書込み転送に対してランダムにアドレ
スできる記憶装置の部分を指定する。アイビーエム(I
BM)システムにおいては、内部記憶装置は拡張部分
(「拡張記憶装置」)を除き、バイトアドレス可能であ
る。拡張記憶装置はブロックすなわちページごとにアド
レス可能(4096バイト/ページ)ランダムにアク
セスされる。それはLRU実記憶装置により支援される
ページング記憶装置として管理される。最後に、「外部
記憶装置」は記憶装置のうち、ランダムにはアドレス可
能でなく、DASDを基にして直接にアクセスしなけれ
ばならない大容量記憶装置を指す。
【0006】仮想アドレスおよび仮想外部記憶装置アド
レス 1990年2月9日に出願された「アーギュメントとし
て仮想外部記憶装置アドレスを用いるデータキャッシュ
を管理する方法(A METHOD for MANAGING A DATA CACHE
USING VIRTUAL EXTERNAL STORAGE ADDRESSES AS ARGUME
NTS)」という名称の係属中の米国特許出願No.07/477,70
4 には、データの論理ビュー(仮想名)を乱すことなし
に、およびその論理ビューに物理的支援記憶装置すなわ
ち実支援記憶装置を割当てることなしに、非常に大容量
の仮想外部アドレス空間(VESA)に、キャッシュを
介してマップされているアドレスページを管理する方法
が記載されている。
【0007】この未決の米国特許出願においては、同義
語の問題と、キャッシュ内のページの種々の論理ビュー
(ページ編成されたファイル)に共通のページの多重コ
ピーを避けるために、2つのレベルのアドレス迂回(イ
ンダイレクション)が用いられる。ここで用いるページ
というのは、仮想外部記憶装置アドレス(VESA)に
マップされ、それから外部記憶装置内の物理的アドレス
にマップされた線形空間内のページのアドレスに従って
参照させられる。これに関して、参照されたページは、
それのVESAアドレスを索引アーギュメントとして用
いて、キャッシュに書き込まれる。すなわち、ページは
キャッシュに書き込まれ、そのVESAアドレスにより
索引させられる(順序づけられる)。それから、名称
(VESAアドレス)をそれに結びつけることにより多
数のビューを形成できる。これは、共通ページのコピー
を複製せねばならないこと、およびそれらのコピーをビ
ューに結びつけねばならないことが避けられる。
【0008】資源マネジャー ロリン(Lorin)およびデイテル(Deitel)
著「オペレーティング・システム」、ザ・システム・プ
ログラミング・シリーズ(System ProgrammingSeries)
、アディソンーウェズレイ・パブリッシング社(Addiso
n-WesleyPublishing CO.) 発行、著作権1981年、の
資源管理についての第9章において指摘されているよう
に、「資源マネジャー」はCPUについて定められたソ
フトウェアOS構造であって、資源のアクセス可能性
と、システムにおけるそれの物理的表現とに関連する1
組の属性が与えられる。このロリンは、この面における
オペレーティングシステムの機能は、プロセスにより便
利に取扱われるアブストラクト資源で構成されるアブス
トラクトマシンを定めることであると指摘する。したが
って、資源の技術的および経済的な使用と一貫性は資源
マネジャーにより調整される。
【0009】また、資源マネジャーは「モニタ」として
表すこともできることを理解すべきである。モニタは、
ある種の資源に関連する手順の集まりを含むソフトウェ
アOS構成体でもある。それは資源の割当てと、それに
対する参照の制御とに対して責任がある。更に、各モニ
タは任意のテーブル、または、それが責任を負う資源に
ついての情報を含んでいるその他の構造とに対して独占
的にアクセスする。モニタの明確な特徴は、公用使用の
ために設計されているが、モニタを介する以外はアクセ
スできないようなデータ部分を含んでいることである。
【0010】ロックおよびロック管理 ロリンによるロッキング機能は、プロセッサ以外の少な
くとも1つの選択されたシステム資源に対するプロセス
によるアクセスを直列化することである。本発明に関連
してモニタとしてのロックマネジャーは、他の資源の間
でキャッシュに格納されているページに対するアクセス
を制御するためのソフトウェア構成体である。これは、
一般にページおよび登録簿の間、および、とくに多数の
ローカルデータキャッシュを有する分散システム内の同
じページのバージョンの間での一貫性の必要により求め
られる。
【0011】IBMシステム/370において用いられ
るMVSのようなオペレーティングシステムは、システ
ム内の種々の資源に対するロックの階層を含む。ロック
は少なくとも名称と、有効範囲と、独占性(exclusives)
との関数である。有効範囲に関しては、グローバルロッ
はシステム全体または資源全体に影響を及ぼす。これ
とは対照的に、記憶装置コンテキストにおけるローカル
ロック1つのアドレス空間だけ、または1ページだ
け、あるいはページ群に影響を及ぼすことがある。ロッ
クは独占的とすることできれば、共用することもで
きる。メモリすなわち記憶装置内のページにおける共用
ロックは読み出し操作とコピー操作に最もしばしば関連
させられ、一方、独占的ロックは書き込み/更新操作
よび転送操作に関連させられる。また、ロック有効範
、独占性、またはその両方においてレベルを昇格され
ることもあるし、降格されることもある。「アトミッ
」という用語は、現在のロック状態が次の状態へ移さ
れるか、または同じ状態を維持するかのどちらかである
ことをシステムが保証し、計画されていない中間状態が
可能でないことを意味する。
【0012】タスクすなわちプロセスからキャッシュへ
のアクセス経路を設定する一部として、キャッシュマネ
ジャーは、認められた場合に応じて、ローカルマネジャ
またはグローバルロックマネジャーをアクセスする。
アクセス要求の性質および有効範囲と、ロックの現在の
状態とによって、その要求全体または修正で許可
れることもあり、拒否されることもある
【0013】キャッシュマネジャーとロックマネジャー
を含む資源マネジャーはそれの資源の現在の制御状態を
示すために種々のテーブルを使用する。特定の任意の例
における許可、修正、または拒否に対するプロセスは、
ロックマネジャーがそれのテーブルをアクセスするこ
と、およびそれの現在の状態を解釈することを要求す
る。任意の面においてロック状態が変化したとすると、
ロックマネジャーはその変化を反映するためにロックテ
ーブルを変更せねばならない。
【0014】ページレベルのロッキングは最もしばしば
遭遇する態様の1つであって、実際的な興味のレベルで
ある。本発明の目的のために、「ページ」はたとえば要
求時ページング仮想記憶システム によりキャッシュさ
れ、スワップされ、および固定される、任意の固定サイ
ズまたは標準サイズの情報の単位である
【0015】キャッシュおよびキャッシュ無効化 「キャッシュ」はソフトウェア資源またはハードウェア
資源として形成できる。キャッシュはバッファ内のペー
ジの索引可能なLRU順序づけられた集まりとして定義
される。アクセス時間を最も短くするように、キャッシ
ュはデータまたは命令への経路中に通常位置させられ
る。ソフトウェア構造として実現されるとすると、プロ
セッサの内部記憶装置のどの場所にもキャッシュを配置
できる。あるいは、ハードウェアキャッシュの例を米国
特許第4,612,612 号に見出すことができる。ソフトウェ
アの態様またはハードウェアの態様の両方において、キ
ャッシュマネジャーがキャッシュ登録簿およびページテ
ーブルを介してキャッシュを制御する。
【0016】関連して、「キャッシュ無効」という用語
は、モニタとしてのキャッシュマネジャーがキャッシュ
登録簿から「汚されたページ」を除去すること、または
その内部にある名づけられたページが無効であるという
指示を与えることを意味する。あるいは、キャッシュマ
ネジャーは更新されたページをキャッシュ内の現在のペ
ージに重ね書きさせることができる。
【0017】ベースページが変更されると、陰の書き込
みが重ね書きよりもデータ移動が小さくなる。しかし、
ページ重ね書きの例を米国特許第4,843,542 号に見出す
ことができる。この米国特許には、ローカルキャッシュ
へ書き込む前に要求するプロセッサに更新ページを共用
ロックの相当ページを持つ全てのキャッシュにコピーさ
せることによって、主記憶装置を補助記憶装置として用
いている多重プロセッサ/仮想キャッシュ装置における
一貫性を得る技術が開示されている。
【0018】IMS IMS(情報管理装置)は、外部記憶装置に格納され
て、2つまたはそれ以上のプロセッサに対して共用アク
セスモードで動作できる、階層的に編成された大規模な
データベースである。データの階層図および関係につい
ての正式な記述が、1977年にアカデミック・プレス
(Academic Rress)により発行された、サクティ・ゴーシ
ュ(Sakti Ghosh) 著「データ管理のためのデータベース
編成(Database Organization for Data Management) 」
の33〜41ページに行われている。IMSのプログラ
ミングが、1981年にアディソンーウェスレイ・パブ
リッシング・カンパニー(Addison-Wesley Publising Co
mpany) により発行された、シー・ジェー・デート(C.
J.Date)著「データベース・システム入門(An Introduct
ion to Database Systems) 」第3版、第3部「階層的
アプローチ(THE Hierarchical Approach) 」において記
述されている。
【0019】重要なことであるが、プロセッサがローカ
ルに存在するIMSシステムと、キャッシュマネジャー
およびロックマネジャーを有するような分散システムに
おいてプロセッサの境界にまたがってロック競合メッセ
ージとキャッシュ無効化メッセージを送ることが知られ
ている。
【0020】
【発明が解決しようとする課題】本発明の目的はローカ
ルデータキャッシュを有する分散システムにおけるプロ
セッサ境界内でロッキングとキャッシュの無効化の管理
を全体的に同時に行うための方法を得ることである。
【0021】
【課題を解決するための手段】この目的は、2つまたは
それ以上のプロセッサに共通のページ(ブロック)レベ
ルロックマネジャーの通信(通知)機能の新規な使用に
より満される。この新規な使用は、ローカル(ソフトウ
ェア)データキャッシュにおいて共用されるページのア
クセスを直列化し、かつそれらのページの一貫性を確保
する。
【0022】読み出し操作システムに対しては、各プロ
セッサ(キャッシュマネジャー)はシステムロックマネ
ジャーから指定されたページについての共用ロックを
得する。指定されたページはキャッシュからアクセス可
能であるか、またはDASD指向外部記憶装置からロー
カルキャッシュにコピーされる
【0023】同時書き込み操作システムの場合には、指
定されたページに対する共用ロックの全ての獲得者(キ
ャッシュマネジャー)はロックマネジャーにより通知さ
れ、そのページのコピーが対応するキャッシュマネジャ
ーにより(キャッシュ無効化された)対応するローカル
キャッシュから除去され、共用ロックが放棄された後で
独占的なロックが要求しているプロセッサ(キャッシュ
マネジャー)に対して許可され、プロセッサは変更され
たページをローカルキャッシュを介して外部記憶装置へ
書き込み、それからロック状態は共用へアトミックに降
格させられる。
【0024】2つまたはそれ以上の書き込み要求(P1
更新がページAを書込み、P2更新がページAを消去す
るような)の間の競い合いの解決は、要求しているプロ
セッサの間またはそこで実行しているアプリケーション
の間のように、より高いレベルの論理ロッキング規約の
制定により管理される。
【0025】前述した米国特許第4,843,542 号とは対照
的に、本発明の方法は、許可される見込みのある独占的
(書き込み)ロックの指定されたページについての共用
ロックを保持する全てのキャッシュへ通知するために、
グローバルロックマネジャーの条件付き同報通信(競合
についての通知)機能を用いる。この結果ページのキ
ャッシュ無効化(消去)、独占的なロックの許可、ロー
カルキャッシュを介して外部記憶装置への更新ページの
書き込みと、ロック共用状態への降格が行われる
【0026】本発明の方法は、目標ページのコピーを保
持しているキャッシュ以外のキャッシュへの指定された
更新ページの書き戻しを避ける。したがって、外部記憶
装置に含まれているページから個々のキャッシュへ行わ
れている最新化に依存しているとすると、キャッシュ資
源が節約されるであろう。
【0027】
【実施例】以下、図面を参照して本発明を詳しく説明す
る。
【0028】本発明の方法を実施するためのホストCP
U環境 装置内の各CPUが、IBMMVSオペレーティングシ
ステムを有するIBM/360または370の構成され
たCPUであるような構成で本発明を実施できるから便
利である。IBM/360の構成されたCPUが米国特
許第3,400,371号明細書に詳しく記載されている。外部
記憶装置へのCPUの共用アクセスを含む構成が米国特
許第4,207,600 号明細書に記載されている。
【0029】MVSオペレーティングシステムがIBM
の出版物であるGC28ー1150、「MVS/拡張さ
れたアーキテクチャ・システム・プログラミング・ライ
ブラリィ:「システム・マクロおよび機能」( “MVS/Ex
tended Architechture System Programming Libraly:
“System Macros and Facilities")第1巻にも記載され
ている。ローカルロック管理、割り込みまたはモニタに
よるサブシステム呼出し、およびタスクの延期および待
機のような標準的なMVSサービスまたはその他のオペ
レーティングシステムサービスの詳細については省略す
る。それらのOSサービスは当業者には周知であると信
ぜられる。
【0030】CPUと、キャッシュおよび記憶装置の間
のある関係 本発明のために、ページは4096というような固定さ
れた数のデータバイトで構成される。また、「バッフ
ァ」という用語は「ページ」と同義語である。
【0031】まず、CPUに対する編成された記憶装置
の関係が示されている図1を参照する。図示のように、
CPU1は経路11と13を介して内部記憶装置3と外
部記憶装置5をアクセスする。内部記憶装置3はプロセ
ッサ記憶装置2と拡張記憶装置4を含む。プロセッサ記
憶装置2の内容はバイトアドレス可能で、かつランダム
にアクセス可能である。記憶装置4の内容はページアド
レス可能で、かつランダムにアドレス可能である。外部
記憶装置5は1つまたは複数のDASDを有し、CPU
1で実行しているアプリケーションにより参照される情
報のページを記憶する。
【0032】典型的には、CPUプロセッサを呼出すア
プリケーションは、キャッシュに対するページの仮想/
線形空間アドレスまたは実空間アドレスによりページを
参照する。これに関して、キャッシュ9はソフトウェア
またはハードウェアにより実現できる。ソフトウェアに
より実現されるものとすると、キャッシュは内部記憶装
置3の内部の任意の所に配置できる。ページをキャッシ
ュ9において利用できないとすると、拡張記憶装置4ま
たは外部記憶装置5をアクセスする必要がある。
【0033】外部記憶装置のI/O境界を横切って多数
のページがアクセスされる場合には、それらのページを
前記米国特許第4,207,600 号明細書に開示されている方
法に従って処理できる。挿入句的に、内部記憶装置に対
してアクセスが行われると、アクセスが終るまでプロセ
ッサは待つ。I/O境界にまたがってアクセスが行われ
ると、プロセッサは別のタスクすなわちプロセスを呼出
し、その間にフェッチ(アクセス)の終了を待つ。
【0034】本発明のグローバルロックマネジャーの属
性 本発明の本質は、正しく定められた機能のセットを有す
る分散システムにおけるグローバルロックマネジャーが
キャッシュの一貫性とアクセスの直列化を達成できるこ
との認識である。興味のある機能および属性は、共用及
び独占使用ロックと、ロック状態のアトミックな変更
と、ロック要求を待ち行列に入れること、およびロック
許可とロックの競合をロックホルダ(獲得者)と要求者
へ通知することを含む。
【0035】共用(読み出し)ロック状態は多数の同時
操作ロックホルダを許すが、同時の独占的(書き込み/
更新)ロックは除外する。共用ロックが要求しているキ
ャッシュマネジャー(プロセッサ)に対して許可できな
いとすると、許可の拒絶が通知され、後の許可のために
その要求は待ち行列に入れられる。
【0036】独占使用ロック状態は1つのロックホルダ
だけを許可し、同じページに対する他の全ての共用ロッ
クまたは独占的ロックを除外する。独占的なロックを要
求しているキャッシュマネジャー(プロセッサ)に対し
て許可できないとすると、許可の拒絶が通知され、後の
許可のためにその要求は待ち行列に入れられる。
【0037】ロック状態のアトミックな変更によりロッ
クホルダが、現在のロック状態を中断することなしにロ
ックの状態を変更することが可能となる
【0038】ロックマネジャーサービスを直列に順序づ
けることの要求を許可する待ち行列化機能と、ロックマ
ネジャーがロック状態および競合の変化に応答するため
に用いる通知または条件付き同報通信の機能とを、同じ
ページすなわち同じ資源のロックホルダと要求者へ通知
できる。
【0039】グローバルロックマネジャーとローカルキ
ャッシュマネジャーの間の関係 次に、第1のプロセッサ内にあるグローバルロックマネ
ジャーのロックテーブル15と、分散システム内の対応
するCPU(プロセッサ1、2、3)に設けられている
ローカルキャッシュマネジャー17、19、21との間
のいくつかの関係が示されている図2〜11を参照す
る。ロックマネジャーは分散システムのロック状態を資
源名と、ロックの種類と、ロックホルダの識別子とによ
り記録する。装置のロック状態が変わるたびにテーブル
をロックマネジャーにより更新せねばならない。関連し
て、各キャッシュマネジャーはキャッシュ内にあるペー
ジの名称の登録簿と、それの最後の参照情報を維持す
る。後者は、キャッシュが一杯で、新しいページがその
中でスワップされる時に、古くなった1つまたは複数の
ページを除去するためのLRUにおいて用いられる。ペ
ージは、DASD23と25で利用できる共用されてい
る外部記憶装置から、DASDをプロセッサ1〜3へ結
合する経路27を介してキャッシュへコピーされ、また
はリフレッシュされることに注目されたい。
【0040】本発明の目的のために、ロックマネジャー
をプロセッサ1の内部に設けることができ、かつそうす
ると便利である。また、プロセッサ2と3内のローカル
キャッシュマネジャーの間のプロセッサ1内のロックマ
ネジャーとの通信は外部記憶装置内の「郵便受け」によ
り好ましく表現できる。すなわち、外部記憶装置内のア
ドレスは、メッセージの送信または受信のために、ロッ
クマネジャーとキャッシュマネジャーにより定期的にポ
ールされる。高速の通信方法は、前記米国特許第3,400,
371 号および第4,207,609 号に記載されているシステム
370アーキテクチャに記載されているように、CPU
の間に直接経路を設けるためのチャネル間アダプタを用
いることにより、分散システムまたは疎結合システムの
定義を変えるだろう
【0041】ロックと、ロックの管理とはシステム内の
種々の論理レベルにおいて起り得ることを理解すべきで
ある。たとえば、アクセスを確実に行うため、トランザ
クション処理のため、および書き込み先行記録関係デー
タベース装置における細分性を変えるためにアプリケー
ションレベルにおけるロックが米国特許第4,716,528号
明細書に記載されている。本発明の焦点は分散システム
におけるデータキャッシュ指向ページレベルロッキング
および一貫性である。
【0042】アルゴリズム的に表された本発明の方法 本発明の方法は下記のアルゴリズム的方策を意図するも
のである。 (a)ページを読み出し、かつキャッシュする時は常
に: 1.キャッシュ登録簿索引オーダーとして仮想外部記憶
装置アドレス(VESA)を用いて、ページがキャッシ
ュ内にないことを確かめる。 2.VESAをロック名として用いて共用ロックを得
る。 3.ロックが許可されないとすると、それが許可される
ことを示す信号を待つ。 4.ページをキャッシュへ読み込み、キャッシュ登録簿
を更新する。 5.プロセッサで実行しているアプリケーションへペー
ジを送る。
【0043】(b)ページが書き込まれ、キャッシュさ
れた時は常に: 1.VESAについての独占的ロックを獲得する。ペー
ジが既にキャッシュされているとすると、ロック状態を
共用から独占使用アトミックに変換せねばならない。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの内容をキャッシュ内に置く。 4.ページの新しい内容をDASD補助記憶装置へ書き
込む。 5.ロック状態を独占使用から共用へ変える。同じペー
ジを更新することを求めている別のプロセスが、ロック
状態の変化中に独占ロックを得られないようにするため
に、それはアトミックに行わなければならない。
【0044】(c)ページが書き込まれて、キャッシュ
させられない時は常に: 1.VESAについての独占ロックを得る。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの新しい内容をDASD補助記憶装置へ書き
込む。 4.ロック状態を独占使用からフリーへ変える。
【0045】(d)ページがキャッシュから捨てられた
時は、常に: 1.ページを捨て、キャッシュ登録簿を更新する。 2.VESAでロックを放棄する。
【0046】(e)ページが要求され、キャッシュ内で
見出された時は常に: 1.キャッシュ登録簿をVESAによりアクセスする。 2.ページを要求しているアプリケーションへコピーす
る。
【0047】(f)競合の通知が共用ロックのロックホ
ルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の参照が対象とするページに関して処理されてい
るかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
【0048】(g)競合の通知が独占的ロックのロック
ホルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の書き込み参照が対象とするページに関して処理
されているかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
【0049】本発明の方法の図示された実例 ロック要求に おいて活動およデータの動きが、同じロ
ックテーブル、キャッシュマネジャー、および共用され
ている外部記憶装置アーキテクチャの引き続く説明にお
いて現れるであろうような、いくつかの読み出し/書き
込みシナリオにより本発明の方法を説明することにす
る。
【0050】ここで図2を参照する。グローバルロック
テーブルと、すべてのキャッシュマネジャーの登録簿が
クリアされていると仮定する。プロセッサ1で実行され
ているアプリケーションがページAを読み出すことを希
望したと仮定する。キャッシュマネジャー17により維
持されている登録簿へのアクセスはそれが存在しないこ
とを明らかにする。この点において、キャッシュマネジ
ャーはグローバルロックマネジャーから共用ロックを求
める。ページAについての共用ロックがプロセッサ1
(キャッシュマネジャー17)に対して許可されると、
ロックテーブル15への入力が行われる。それから、第
3図に示すように、DASD23から要求しているキャ
ッシュへページAがスワップインされる
【0051】ここで、プロセッサ2で実行されているア
プリケーションもページAを読み出すことを希望してい
ると仮定する。ページAがそれのローカルキャッシュ登
録簿19内にないことをプロセッサは同様に見出す。要
求が許可され、ロックテーブル15において入力の修正
が行われると、ページAはDASD23からキャッシュ
19内へ同様にスワップインされる。これが図4に示さ
れている。
【0052】次に、プロセッサ2で実行しているアプリ
ケーションがページAを修正することを意図すると仮定
する。ページはローカルキャッシュ19内に容易に配置
される。それと同時に、キャッシュマネジャー19がプ
ロセッサ2によりページAに対して独占的なロックを要
求する。ロックマネジャーが応答するまでプロセッサ2
は実際に待つ。ロックマネジャーは、ページAに関して
競合が存在することをプロセッサ1のキャッシュマネジ
ャー17へまず通知する。プロセッサ1はどのような処
理も終り、ページAをローカルキャッシュ17から除去
し(キャッシュ無効化)、そのページにおけるそれの共
用ロックを解放する。この点で、ロックマネジャーはペ
ージAにおける独占的なロックをプロセッサ2のキャッ
シュマネジャー19に対して許可する。この作業の状態
が図5に示されている。
【0053】この後で、プロセッサ2は(それで実行し
ているアプリケーションにより)ページAを修正すなわ
ち更新し、変更されたページをDASDおよびプロセッ
サ2のキャッシュ19へ書き戻す。それからローカルキ
ャッシュマネジャー19がページAについてのロックを
独占的から共用へ降格することをロックマネジャーに要
求する。ロックが降格された時の作業の状態が図6に示
されている。
【0054】また更に、プロセッサ1と2で実行してい
るアプリケーションがページAを更新して異なる情報を
表すことをそれぞれ意図していると仮定する。たとえ
ば、ページAの現在の値が0の列であったと仮定する。
また、プロセッサ1はページAを1の列であるように書
き替え、プロセッサ2が2の列であるようにページAを
書き換えると仮定する。ページAについての共用ロック
と、0の列としてページAのコピーを有するキャッシュ
とを有するプロセッサ2の作業の最初の状態が図7に示
されている。
【0055】このプロセスは、プロセッサ2のキャッシ
ュ19がそれのロックを共用からロックマネジャーから
の独占へ促進することを最初に要求したとの仮定から始
まる。(注意:競合メッセージが全ての共用ロックホル
ダへ送られる。この例には何もないから過程は省かれ
る。)独占的なロックに対するプロセッサ1の要求は
ち行列に入れられる。それからプロセッサ2の要求が許
可される(状態が図8に示されている)。それから、プ
ロセッサ2がページAを2の列としてキャッシュ19と
DASD23へ書き込む。これが図9に示されている。
【0056】この点で、プロセッサ2はそれのロックの
独占からロックマネジャーからの共用への降格を確実に
行う。ここで、ロックマネジャーは待ち行列に入れられ
プロセッサ1からの独占的ロック要求を処理すること
により、プロセッサ2のキャッシュマネジャー19へ
ージAについての競合について通知する。それからプロ
セッサ2はページAのそれのコピーを無効にする。プロ
セッサ1のキャッシュマネジャー17へページAにおけ
る独占的なロックが与えられる。それから、プロセッサ
1がページAを1の列としてそれのローカルキャッシュ
とDASD23へ書き込む。次に、プロセッサ1はペー
ジAにおけるそれのロックの独占的な使用から共用への
降格を確実に行う。以上説明した状態が図10と11に
それぞれ示されている。
【図面の簡単な説明】
【図1】大規模なメインフレームCPUに関連して記憶
装置の構成図。
【図2】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図3】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図4】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図5】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図6】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図7】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図8】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図9】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図10】ページの非同期コピーのページアクセスとキ
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重CPUの全体的なロックマネジャーのロックテ
ーブルとローカルキャッシュマネジャーの間の関係を示
す図。
【図11】ページの非同期コピーのページアクセスとキ
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重CPUの全体的なロックマネジャーのロックテ
ーブルとローカルキャッシュマネジャーの間の関係を示
す図。
【符号の説明】
1 CPU 2 プロセッサ記憶装置 3 内部記憶装置 5 外部記憶装置 9 キャッシュ 11,12 経路
フロントページの続き (72)発明者 ジェラルド、パークス、ボズマン アメリカ合衆国ニュージャージー州、オ ークランド、ラマポ、バレー、ロード、 609 (72)発明者 アレキサンダー、スタッフォード、レッ ト アメリカ合衆国ニューヨーク州、マホパ ック、マックグレゴール、402 (72)発明者 ジェームズ、ジョセフ、マイヤーズ アメリカ合衆国カリフォルニア州、サン フランシスコ、ナンバー、6、コロンバ ス、アベニュ、950 (72)発明者 ウィリアム、ハロルド、テツラフ アメリカ合衆国ニューヨーク州、マウン ト、キスコ、フォックス、デン、ロー ド、37 (56)参考文献 特開 平2−27465(JP,A) 特開 平2−247751(JP,A) 特開 平3−130849(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】共用外部記憶装置を有し、各プロセッサ
    が、オペレーティング・システム、プログラム及びデ
    ータページのための内部記憶装置、ローカルキャッシ
    ュ及びキャッシュマネジャーと、上記内部記憶装置に置
    かれたプログラムを実行し、上記プログラムにおける読
    み出し命令及び書き込み命令に応じ、上記読み出し命令
    及び書き込み命令で指定されたページが上記ローカルキ
    ャッシュに存在するか否かをオペレーティング・システ
    ムに上記キャッシュマネジャーから確認させ、存在しな
    い場合には、上記オペレーティング・システムに共用外
    部記憶装置をアクセスさせ、上記共用外部記憶装置に存
    在する上記指定されたページを上記ローカルキャッシュ
    にコピーさせる手段とを有するシステムにおいて、対応
    するプロセッサのローカルキャッシュに共通のページへ
    のアクセスを直列化し、一貫性を確保する方法であっ
    て、 (a)第1のプロセッサの所定のオペレーティング・シ
    ステムによって、ロックマネジャーを定義するステップ
    であって、上記ロックマネジャーは、共用ロック及び独
    占的ロックを条件付きで許可し、そのロックの状態をア
    トミックに変更し、ロック要求を待ち行列に入れ、ロッ
    クの許可を要求元へ通知し、ロックが競合していること
    を全てのロックホルダに通知し、上記条件付き許可は、
    読み出し命令または書き込み命令を実行し、上記命令に
    よって指定されたページがキャッシュに現に格納されて
    いる、または格納中であるプロセッサのキャッシュマネ
    ジャーにのみに、上記ロックマネジャーによって与えら
    れる許可または通知である、ステップと、 (b)要求プロセッサのオペレーティング・システムを
    通じて発行された読み出し命令の各々に応じて、要求プ
    ロセッサのキャッシュマネジャーによって上記ロックマ
    ネジャーから指示されたページについて共用ロックを獲
    得し、上記要求プロセッサのローカルキャッシュ中の指
    定されたページをアクセスするか、または、上記指定さ
    れたページを共用外部記憶装置から上記要求プロセッサ
    のローカルキャッシュにコピーするステップと、 (c)要求プロセッサのオペレーティング・システムを
    通じて発行された書き込み命令の各々に応じて、ロック
    マネジャーによって指定されたページ上の共用ロックの
    ロックホルダになっている要求プロセッサ以外のプロセ
    ッサのキャッシュマネジャーにのみ通知し、通知された
    ローカルキャッシュから指定されたページのコピーを削
    除し、共用ロックを放棄し、要求プロセッサのキャッシ
    ュマネジャーに指定されたページ上の独占的ロックを許
    可し、要求プロセッサのローカルキャッシュを通じて変
    更されたまたは置き換えられたページを共用外部記憶装
    置に書き、要求プロセッサのキャッシュマネジャーのロ
    ック状態を独占的から共用に降格するステップとを含む
    上記方法。
  2. 【請求項2】ロック状態のアトミックな変更には、現在
    のロック状態を放棄せずに、現在のロックホルダによっ
    てロック状態を変更することを含む、請求項1に記載の
    方法。
JP3042612A 1990-03-14 1991-02-14 ローカルキャッシュに共通のページ間の一貫性を確保する方法 Expired - Lifetime JP2603369B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/493,581 US5226143A (en) 1990-03-14 1990-03-14 Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US493581 1990-03-14

Publications (2)

Publication Number Publication Date
JPH05127995A JPH05127995A (ja) 1993-05-25
JP2603369B2 true JP2603369B2 (ja) 1997-04-23

Family

ID=23960831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3042612A Expired - Lifetime JP2603369B2 (ja) 1990-03-14 1991-02-14 ローカルキャッシュに共通のページ間の一貫性を確保する方法

Country Status (3)

Country Link
US (1) US5226143A (ja)
EP (1) EP0447160A3 (ja)
JP (1) JP2603369B2 (ja)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452463A (en) * 1990-05-25 1995-09-19 Dell Usa, L.P. Processor and cache controller interface lock jumper
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
JPH0468461A (ja) * 1990-07-10 1992-03-04 Canon Inc 資源管理方式
JP2586219B2 (ja) * 1990-12-20 1997-02-26 日本電気株式会社 高速媒体優先解放型排他方式
JP2533266B2 (ja) * 1991-06-14 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
JPH0520197A (ja) * 1991-07-09 1993-01-29 Hitachi Ltd 記憶管理システム及びマイクロプロセツサ
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
JP2781092B2 (ja) * 1991-11-06 1998-07-30 富士通株式会社 システム間排他制御方式
US5675762A (en) * 1992-04-03 1997-10-07 International Business Machines Corporation System for locking down part of portion of memory and updating page directory with entry corresponding to part of portion of the memory locked down
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5423044A (en) * 1992-06-16 1995-06-06 International Business Machines Corporation Shared, distributed lock manager for loosely coupled processing systems
US5446858A (en) * 1992-08-03 1995-08-29 International Business Machines Corporation Apparatus and method for transferring information in blocks from a database to a memory
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
US5317749A (en) * 1992-09-25 1994-05-31 International Business Machines Corporation Method and apparatus for controlling access by a plurality of processors to a shared resource
EP0663090A4 (en) * 1992-10-01 1996-01-17 Quark Inc MANAGEMENT AND COORDINATION OF A PUBLICATION SYSTEM.
US6005560A (en) * 1992-10-01 1999-12-21 Quark, Inc. Multi-media project management and control system
US5418966A (en) * 1992-10-16 1995-05-23 International Business Machines Corporation Updating replicated objects in a plurality of memory partitions
US5596754A (en) * 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
JP2963298B2 (ja) * 1993-03-26 1999-10-18 富士通株式会社 二重化共有メモリにおける排他制御命令のリカバリ方法および計算機システム
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
US5442758A (en) * 1993-07-19 1995-08-15 Sequent Computer Systems, Inc. Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring
US5664217A (en) * 1993-08-03 1997-09-02 Bmc Software, Inc. Method of avoiding physical I/O via caching with prioritized LRU management
US5604882A (en) * 1993-08-27 1997-02-18 International Business Machines Corporation System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system
US5721943A (en) * 1993-10-14 1998-02-24 International Business Machines Corporation Negotiable locks for concurrent access of control data by multiple programs
US5481706A (en) * 1993-11-01 1996-01-02 International Business Machines Corporation System and method for creating thread-safe shared libraries
US5454108A (en) * 1994-01-26 1995-09-26 International Business Machines Corporation Distributed lock manager using a passive, state-full control-server
US6073211A (en) * 1994-12-13 2000-06-06 International Business Machines Corporation Method and system for memory updates within a multiprocessor data processing system
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
US5577261A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor
GB2302970B (en) * 1995-03-17 1999-08-11 Ntt Data Tsushin Kk Distributed telegraphic message processing system
US5564062A (en) * 1995-03-31 1996-10-08 International Business Machines Corporation Resource arbitration system with resource checking and lockout avoidance
US5860137A (en) * 1995-07-21 1999-01-12 Emc Corporation Dynamic load balancing
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
US5948062A (en) * 1995-10-27 1999-09-07 Emc Corporation Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access
US6012085A (en) * 1995-11-30 2000-01-04 Stampede Technolgies, Inc. Apparatus and method for increased data access in a network file object oriented caching system
US5835943A (en) * 1995-11-30 1998-11-10 Stampede Technologies, Inc. Apparatus and method for increased data access in a network file oriented caching system
US6122637A (en) * 1995-11-30 2000-09-19 Yohe; Thomas Patrick Apparatus and method for increased data access in an object oriented caching system
US5682514A (en) * 1995-11-30 1997-10-28 Stampede Technologies, Inc. Apparatus and method for increased data access in a network file oriented caching system
US5822764A (en) * 1996-03-04 1998-10-13 Motorola, Inc. Method and circuit for efficiently replacing invalid locked portions of a cache with valid data
US5864837A (en) * 1996-06-12 1999-01-26 Unisys Corporation Methods and apparatus for efficient caching in a distributed environment
US5920872A (en) * 1996-06-25 1999-07-06 Oracle Corporation Resource management using resource domains
US5905978A (en) * 1996-07-15 1999-05-18 Unisys Corporation Window size determination using fuzzy logic
US6041383A (en) * 1996-07-22 2000-03-21 Cabletron Systems, Inc. Establishing control of lock token for shared objects upon approval messages from all other processes
US5999930A (en) * 1996-08-02 1999-12-07 Hewlett-Packard Company Method and apparatus for distributed control of a shared storage volume
US5944789A (en) * 1996-08-14 1999-08-31 Emc Corporation Network file server maintaining local caches of file directory information in data mover computers
US7480653B2 (en) * 1996-10-22 2009-01-20 International Business Machines Corporation System and method for selective partition locking
US6754656B1 (en) 1996-10-22 2004-06-22 International Business Machines Corporation System and method for selective partition locking
US6173375B1 (en) * 1997-02-28 2001-01-09 Lucent Technologies Inc. Method for accessing a shared resource in a multiprocessor system
US6108757A (en) * 1997-02-28 2000-08-22 Lucent Technologies Inc. Method for locking a shared resource in multiprocessor system
US6141720A (en) * 1997-06-12 2000-10-31 Cabletron Systems, Inc. Method and apparatus for coordination of a shared object in a distributed system
US6094709A (en) * 1997-07-01 2000-07-25 International Business Machines Corporation Cache coherence for lazy entry consistency in lockup-free caches
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6026401A (en) * 1997-10-14 2000-02-15 International Business Machines Corporation Locking tool data objects in a framework environment
US5931919A (en) * 1997-11-07 1999-08-03 Xerox Corporation State-based object transition control and attribute-based locking
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6141734A (en) * 1998-02-03 2000-10-31 Compaq Computer Corporation Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol
US6078982A (en) * 1998-03-24 2000-06-20 Hewlett-Packard Company Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system
US6751617B1 (en) 1999-07-12 2004-06-15 Xymphonic Systems As Method, system, and data structures for implementing nested databases
US6389420B1 (en) 1999-09-30 2002-05-14 Emc Corporation File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration
US6574749B1 (en) * 1999-10-29 2003-06-03 Nortel Networks Limited Reliable distributed shared memory
US7188344B1 (en) 1999-12-21 2007-03-06 Unisys Corporation Architecture for a read/write thread lock
US7249369B2 (en) * 2000-07-10 2007-07-24 Oracle International Corporation Post data processing
US7464162B2 (en) * 2000-07-10 2008-12-09 Oracle International Corporation Systems and methods for testing whether access to a resource is authorized based on access information
US7124203B2 (en) 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
US7194764B2 (en) 2000-07-10 2007-03-20 Oracle International Corporation User authentication
EP1323071A2 (en) * 2000-07-28 2003-07-02 Xymphonic Systems AS Method, system and data structures for implementing nested databases
US7185364B2 (en) 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US6718352B1 (en) * 2001-03-20 2004-04-06 Emc Corporation Methods and apparatus for managing a data set stored on a data storage device
US7231661B1 (en) 2001-06-21 2007-06-12 Oracle International Corporation Authorization services with external authentication
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US6922745B2 (en) * 2002-05-02 2005-07-26 Intel Corporation Method and apparatus for handling locks
US6950913B2 (en) * 2002-11-08 2005-09-27 Newisys, Inc. Methods and apparatus for multiple cluster locking
US7290105B1 (en) * 2002-12-16 2007-10-30 Cisco Technology, Inc. Zero overhead resource locks with attributes
US6990560B2 (en) * 2003-01-16 2006-01-24 International Business Machines Corporation Task synchronization mechanism and method
US6885930B2 (en) * 2003-07-31 2005-04-26 Siemens Energy & Automation, Inc. System and method for slip slide control
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7272609B1 (en) * 2004-01-12 2007-09-18 Hyperion Solutions Corporation In a distributed hierarchical cache, using a dependency to determine if a version of the first member stored in a database matches the version of the first member returned
US8086671B2 (en) * 2004-02-11 2011-12-27 Microsoft Corporation Systems and methods that facilitate in-order serial processing of related messages
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
US7315926B2 (en) * 2004-09-21 2008-01-01 Emc Corporation Lock management for concurrent access to a single file from multiple data mover computers
US7630974B2 (en) 2004-09-28 2009-12-08 Oracle International Corporation Multi-language support for enterprise identity and access management
JP4576323B2 (ja) * 2004-12-10 2010-11-04 富士通株式会社 データ転送装置およびデータ転送方法
US7836034B2 (en) * 2005-05-16 2010-11-16 International Business Machines Corporation Method and apparatus for updating first data value before second data value
US20070150658A1 (en) * 2005-12-28 2007-06-28 Jaideep Moses Pinning locks in shared cache
US8688813B2 (en) 2006-01-11 2014-04-01 Oracle International Corporation Using identity/resource profile and directory enablers to support identity management
US20080005512A1 (en) * 2006-06-29 2008-01-03 Raja Narayanasamy Network performance in virtualized environments
US7636832B2 (en) * 2006-10-26 2009-12-22 Intel Corporation I/O translation lookaside buffer performance
US7966453B2 (en) 2007-12-12 2011-06-21 International Business Machines Corporation Method and apparatus for active software disown of cache line's exlusive rights
US20100064280A1 (en) * 2008-09-09 2010-03-11 International Business Machines Corporation Systems and methods for implementing test applications for systems using locks
DE102009042128A1 (de) * 2009-09-18 2011-03-24 Siemens Aktiengesellschaft Verfahren und System zur Verwendung von temporären exklusiven Sperren für parallele Betriebsmittelzugrife
US20110093745A1 (en) * 2009-10-20 2011-04-21 Aviad Zlotnick Systems and methods for implementing test applications for systems using locks
US8046633B2 (en) * 2009-12-10 2011-10-25 International Business Machines Corporation Improving data availability during failure detection and recovery processing in a shared resource system
US8510739B2 (en) 2010-09-16 2013-08-13 International Business Machines Corporation Shared request grouping in a computing system
CN103377086A (zh) * 2012-04-27 2013-10-30 华为技术有限公司 用于异步多核***操作共享资源的方法、装置及***
US9542237B2 (en) * 2012-09-04 2017-01-10 Red Hat Israel, Ltd. Shared locking for storage centric exclusive locks
US9141669B2 (en) * 2013-01-22 2015-09-22 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
US9727472B2 (en) * 2013-02-14 2017-08-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Cache coherency and synchronization support in expanders in a raid topology with multiple initiators
US10102000B2 (en) * 2016-04-01 2018-10-16 Intel Corporation Apparatus and method for non-serializing split locks
CN111241190A (zh) * 2018-11-29 2020-06-05 阿里巴巴集团控股有限公司 页面数据的处理方法、装置、设备、介质和分布式***
US11907176B2 (en) * 2019-05-10 2024-02-20 International Business Machines Corporation Container-based virtualization for testing database system
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
EP4202717A4 (en) * 2020-08-24 2024-01-31 FUJIFILM Corporation INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM
US12013791B2 (en) 2021-06-01 2024-06-18 International Business Machines Corporation Reset dynamic address translation protection instruction
US11593275B2 (en) 2021-06-01 2023-02-28 International Business Machines Corporation Operating system deactivation of storage block write protection absent quiescing of processors

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4290105A (en) * 1979-04-02 1981-09-15 American Newspaper Publishers Association Method and apparatus for testing membership in a set through hash coding with allowable errors
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
US4612612A (en) * 1983-08-30 1986-09-16 Amdahl Corporation Virtually addressed cache
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4716528A (en) * 1986-02-03 1987-12-29 International Business Machines Corporation Method for managing lock escalation in a multiprocessing, multiprogramming environment
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
US5050072A (en) * 1988-06-17 1991-09-17 Modular Computer Systems, Inc. Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system
US5060144A (en) * 1989-03-16 1991-10-22 Unisys Corporation 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

Also Published As

Publication number Publication date
EP0447160A3 (en) 1992-08-19
EP0447160A2 (en) 1991-09-18
US5226143A (en) 1993-07-06
JPH05127995A (ja) 1993-05-25

Similar Documents

Publication Publication Date Title
JP2603369B2 (ja) ローカルキャッシュに共通のページ間の一貫性を確保する方法
JP2575543B2 (ja) 同時アクセス管理方法
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
JP3102495B2 (ja) 仮想記憶管理方法
Franklin et al. Client-server caching revisited
JP3399501B2 (ja) 分割フェーズ制御を用いる明示的コヒーレンス
US5946711A (en) System for locking data in a shared cache
JP2505939B2 (ja) デ―タのキャストアウトを制御する方法
Censier et al. A new solution to coherence problems in multicache systems
US7584222B1 (en) Methods and apparatus facilitating access to shared storage among multiple computers
US5920872A (en) Resource management using resource domains
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
US6389513B1 (en) Disk block cache management for a distributed shared memory computer system
JP3533355B2 (ja) キャッシュ・メモリ・システム
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US8024528B2 (en) Global address space management
US8001333B2 (en) Memory management in a shared memory system
US7340565B2 (en) Source request arbitration
US6145059A (en) Cache coherency protocols with posted operations and tagged coherency states
US6330643B1 (en) Cache coherency protocols with global and local posted operations
JPH04268649A (ja) メモリへのデータブロックのエントリを制御する方法
AU749592B2 (en) I/O forwarding in a cache coherent shared disk computer system
JPH10222407A (ja) プロセスオーバーヘッド及びデータベースサーバからの冗長な検索を減少するように同じプロセスにおける多数のデータベーストランザクションを処理する方法
JP2002163149A (ja) マルチプロセッサシステムのキャッシュコヒーレンスプロトコル
US20030163648A1 (en) Coherence-free cache