JP2575541B2 - 分散キャッシュの階層無効化方法 - Google Patents

分散キャッシュの階層無効化方法

Info

Publication number
JP2575541B2
JP2575541B2 JP3042523A JP4252391A JP2575541B2 JP 2575541 B2 JP2575541 B2 JP 2575541B2 JP 3042523 A JP3042523 A JP 3042523A JP 4252391 A JP4252391 A JP 4252391A JP 2575541 B2 JP2575541 B2 JP 2575541B2
Authority
JP
Japan
Prior art keywords
processor
page
lock
cache
specified
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
JP3042523A
Other languages
English (en)
Other versions
JPH05143453A (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 JPH05143453A publication Critical patent/JPH05143453A/ja
Application granted granted Critical
Publication of JP2575541B2 publication Critical patent/JP2575541B2/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散システムにおけるコ
ンピュータ記憶機構を管理する方法、特に第1および第
2データキャッシュ間に常駐するページのコピーと共用
外部記憶機構における元のページとの一致性を保証しつ
つページ許可ロックおよび未解決ロックの数の両方を最
少にする方法に関する。
【0002】
【従来の技術及び課題】以下に分散システムにおけるロ
ックおよびキャッシュ管理に関する概念と基準を要約す
る。
【0003】分散システム、CPUおよびいくつかのオ
ペレーティング構成要件 本発明における「分散システム」はDASD型外部記憶
サブシステムへの共用アクセスを有する2個以上のプロ
セッサを含む。そのようなシステムの夫々のCPUすな
わちプロセッサは一般に局所オペレーティングシステム
(OS)、RAM型内部記憶装置、プロセッサの内部記
憶装置で動作的に形成される。局所インストラクション
およびデータキャッシュ、上記の共用アクセス外部記憶
装置およびロックおよびキャッシュ資源管理プログラム
を含む。CPUにおいて実行されるアプリケーション
(処理/タスク)はOSにより読取および書込動作を発
生する。一方この読取および書込動作はデータキャッシ
ュに常駐するページまたは共用外部記憶装置からこのデ
ータキャッシュへと再生されるページに対し登録簿でロ
ック可能なアクセスパスをつくるためにデータキャッシ
ュおよびロック資源マネージャを利用する。
【0004】内部および外部記憶装置 速度の上昇と共に記憶装置のコストは急激に上昇するか
ら、多くのコンピュータシステムは物理的な記憶サブシ
ステムを多数の能力レベルへと分割している。これらレ
ベルの内の、DASDおよびテープのようなものは共用
アクセス周辺I/O装置として扱われており、そして非
同期パスを介してアクセスされる。RAMやキャッシュ
のような他のレベルはシステムハードウェアにより直接
に扱われ内部記憶装置の部分として同期パスを介してア
クセスされる。用語「内部記憶装置」は1回の読取また
は書込転送についてランダムアドレス可能な記憶装置の
部分を意味する。IBMシステムでは内部記憶装置は拡
張(「記憶拡張機構」)を除きバイトアドレス可能であ
る。記憶拡張機構はブロックまたはページアドレス可能
(4096バイト/ページ)型でランダムにアクセスさ
れる。これはLRUリアルメモリバックドページング記
憶装置として管理される。用語「外部記憶装置」はラン
ダムにアドレス可能ではなくDASDによるごとくに直
接にアクセスしなければならない記憶装置の大容量部分
(bulk portion)を意味する。
【0005】資源管理プログラム Adison-Wesley 出版社1981年版,ザ システムプロ
グラミングシリーズ,「オペレーティングシステムズ」
の資源管理に関する第9章に示されるように、用語「資
源管理プログラム」はCPUにおいて限定されそして資
源のアクセス可能性およびシステムにおけるその物理的
表現に関する一組の属性を与えられるソフトウェアOS
構成を意味する。上記文献では更に、これに関するオペ
レーティングシステムの機能がプロセスにより有利に扱
われるアブストラクト資源からなるアブストラクトマシ
ンを限定することであるとされている。このように、資
源の技術的経済的使用とコヒーレンスは資源管理プログ
ラムにより調整される。また、資源管理プログラムは
「モニタ」とも表現しうる。モニタも資源のタイプに関
連した一群の手順を含むソフトウェアOS構成である。
これは資源を割振りそしてそれに対する基準を制御する
ものである。更に、各モニタは関連する資源についての
情報を含む任意のテーブルまたは他の構造への排他的ア
クセスを有する。モニタの特徴は、それが公的使用のた
めに設計されるがモニタによる以外はアクセスしえない
データ部分を含むことである。
【0006】ロックおよびロック管理 上記文献によればロック機能はプロセッサ以外の少くと
も1つの選ばれたシステム資源へのプロセスによるアク
セスを順次化することである。本発明におけるモニタと
してのロック管理プログラムは他の資源の内、キャッシ
ュに記憶されたページへのアクセスを制御するためのソ
フトウェア構成である。これは一般にページおよび登録
簿間のそして特に複数の局所データキャッシュを有する
分散システムにおける同一ページの改定されたものの間
のコヒーレンス要求により与えられる。IBMシステム
/370で用いられるMVSのようなオペレーティング
システムはシステム内の種々の資源についてのロックの
階層を含む。ロックは少くともネーム、スコープおよび
排他性の関数である。スコープについては大域ロックが
全システムまたは全資源に影響する。他方、記憶コンテ
キストにおける局所ロックは単一アドレススペースまた
は単一ページまたはページ群にのみ影響する。ロックは
排他的かあるいは共用しうる。メモリまたは記憶装置に
おけるページについての共用ロックはしばしば読取およ
びコピー操作に関連づけられ、排他ロックは書込/更新
および転送操作に関連づけられる。またロックはスコー
プ、排他性あるいはその両方において小きざみに進めら
れあるいは落される。タスクまたはプロセスからキャッ
シュへのアクセスパスをつくる部分としてキャッシュ管
理プログラムか場合により局部ロック管理プログラムま
たは大域ロック管理プログラムをアクセスする。アクセ
ス要求の性質とスコープおよびロックの現在の状態によ
り、その要求は全体としてあるいは変更されたフォーム
で許可されあるいは拒否される。キャッシュおよびロッ
ク管理プログラムを含む資源管理プログラムはそれら資
源の現在の制御状態を示すために種々のテーブルを利用
する。任意の特定のインスタンスにおけるロックの許
可、変更または拒否のプロセスにはロック管理プログラ
ムがそのテーブルにアクセスしてその現在の状態を解釈
する必要がある。何らかの理由でロック状態が変化すれ
ば、ロック管理プログラムはその変化を反映すべくロッ
クテーブルを変えなくてはならない。
【0007】キャッシュおよびキャッシュ無効化機構 「キャッシュ」はソフトウェア資源またはハードウェア
資源として形成しうる。これはバッファ内のページのイ
ンデクス可能LRU順の集合として定義される。これは
一般にアクセス時間を短縮するためにデータまたは命令
へのパス内に置かれる。ソフトウェア構成として与えら
れる場合にはプロセッサの内部記憶装置内の任意のとこ
ろにキャッシュを置くことができる。他方、ハードウェ
アキャッシュの一例では米国特許第4612612号明
細書に示されている。ソフトウェア型およびハードウェ
ア型の両方において、キャッシュ管理プログラムはキャ
ッシュ登録簿およびページテーブルによりキャッシュを
制御する。ここで用語「キャッシュ無効化」はモニタと
してのキャッシュ管理プログラムがキャッシュ登録簿か
ら「汚れたページ」を除去することまたはそこに配置さ
れたネーム付きのページが無効であることの表示を与え
ることを意味する。あるいはキャッシュ管理プログラム
が更新されたページをキャッシュ内の現在のページの上
に重ね書きさせるようにすることが出来る。ベースペー
ジが他のデータパスにおいて変えられるときに生じる登
録簿の変化の実行は重ね書きに対するデータの動きの少
い意図的変更とに生じる。しかしながらページ重ね書き
の一例が米国特許第4843542号明細書に示されて
いる。この技術ではバッキング記憶装置としてメインメ
モリを用いる多プロセッサ/仮想キャッシュシステムに
おいて局所キャッシュへの書込みの前に共用ロックの等
価性を保持するすべてのキャッシュに要求元プロセッサ
がページ更新をコピーすることにより一貫性を得る。
【0008】他の従来技術 Springer社1979年版 J.N.Gray 著「ノーツ・オン・
データベース・オペレーティングシステムズ」のページ
394〜481の第3章「オペレーティングシステム−
アンアドバンスドコース」に関係的データベースアクセ
スに適用されたプロセッサ要求に応じてロック管理プロ
グラムの多変数ロック関数としてのロックの許可,保存
および除去が述べてある。このロック関数はスコープ
(粗/細グレイン)、タイプ(排他/共用)、およびク
ラス(読取または書込または両方)を含む。米国特許第
4716528号明細書は同時性とロックの細分性のト
レード・オフ関係を管理するための座標化されたロック
限界対を利用する方法を開示している。第1限界は資源
当りの小さい細分性ロックの数に置かれる。第2限界は
各プロセスに割当てうるロックの数に置かれる。第1数
の小さいロックとなると、この方法はこれら小さいロッ
クを取り消して全資源に1個のロックのみを許可する
(ロックエスカレーション)。一つのプロセスが第2限
界を越える付加ロックを要求するときそのロックは拒絶
される。アソシエーション・フォー・コンピューティン
グ・マシナリの「コンピューティング・サーベイス」第
14巻第3号,1982年9月の頁473〜530の
「キャッシュ・メモリーズ」には(a)同一データを共
用するすべてのキャッシュへの更新の「ブロード・キャ
スト・ライツ」または(b)キャッシュ無効化による、
異なるキャッシュにおける同一ページのコピー内のコヒ
ーレンスの制御が示されている。
【0009】本発明の目的は局所キャッシュに記憶され
あるいは外部記憶装置からキャッシュに再生される登録
簿ロック可能ページを介してのアクセスパスをつくる際
に複数のプロセッサに限定される動作時プロセスにより
利用されるロックの数とそれらの管理を最少にする方法
を提供することである。本発明の他の目的はキャッシュ
の内容を共用外部記憶装置(バッキング記憶装置)と一
致させそしてそれに関連する付帯事項を最少にする方法
を提供することである。
【0010】
【課題を解決するための手段及び作用】短実行ではペー
ジは分散システムのプロセッサの内の1個において実行
されている1つのアプリケーションにより極めて頻繁に
参照されるものである。これはそのシステム内での使用
の局所性を与える。また長実行タスク指名におけるアプ
リケーションは共用可能ページについて極めて頻繁に参
照を読取るものである。
【0011】これらの事実にもとづきこの方法は参照ア
クティビティのスタート時に大きな(粗細分化)ロック
をつくることにより階層関係にあるページへの排他的ア
クセスを得るプロセッサを含んでいる。これは(1)他
のキャッシュにコピーがないためにキャッシュが無効に
なることおよび(2)同一のプロセッサにより同一のツ
リー構成の登録簿内のページへのかなりの数の以降の従
属ロックの処理、を回避する。
【0012】詳細に述べると、この方法は次の互いに排
他的である次のいずれかの段階を含む: (a) 第1プロセッサの予定ページへの書込動作に応
じそして第2プロセッサによるそのページについての同
期ロックのないときに、参照ページを含むページの階層
について上記第1プロセッサに排他的粗細分化ロックを
許可し、第1プロセッサキャッシュにおける動作を実行
し、そして参照されたページをこの第1プロセッサキャ
ッシュからエージングする、または (b) 第1プロセッサによる予定のページについての
同時ロックのないときそのページに対する第2プロセッ
サによる書込動作に応じて第1プロセッサキャッシュに
あるそのページのコピーを無効にさせ、第1プロセッサ
ロックを解放し、第2プロセッサに排他的微細分化ロッ
クを許可し、第2プロセッサキャッシュにおいて動作を
実行しそして第2プロセッサロックを共用に格下げす
る。段階(a)については、第1プロセッサによる同一
または粗細分化ロックのスコープ内の他のページへの以
降の読取/書込参照はロックを加えることなくそしてロ
ック(テーブル)管理処理を行うことなくなすことが出
来る。段階(b)は他のプロセッサに共用指定ページの
排他的な微細化書込アクセスを許可する前に現ロックを
保持するプロセッサの正常バックアウトを与える。
【0013】
【実施例】本発明の方法の実行のためのホストCPU環境 本発明は、システム内の夫々のCPUがIBM MVS
オペレーティングシステムを有するIBMシステム/3
60または370CPUを用いた構成において有効に使
用出来る。IBMシステム/360CPUは米国特許第
3400371号明細書に詳細に示されている。外部記
憶装置へのCPUの共用アクセスを含む構成は米国特許
第4207609号明細書に示されている。MVSオペ
レーティングシステムもIBM文献GC28−1150
に示されている。標準的MVSまたは、例えば局所ロッ
ク管理、中断またはモニタによるサブシステム呼込みお
よびタスクの記入および待機のような他のオペレーティ
ングシステムサービスの詳細は省略する。これらOSサ
ービスは当業者には周知である。
【0014】CPU、キャッシュおよび記憶装置の関係 本発明においては1ページは例えば4096のような固
定した数のデータバイトからなる。また用語「バッフ
ァ」は「ページ」と同義である。図1は組織化された記
憶装置のCPUに対する関係を示す。図示のようにCP
U1はパス11と13を介して内部記憶装置3と外部記
憶装置5にアクセスする。内部記憶装置3はバイトアク
セス可能であり且つランダムアクセス可能な内容を含む
プロセッサ記憶装置2とページアクセス可能であり且つ
ランダムアクセス可能な内容を有する拡張記憶装置4を
含む。外部記憶装置5は1個以上のDASDを含みそし
てCPU1において実行するアプリケーションにより参
照される情報のページを記憶する。一般に、CPUプロ
セッサを必要とするアプリケーションはキャッシュへの
その仮想/線形または実スペースアドレスによりページ
を参照する。これに関し、キャッシュ9はハードウェア
で構成してもソフトウェアで構成してもよい。ソフトウ
ェア構成の場合にはキャッシュを内部記憶装置3内のど
こに配置してもよい。このページがキャッシュ9にない
ときには拡張記憶装置4または外部記憶装置5にアクセ
スする必要がある。外部記憶装置内のI/O境界にまた
がり複数のページがアクセスされる場合には、それらは
上記の米国特許第4207609号に示される方法によ
り処理しうる。特に内部記憶装置に対しアクセスがなさ
れるときにはプロセッサはそのアクセスが完了するまで
待機する。I/O境界にまたがるアクセスがなされると
きにはこのプロセッサは取出し(アクセス)完了を待ち
ながら他のタスクまたはプロセスを呼び出す。
【0015】仮想アドレスおよび仮想外部記憶アドレス 米国出願第07/477,704号(出願日1990年
2月9日)にはデータの論理的ビュー(仮想ネーム)を
乱すことなくそしてその論理ビューに物理的または実際
のバッキング記憶装置を割当てる必要なしにキャッシュ
を介して非常に大きい仮想外部アドレススペース(VE
SA)にマッピングされたアクセスページを管理する方
法が開示されている。この米国出願においては2レベル
のアドレスインジケーションがシノニム問題およびキャ
ッシュ内のページの異なる論理ビュー(ページ式ファイ
ル)に共通のページの複数コピーの両方を避けるために
用いられる。使用されたページは、仮想外部記憶装置ア
ドレス(VESA)にマッピングされそして次に外部記
憶装置内の物理的アドレスにマッピングされた線形スペ
ース内のそれらのアドレスに従って参照される。これに
関し、参照されたページはインデクスアーギュメントと
してそれらのVESAアドレスを用いてキャッシュに書
込まれる。すなわち、これらページはキャッシュに書込
まれそしてそれらのVESAアドレスによりインデクス
(配列)される。
【0016】共用資源に関するロック管理 資源の大域ロック管理を行うための方法はいくつかあ
る。最も簡単なものはプロセッサの内の1個(例えばプ
ロセッサ1)を拡張テーブルをつくる能力を含む大域ロ
ック管理プログラムの貯蔵部として指定するものであ
る。また、キャッシュ管理プログラムは、アプリケーシ
ョンがOSにより指名されそしてプロセッサ2のキャッ
シュ管理プログラムによりトラップされる読取または書
込オプションをプロセッサ2において実行するとき、そ
のキャッシュ管理プログラムがプロセッサ1のロック管
理プログラムからのロックを要求するように拡張され
る。プロセッサ間のメッセージ通信は「メールドロッ
プ」またはチャンネル−チャンネルアダプタにより行わ
れる。
【0017】階層的に関連するページ ページは任意にグループ化することが出来、その場合、
グループのネームがツリーのルートまたはノードとな
り、これらページはそのリーフとなる。そのようなペー
ジは論理的に連続なVESAアドレスまたは実アドレス
に外部的に記憶しうる。これは本発明の方法には実質的
に影響しない。確かに、バランスまたはアンバランス形
にノードの任意のものを付着するリーフページを有する
ノードの階層(ツリー)登録簿は外部記憶手段に書込可
能である。本発明についてのそのようなページの任意の
配置は「階層的に関連するページ」群と呼ばれる。ペー
ジ等のツリー形登録簿は大型および小型のCPUについ
てのファイル管理およびオペレーティングシステム内に
置くことが出来る。これについてはマイクロプロセッサ
型CPUのPS2モデル60,70,80のファミリに
ついての「IBMディスクオペレーティングシステムバ
ージョン4.0」およびGhosh 著「データ・ベース・オ
ーガンゼーション・フォー・データ・マネージメント」
33−41ページ、Academic Press社1977を参照さ
れ度い。更に、プログラミングIMSについてはAddiso
n-Wesley出版社1981のDate著「アン・イントログク
ション・ツー・データベース・システムズ」第3版27
3−386ページを参照され度い。
【0018】本発明の方法を例示するシナリオ 次の四つの参照パターンが本発明の例示に用いられる。 (1) 共用可能な外部記憶装置と大域ロック機構を備
えた一対のプロセッサであって一方のプロセッサが排他
粗細分ロックの下に読取と書込を行う。図2−5参照。 (2) 共用読取専用粗細分ロックの下での読取専用ア
クセス。図6−9参照。 (3) 共用読取/書込粗細分ロックの下での3ページ
の書込アドレスおよびそれに続く読取アクセス。図10
−13参照。 (4) 第2プロセッサによりページに保持される排他
粗細分ロックの下でのそのページへの第2プロセッサに
よる書込アクセス。図14−16参照。 図2−16に分散システムが示されており、これら図に
おける相違点は外部記憶装置の内容と、ロックテーブル
と局部キャッシュのみである。図2において、プロセッ
サ1と2はパス25を介してDASD27,29をアク
セスする。プロセッサ1は大域ロック管理プログラム
(図示せず)とロックテーブル23を含む。両プロセッ
サは夫々キャッシュ管理プログラムとソフトウェアキャ
ッシュ15,17を含む。キャッシュ管理プログラム1
5と17はパス19と21を介してロック管理プログラ
ムと通信を行う。パス19と21は概念的なものであ
る。プロセッサ1において、ロック管理プログラムは大
域であるから、キャッシュ管理プログラム15と17か
らのロック要求をトラップする。これに関し、パス19
はプロセッサ1の内部パスであり、パス21は外部記憶
装置内に規定されたVESAへの共用アクセスにもとづ
く「メールドロップ」を含む。図2においてロックテー
ブルまたはレジスタ23はページまたはページグループ
ネーム、スコープ、排他性およびロックホルダのコラム
属性を含む。
【0019】排他使用シナリオ 図2−5において、プロセッサ1について実行するアプ
リケーションがページA1のアクセスの読取と現在DA
SD27に記憶されているA指定のグループからのアク
セスA2の書込みを意図するものであるとする。これら
ページは局所キャッシュにはないから、読取A1のアプ
リケーションではキャッシュ管理プログラム15がロッ
ク管理プログラムからのロックを要求する。グループA
またはそのページへの他のロックがない場合にはグルー
プ(ツリー)Aへの排他ロックがプロセッサ1に許可さ
れる。このロック許可はロックテーブル23に記録され
る。次にプロセッサ1はDASD27からページA1と
A2をキャッシュ15にコピーする。両作用を図3に示
す。その後ページA2はプロセッサ1におけるアプリケ
ーションにより値30を表わすべくプロセッサメモリ内
で変更される。この変更されたページはキャッシュ15
を介してDASD27に書込まれる。この状態を図4に
示す。他のロックを許可する必要がないことは注意を要
する。グループAとページA1およびA2について他の
アプリケーションが参照を行わないときにはこれらペー
ジはキャッシュの「古い(エージアウト)」ものであ
り、キャッシュ管理プログラム15がテーブル15から
このロックエントリを除去するように要求する。ロック
管理プログラムによるこの除去の後のシステム状態を図
5に示す。特に用語「エージアウト」はキャッシュがし
ばしばLRU管理されることによるものである。かくし
て、フルであるキャッシュへの新しいエントリは「最も
古い」ページの除去を要求する。
【0020】共用読取専用シナリオ 図6において、ロックテーブル23は共用読取/専用粗
細分化ロックがプロセッサ1と2により保持されている
としている。また、ページA1のコピーがキャッシュ1
5にありそしてページA2のコピーがキャッシュ17に
ある。粗ロックは両プロセッサに保持されるから、ペー
ジA2のキャッシュ15へそしてページA3のキャッシ
ュ17への読取り(コピー)が付加的なロックの獲得お
よび処理を用いずに行うことが出来る。これを図7に示
す。プロセッサ1において走行するアプリケーションに
よるページA1とA2の付加的な参照がないとすると、
それらページはキャッシュ15から「エージアウト」し
そしてプロセッサ1に保持されロックが除去される。こ
れを図8に示す。同様に参照のないとき、ページA2と
A3はキャッシュ17から「エージアウト」しそしてプ
ロセッサ2に保持されるロックがテーブル23から除去
される。これを図9に示す。
【0021】粗細分化共用読取/書込ロックにおける書
込シナリオ 図10において、ロックテーブル23は粗細分化共用読
取/書込ロックがプロセッサ1と2に保持されているこ
とを仮定している。またページA1とA2のコピーがキ
ャッシュ15に、ページA1とA3のコピーがキャッシ
ュ17にある。プロセッサ1と2はA1に共用ページロ
ックを保持し、ページA2とA3に単一共用ロックを保
持する。この状態を図10に示す。このシナリオはペー
ジA1を10から25に書替えるためにプロセッサ1で
実行するアプリケーションを呼び出し、プロセッサ2で
実行するアプリケーショによるA1への読取アクセスが
それに続く。この時点でプロセッサ1で実行するアプリ
ケーションはページA1(A1=25)の書替えを要求
する。アプリケーション書替要求に応じてプロセッサ1
のキャッシュメモリ15はページA1での排他ロックを
要求する。しかしながら、プロセッサ2がグループAに
ついて共用粗細分読取/書込ロックを保持するから、キ
ャッシュ管理プログラム17にコンフリクトが知らされ
る。この通知はまたキャッシュ17を無効にしあるいは
キャッシュ登録簿からA1を除去させる。このページ無
効化と同時にプロセッサ1に保持されるページA1につ
いての共用ロックが除かれそしてプロセッサ1に対する
排他ロックが入れられる。それにより、プロセッサはキ
ャッシュ15にページA1をコピーする。これを図11
に示す。書替えられたページA1はキャッシュ15を介
してDASD27に記録される。次にキャッシュ管理プ
ログラム15はロック管理プログラムにテーブル23に
示されるようにA1ページロックを排他から共用に格下
げさせる。このシステム状態を図12に示す。ここでプ
ロセッサ2で走行するアプリケーションは読取の実行前
にページA1での共用ロックを要求する。このロックの
許可後に改定されたページA1(A1=25)がキャッ
シュ17にコピーされる。このシステム状態を図13に
示す。
【0022】同時排他ロックにより保持されるページへ
の書込シナリオ 図14において、ロックテーブル23はプロセッサ1が
グループAについて粗細分排他ロックを保持しており、
ページA1(A1=10)とA2(A2=20)のコピ
ーがキャッシュ15にあるものとしている。プロセッサ
2で実行するアプリケーションがページA1の書替えで
ある場合に、キャッシュ管理プログラム17はグループ
Aの粗細分排他ロックを要求する。コンフリクトによ
り、要求は一時的に否定される。しかしながら、プロセ
ッサ1はこのコンフリクトの通知によりロック管理プロ
グラムにキャッシュ15にあるページA1とA2へ共用
ロックを付加させそしてホルダとしてグループAのロッ
クを排他から共用読取/書込みに格下げさせる。この状
態を図15に示す。キャッシュ管理プログラム17によ
りロック管理プログラムになされたプロセッサ2からの
ページA1への書込アクセスに応じてグループAについ
ての共用読取/書込ロックはプロセッサ2に拡張され
る。またこの書込アクセス要求によりロック管理プログ
ラムはキャッシュ15にコンフリクトを知らせる。次に
キャッシュ管理プログラム15はページA1をその登録
簿から無効(除去)し、それによりロック管理プログラ
ムが共用ページA1ロックのホルダとしてのプロセッサ
1を除去する。その結果、プロセッサ2にページA1の
排他ロックが与えられる。それによりプロセッサ2での
実行アプリケーションがページA1を書替えそしてそれ
をキャッシュ17を介してDASD27にコピーする。
これについては図16に示す。排他ロックのホルダとし
てのプロセッサ2のリネーミングは省略されている。
【0023】拡張 以上は、本発明の方法がロックホルダについての関与の
変更(ロックホルダの不在におけるエスカレーションか
ら「一般共用」へおよび「非共用」から「読取のみ共
用」および「読取/書込共用」へ)を行う場合である。
しかしながら、この方法は、微細分書込共用が停止(ペ
ージ更新の完了のようなとき)した後にこのシステムの
ロック状態が同一のページグループ内のすべての微細分
ロックの解放と共に共用粗細分ロックにもどりうるよう
に容易に変更しうる。また「読取のみ共用」ロック状態
が終了した後に最終ロックホルダには同一のページグル
ープへ排他粗細分ロックを与えるべきである。これに関
連して、共用アクティビティが終了した事の検出は共用
読取/書込アクティビティのない状態の終了により行わ
れる。これはロックの状態の変化頻度を低下させる。使
用されるロックのスコープは粗および微細分に限られる
必要はない。一つのページグループは3,4またはそれ
以上のエシュロン(echelon )の階層およびそれに応じ
て調整されたロックスコープを示すことが出来る。この
そして本発明の他の拡張は容易である。
【図面の簡単な説明】
【図1】従来の大型主フレームCPUに関する記憶装置
構成を示す図。
【図2】共用可能な外部記憶装置をアクセスする一対の
プロセッサおよび排他粗細分ロックのもとでの読取およ
び大域ロック機構を示す図。
【図3】共用可能な外部記憶装置をアクセスする一対の
プロセッサおよび排他粗細分ロックのもとでの読取およ
び大域ロック機構を示す図。
【図4】共用可能な外部記憶装置をアクセスする一対の
プロセッサおよび排他粗細分ロックのもとでの読取およ
び大域ロック機構を示す図。
【図5】共用可能な外部記憶装置をアクセスする一対の
プロセッサおよび排他粗細分ロックのもとでの読取およ
び大域ロック機構を示す図。
【図6】図2−5と同じ分散システムを示すものであ
り、共用読取専用粗細分ロックのもとでの読取専用アク
セスを示す図。
【図7】図2−5と同じ分散システムを示すものであ
り、共用読取専用粗細分ロックのもとでの読取専用アク
セスを示す図。
【図8】図2−5と同じ分散システムを示すものであ
り、共用読取専用粗細分ロックのもとでの読取専用アク
セスを示す図。
【図9】図2−5と同じ分散システムを示すものであ
り、共用読取専用粗細分ロックのもとでの読取専用アク
セスを示す図。
【図10】図2−5の分散システムについて読取アクセ
スの前の共用読取/書込粗細分ロックのもとでのページ
の書込アクセスを示す図。
【図11】図2−5の分散システムについて読取アクセ
スの前の共用読取/書込粗細分ロックのもとでのページ
の書込アクセスを示す図。
【図12】図2−5の分散システムについて読取アクセ
スの前の共用読取/書込粗細分ロックのもとでのページ
の書込アクセスを示す図。
【図13】図2−5の分散システムについて読取アクセ
スの前の共用読取/書込粗細分ロックのもとでのページ
の書込アクセスを示す図。
【図14】図2−5のシステムの第2プロセッサにより
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
【図15】図2−5のシステムの第2プロセッサにより
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
【図16】図2−5のシステムの第2プロセッサにより
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
【符号の説明】
1 プロセッサ 2 プロセッサ 15 キャッシュ 17 キャッシュ 23 ロックテーブル 27 DASD 29 DASD
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイ、ハロルド、アンガー アメリカ合衆国ニューヨーク州、モーガ ン、レイク、ノルウッド、コート(番地 なし) (56)参考文献 特開 平2−27465(JP,A) 特開 昭60−45872(JP,A) 特開 昭50−81637(JP,A) 特開 昭48−66335(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】各々データキャッシュを有する第1および
    第2の結合したプロセッサにおいて、前記各々のデータ
    キャッシュ間にある階層的に配置されたグループとして
    記憶されたページのコピーと、前記各々のプロセッサに
    よりアクセス可能な共用外部記憶装置内の元のページと
    の一致を保証しつつ各プロセッサからのページへのアク
    セスを可能とするロック操作の回数を最少にするコンピ
    ュータ利用の方法であって、 (a)第1プロセッサにより指定されたページに関して
    第2プロセッサによる前記指定されたページまたは前記
    指定されたページを含むページグループに対するロック
    のないとき、前記指定されたページについての処理動作
    に応じて、前記ページグループについて第1プロセッサ
    にページグループ単位のロックである粗細分ロックを許
    可し、前記第1プロセッサのキャッシュにおいてその指
    定されたページについての処理を行い、前記第1プロセ
    ッサのキャッシュから前記指定されたページを除去する
    ステップと、 (b)第1プロセッサにより指定されたページに関して
    第2プロセッサによる前記指定されたページまたは前記
    指定されたページを含むページグループに対するロック
    のあるとき、前記指定されたページについての処理動作
    に応じて、コンフリクトの通知を前記第2プロセッサに
    送り、前記第2プロセッサのキャッシュ内にある前記指
    定されたページのコピーを無効にし、前記第2プロセッ
    サによる前記指定されたページのページ単位の共用微細
    分ロックを解放し、第1プロセッサに前記指定されたペ
    ージについて排他微細分ロックを許可し、前記第1プロ
    セッサのキャッシュにおいて前記指定されたページにつ
    いての処理を行い、前記第1プロセッサにより保持され
    た前記排他微細分ロックを共用微細分ロックに変更する
    ステップと、 を含む前記方法。
  2. 【請求項2】更に、 (c)前記ステップ(a)又はステップ(b)で処理さ
    れた前記指定されたページを、第1プロセッサのキャッ
    シュを介して前記共用外部記憶装置にコピーするステッ
    プ、 を含む請求項1の方法。
  3. 【請求項3】更に、 (d)前記ステップ(b)の前記共用微細分ロックのも
    とで動作する前記指定されたページの処理動作に応じ
    て、前記指定されたページのページグループについて共
    用粗細分ロックを許可し、前記共用微細分ロックを解放
    するステップ、 を含む請求項1の方法。
  4. 【請求項4】更に、 (e)共用微細分ロックのもとでの前記指定されたペー
    ジが変更を生じない場合に、前記指定されたページにつ
    いて最後に動作した微細分ロックを保持するプロセッサ
    に前記指定されたページのページグループについて排他
    粗細分ロックを許可するステップ、 を含む請求項1の方法。
  5. 【請求項5】各々データキャッシュを有する第1および
    第2の結合したプロセッサにおいて、前記各々のデータ
    キャッシュ間にある階層的に配置されたグループとして
    記憶されたページのコピーと、前記各々のプロセッサに
    よりアクセス可能な共用外部記憶装置内の元のページと
    の一致を保証しつつ各プロセッサからのページへのアク
    セスを可能とするロック操作を制御する方法であって、 (a)前記第1プロセッサによる書込動作に対応する指
    定ページについて前記書込動作時に前記第2プロセッサ
    によるロックのないとき、前記第1プロセッサに前記指
    定ページを含むページの階層単位の排他粗細分ロックを
    許可し、前記第1プロセッサのキャッシュにおいて前記
    書込動作を実行し、前記第1プロセッサのキャッシュか
    ら前記指定ページを除去するステップと、 (b)前記第1プロセッサによる書込動作に対応する指
    定ページについて前記書込動作時に前記第2プロセッサ
    によるロックのあるとき、前記書込動作に応じて、前記
    第2プロセッサのキャッシュ内にある前記指定ページの
    コピーを無効とし、前記第2プロセッサの前記指定ペー
    ジに対するロックを解放し、前記第1プロセッサにペー
    ジ単位の排他微細分ロックを許可し、前記第1プロセッ
    サのキャッシュ内でその動作を実行し、前記第1プロセ
    ッサの前記排他微細分ロックを共用微細分ロックに格下
    げするステップと、 を含む前記方法。
  6. 【請求項6】更に、 (c)前記指定ページを変更する書込動作に応答して変
    更された指定ページを前記第1プロセッサのキャッシュ
    を介して外部記憶装置にコピーするステップ、 を含む請求項5の方法。
  7. 【請求項7】第1及び第2プロセッサが外部記憶装置を
    共用するシステムにおいて、夫々のオペレーティングシ
    ステム、内部記憶装置、キャッシュ、キャッシュ管理プ
    ログラム、及び共用外部記憶装置にアクセスする手段を
    有するプロセッサ内のキャッシュへのアクセスを逐次化
    し、前記キャッシュに共通のページ間の一致を保証する
    方法であって、 (a)システム内のページと階層的に関係するページグ
    ループを含むすべての資源について、共用および排他ロ
    ックを前記ページグループ単位で条件付きで許可し、前
    記ロック状態をページ単位の微細に変更し、全てのプロ
    セッサのロック許可要求およびコンフリクトするロック
    の状態を通知するステップと、 (b)前記第1プロセッサによる書込動作に対応する指
    定ページについて前記第2プロセッサによる同時ロック
    のないとき、前記第1プロセッサに前記指定ページを含
    むページの階層単位の排他粗細分ロックを許可し、前記
    第1プロセッサのキャッシュにおいて前記書込動作を実
    行し、前記第1プロセッサのキャッシュから前記指定ペ
    ージを除去するステップと、 (c)前記第1プロセッサによる書込動作に対応する指
    定ページについて前記第2プロセッサによる同時ロック
    のあるとき、前記書込動作に応じて、前記第2プロセッ
    サのキャッシュ内にある前記指定ページのコピーを無効
    とし、前記第2プロセッサの前記指定ページに対するロ
    ックを解放し、前記第1プロセッサにページ単位の排他
    微細分ロックを許可し、前記第1プロセッサのキャッシ
    ュ内でその動作を実行し、前記第1プロセッサの前記排
    他微細分ロックを共用微細分ロックに格下げするステッ
    プと、 を含む前記方法。
  8. 【請求項8】前記ステップ(c)は、前記指定ページを
    変更する書込動作に応答して変更された指定ページを前
    記第1プロセッサのキャッシュを介して前記外部記憶装
    置にコピーするステップを更に含む、請求項7の方法。
JP3042523A 1990-03-14 1991-02-14 分散キャッシュの階層無効化方法 Expired - Lifetime JP2575541B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/493,562 US5301290A (en) 1990-03-14 1990-03-14 Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store
US493562 1990-03-14

Publications (2)

Publication Number Publication Date
JPH05143453A JPH05143453A (ja) 1993-06-11
JP2575541B2 true JP2575541B2 (ja) 1997-01-29

Family

ID=23960748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3042523A Expired - Lifetime JP2575541B2 (ja) 1990-03-14 1991-02-14 分散キャッシュの階層無効化方法

Country Status (3)

Country Link
US (1) US5301290A (ja)
EP (1) EP0447161A3 (ja)
JP (1) JP2575541B2 (ja)

Families Citing this family (61)

* 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
JP2511588B2 (ja) * 1990-09-03 1996-06-26 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置
US5426747A (en) 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
JP2533266B2 (ja) * 1991-06-14 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
JPH05210640A (ja) * 1992-01-31 1993-08-20 Hitachi Ltd マルチプロセッサシステム
US5414839A (en) * 1992-06-19 1995-05-09 Digital Equipment Corporation Hybrid lock escalation and de-escalation protocols
US5408629A (en) * 1992-08-13 1995-04-18 Unisys Corporation Apparatus and method for controlling exclusive access to portions of addressable memory in a multiprocessor system
JP2809961B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 マルチプロセッサ
US5721943A (en) * 1993-10-14 1998-02-24 International Business Machines Corporation Negotiable locks for concurrent access of control data by multiple programs
US5678040A (en) * 1993-10-29 1997-10-14 Motorola, Inc. Method for managing a hierarchical design transaction
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
US6006299A (en) * 1994-03-01 1999-12-21 Intel Corporation Apparatus and method for caching lock conditions in a multi-processor system
US5577226A (en) 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
EP0723230B1 (en) * 1995-01-23 2002-05-22 Compaq Computer Corporation A distributed data cache for cached multiprocessor system
US5577261A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
US5761722A (en) * 1995-01-30 1998-06-02 Sun Microsystems, Inc. Method and apparatus for solving the stale data problem occurring in data access performed with data caches
US6173306B1 (en) 1995-07-21 2001-01-09 Emc Corporation Dynamic load balancing
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
US5659739A (en) * 1995-10-02 1997-08-19 Digital Equipment Corporation Skip list data structure enhancements
US5761501A (en) * 1995-10-02 1998-06-02 Digital Equipment Corporation Stacked skip list data structures
US5887167A (en) * 1995-11-03 1999-03-23 Apple Computer, Inc. Synchronization mechanism for providing multiple readers and writers access to performance information of an extensible computer system
US5920719A (en) * 1995-11-06 1999-07-06 Apple Computer, Inc. Extensible performance statistics and tracing registration architecture
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
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
US6122637A (en) * 1995-11-30 2000-09-19 Yohe; Thomas Patrick Apparatus and method for increased data access in an object oriented caching system
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
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
US5727206A (en) * 1996-07-31 1998-03-10 Ncr Corporation On-line file system correction within a clustered processing system
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US5802582A (en) * 1996-09-10 1998-09-01 International Business Machines Corporation Explicit coherence using split-phase controls
US6754656B1 (en) 1996-10-22 2004-06-22 International Business Machines Corporation System and method for selective partition locking
US7480653B2 (en) * 1996-10-22 2009-01-20 International Business Machines Corporation System and method for selective partition locking
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
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
US6393533B1 (en) * 1999-03-17 2002-05-21 Silicon Graphics, Inc. Method and device for controlling access to memory
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US6721739B1 (en) * 2000-12-05 2004-04-13 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple pages
US6993523B1 (en) 2000-12-05 2006-01-31 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency in a data base page
US6751636B1 (en) 2000-12-05 2004-06-15 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple instances of a database
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US7424671B2 (en) * 2003-05-16 2008-09-09 Justsystems Canada Inc. Methods and systems for enabling collaborative authoring of hierarchical documents
US7412572B1 (en) 2004-03-17 2008-08-12 Sun Microsystems, Inc. Multiple-location read, single-location write operations using transient blocking synchronization support
US8219762B1 (en) * 2004-08-13 2012-07-10 Oracle America, Inc. Computer system and method for leasing memory location to allow predictable access to memory location
US20050278280A1 (en) * 2004-05-28 2005-12-15 Semerdzhiev Krasimir P Self update mechanism for update module
JP2006085539A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd データベース管理プログラム、方法、装置及び記録媒体
US7669015B2 (en) * 2006-02-22 2010-02-23 Sun Microsystems Inc. Methods and apparatus to implement parallel transactions
US8028133B2 (en) * 2006-02-22 2011-09-27 Oracle America, Inc. Globally incremented variable or clock based methods and apparatus to implement parallel transactions
US8806138B1 (en) * 2007-02-20 2014-08-12 Pixar Dynamic dependencies and parameterizations for execution and caching
US7941616B2 (en) * 2008-10-21 2011-05-10 Microsoft Corporation System to reduce interference in concurrent programs
US8392388B2 (en) * 2010-09-08 2013-03-05 Sybase, Inc. Adaptive locking of retained resources in a distributed database processing environment
US10684989B2 (en) * 2011-06-15 2020-06-16 Microsoft Technology Licensing, Llc Two-phase eviction process for file handle caches
US8606907B1 (en) 2011-07-20 2013-12-10 Google Inc. Multi-tiered system for receiving and reporting web site traffic data
US8606825B1 (en) 2011-07-20 2013-12-10 Google Inc. Query response streams based on dynamic query library
US8560685B1 (en) 2011-07-20 2013-10-15 Google Inc. Probabilistic data storage owner election and replication protocol
CN103853527A (zh) 2012-11-29 2014-06-11 国际商业机器公司 切换多线程程序中的对象锁定模式的方法和系统
US20140281234A1 (en) * 2013-03-12 2014-09-18 Advanced Micro Devices, Inc. Serving memory requests in cache coherent heterogeneous systems
US11429585B2 (en) 2020-12-01 2022-08-30 Walmart Apollo, Llc Systems and methods for managing concurrent data requests

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
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
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
US4612612A (en) * 1983-08-30 1986-09-16 Amdahl Corporation Virtually addressed cache
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
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
JPS63245730A (ja) * 1987-04-01 1988-10-12 Nec Corp ロツク単位の変更方式
US4965719A (en) * 1988-02-16 1990-10-23 International Business Machines Corporation Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
US4984153A (en) * 1988-04-27 1991-01-08 Unisys Corporation Storage locking control for a plurality of processors which share a common storage unit
US5063504A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system
US5088026A (en) * 1990-02-09 1992-02-11 International Business Machines Corporation Method for managing a data cache using virtual external storage addresses as arguments

Also Published As

Publication number Publication date
US5301290A (en) 1994-04-05
EP0447161A3 (en) 1993-06-02
EP0447161A2 (en) 1991-09-18
JPH05143453A (ja) 1993-06-11

Similar Documents

Publication Publication Date Title
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
US5410697A (en) Concurrency management using version identification of shared data as a supplement to use of locks
US5226143A (en) 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
US5537574A (en) Sysplex shared data coherency method
US5544345A (en) Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage
KR0170565B1 (ko) 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법
US5946711A (en) System for locking data in a shared cache
EP0323013B1 (en) Method of operating a multiprocessor system employing a shared virtual memory
US6496909B1 (en) Method for managing concurrent access to virtual memory data structures
US7721068B2 (en) Relocation of active DMA pages
US5088026A (en) Method for managing a data cache using virtual external storage addresses as arguments
US5842226A (en) Virtual memory management for a microkernel system with multiple operating systems
KR101063604B1 (ko) 멀티프로세서 시스템 상에서 멀티스레드 프로그램으로부터의 메모리 액세스를 관리하기 위한 방법 및 시스템
US7877549B1 (en) Enforcement of cache coherency policies using process synchronization services
Khalidi et al. The Spring virtual memory system
JPH0776944B2 (ja) 仮想索引機構
Keeton et al. The OpenFAM API: a programming model for disaggregated persistent memory
JP2829115B2 (ja) ファイル共用方法
Chang et al. Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors
JP3814521B2 (ja) データ処理方法および装置
JP5063131B2 (ja) 別のプロセスのプロセス・ローカル・ストレージにアクセスする方法、装置、コンピュータ・プログラム、およびコンピュータ実装方法
JPH07160581A (ja) キャッシュ一致処理制御装置
Saulsbury et al. A DVSM Server for MESHIX
Bril An implementation independent approach to cache memories
JPH0474232A (ja) タスク実行方法及びキャッシュ装置の割り当て方法