JPH05143453A - 分散キヤツシユの階層無効化方法 - Google Patents
分散キヤツシユの階層無効化方法Info
- Publication number
- JPH05143453A JPH05143453A JP3042523A JP4252391A JPH05143453A JP H05143453 A JPH05143453 A JP H05143453A JP 3042523 A JP3042523 A JP 3042523A JP 4252391 A JP4252391 A JP 4252391A JP H05143453 A JPH05143453 A JP H05143453A
- Authority
- JP
- Japan
- Prior art keywords
- page
- processor
- lock
- cache
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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)
Abstract
(57)【要約】 (修正有)
【目的】 局所キャッシュに記憶され或は外部記憶装置
からキャッシュに再生される登録簿ロック可能ページを
介してのアクセスパスを作る際に複数のプロセッサに限
定される動作時プロセスで利用されるロックの数とそれ
らの管理を最少にする方法の提供。 【構成】 プロセッサ1と2はバス25を介してDAS
D27,29をアクセスし、夫々キャッシュ管理プログ
ラムとキャッシュ15,17を含む。キャッシュ管理プ
ログラムはパス19と21を介してロックテーブル23
と通信を行う。プロセッサ1は、大域ロック管理プログ
ラムとロックテーブル23を含み、キャッシュ15,1
7のキャッシュ管理プログラムからのロック要求をトラ
ップする。即ち、パス19はプロセッサ1の内部パスで
あり、パス21は外部記憶装置内の共用アクセスとし
て、プロセッサ間のメッセージ通信が行われるのであ
る。
からキャッシュに再生される登録簿ロック可能ページを
介してのアクセスパスを作る際に複数のプロセッサに限
定される動作時プロセスで利用されるロックの数とそれ
らの管理を最少にする方法の提供。 【構成】 プロセッサ1と2はバス25を介してDAS
D27,29をアクセスし、夫々キャッシュ管理プログ
ラムとキャッシュ15,17を含む。キャッシュ管理プ
ログラムはパス19と21を介してロックテーブル23
と通信を行う。プロセッサ1は、大域ロック管理プログ
ラムとロックテーブル23を含み、キャッシュ15,1
7のキャッシュ管理プログラムからのロック要求をトラ
ップする。即ち、パス19はプロセッサ1の内部パスで
あり、パス21は外部記憶装置内の共用アクセスとし
て、プロセッサ間のメッセージ通信が行われるのであ
る。
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)を拡張テーブルをつくる能力を含む大域ロ
ック管理プログラムの貯蔵部として指定するものであ
る。また、キャッシュ管理プログラムは、プロセッサ2
において実行するアプリケーショにより読取または書込
OPS OSにより指名されそしてプロセッサ2のキャ
ッシュ管理プログラムによりトラップされるときそのキ
ャッシュ管理プログラムがプロセッサ1のロック管理プ
ログラムからのロックを要求するように拡張される。プ
ロセッサ間のメッセージ通信は「メールドロップ」また
はチャンネル−チャンネルアダプタにより行われる。
る。最も簡単なものはプロセッサの内の1個(例えばプ
ロセッサ1)を拡張テーブルをつくる能力を含む大域ロ
ック管理プログラムの貯蔵部として指定するものであ
る。また、キャッシュ管理プログラムは、プロセッサ2
において実行するアプリケーショにより読取または書込
OPS OSにより指名されそしてプロセッサ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=0)とA2のコピーがキャッシュ1
5にあるものとしている。プロセッサ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にコピーする。これについては図1
6に示す。排他ロックのホルダとしてのプロセッサ2の
リネーミングは省略されている。
の書込シナリオ 図14において、ロックテーブル23はプロセッサ1が
グループAについて粗細分排他ロックを保持しており、
ページA1(A1=0)とA2のコピーがキャッシュ1
5にあるものとしている。プロセッサ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にコピーする。これについては図1
6に示す。排他ロックのホルダとしてのプロセッサ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)発明者 ジエイ、ハロルド、アンガー アメリカ合衆国ニユーヨーク州、モーガ ン、レイク、ノルウツド、コート(番地な し)
Claims (9)
- 【請求項1】第1および第2のルーズに結合したプロセ
ッサに対し局所的である第1および第2データキャッシ
ュ間にある階層的に配置されたグループとして記憶され
たページのコピーと上記プロセッサによりアクセス可能
な共用外部記憶装置内の元のページとの一致を保証しつ
つページ許可ロックおよび現在のロックの数を最少にす
るための、下記段階を含むコンピュータ利用の方法: (a) 第2プロセッサにより保持されるページまたは
ページグループに対するロックのないとき第1プロセッ
サにより指定されたページについて意図された動作に応
じて、上記指定ページを含むページグループについて第
1プロセッサに粗細分ロックを許可し、第1プロセッサ
キャッシュにおいてその指定ページについての動作を行
いそして第1キャッシュから上記指定ページをはずす段
階;または (b) 第2プロセッサにより保持されるページまたは
ページグループに対するロックのあるとき第1プロセッ
サにより指定されたページについて意図された動作に応
じて、コンフリクトの通知を第2プロセッサに送らせて
第2キャッシュ内にある指定ページのコピーを無効に
し、第2プロセッサロックを解放し、第1プロセッサに
指定ページについて排他微細分ロックを許可し、第1プ
ロセッサキャッシュにおいて指定ページについての動作
を行いそして第1プロセッサにより保持されたロックを
排他から共用に格下げする段階。 - 【請求項2】更に下記段階を含む請求項1の方法: (c) 前記指定ページの変更動作に応じて、その変更
された指定ページを第1キャッシュを介して外部記憶装
置にコピーする段階。 - 【請求項3】更に下記段階を含む請求項1の方法: (d) 更に共用微細分ロックのもとで動作する指定ペ
ージの変更動作に応じて、このページグループについて
粗細分共用ロックを許可しそして上記微細分ロックを解
放する段階。 - 【請求項4】更に下記段階を含む請求項1の方法: (e) 共用微細分ロックのもとでの指定ページへの変
更を生じさせない動作に応じて、そのページについて最
後に動作した微細分ロックのホルダにそのページグルー
プについて排他粗細分ロックを許可する段階。 - 【請求項5】少くとも1個がプロセス発生読取および書
込OPSの局所的または通信による指標に応じて、外部
記憶装置からとり出されあるいは読取または書込OPS
を発生するプロセッサに対し局所であるキャッシュを通
じての書込にある階層的に構成されたページへの登録簿
ロック可能なパスをつくる手段を含む少くとも第1およ
び第2プロセッサおよびそれらプロセッサによりアクセ
スされる関連外部データ記憶装置にわたり限定された動
作時プロセスにより要求される、排他または共用そして
粗細分(階層的に関連されるページをカバーする)また
は微細分(ページ)にもとづき要求プロセッサに上記手
段により許可されるロックの許可、排他性およびスコー
プを管理するための下記段階を含む方法: (a) 指定ページについて意図される第1プロセッサ
による書込動作に応じそして第2プロセッサによるその
指定ページについて同時ロックのないとき、第1プロセ
ッサに指定ページを含むページの階層についての排他粗
細分ロックを許可し、第1プロセッサキャッシュにおい
てその動作を実行しそしてこの第1プロセッサキャッシ
ュからこの指定ページを除く段階;および (b) 第2プロセッサによるその指定ページについて
同時ロックのあるときそのページについて意図される第
1プロセッサによる書込動作に応じて、第2プロセッサ
キャッシュ内にあるページのコピーを無効とし、第2プ
ロセッサロックを解放し、第1プロセッサに排他微細分
ロックを許可し、第1プロセッサキャッシュ内でその動
作を実行し、そして第1プロセッサロックを共用に格下
げする段階。 - 【請求項6】更に下記段階を含む請求項5の方法: (c) 前記指定ページを変更する書込動作に応答して
変更された指定ページを第1キャッシュを介して外部記
憶装置にコピーする段階。 - 【請求項7】外部パッキング記憶装置を共用するシステ
ムにおける、夫々オペレーティングシステムと内部記憶
装置と局所キャッシュとキャッシュ管理プログラムと共
用外部記憶装置にアクセスする手段とを有するプロセッ
サ内の局所キャッシュへのアクセスを逐次化しそしてそ
れら局所キャッシュに共通のページ間の一致を保証する
ための、下記段階を含む方法: (a) システム内のページと階層的に関係するページ
グループを含むすべての資源について、共用および排他
ロックを条件つきで許可し、そのロック状態を微細に変
更し、ロック許可要求およびコンフリクトするロックの
すべてのホルダを通知するロック管理プログラムを限定
する段階; (b) 第2プロセッサにより保持される、第1プロセ
ッサにより指定される指定ページまたはページグループ
に対するロックのないとき第1プロセッサにより指定さ
れる上記ページについて意図される動作に応答して、上
記指定ページを含むページグループについて第1プロセ
ッサに粗細分ロックを許可し、第1プロセッサキャッシ
ュ内の上記指定ページについての動作を行い、第1プロ
セッサキャッシュからこの指定ページを除く段階;およ
び (c) 第2プロセッサにより保持される、第1プロセ
ッサにより指定される指定ページまたはページグループ
に対するロックのあるとき第1プロセッサにより指定さ
れる上記ページについて意図される動作に応答して、コ
ンフリクトの通知を第2プロセッサに送り第2キャッシ
ュ内にある上記指定ページのコピーを無効にし、この第
2プロセッサのロックが排他であったとき共用に格下げ
し、第1プロセッサに上記指定ページについて排他微細
分ロックを許可し、そして第1プロセッサにより保持さ
れるロックを排他から共用に格下げする段階。 - 【請求項8】更に前記段階(c)は前記指定ページを変
更する書込動作に応答して変更された指定ページを第1
キャッシュを介して外部記憶装置にコピーする段階を更
に含む、請求項7の方法。 - 【請求項9】前記ロック状態、資源およびロックホルダ
のマニフェステーションは前記プロセッサの内の予め選
ばれた1個において動作しうる大域ロック管理プログラ
ム、大域共用登録簿、および上記プロセッサの内の選ば
れた1個について実行する自習メモリを用いた登録簿プ
ロセスに対するメッセージからなるグループから選ばれ
る請求項7の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US493562 | 1990-03-14 | ||
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143453A true JPH05143453A (ja) | 1993-06-11 |
JP2575541B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005533324A (ja) * | 2002-07-17 | 2005-11-04 | オラクル・インターナショナル・コーポレイション | モバイルアプリケーション用データをキャッシュするためのシステムおよび方法 |
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 |
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 |
DE69621263T2 (de) * | 1995-01-23 | 2002-12-19 | Compaq Computer Corp., Houston | Verteilter Datencachespeicher für Multiprozessorsystem mit Cachespeicher |
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 |
US5860137A (en) * | 1995-07-21 | 1999-01-12 | Emc Corporation | Dynamic load balancing |
US6173306B1 (en) | 1995-07-21 | 2001-01-09 | 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 |
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 |
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 |
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 |
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 |
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 |
USRE42761E1 (en) | 1997-12-31 | 2011-09-27 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US5941972A (en) * | 1997-12-31 | 1999-08-24 | 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 |
US20040230903A1 (en) * | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with associated business logic |
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 | データベース管理プログラム、方法、装置及び記録媒体 |
US8028133B2 (en) * | 2006-02-22 | 2011-09-27 | Oracle America, Inc. | Globally incremented variable or clock based methods and apparatus to implement parallel transactions |
US20070198979A1 (en) * | 2006-02-22 | 2007-08-23 | David Dice | 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 |
US9197710B1 (en) | 2011-07-20 | 2015-11-24 | Google Inc. | Temporal based data string intern pools |
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 |
WO2024172428A1 (ko) * | 2023-02-13 | 2024-08-22 | 삼성전자주식회사 | 데이터 캐싱을 위한 전자 장치 및 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1054725A (ja) * | 1964-04-06 | |||
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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005533324A (ja) * | 2002-07-17 | 2005-11-04 | オラクル・インターナショナル・コーポレイション | モバイルアプリケーション用データをキャッシュするためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0447161A2 (en) | 1991-09-18 |
US5301290A (en) | 1994-04-05 |
JP2575541B2 (ja) | 1997-01-29 |
EP0447161A3 (en) | 1993-06-02 |
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 | |
Bensoussan et al. | The Multics virtual memory: Concepts and design | |
KR0170565B1 (ko) | 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법 | |
US6970991B2 (en) | Computer system with virtual memory and paging mechanism | |
US5946711A (en) | System for locking data in a shared cache | |
EP0323013B1 (en) | Method of operating a multiprocessor system employing a shared virtual memory | |
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) | 멀티프로세서 시스템 상에서 멀티스레드 프로그램으로부터의 메모리 액세스를 관리하기 위한 방법 및 시스템 | |
Khalidi et al. | The Spring virtual memory system | |
JPH0776944B2 (ja) | 仮想索引機構 | |
Cranor et al. | The UVM virtual memory system | |
Keeton et al. | The OpenFAM API: a programming model for disaggregated persistent memory | |
US20040268084A1 (en) | Protected RAM filesystem | |
EP1971922B1 (en) | Memory architecture and access method | |
JP2829115B2 (ja) | ファイル共用方法 | |
JP3485940B2 (ja) | 仮想記憶制御装置及び方法 | |
Chang et al. | Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors | |
JP3814521B2 (ja) | データ処理方法および装置 | |
US11086660B2 (en) | Server virtual address space | |
Tzou et al. | Efficient local data movement in shared-memory multiprocessor systems | |
Saulsbury et al. | A DVSM Server for MESHIX | |
Shirriff | An Implementation of Memory Sharing and File Mapping |