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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache 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指向内
部記憶装置、プロセッサの内部記憶装置から作動的に形
成された命令キャッシュおよびデータキャッシュ、アク
セスを共用される外部記憶装置、ロックマネジャーおよ
びキャッシュ資源マネジャーを含む。
およびいくつかのオペレーティング構成部品本発明の目
的のための「分散システム」は、DASD指向外部記憶
装置サブシステムに対する共用されたアクセスを有する
2つまたはそれ以上のプロセッサを含む。そのようなシ
ステムの各CPUすなわちプロセッサは典型的にはロー
カルオペレーティングシステム(OS)、RAM指向内
部記憶装置、プロセッサの内部記憶装置から作動的に形
成された命令キャッシュおよびデータキャッシュ、アク
セスを共用される外部記憶装置、ロックマネジャーおよ
びキャッシュ資源マネジャーを含む。
【0003】CPUで実行するアプリケーション(プロ
セス/タスク)はOSにより読出し操作と書込み操作を
発生する。次に、読出し操作と書込み操作は、データキ
ャッシュ内に常駐しているか、または共用されている外
部記憶装置からデータキャッシュに更新して入れられる
ページへの登録簿にロック可能であるアクセス経路を設
定するために、データキャッシュマネジャーおよびロッ
ク資源マネジャーを利用する。
セス/タスク)はOSにより読出し操作と書込み操作を
発生する。次に、読出し操作と書込み操作は、データキ
ャッシュ内に常駐しているか、または共用されている外
部記憶装置からデータキャッシュに更新して入れられる
ページへの登録簿にロック可能であるアクセス経路を設
定するために、データキャッシュマネジャーおよびロッ
ク資源マネジャーを利用する。
【0004】内部記憶装置および外部記憶装置 記憶装置の費用は、速度の向上とともに劇的に増大する
から、多くのコンピュータ装置は物理的記憶装置サブシ
ステムをいくつかの性能レベルに分ける。それらのレベ
ルのうちいくつか、例えばDASDおよびテープは、ア
クセスを共用された周辺I/O装置として処理されてお
り、非同期経路を介してアクセスされる。RAMやキャ
ッシュのような別のレベルはシステム・ハードウェアに
より直接取扱われ、内部記憶装置の一部として同期経路
を介してアクセスされる。
から、多くのコンピュータ装置は物理的記憶装置サブシ
ステムをいくつかの性能レベルに分ける。それらのレベ
ルのうちいくつか、例えばDASDおよびテープは、ア
クセスを共用された周辺I/O装置として処理されてお
り、非同期経路を介してアクセスされる。RAMやキャ
ッシュのような別のレベルはシステム・ハードウェアに
より直接取扱われ、内部記憶装置の一部として同期経路
を介してアクセスされる。
【0005】「内部記憶装置」という用語は、1回の読
み出し転送および書込み転送に対してランダムにアドレ
スできる記憶装置の部分を指定する。アイビーエム(I
BM)システムにおいては、内部記憶装置は拡張部分
(「拡張記憶装置」)を除き、バイトアドレス可能であ
る。拡張記憶装置はブロックすなわちページごとにアド
レス可能(4096バイト/ページ)でランダムにアク
セスされる。それはLRU実記憶装置により支援される
ページング記憶装置として管理される。最後に、「外部
記憶装置」は記憶装置のうち、ランダムにはアドレス可
能でなく、DASDを基にして直接にアクセスしなけれ
ばならない大容量記憶装置を指す。
み出し転送および書込み転送に対してランダムにアドレ
スできる記憶装置の部分を指定する。アイビーエム(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)に、キャッシュを
介してマップされているアドレスページを管理する方法
が記載されている。
レス 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アドレス)をそれに結びつけることにより多
数のビューを形成できる。これは、共通ページのコピー
を複製せねばならないこと、およびそれらのコピーをビ
ューに結びつけねばならないことが避けられる。
語の問題と、キャッシュ内のページの種々の論理ビュー
(ページ編成されたファイル)に共通のページの多重コ
ピーを避けるために、2つのレベルのアドレス迂回(イ
ンダイレクション)が用いられる。ここで用いるページ
というのは、仮想外部記憶装置アドレス(VESA)に
マップされ、それから外部記憶装置内の物理的アドレス
にマップされた線形空間内のページのアドレスに従って
参照させられる。これに関して、参照されたページは、
それのVESAアドレスを索引アーギュメントとして用
いて、キャッシュに書き込まれる。すなわち、ページは
キャッシュに書き込まれ、そのVESAアドレスにより
索引させられる(順序づけられる)。それから、名称
(VESAアドレス)をそれに結びつけることにより多
数のビューを形成できる。これは、共通ページのコピー
を複製せねばならないこと、およびそれらのコピーをビ
ューに結びつけねばならないことが避けられる。
【0008】資源マネジャー ロリン(Lorin)およびデイテル(Deitel)
著「オペレーティング・システム」、ザ・システム・プ
ログラミング・シリーズ(System ProgrammingSeries)
、アディソンーウェズレイ・パブリッシング社(Addiso
n-WesleyPublishing CO.) 発行、著作権1981年、の
資源管理についての第9章において指摘されているよう
に、「資源マネジャー」はCPUについて定められたソ
フトウェアOS構造であって、資源のアクセス可能性
と、システムにおけるそれの物理的表現とに関連する1
組の属性が与えられる。このロリンは、この面における
オペレーティングシステムの機能は、プロセスにより便
利に取扱われるアブストラクト資源で構成されるアブス
トラクトマシンを定めることであると指摘する。したが
って、資源の技術的および経済的な使用と一貫性は資源
マネジャーにより調整される。
著「オペレーティング・システム」、ザ・システム・プ
ログラミング・シリーズ(System ProgrammingSeries)
、アディソンーウェズレイ・パブリッシング社(Addiso
n-WesleyPublishing CO.) 発行、著作権1981年、の
資源管理についての第9章において指摘されているよう
に、「資源マネジャー」はCPUについて定められたソ
フトウェアOS構造であって、資源のアクセス可能性
と、システムにおけるそれの物理的表現とに関連する1
組の属性が与えられる。このロリンは、この面における
オペレーティングシステムの機能は、プロセスにより便
利に取扱われるアブストラクト資源で構成されるアブス
トラクトマシンを定めることであると指摘する。したが
って、資源の技術的および経済的な使用と一貫性は資源
マネジャーにより調整される。
【0009】また、資源マネジャーは「モニタ」として
表すこともできることを理解すべきである。モニタは、
ある種の資源に関連する手順の集まりを含むソフトウェ
アOS構成体でもある。それは資源の割当てと、それに
対する参照の制御とに対して責任がある。更に、各モニ
タは任意のテーブル、または、それが責任を負う資源に
ついての情報を含んでいるその他の構造とに対して独占
的にアクセスする。モニタの明確な特徴は、公用使用の
ために設計されているが、モニタを介する以外はアクセ
スできないようなデータ部分を含んでいることである。
表すこともできることを理解すべきである。モニタは、
ある種の資源に関連する手順の集まりを含むソフトウェ
アOS構成体でもある。それは資源の割当てと、それに
対する参照の制御とに対して責任がある。更に、各モニ
タは任意のテーブル、または、それが責任を負う資源に
ついての情報を含んでいるその他の構造とに対して独占
的にアクセスする。モニタの明確な特徴は、公用使用の
ために設計されているが、モニタを介する以外はアクセ
スできないようなデータ部分を含んでいることである。
【0010】ロックおよびロック管理 ロリンによるロッキング機能は、プロセッサ以外の少な
くとも1つの選択されたシステム資源に対するプロセス
によるアクセスを直列化することである。本発明に関連
してモニタとしてのロックマネジャーは、他の資源の間
でキャッシュに格納されているページに対するアクセス
を制御するためのソフトウェア構成体である。これは、
一般にページおよび登録簿の間、および、とくに多数の
ローカルデータキャッシュを有する分散システム内の同
じページのバージョンの間での一貫性の必要により求め
られる。
くとも1つの選択されたシステム資源に対するプロセス
によるアクセスを直列化することである。本発明に関連
してモニタとしてのロックマネジャーは、他の資源の間
でキャッシュに格納されているページに対するアクセス
を制御するためのソフトウェア構成体である。これは、
一般にページおよび登録簿の間、および、とくに多数の
ローカルデータキャッシュを有する分散システム内の同
じページのバージョンの間での一貫性の必要により求め
られる。
【0011】IBMシステム/370において用いられ
るMVSのようなオペレーティングシステムは、システ
ム内の種々の資源に対するロックの階層を含む。ロック
は少なくとも名称と、有効範囲と、独占性(exclusives)
との関数である。有効範囲に関しては、グローバルロッ
クはシステム全体または資源全体に影響を及ぼす。これ
とは対照的に、記憶装置コンテキストにおけるローカル
ロックは1つのアドレス空間だけ、または1ページだ
け、あるいはページ群に影響を及ぼすことがある。ロッ
クは独占的とすることもできれば、共用とすることもで
きる。メモリすなわち記憶装置内のページにおける共用
ロックは読み出し操作とコピー操作に最もしばしば関連
させられ、一方、独占的ロックは書き込み/更新操作お
よび転送操作に関連させられる。また、ロックは有効範
囲、独占性、またはその両方においてレベルを昇格され
ることもあるし、降格されることもある。「アトミッ
ク」という用語は、現在のロック状態が次の状態へ移さ
れるか、または同じ状態を維持するかのどちらかである
ことをシステムが保証し、計画されていない中間状態が
可能でないことを意味する。
るMVSのようなオペレーティングシステムは、システ
ム内の種々の資源に対するロックの階層を含む。ロック
は少なくとも名称と、有効範囲と、独占性(exclusives)
との関数である。有効範囲に関しては、グローバルロッ
クはシステム全体または資源全体に影響を及ぼす。これ
とは対照的に、記憶装置コンテキストにおけるローカル
ロックは1つのアドレス空間だけ、または1ページだ
け、あるいはページ群に影響を及ぼすことがある。ロッ
クは独占的とすることもできれば、共用とすることもで
きる。メモリすなわち記憶装置内のページにおける共用
ロックは読み出し操作とコピー操作に最もしばしば関連
させられ、一方、独占的ロックは書き込み/更新操作お
よび転送操作に関連させられる。また、ロックは有効範
囲、独占性、またはその両方においてレベルを昇格され
ることもあるし、降格されることもある。「アトミッ
ク」という用語は、現在のロック状態が次の状態へ移さ
れるか、または同じ状態を維持するかのどちらかである
ことをシステムが保証し、計画されていない中間状態が
可能でないことを意味する。
【0012】タスクすなわちプロセスからキャッシュへ
のアクセス経路を設定する一部として、キャッシュマネ
ジャーは、認められた場合に応じて、ローカルマネジャ
ーまたはグローバルロックマネジャーをアクセスする。
アクセス要求の性質および有効範囲と、ロックの現在の
状態とによって、その要求は全体または修正型で許可さ
れることもあり、拒否されることもある。
のアクセス経路を設定する一部として、キャッシュマネ
ジャーは、認められた場合に応じて、ローカルマネジャ
ーまたはグローバルロックマネジャーをアクセスする。
アクセス要求の性質および有効範囲と、ロックの現在の
状態とによって、その要求は全体または修正型で許可さ
れることもあり、拒否されることもある。
【0013】キャッシュマネジャーとロックマネジャー
を含む資源マネジャーはそれの資源の現在の制御状態を
示すために種々のテーブルを使用する。特定の任意の例
における許可、修正、または拒否に対するプロセスは、
ロックマネジャーがそれのテーブルをアクセスするこ
と、およびそれの現在の状態を解釈することを要求す
る。任意の面においてロック状態が変化したとすると、
ロックマネジャーはその変化を反映するためにロックテ
ーブルを変更せねばならない。
を含む資源マネジャーはそれの資源の現在の制御状態を
示すために種々のテーブルを使用する。特定の任意の例
における許可、修正、または拒否に対するプロセスは、
ロックマネジャーがそれのテーブルをアクセスするこ
と、およびそれの現在の状態を解釈することを要求す
る。任意の面においてロック状態が変化したとすると、
ロックマネジャーはその変化を反映するためにロックテ
ーブルを変更せねばならない。
【0014】ページレベルのロッキングは最もしばしば
遭遇する態様の1つであって、実際的な興味のレベルで
ある。本発明の目的のために、「ページ」はたとえば要
求時ページング仮想記憶システム によりキャッシュさ
れ、スワップされ、および固定される、任意の固定サイ
ズまたは標準サイズの情報の単位である。
遭遇する態様の1つであって、実際的な興味のレベルで
ある。本発明の目的のために、「ページ」はたとえば要
求時ページング仮想記憶システム によりキャッシュさ
れ、スワップされ、および固定される、任意の固定サイ
ズまたは標準サイズの情報の単位である。
【0015】キャッシュおよびキャッシュ無効化 「キャッシュ」はソフトウェア資源またはハードウェア
資源として形成できる。キャッシュはバッファ内のペー
ジの索引可能なLRU順序づけられた集まりとして定義
される。アクセス時間を最も短くするように、キャッシ
ュはデータまたは命令への経路中に通常位置させられ
る。ソフトウェア構造として実現されるとすると、プロ
セッサの内部記憶装置のどの場所にもキャッシュを配置
できる。あるいは、ハードウェアキャッシュの例を米国
特許第4,612,612 号に見出すことができる。ソフトウェ
アの態様またはハードウェアの態様の両方において、キ
ャッシュマネジャーがキャッシュ登録簿およびページテ
ーブルを介してキャッシュを制御する。
資源として形成できる。キャッシュはバッファ内のペー
ジの索引可能なLRU順序づけられた集まりとして定義
される。アクセス時間を最も短くするように、キャッシ
ュはデータまたは命令への経路中に通常位置させられ
る。ソフトウェア構造として実現されるとすると、プロ
セッサの内部記憶装置のどの場所にもキャッシュを配置
できる。あるいは、ハードウェアキャッシュの例を米国
特許第4,612,612 号に見出すことができる。ソフトウェ
アの態様またはハードウェアの態様の両方において、キ
ャッシュマネジャーがキャッシュ登録簿およびページテ
ーブルを介してキャッシュを制御する。
【0016】関連して、「キャッシュ無効」という用語
は、モニタとしてのキャッシュマネジャーがキャッシュ
登録簿から「汚されたページ」を除去すること、または
その内部にある名づけられたページが無効であるという
指示を与えることを意味する。あるいは、キャッシュマ
ネジャーは更新されたページをキャッシュ内の現在のペ
ージに重ね書きさせることができる。
は、モニタとしてのキャッシュマネジャーがキャッシュ
登録簿から「汚されたページ」を除去すること、または
その内部にある名づけられたページが無効であるという
指示を与えることを意味する。あるいは、キャッシュマ
ネジャーは更新されたページをキャッシュ内の現在のペ
ージに重ね書きさせることができる。
【0017】ベースページが変更されると、陰の書き込
みが重ね書きよりもデータ移動が小さくなる。しかし、
ページ重ね書きの例を米国特許第4,843,542 号に見出す
ことができる。この米国特許には、ローカルキャッシュ
へ書き込む前に要求するプロセッサに更新ページを共用
ロックの相当ページを持つ全てのキャッシュにコピーさ
せることによって、主記憶装置を補助記憶装置として用
いている多重プロセッサ/仮想キャッシュ装置における
一貫性を得る技術が開示されている。
みが重ね書きよりもデータ移動が小さくなる。しかし、
ページ重ね書きの例を米国特許第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) 」において記
述されている。
て、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システムと、キャッシュマネジャー
およびロックマネジャーを有するような分散システムに
おいてプロセッサの境界にまたがってロック競合メッセ
ージとキャッシュ無効化メッセージを送ることが知られ
ている。
ルに存在するIMSシステムと、キャッシュマネジャー
およびロックマネジャーを有するような分散システムに
おいてプロセッサの境界にまたがってロック競合メッセ
ージとキャッシュ無効化メッセージを送ることが知られ
ている。
【0020】
【発明が解決しようとする課題】本発明の目的はローカ
ルデータキャッシュを有する分散システムにおけるプロ
セッサ境界内でロッキングとキャッシュの無効化の管理
を全体的に同時に行うための方法を得ることである。
ルデータキャッシュを有する分散システムにおけるプロ
セッサ境界内でロッキングとキャッシュの無効化の管理
を全体的に同時に行うための方法を得ることである。
【0021】
【課題を解決するための手段】この目的は、2つまたは
それ以上のプロセッサに共通のページ(ブロック)レベ
ルロックマネジャーの通信(通知)機能の新規な使用に
より満される。この新規な使用は、ローカル(ソフトウ
ェア)データキャッシュにおいて共用されるページのア
クセスを直列化し、かつそれらのページの一貫性を確保
する。
それ以上のプロセッサに共通のページ(ブロック)レベ
ルロックマネジャーの通信(通知)機能の新規な使用に
より満される。この新規な使用は、ローカル(ソフトウ
ェア)データキャッシュにおいて共用されるページのア
クセスを直列化し、かつそれらのページの一貫性を確保
する。
【0022】読み出し操作システムに対しては、各プロ
セッサ(キャッシュマネジャー)はシステムロックマネ
ジャーから指定されたページについての共用ロックを獲
得する。指定されたページはキャッシュからアクセス可
能であるか、またはDASD指向外部記憶装置からロー
カルキャッシュにコピーされる。
セッサ(キャッシュマネジャー)はシステムロックマネ
ジャーから指定されたページについての共用ロックを獲
得する。指定されたページはキャッシュからアクセス可
能であるか、またはDASD指向外部記憶装置からロー
カルキャッシュにコピーされる。
【0023】同時書き込み操作システムの場合には、指
定されたページに対する共用ロックの全ての獲得者(キ
ャッシュマネジャー)はロックマネジャーにより通知さ
れ、そのページのコピーが対応するキャッシュマネジャ
ーにより(キャッシュ無効化された)対応するローカル
キャッシュから除去され、共用ロックが放棄された後で
独占的なロックが要求しているプロセッサ(キャッシュ
マネジャー)に対して許可され、プロセッサは変更され
たページをローカルキャッシュを介して外部記憶装置へ
書き込み、それからロック状態は共用へアトミックに降
格させられる。
定されたページに対する共用ロックの全ての獲得者(キ
ャッシュマネジャー)はロックマネジャーにより通知さ
れ、そのページのコピーが対応するキャッシュマネジャ
ーにより(キャッシュ無効化された)対応するローカル
キャッシュから除去され、共用ロックが放棄された後で
独占的なロックが要求しているプロセッサ(キャッシュ
マネジャー)に対して許可され、プロセッサは変更され
たページをローカルキャッシュを介して外部記憶装置へ
書き込み、それからロック状態は共用へアトミックに降
格させられる。
【0024】2つまたはそれ以上の書き込み要求(P1
更新がページAを書込み、P2更新がページAを消去す
るような)の間の競い合いの解決は、要求しているプロ
セッサの間またはそこで実行しているアプリケーション
の間のように、より高いレベルの論理ロッキング規約の
制定により管理される。
更新がページ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 号明細書に記載されている。
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サービスは当業者には周知であると信
ぜられる。
の出版物であるGC28ー1150、「MVS/拡張さ
れたアーキテクチャ・システム・プログラミング・ライ
ブラリィ:「システム・マクロおよび機能」( “MVS/Ex
tended Architechture System Programming Libraly:
“System Macros and Facilities")第1巻にも記載され
ている。ローカルロック管理、割り込みまたはモニタに
よるサブシステム呼出し、およびタスクの延期および待
機のような標準的なMVSサービスまたはその他のオペ
レーティングシステムサービスの詳細については省略す
る。それらのOSサービスは当業者には周知であると信
ぜられる。
【0030】CPUと、キャッシュおよび記憶装置の間
のある関係 本発明のために、ページは4096というような固定さ
れた数のデータバイトで構成される。また、「バッフ
ァ」という用語は「ページ」と同義語である。
のある関係 本発明のために、ページは4096というような固定さ
れた数のデータバイトで構成される。また、「バッフ
ァ」という用語は「ページ」と同義語である。
【0031】まず、CPUに対する編成された記憶装置
の関係が示されている図1を参照する。図示のように、
CPU1は経路11と13を介して内部記憶装置3と外
部記憶装置5をアクセスする。内部記憶装置3はプロセ
ッサ記憶装置2と拡張記憶装置4を含む。プロセッサ記
憶装置2の内容はバイトアドレス可能で、かつランダム
にアクセス可能である。記憶装置4の内容はページアド
レス可能で、かつランダムにアドレス可能である。外部
記憶装置5は1つまたは複数のDASDを有し、CPU
1で実行しているアプリケーションにより参照される情
報のページを記憶する。
の関係が示されている図1を参照する。図示のように、
CPU1は経路11と13を介して内部記憶装置3と外
部記憶装置5をアクセスする。内部記憶装置3はプロセ
ッサ記憶装置2と拡張記憶装置4を含む。プロセッサ記
憶装置2の内容はバイトアドレス可能で、かつランダム
にアクセス可能である。記憶装置4の内容はページアド
レス可能で、かつランダムにアドレス可能である。外部
記憶装置5は1つまたは複数のDASDを有し、CPU
1で実行しているアプリケーションにより参照される情
報のページを記憶する。
【0032】典型的には、CPUプロセッサを呼出すア
プリケーションは、キャッシュに対するページの仮想/
線形空間アドレスまたは実空間アドレスによりページを
参照する。これに関して、キャッシュ9はソフトウェア
またはハードウェアにより実現できる。ソフトウェアに
より実現されるものとすると、キャッシュは内部記憶装
置3の内部の任意の所に配置できる。ページをキャッシ
ュ9において利用できないとすると、拡張記憶装置4ま
たは外部記憶装置5をアクセスする必要がある。
プリケーションは、キャッシュに対するページの仮想/
線形空間アドレスまたは実空間アドレスによりページを
参照する。これに関して、キャッシュ9はソフトウェア
またはハードウェアにより実現できる。ソフトウェアに
より実現されるものとすると、キャッシュは内部記憶装
置3の内部の任意の所に配置できる。ページをキャッシ
ュ9において利用できないとすると、拡張記憶装置4ま
たは外部記憶装置5をアクセスする必要がある。
【0033】外部記憶装置のI/O境界を横切って多数
のページがアクセスされる場合には、それらのページを
前記米国特許第4,207,600 号明細書に開示されている方
法に従って処理できる。挿入句的に、内部記憶装置に対
してアクセスが行われると、アクセスが終るまでプロセ
ッサは待つ。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を介してキャッシュへコピーされ、また
はリフレッシュされることに注目されたい。
ャッシュマネジャーの間の関係 次に、第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
の間に直接経路を設けるためのチャネル間アダプタを用
いることにより、分散システムまたは疎結合システムの
定義を変えるだろう。
をプロセッサ1の内部に設けることができ、かつそうす
ると便利である。また、プロセッサ2と3内のローカル
キャッシュマネジャーの間のプロセッサ1内のロックマ
ネジャーとの通信は外部記憶装置内の「郵便受け」によ
り好ましく表現できる。すなわち、外部記憶装置内のア
ドレスは、メッセージの送信または受信のために、ロッ
クマネジャーとキャッシュマネジャーにより定期的にポ
ールされる。高速の通信方法は、前記米国特許第3,400,
371 号および第4,207,609 号に記載されているシステム
370アーキテクチャに記載されているように、CPU
の間に直接経路を設けるためのチャネル間アダプタを用
いることにより、分散システムまたは疎結合システムの
定義を変えるだろう。
【0041】ロックと、ロックの管理とはシステム内の
種々の論理レベルにおいて起り得ることを理解すべきで
ある。たとえば、アクセスを確実に行うため、トランザ
クション処理のため、および書き込み先行記録関係デー
タベース装置における細分性を変えるためにアプリケー
ションレベルにおけるロックが米国特許第4,716,528号
明細書に記載されている。本発明の焦点は分散システム
におけるデータキャッシュ指向ページレベルロッキング
および一貫性である。
種々の論理レベルにおいて起り得ることを理解すべきで
ある。たとえば、アクセスを確実に行うため、トランザ
クション処理のため、および書き込み先行記録関係デー
タベース装置における細分性を変えるためにアプリケー
ションレベルにおけるロックが米国特許第4,716,528号
明細書に記載されている。本発明の焦点は分散システム
におけるデータキャッシュ指向ページレベルロッキング
および一貫性である。
【0042】アルゴリズム的に表された本発明の方法 本発明の方法は下記のアルゴリズム的方策を意図するも
のである。 (a)ページを読み出し、かつキャッシュする時は常
に: 1.キャッシュ登録簿索引オーダーとして仮想外部記憶
装置アドレス(VESA)を用いて、ページがキャッシ
ュ内にないことを確かめる。 2.VESAをロック名として用いて共用ロックを得
る。 3.ロックが許可されないとすると、それが許可される
ことを示す信号を待つ。 4.ページをキャッシュへ読み込み、キャッシュ登録簿
を更新する。 5.プロセッサで実行しているアプリケーションへペー
ジを送る。
のである。 (a)ページを読み出し、かつキャッシュする時は常
に: 1.キャッシュ登録簿索引オーダーとして仮想外部記憶
装置アドレス(VESA)を用いて、ページがキャッシ
ュ内にないことを確かめる。 2.VESAをロック名として用いて共用ロックを得
る。 3.ロックが許可されないとすると、それが許可される
ことを示す信号を待つ。 4.ページをキャッシュへ読み込み、キャッシュ登録簿
を更新する。 5.プロセッサで実行しているアプリケーションへペー
ジを送る。
【0043】(b)ページが書き込まれ、キャッシュさ
れた時は常に: 1.VESAについての独占的ロックを獲得する。ペー
ジが既にキャッシュされているとすると、ロック状態を
共用から独占使用へアトミックに変換せねばならない。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの内容をキャッシュ内に置く。 4.ページの新しい内容をDASD補助記憶装置へ書き
込む。 5.ロック状態を独占使用から共用へ変える。同じペー
ジを更新することを求めている別のプロセスが、ロック
状態の変化中に独占ロックを得られないようにするため
に、それはアトミックに行わなければならない。
れた時は常に: 1.VESAについての独占的ロックを獲得する。ペー
ジが既にキャッシュされているとすると、ロック状態を
共用から独占使用へアトミックに変換せねばならない。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの内容をキャッシュ内に置く。 4.ページの新しい内容をDASD補助記憶装置へ書き
込む。 5.ロック状態を独占使用から共用へ変える。同じペー
ジを更新することを求めている別のプロセスが、ロック
状態の変化中に独占ロックを得られないようにするため
に、それはアトミックに行わなければならない。
【0044】(c)ページが書き込まれて、キャッシュ
させられない時は常に: 1.VESAについての独占ロックを得る。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの新しい内容をDASD補助記憶装置へ書き
込む。 4.ロック状態を独占使用からフリーへ変える。
させられない時は常に: 1.VESAについての独占ロックを得る。 2.ロックが直ちに許可されなかったとすると、それが
許可されるまで待つ。この期間中に他のキャッシュが無
効にされる。 3.ページの新しい内容をDASD補助記憶装置へ書き
込む。 4.ロック状態を独占使用からフリーへ変える。
【0045】(d)ページがキャッシュから捨てられた
時は、常に: 1.ページを捨て、キャッシュ登録簿を更新する。 2.VESAでロックを放棄する。
時は、常に: 1.ページを捨て、キャッシュ登録簿を更新する。 2.VESAでロックを放棄する。
【0046】(e)ページが要求され、キャッシュ内で
見出された時は常に: 1.キャッシュ登録簿をVESAによりアクセスする。 2.ページを要求しているアプリケーションへコピーす
る。
見出された時は常に: 1.キャッシュ登録簿をVESAによりアクセスする。 2.ページを要求しているアプリケーションへコピーす
る。
【0047】(f)競合の通知が共用ロックのロックホ
ルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の参照が対象とするページに関して処理されてい
るかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
ルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の参照が対象とするページに関して処理されてい
るかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
【0048】(g)競合の通知が独占的ロックのロック
ホルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の書き込み参照が対象とするページに関して処理
されているかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
ホルダにより受信された時は常に: 1.VESAによりキャッシュ登録簿をアクセスし、他
の任意の書き込み参照が対象とするページに関して処理
されているかどうかを確かめる。 2.全ての活動的な要求が終るまで待つ。 3.キャッシュとキャッシュ登録簿からページを除去す
る。 4.VESAについてのロックを放棄する。
【0049】本発明の方法の図示された実例 ロック要求に おいて活動およびデータの動きが、同じロ
ックテーブル、キャッシュマネジャー、および共用され
ている外部記憶装置アーキテクチャの引き続く説明にお
いて現れるであろうような、いくつかの読み出し/書き
込みシナリオにより本発明の方法を説明することにす
る。
ックテーブル、キャッシュマネジャー、および共用され
ている外部記憶装置アーキテクチャの引き続く説明にお
いて現れるであろうような、いくつかの読み出し/書き
込みシナリオにより本発明の方法を説明することにす
る。
【0050】ここで図2を参照する。グローバルロック
テーブルと、すべてのキャッシュマネジャーの登録簿が
クリアされていると仮定する。プロセッサ1で実行され
ているアプリケーションがページAを読み出すことを希
望したと仮定する。キャッシュマネジャー17により維
持されている登録簿へのアクセスはそれが存在しないこ
とを明らかにする。この点において、キャッシュマネジ
ャーはグローバルロックマネジャーから共用ロックを求
める。ページAについての共用ロックがプロセッサ1
(キャッシュマネジャー17)に対して許可されると、
ロックテーブル15への入力が行われる。それから、第
3図に示すように、DASD23から要求しているキャ
ッシュへページAがスワップインされる。
テーブルと、すべてのキャッシュマネジャーの登録簿が
クリアされていると仮定する。プロセッサ1で実行され
ているアプリケーションがページAを読み出すことを希
望したと仮定する。キャッシュマネジャー17により維
持されている登録簿へのアクセスはそれが存在しないこ
とを明らかにする。この点において、キャッシュマネジ
ャーはグローバルロックマネジャーから共用ロックを求
める。ページAについての共用ロックがプロセッサ1
(キャッシュマネジャー17)に対して許可されると、
ロックテーブル15への入力が行われる。それから、第
3図に示すように、DASD23から要求しているキャ
ッシュへページAがスワップインされる。
【0051】ここで、プロセッサ2で実行されているア
プリケーションもページAを読み出すことを希望してい
ると仮定する。ページAがそれのローカルキャッシュ登
録簿19内にないことをプロセッサは同様に見出す。要
求が許可され、ロックテーブル15において入力の修正
が行われると、ページAはDASD23からキャッシュ
19内へ同様にスワップインされる。これが図4に示さ
れている。
プリケーションもページ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に示されている。
ケーションがページ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に示
されている。
ているアプリケーションにより)ページAを修正すなわ
ち更新し、変更されたページをDASDおよびプロセッ
サ2のキャッシュ19へ書き戻す。それからローカルキ
ャッシュマネジャー19がページAについてのロックを
独占的から共用へ降格することをロックマネジャーに要
求する。ロックが降格された時の作業の状態が図6に示
されている。
【0054】また更に、プロセッサ1と2で実行してい
るアプリケーションがページAを更新して異なる情報を
表すことをそれぞれ意図していると仮定する。たとえ
ば、ページAの現在の値が0の列であったと仮定する。
また、プロセッサ1はページAを1の列であるように書
き替え、プロセッサ2が2の列であるようにページAを
書き換えると仮定する。ページAについての共用ロック
と、0の列としてページAのコピーを有するキャッシュ
とを有するプロセッサ2の作業の最初の状態が図7に示
されている。
るアプリケーションがページ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に示されている。
ュ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からの独占的ロック要求を処理すること
により、プロセッサ2のキャッシュマネジャー19へペ
ージAについての競合について通知する。それからプロ
セッサ2はページAのそれのコピーを無効にする。プロ
セッサ1のキャッシュマネジャー17へページAにおけ
る独占的なロックが与えられる。それから、プロセッサ
1がページAを1の列としてそれのローカルキャッシュ
とDASD23へ書き込む。次に、プロセッサ1はペー
ジAにおけるそれのロックの独占的な使用から共用への
降格を確実に行う。以上説明した状態が図10と11に
それぞれ示されている。
【図1】大規模なメインフレームCPUに関連して記憶
装置の構成図。
装置の構成図。
【図2】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図3】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図4】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図5】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図6】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図7】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図8】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図9】ページの非同期コピーのページアクセスとキャ
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
ッシュ無効化の並行管理に関して、分散システムにおけ
る多重CPUの全体的なロックマネジャーのロックテー
ブルとローカルキャッシュマネジャーの間の関係を示す
図。
【図10】ページの非同期コピーのページアクセスとキ
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重CPUの全体的なロックマネジャーのロックテ
ーブルとローカルキャッシュマネジャーの間の関係を示
す図。
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重CPUの全体的なロックマネジャーのロックテ
ーブルとローカルキャッシュマネジャーの間の関係を示
す図。
【図11】ページの非同期コピーのページアクセスとキ
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重CPUの全体的なロックマネジャーのロックテ
ーブルとローカルキャッシュマネジャーの間の関係を示
す図。
ャッシュ無効化の並行管理に関して、分散システムにお
ける多重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)
- 【請求項1】共用外部記憶装置を有し、各プロセッサ
が、オペレーティング・システムと、プログラム及びデ
ータページのための内部記憶装置と、ローカルキャッシ
ュ及びキャッシュマネジャーと、上記内部記憶装置に置
かれたプログラムを実行し、上記プログラムにおける読
み出し命令及び書き込み命令に応じ、上記読み出し命令
及び書き込み命令で指定されたページが上記ローカルキ
ャッシュに存在するか否かをオペレーティング・システ
ムに上記キャッシュマネジャーから確認させ、存在しな
い場合には、上記オペレーティング・システムに共用外
部記憶装置をアクセスさせ、上記共用外部記憶装置に存
在する上記指定されたページを上記ローカルキャッシュ
にコピーさせる手段とを有するシステムにおいて、対応
するプロセッサのローカルキャッシュに共通のページへ
のアクセスを直列化し、一貫性を確保する方法であっ
て、 (a)第1のプロセッサの所定のオペレーティング・シ
ステムによって、ロックマネジャーを定義するステップ
であって、上記ロックマネジャーは、共用ロック及び独
占的ロックを条件付きで許可し、そのロックの状態をア
トミックに変更し、ロック要求を待ち行列に入れ、ロッ
クの許可を要求元へ通知し、ロックが競合していること
を全てのロックホルダに通知し、上記条件付き許可は、
読み出し命令または書き込み命令を実行し、上記命令に
よって指定されたページがキャッシュに現に格納されて
いる、または格納中であるプロセッサのキャッシュマネ
ジャーにのみに、上記ロックマネジャーによって与えら
れる許可または通知である、ステップと、 (b)要求プロセッサのオペレーティング・システムを
通じて発行された読み出し命令の各々に応じて、要求プ
ロセッサのキャッシュマネジャーによって上記ロックマ
ネジャーから指示されたページについて共用ロックを獲
得し、上記要求プロセッサのローカルキャッシュ中の指
定されたページをアクセスするか、または、上記指定さ
れたページを共用外部記憶装置から上記要求プロセッサ
のローカルキャッシュにコピーするステップと、 (c)要求プロセッサのオペレーティング・システムを
通じて発行された書き込み命令の各々に応じて、ロック
マネジャーによって指定されたページ上の共用ロックの
ロックホルダになっている要求プロセッサ以外のプロセ
ッサのキャッシュマネジャーにのみ通知し、通知された
ローカルキャッシュから指定されたページのコピーを削
除し、共用ロックを放棄し、要求プロセッサのキャッシ
ュマネジャーに指定されたページ上の独占的ロックを許
可し、要求プロセッサのローカルキャッシュを通じて変
更されたまたは置き換えられたページを共用外部記憶装
置に書き、要求プロセッサのキャッシュマネジャーのロ
ック状態を独占的から共用に降格するステップとを含む
上記方法。 - 【請求項2】ロック状態のアトミックな変更には、現在
のロック状態を放棄せずに、現在のロックホルダによっ
てロック状態を変更することを含む、請求項1に記載の
方法。
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)
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)
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 |
-
1990
- 1990-03-14 US US07/493,581 patent/US5226143A/en not_active Expired - Fee Related
-
1991
- 1991-02-14 JP JP3042612A patent/JP2603369B2/ja not_active Expired - Lifetime
- 1991-03-11 EP EP19910302024 patent/EP0447160A3/en not_active Withdrawn
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 |