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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明は分散システムにおけるコ
ンピュータ記憶機構を管理する方法、特に第1および第
2データキャッシュ間に常駐するページのコピーと共用
外部記憶機構における元のページとの一致性を保証しつ
つページ許可ロックおよび未解決ロックの数の両方を最
少にする方法に関する。
ンピュータ記憶機構を管理する方法、特に第1および第
2データキャッシュ間に常駐するページのコピーと共用
外部記憶機構における元のページとの一致性を保証しつ
つページ許可ロックおよび未解決ロックの数の両方を最
少にする方法に関する。
【0002】
【従来の技術及び課題】以下に分散システムにおけるロ
ックおよびキャッシュ管理に関する概念と基準を要約す
る。
ックおよびキャッシュ管理に関する概念と基準を要約す
る。
【0003】分散システム、CPUおよびいくつかのオ
ペレーティング構成要件 本発明における「分散システム」はDASD型外部記憶
サブシステムへの共用アクセスを有する2個以上のプロ
セッサを含む。そのようなシステムの夫々のCPUすな
わちプロセッサは一般に局所オペレーティングシステム
(OS)、RAM型内部記憶装置、プロセッサの内部記
憶装置で動作的に形成される。局所インストラクション
およびデータキャッシュ、上記の共用アクセス外部記憶
装置およびロックおよびキャッシュ資源管理プログラム
を含む。CPUにおいて実行されるアプリケーション
(処理/タスク)はOSにより読取および書込動作を発
生する。一方この読取および書込動作はデータキャッシ
ュに常駐するページまたは共用外部記憶装置からこのデ
ータキャッシュへと再生されるページに対し登録簿でロ
ック可能なアクセスパスをつくるためにデータキャッシ
ュおよびロック資源マネージャを利用する。
ペレーティング構成要件 本発明における「分散システム」はDASD型外部記憶
サブシステムへの共用アクセスを有する2個以上のプロ
セッサを含む。そのようなシステムの夫々のCPUすな
わちプロセッサは一般に局所オペレーティングシステム
(OS)、RAM型内部記憶装置、プロセッサの内部記
憶装置で動作的に形成される。局所インストラクション
およびデータキャッシュ、上記の共用アクセス外部記憶
装置およびロックおよびキャッシュ資源管理プログラム
を含む。CPUにおいて実行されるアプリケーション
(処理/タスク)はOSにより読取および書込動作を発
生する。一方この読取および書込動作はデータキャッシ
ュに常駐するページまたは共用外部記憶装置からこのデ
ータキャッシュへと再生されるページに対し登録簿でロ
ック可能なアクセスパスをつくるためにデータキャッシ
ュおよびロック資源マネージャを利用する。
【0004】内部および外部記憶装置 速度の上昇と共に記憶装置のコストは急激に上昇するか
ら、多くのコンピュータシステムは物理的な記憶サブシ
ステムを多数の能力レベルへと分割している。これらレ
ベルの内の、DASDおよびテープのようなものは共用
アクセス周辺I/O装置として扱われており、そして非
同期パスを介してアクセスされる。RAMやキャッシュ
のような他のレベルはシステムハードウェアにより直接
に扱われ内部記憶装置の部分として同期パスを介してア
クセスされる。用語「内部記憶装置」は1回の読取また
は書込転送についてランダムアドレス可能な記憶装置の
部分を意味する。IBMシステムでは内部記憶装置は拡
張(「記憶拡張機構」)を除きバイトアドレス可能であ
る。記憶拡張機構はブロックまたはページアドレス可能
(4096バイト/ページ)型でランダムにアクセスさ
れる。これはLRUリアルメモリバックドページング記
憶装置として管理される。用語「外部記憶装置」はラン
ダムにアドレス可能ではなくDASDによるごとくに直
接にアクセスしなければならない記憶装置の大容量部分
(bulk portion)を意味する。
ら、多くのコンピュータシステムは物理的な記憶サブシ
ステムを多数の能力レベルへと分割している。これらレ
ベルの内の、DASDおよびテープのようなものは共用
アクセス周辺I/O装置として扱われており、そして非
同期パスを介してアクセスされる。RAMやキャッシュ
のような他のレベルはシステムハードウェアにより直接
に扱われ内部記憶装置の部分として同期パスを介してア
クセスされる。用語「内部記憶装置」は1回の読取また
は書込転送についてランダムアドレス可能な記憶装置の
部分を意味する。IBMシステムでは内部記憶装置は拡
張(「記憶拡張機構」)を除きバイトアドレス可能であ
る。記憶拡張機構はブロックまたはページアドレス可能
(4096バイト/ページ)型でランダムにアクセスさ
れる。これはLRUリアルメモリバックドページング記
憶装置として管理される。用語「外部記憶装置」はラン
ダムにアドレス可能ではなくDASDによるごとくに直
接にアクセスしなければならない記憶装置の大容量部分
(bulk portion)を意味する。
【0005】資源管理プログラム Adison-Wesley 出版社1981年版,ザ システムプロ
グラミングシリーズ,「オペレーティングシステムズ」
の資源管理に関する第9章に示されるように、用語「資
源管理プログラム」はCPUにおいて限定されそして資
源のアクセス可能性およびシステムにおけるその物理的
表現に関する一組の属性を与えられるソフトウェアOS
構成を意味する。上記文献では更に、これに関するオペ
レーティングシステムの機能がプロセスにより有利に扱
われるアブストラクト資源からなるアブストラクトマシ
ンを限定することであるとされている。このように、資
源の技術的経済的使用とコヒーレンスは資源管理プログ
ラムにより調整される。また、資源管理プログラムは
「モニタ」とも表現しうる。モニタも資源のタイプに関
連した一群の手順を含むソフトウェアOS構成である。
これは資源を割振りそしてそれに対する基準を制御する
ものである。更に、各モニタは関連する資源についての
情報を含む任意のテーブルまたは他の構造への排他的ア
クセスを有する。モニタの特徴は、それが公的使用のた
めに設計されるがモニタによる以外はアクセスしえない
データ部分を含むことである。
グラミングシリーズ,「オペレーティングシステムズ」
の資源管理に関する第9章に示されるように、用語「資
源管理プログラム」はCPUにおいて限定されそして資
源のアクセス可能性およびシステムにおけるその物理的
表現に関する一組の属性を与えられるソフトウェアOS
構成を意味する。上記文献では更に、これに関するオペ
レーティングシステムの機能がプロセスにより有利に扱
われるアブストラクト資源からなるアブストラクトマシ
ンを限定することであるとされている。このように、資
源の技術的経済的使用とコヒーレンスは資源管理プログ
ラムにより調整される。また、資源管理プログラムは
「モニタ」とも表現しうる。モニタも資源のタイプに関
連した一群の手順を含むソフトウェアOS構成である。
これは資源を割振りそしてそれに対する基準を制御する
ものである。更に、各モニタは関連する資源についての
情報を含む任意のテーブルまたは他の構造への排他的ア
クセスを有する。モニタの特徴は、それが公的使用のた
めに設計されるがモニタによる以外はアクセスしえない
データ部分を含むことである。
【0006】ロックおよびロック管理 上記文献によればロック機能はプロセッサ以外の少くと
も1つの選ばれたシステム資源へのプロセスによるアク
セスを順次化することである。本発明におけるモニタと
してのロック管理プログラムは他の資源の内、キャッシ
ュに記憶されたページへのアクセスを制御するためのソ
フトウェア構成である。これは一般にページおよび登録
簿間のそして特に複数の局所データキャッシュを有する
分散システムにおける同一ページの改定されたものの間
のコヒーレンス要求により与えられる。IBMシステム
/370で用いられるMVSのようなオペレーティング
システムはシステム内の種々の資源についてのロックの
階層を含む。ロックは少くともネーム、スコープおよび
排他性の関数である。スコープについては大域ロックが
全システムまたは全資源に影響する。他方、記憶コンテ
キストにおける局所ロックは単一アドレススペースまた
は単一ページまたはページ群にのみ影響する。ロックは
排他的かあるいは共用しうる。メモリまたは記憶装置に
おけるページについての共用ロックはしばしば読取およ
びコピー操作に関連づけられ、排他ロックは書込/更新
および転送操作に関連づけられる。またロックはスコー
プ、排他性あるいはその両方において小きざみに進めら
れあるいは落される。タスクまたはプロセスからキャッ
シュへのアクセスパスをつくる部分としてキャッシュ管
理プログラムか場合により局部ロック管理プログラムま
たは大域ロック管理プログラムをアクセスする。アクセ
ス要求の性質とスコープおよびロックの現在の状態によ
り、その要求は全体としてあるいは変更されたフォーム
で許可されあるいは拒否される。キャッシュおよびロッ
ク管理プログラムを含む資源管理プログラムはそれら資
源の現在の制御状態を示すために種々のテーブルを利用
する。任意の特定のインスタンスにおけるロックの許
可、変更または拒否のプロセスにはロック管理プログラ
ムがそのテーブルにアクセスしてその現在の状態を解釈
する必要がある。何らかの理由でロック状態が変化すれ
ば、ロック管理プログラムはその変化を反映すべくロッ
クテーブルを変えなくてはならない。
も1つの選ばれたシステム資源へのプロセスによるアク
セスを順次化することである。本発明におけるモニタと
してのロック管理プログラムは他の資源の内、キャッシ
ュに記憶されたページへのアクセスを制御するためのソ
フトウェア構成である。これは一般にページおよび登録
簿間のそして特に複数の局所データキャッシュを有する
分散システムにおける同一ページの改定されたものの間
のコヒーレンス要求により与えられる。IBMシステム
/370で用いられるMVSのようなオペレーティング
システムはシステム内の種々の資源についてのロックの
階層を含む。ロックは少くともネーム、スコープおよび
排他性の関数である。スコープについては大域ロックが
全システムまたは全資源に影響する。他方、記憶コンテ
キストにおける局所ロックは単一アドレススペースまた
は単一ページまたはページ群にのみ影響する。ロックは
排他的かあるいは共用しうる。メモリまたは記憶装置に
おけるページについての共用ロックはしばしば読取およ
びコピー操作に関連づけられ、排他ロックは書込/更新
および転送操作に関連づけられる。またロックはスコー
プ、排他性あるいはその両方において小きざみに進めら
れあるいは落される。タスクまたはプロセスからキャッ
シュへのアクセスパスをつくる部分としてキャッシュ管
理プログラムか場合により局部ロック管理プログラムま
たは大域ロック管理プログラムをアクセスする。アクセ
ス要求の性質とスコープおよびロックの現在の状態によ
り、その要求は全体としてあるいは変更されたフォーム
で許可されあるいは拒否される。キャッシュおよびロッ
ク管理プログラムを含む資源管理プログラムはそれら資
源の現在の制御状態を示すために種々のテーブルを利用
する。任意の特定のインスタンスにおけるロックの許
可、変更または拒否のプロセスにはロック管理プログラ
ムがそのテーブルにアクセスしてその現在の状態を解釈
する必要がある。何らかの理由でロック状態が変化すれ
ば、ロック管理プログラムはその変化を反映すべくロッ
クテーブルを変えなくてはならない。
【0007】キャッシュおよびキャッシュ無効化機構 「キャッシュ」はソフトウェア資源またはハードウェア
資源として形成しうる。これはバッファ内のページのイ
ンデクス可能LRU順の集合として定義される。これは
一般にアクセス時間を短縮するためにデータまたは命令
へのパス内に置かれる。ソフトウェア構成として与えら
れる場合にはプロセッサの内部記憶装置内の任意のとこ
ろにキャッシュを置くことができる。他方、ハードウェ
アキャッシュの一例では米国特許第4612612号明
細書に示されている。ソフトウェア型およびハードウェ
ア型の両方において、キャッシュ管理プログラムはキャ
ッシュ登録簿およびページテーブルによりキャッシュを
制御する。ここで用語「キャッシュ無効化」はモニタと
してのキャッシュ管理プログラムがキャッシュ登録簿か
ら「汚れたページ」を除去することまたはそこに配置さ
れたネーム付きのページが無効であることの表示を与え
ることを意味する。あるいはキャッシュ管理プログラム
が更新されたページをキャッシュ内の現在のページの上
に重ね書きさせるようにすることが出来る。ベースペー
ジが他のデータパスにおいて変えられるときに生じる登
録簿の変化の実行は重ね書きに対するデータの動きの少
い意図的変更とに生じる。しかしながらページ重ね書き
の一例が米国特許第4843542号明細書に示されて
いる。この技術ではバッキング記憶装置としてメインメ
モリを用いる多プロセッサ/仮想キャッシュシステムに
おいて局所キャッシュへの書込みの前に共用ロックの等
価性を保持するすべてのキャッシュに要求元プロセッサ
がページ更新をコピーすることにより一貫性を得る。
資源として形成しうる。これはバッファ内のページのイ
ンデクス可能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)キャッシュ無効化による、
異なるキャッシュにおける同一ページのコピー内のコヒ
ーレンスの制御が示されている。
データベース・オペレーティングシステムズ」のページ
394〜481の第3章「オペレーティングシステム−
アンアドバンスドコース」に関係的データベースアクセ
スに適用されたプロセッサ要求に応じてロック管理プロ
グラムの多変数ロック関数としてのロックの許可,保存
および除去が述べてある。このロック関数はスコープ
(粗/細グレイン)、タイプ(排他/共用)、およびク
ラス(読取または書込または両方)を含む。米国特許第
4716528号明細書は同時性とロックの細分性のト
レード・オフ関係を管理するための座標化されたロック
限界対を利用する方法を開示している。第1限界は資源
当りの小さい細分性ロックの数に置かれる。第2限界は
各プロセスに割当てうるロックの数に置かれる。第1数
の小さいロックとなると、この方法はこれら小さいロッ
クを取り消して全資源に1個のロックのみを許可する
(ロックエスカレーション)。一つのプロセスが第2限
界を越える付加ロックを要求するときそのロックは拒絶
される。アソシエーション・フォー・コンピューティン
グ・マシナリの「コンピューティング・サーベイス」第
14巻第3号,1982年9月の頁473〜530の
「キャッシュ・メモリーズ」には(a)同一データを共
用するすべてのキャッシュへの更新の「ブロード・キャ
スト・ライツ」または(b)キャッシュ無効化による、
異なるキャッシュにおける同一ページのコピー内のコヒ
ーレンスの制御が示されている。
【0009】本発明の目的は局所キャッシュに記憶され
あるいは外部記憶装置からキャッシュに再生される登録
簿ロック可能ページを介してのアクセスパスをつくる際
に複数のプロセッサに限定される動作時プロセスにより
利用されるロックの数とそれらの管理を最少にする方法
を提供することである。本発明の他の目的はキャッシュ
の内容を共用外部記憶装置(バッキング記憶装置)と一
致させそしてそれに関連する付帯事項を最少にする方法
を提供することである。
あるいは外部記憶装置からキャッシュに再生される登録
簿ロック可能ページを介してのアクセスパスをつくる際
に複数のプロセッサに限定される動作時プロセスにより
利用されるロックの数とそれらの管理を最少にする方法
を提供することである。本発明の他の目的はキャッシュ
の内容を共用外部記憶装置(バッキング記憶装置)と一
致させそしてそれに関連する付帯事項を最少にする方法
を提供することである。
【0010】
【課題を解決するための手段及び作用】短実行ではペー
ジは分散システムのプロセッサの内の1個において実行
されている1つのアプリケーションにより極めて頻繁に
参照されるものである。これはそのシステム内での使用
の局所性を与える。また長実行タスク指名におけるアプ
リケーションは共用可能ページについて極めて頻繁に参
照を読取るものである。
ジは分散システムのプロセッサの内の1個において実行
されている1つのアプリケーションにより極めて頻繁に
参照されるものである。これはそのシステム内での使用
の局所性を与える。また長実行タスク指名におけるアプ
リケーションは共用可能ページについて極めて頻繁に参
照を読取るものである。
【0011】これらの事実にもとづきこの方法は参照ア
クティビティのスタート時に大きな(粗細分化)ロック
をつくることにより階層関係にあるページへの排他的ア
クセスを得るプロセッサを含んでいる。これは(1)他
のキャッシュにコピーがないためにキャッシュが無効に
なることおよび(2)同一のプロセッサにより同一のツ
リー構成の登録簿内のページへのかなりの数の以降の従
属ロックの処理、を回避する。
クティビティのスタート時に大きな(粗細分化)ロック
をつくることにより階層関係にあるページへの排他的ア
クセスを得るプロセッサを含んでいる。これは(1)他
のキャッシュにコピーがないためにキャッシュが無効に
なることおよび(2)同一のプロセッサにより同一のツ
リー構成の登録簿内のページへのかなりの数の以降の従
属ロックの処理、を回避する。
【0012】詳細に述べると、この方法は次の互いに排
他的である次のいずれかの段階を含む: (a) 第1プロセッサの予定ページへの書込動作に応
じそして第2プロセッサによるそのページについての同
期ロックのないときに、参照ページを含むページの階層
について上記第1プロセッサに排他的粗細分化ロックを
許可し、第1プロセッサキャッシュにおける動作を実行
し、そして参照されたページをこの第1プロセッサキャ
ッシュからエージングする、または (b) 第1プロセッサによる予定のページについての
同時ロックのないときそのページに対する第2プロセッ
サによる書込動作に応じて第1プロセッサキャッシュに
あるそのページのコピーを無効にさせ、第1プロセッサ
ロックを解放し、第2プロセッサに排他的微細分化ロッ
クを許可し、第2プロセッサキャッシュにおいて動作を
実行しそして第2プロセッサロックを共用に格下げす
る。段階(a)については、第1プロセッサによる同一
または粗細分化ロックのスコープ内の他のページへの以
降の読取/書込参照はロックを加えることなくそしてロ
ック(テーブル)管理処理を行うことなくなすことが出
来る。段階(b)は他のプロセッサに共用指定ページの
排他的な微細化書込アクセスを許可する前に現ロックを
保持するプロセッサの正常バックアウトを与える。
他的である次のいずれかの段階を含む: (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サ
ービスは当業者には周知である。
オペレーティングシステムを有する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境界にまたがるアクセスがなされると
きにはこのプロセッサは取出し(アクセス)完了を待ち
ながら他のタスクまたはプロセスを呼び出す。
定した数のデータバイトからなる。また用語「バッフ
ァ」は「ページ」と同義である。図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アドレスによりインデクス
(配列)される。
2月9日)にはデータの論理的ビュー(仮想ネーム)を
乱すことなくそしてその論理ビューに物理的または実際
のバッキング記憶装置を割当てる必要なしにキャッシュ
を介して非常に大きい仮想外部アドレススペース(VE
SA)にマッピングされたアクセスページを管理する方
法が開示されている。この米国出願においては2レベル
のアドレスインジケーションがシノニム問題およびキャ
ッシュ内のページの異なる論理ビュー(ページ式ファイ
ル)に共通のページの複数コピーの両方を避けるために
用いられる。使用されたページは、仮想外部記憶装置ア
ドレス(VESA)にマッピングされそして次に外部記
憶装置内の物理的アドレスにマッピングされた線形スペ
ース内のそれらのアドレスに従って参照される。これに
関し、参照されたページはインデクスアーギュメントと
してそれらのVESAアドレスを用いてキャッシュに書
込まれる。すなわち、これらページはキャッシュに書込
まれそしてそれらのVESAアドレスによりインデクス
(配列)される。
【0016】共用資源に関するロック管理 資源の大域ロック管理を行うための方法はいくつかあ
る。最も簡単なものはプロセッサの内の1個(例えばプ
ロセッサ1)を拡張テーブルをつくる能力を含む大域ロ
ック管理プログラムの貯蔵部として指定するものであ
る。また、キャッシュ管理プログラムは、アプリケーシ
ョンがOSにより指名されそしてプロセッサ2のキャッ
シュ管理プログラムによりトラップされる読取または書
込オプションをプロセッサ2において実行するとき、そ
のキャッシュ管理プログラムがプロセッサ1のロック管
理プログラムからのロックを要求するように拡張され
る。プロセッサ間のメッセージ通信は「メールドロッ
プ」またはチャンネル−チャンネルアダプタにより行わ
れる。
る。最も簡単なものはプロセッサの内の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ページを参照され度い。
グループのネームがツリーのルートまたはノードとな
り、これらページはそのリーフとなる。そのようなペー
ジは論理的に連続な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はページまたはページグループ
ネーム、スコープ、排他性およびロックホルダのコラム
属性を含む。
えた一対のプロセッサであって一方のプロセッサが排他
粗細分ロックの下に読取と書込を行う。図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管理されることによるものである。かくし
て、フルであるキャッシュへの新しいエントリは「最も
古い」ページの除去を要求する。
リケーションがページ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に示す。
細分化ロックがプロセッサ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に
示す。
込シナリオ 図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のリネーミングは省略されている。
の書込シナリオ 図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 )の階層およびそれに応じ
て調整されたロックスコープを示すことが出来る。この
そして本発明の他の拡張は容易である。
変更(ロックホルダの不在におけるエスカレーションか
ら「一般共用」へおよび「非共用」から「読取のみ共
用」および「読取/書込共用」へ)を行う場合である。
しかしながら、この方法は、微細分書込共用が停止(ペ
ージ更新の完了のようなとき)した後にこのシステムの
ロック状態が同一のページグループ内のすべての微細分
ロックの解放と共に共用粗細分ロックにもどりうるよう
に容易に変更しうる。また「読取のみ共用」ロック状態
が終了した後に最終ロックホルダには同一のページグル
ープへ排他粗細分ロックを与えるべきである。これに関
連して、共用アクティビティが終了した事の検出は共用
読取/書込アクティビティのない状態の終了により行わ
れる。これはロックの状態の変化頻度を低下させる。使
用されるロックのスコープは粗および微細分に限られる
必要はない。一つのページグループは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プロセッサによる書込アクセスの呼び出し
を示す図。
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
【図15】図2−5のシステムの第2プロセッサにより
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第2プロセッサによる書込アクセスの呼び出し
を示す図。
【図16】図2−5のシステムの第2プロセッサにより
ページに保存される排他粗細分ロックのもとでのそのペ
ージへの第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)
- 【請求項1】各々データキャッシュを有する第1および
第2の結合したプロセッサにおいて、前記各々のデータ
キャッシュ間にある階層的に配置されたグループとして
記憶されたページのコピーと、前記各々のプロセッサに
よりアクセス可能な共用外部記憶装置内の元のページと
の一致を保証しつつ各プロセッサからのページへのアク
セスを可能とするロック操作の回数を最少にするコンピ
ュータ利用の方法であって、 (a)第1プロセッサにより指定されたページに関して
第2プロセッサによる前記指定されたページまたは前記
指定されたページを含むページグループに対するロック
のないとき、前記指定されたページについての処理動作
に応じて、前記ページグループについて第1プロセッサ
にページグループ単位のロックである粗細分ロックを許
可し、前記第1プロセッサのキャッシュにおいてその指
定されたページについての処理を行い、前記第1プロセ
ッサのキャッシュから前記指定されたページを除去する
ステップと、 (b)第1プロセッサにより指定されたページに関して
第2プロセッサによる前記指定されたページまたは前記
指定されたページを含むページグループに対するロック
のあるとき、前記指定されたページについての処理動作
に応じて、コンフリクトの通知を前記第2プロセッサに
送り、前記第2プロセッサのキャッシュ内にある前記指
定されたページのコピーを無効にし、前記第2プロセッ
サによる前記指定されたページのページ単位の共用微細
分ロックを解放し、第1プロセッサに前記指定されたペ
ージについて排他微細分ロックを許可し、前記第1プロ
セッサのキャッシュにおいて前記指定されたページにつ
いての処理を行い、前記第1プロセッサにより保持され
た前記排他微細分ロックを共用微細分ロックに変更する
ステップと、 を含む前記方法。 - 【請求項2】更に、 (c)前記ステップ(a)又はステップ(b)で処理さ
れた前記指定されたページを、第1プロセッサのキャッ
シュを介して前記共用外部記憶装置にコピーするステッ
プ、 を含む請求項1の方法。 - 【請求項3】更に、 (d)前記ステップ(b)の前記共用微細分ロックのも
とで動作する前記指定されたページの処理動作に応じ
て、前記指定されたページのページグループについて共
用粗細分ロックを許可し、前記共用微細分ロックを解放
するステップ、 を含む請求項1の方法。 - 【請求項4】更に、 (e)共用微細分ロックのもとでの前記指定されたペー
ジが変更を生じない場合に、前記指定されたページにつ
いて最後に動作した微細分ロックを保持するプロセッサ
に前記指定されたページのページグループについて排他
粗細分ロックを許可するステップ、 を含む請求項1の方法。 - 【請求項5】各々データキャッシュを有する第1および
第2の結合したプロセッサにおいて、前記各々のデータ
キャッシュ間にある階層的に配置されたグループとして
記憶されたページのコピーと、前記各々のプロセッサに
よりアクセス可能な共用外部記憶装置内の元のページと
の一致を保証しつつ各プロセッサからのページへのアク
セスを可能とするロック操作を制御する方法であって、 (a)前記第1プロセッサによる書込動作に対応する指
定ページについて前記書込動作時に前記第2プロセッサ
によるロックのないとき、前記第1プロセッサに前記指
定ページを含むページの階層単位の排他粗細分ロックを
許可し、前記第1プロセッサのキャッシュにおいて前記
書込動作を実行し、前記第1プロセッサのキャッシュか
ら前記指定ページを除去するステップと、 (b)前記第1プロセッサによる書込動作に対応する指
定ページについて前記書込動作時に前記第2プロセッサ
によるロックのあるとき、前記書込動作に応じて、前記
第2プロセッサのキャッシュ内にある前記指定ページの
コピーを無効とし、前記第2プロセッサの前記指定ペー
ジに対するロックを解放し、前記第1プロセッサにペー
ジ単位の排他微細分ロックを許可し、前記第1プロセッ
サのキャッシュ内でその動作を実行し、前記第1プロセ
ッサの前記排他微細分ロックを共用微細分ロックに格下
げするステップと、 を含む前記方法。 - 【請求項6】更に、 (c)前記指定ページを変更する書込動作に応答して変
更された指定ページを前記第1プロセッサのキャッシュ
を介して外部記憶装置にコピーするステップ、 を含む請求項5の方法。 - 【請求項7】第1及び第2プロセッサが外部記憶装置を
共用するシステムにおいて、夫々のオペレーティングシ
ステム、内部記憶装置、キャッシュ、キャッシュ管理プ
ログラム、及び共用外部記憶装置にアクセスする手段を
有するプロセッサ内のキャッシュへのアクセスを逐次化
し、前記キャッシュに共通のページ間の一致を保証する
方法であって、 (a)システム内のページと階層的に関係するページグ
ループを含むすべての資源について、共用および排他ロ
ックを前記ページグループ単位で条件付きで許可し、前
記ロック状態をページ単位の微細に変更し、全てのプロ
セッサのロック許可要求およびコンフリクトするロック
の状態を通知するステップと、 (b)前記第1プロセッサによる書込動作に対応する指
定ページについて前記第2プロセッサによる同時ロック
のないとき、前記第1プロセッサに前記指定ページを含
むページの階層単位の排他粗細分ロックを許可し、前記
第1プロセッサのキャッシュにおいて前記書込動作を実
行し、前記第1プロセッサのキャッシュから前記指定ペ
ージを除去するステップと、 (c)前記第1プロセッサによる書込動作に対応する指
定ページについて前記第2プロセッサによる同時ロック
のあるとき、前記書込動作に応じて、前記第2プロセッ
サのキャッシュ内にある前記指定ページのコピーを無効
とし、前記第2プロセッサの前記指定ページに対するロ
ックを解放し、前記第1プロセッサにページ単位の排他
微細分ロックを許可し、前記第1プロセッサのキャッシ
ュ内でその動作を実行し、前記第1プロセッサの前記排
他微細分ロックを共用微細分ロックに格下げするステッ
プと、 を含む前記方法。 - 【請求項8】前記ステップ(c)は、前記指定ページを
変更する書込動作に応答して変更された指定ページを前
記第1プロセッサのキャッシュを介して前記外部記憶装
置にコピーするステップを更に含む、請求項7の方法。
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)
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)
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 |
-
1990
- 1990-03-14 US US07/493,562 patent/US5301290A/en not_active Expired - Fee Related
-
1991
- 1991-02-14 JP JP3042523A patent/JP2575541B2/ja not_active Expired - Lifetime
- 1991-03-11 EP EP19910302026 patent/EP0447161A3/en not_active Withdrawn
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) | タスク実行方法及びキャッシュ装置の割り当て方法 |