JPH06243035A - コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶 - Google Patents

コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶

Info

Publication number
JPH06243035A
JPH06243035A JP5324668A JP32466893A JPH06243035A JP H06243035 A JPH06243035 A JP H06243035A JP 5324668 A JP5324668 A JP 5324668A JP 32466893 A JP32466893 A JP 32466893A JP H06243035 A JPH06243035 A JP H06243035A
Authority
JP
Japan
Prior art keywords
node
shared
cache line
communication means
inter
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.)
Pending
Application number
JP5324668A
Other languages
English (en)
Inventor
John C Hunter
ジョン・シー・ハンター
John A Wertz
ジョン・エイ・ワーツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of JPH06243035A publication Critical patent/JPH06243035A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration

Landscapes

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

Abstract

(57)【要約】 【目的】 コンピュータのクラスタ・アーキテクチャの
性能及び汎用性を向上させる。 【構成】 クラスタ・アーキテクチャに「一般化共用記
憶」を導入し、この一般化共用記憶は、共用オブジェク
トの位置付けや参照等が行なわれたときにその共用オブ
ジェクトに対して操作を加えるハードウェアで構成した
一貫性維持機構によって、一貫性を有する状態に維持さ
れる。複数のノードの各々が、プライマリ・キャッシュ
2を有する中央処理装置1と、ローカル主記憶3と、外
部一貫性維持装置(ECU)10と、それらを結合する
ノード・ローカル・バス4とを備えている。ノードどう
しはノード間ECUバス11によって接続される。EC
Uはバスを監視してキャッシュ・ライン要求を検出し、
要求されたキャッシュラインの状態に応じて一貫性維持
動作を実行する。私用記憶/共用記憶の割合をクラスタ
内の個別のノードにおいて任意に且つ動的に変化させる
ことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理技術に関し、
より詳しくは、クラスタ・アーキテクチャに用いる一般
化共用記憶に関する。
【0002】
【従来の技術】一般的に、クラスタ・アーキテクチャと
呼ばれているコンピュータ・アーキテクチャでは、複数
のノードの各々に、少なくとも1つの(そして通例は複
数の)中央処理装置(CPU)と、ローカル記憶と、入
出力装置(I/O)と、その他の要素とを装備してい
る。良好な評価を受けているクラスタ・アーキテクチャ
のうちの1つに、物理記憶アドレス空間を恒久的に2つ
の領域に分割しておくようにしたクラスタ・アーキテク
チャがあり、そこでは、分割した下半分の領域(最上位
ビット=「0」の領域)を、当該ノードに装備されてい
るプロセッサだけがアクセスすることのできるローカル
記憶とし、一方、分割した上半分の領域(最上位ビット
=「1」の領域)は共用記憶を画成するようにしてお
り、この共用記憶は物理的に集中化してあって、全ての
ノードがそれにアクセスすることができる。ある共用変
数の複数のコピーが別々のノードに保持されているとき
に、それら複数のコピーの間の一貫性を維持するための
ハードウェア機構は装備されていない。そのため一貫性
の維持は完全にソフトウェアに任されている。
【0003】以上のアーキテクチャを拡張したものが、
「Bull NH 共用バッファ・アーキテクチャ」(以後、共
用バッファ・アーキテクチャを「SBA」と略称する)
であり、その拡張とは、物理的に集中化してある共用記
憶に本来所属するデータの、ただしクラスタ内の別々の
ノードのキャッシュ記憶の中に保持されている、複数の
コピーの間の一貫性(コヒーレンシー)を維持するため
のハードウェア機構を導入したことにある。これによっ
て、別々のノードが、共用データに対するある種の操作
を互いに並行的に、より短いアクセス時間で実行できる
ようになっており、それによってアーキテクチャの性能
が改善されている。
【0004】SBAの変形構成の1つである「Bull NH
分散共用バッファ・アーキテクチャ」(以下、分散共用
バッファ・アーキテクチャを「DSBA」と略称する)
は、集中化した共用記憶に代えて分散した共用記憶を用
いており、この構成形態は、性能及び可用度、それに既
存のある種のコンピュータ製品との間の互換性という点
に関して、多くの利点を有している。私用記憶と共用記
憶との間のアドレス区分は固定されていて不変である
が、共用記憶を各コンピュータ・ノード内に複製してあ
るため、全てのノードが同時に読取りアクセスを行なう
ことができる。またハードウェアで構成した一貫性維持
機構によって、分散した夫々の記憶の中のデータどうし
の間の一貫性を維持するようにしている。
【0005】
【発明が解決しようとする課題】公知のアーキテクチャ
の変形構成である上述のアーキテクチャは、それらのい
ずれもが、私用記憶と共用記憶との間の区分を固定して
不変にしていた。この特性のために、クラスタの個々の
ノードの内部でも、また複数のノードの間でも、私用記
憶及び共用記憶を構成するに際して、そのときどきアプ
リケーション・ミックス(アプリケーションの組合せ)
の要求に適合するように、それら2通りの記憶を異なっ
た大きさに構成することが(たとえ全く不可能でないに
しても)困難であった。共用アプリケーションを実行す
るのに私用記憶を使用することはできず、一方、私用ア
プリケーションを実行するのに共用記憶を使用したなら
ば、その私用アプリケーションは不必要なコヒーレンシ
ー・トラフィックに煩わされる上に、完全性に関する問
題を生じるおそれもある。本発明はこれらの制約を克服
するものである。
【0006】従って本発明の広い目的は、改良したクラ
スタ・アーキテクチャを提供することにある。
【0007】本発明のより具体的な目的の1つは、任意
の大きさとすることができクラスタ内の任意の個数のノ
ードによって共用させることのできる不連続な共用オブ
ジェクトを保持する一般化共用記憶を用いるようにした
クラスタ・アーキテクチャを提供することにある。
【0008】本発明の更に別の具体的な目的は、クラス
タ内の全ての要素が共用記憶を極めて迅速に入手できる
ようなクラスタ・アーキテクチャを提供することにあ
る。
【0009】
【課題を解決するための手段】要約して述べるならば、
本発明の以上の目的並びにその他の目的は、クラスタ・
アーキテクチャに「一般化共用記憶」を導入することに
よって達成される。この一般化共用記憶は、共用オブジ
ェクトの位置付けや参照等が行なわれたときにその共用
オブジェクトに対して操作を加えるハードウェアで構成
した一貫性維持機構によって、一貫性を有する状態に維
持される。これによって、私用記憶/共用記憶の割合を
クラスタ内の個別のコンピュータ・ノードにおいて任意
に且つ動的に変化させることができることから、アーキ
テクチャの性能と汎用性との両方が向上する。
【0010】
【実施例】先ず最初に、従来例に係るクラスタ・アーキ
テクチャを示した、図1のハイレベルのブロック図につ
いて説明する。図1に例示したシステムは、16個の中
央処理装置(CPU)1を、各ノードが4個ずつのCP
Uを備えた4つのノードに編成した構成を有する。各C
PUは、その他のシステム構成要素との間の通信に関し
て一貫性を維持する特性を有しており、また通常そうで
あるように、プライマリ・キャッシュ2を装備してい
る。更に、各ノードはローカル共用記憶3を含んでお
り、ローカル共用記憶3は、そのノード内の夫々のCP
U1との間でプライマリ・キャッシュを介して通信を行
なう際に、ノード・ローカルな通信システムを介してそ
の通信を行ない、図示例におけるノード・ローカルな通
信システムは、ノード・ローカル・バス4である。加え
て、各々のノード・ローカル・バス4は、クラスタ共用
記憶5にも結合している。ローカル共用記憶3の各々と
クラスタ共用記憶5とは同一の大きさにしても良く、例
えばそれらを同じ「2ギガバイト」とすることができ
る。記憶をアドレスするためのアドレス構造は、次のよ
うなものであり、即ち、あるCPUが発した記憶アドレ
スの最上位ビット(MSB)が「0」であったならば、
その記憶アドレスは、そのCPUが所属しているノード
のローカル共用記憶の中に格納されている情報をアドレ
スするためのものであり、また、その記憶アドレスのM
SBが「1」であったならば、その記憶アドレスは、ク
ラスタ共用記憶の中に格納されている情報をアドレスす
るものであると定めてある。ノード間通信はI/O装置
12及びノード間バス17を介して行なわれ、通信をす
るノードどうしの間の距離がかなりのものであるなら
ば、通信パス20を用いれば良く、以上のことは全て、
当業界においては公知の事柄である。
【0011】以上に説明したアーキテクチャは、適当な
操作を行なうことによって、クラスタ共用記憶5を介し
てクラスタ内の全域において情報交換を行なえるという
利点を有する。しかしながらこのアーキテクチャには、
その利点と同時に、幾つかの短所も付随している。それ
ら短所は例えば次のようなものである。 A)私用記憶と共用記憶との区分が恒久的に固定されて
おり、そのため、実行すべきアプリケーション・ミック
スが、私用記憶を用いた方が良好に機能するアプリケー
ションと、共用記憶を用いた方が良好に機能するアプリ
ケーションとの両方を含んでいる場合には、非常な非効
率を生じることがある。 B)クラスタ共用記憶には、シングル・ポイント・オブ
・フェイリャが存在している。 C)各々のノードごとに、そのノードのためのオペレー
ティング・システムを装備しておく必要がある。 D)クラスタ共用記憶への個々のアクセスの各々ごと
に、全てのノードの記憶管理機構の同意を得る必要があ
る。
【0012】既述の如く、図1に示したアーキテクチャ
に変更を加えてシステム性能の漸増的改善を達成した変
形構成態様が幾つか存在している。それらのうち、共用
バッファ・アーキテクチャ(SBA)に該当する構成態
様としては、集中化した共用記憶に本来所属するデータ
の、ただしクラスタ内の別々のノードの夫々のキャッシ
ュ記憶の中に保持されている、複数のコピーどうしの間
の一貫性を維持するハードウェア機構を装備したものが
ある。これによって、別々のノードが、共用データに対
する複数の操作を互いに並行的に、より短いアクセス時
間で実行できるようになっているため、アーキテクチャ
の性能が向上している。また、分散共用バッファ・アー
キテクチャ(DSBA)としては、集中化した共用記憶
に代えて分散共用記憶を用いたものがあり、この構成形
態は、性能及び可用度、それに既存のコンピュータ製品
との間の互換性という点に関して、多くの利点を有して
いる。私用記憶と共用記憶との間のアドレス区分は固定
されていて不変であるが、共用記憶を各コンピュータ・
ノード内に複製してあるため、全てのノードが同時に読
取りアクセスを行なうことができる。またハードウェア
で構成した一貫性維持機構によって、分散した夫々の記
憶の中のデータどうしの間の一貫性を維持するようにし
ている。
【0013】これらに対して、本発明は、クラスタ・ア
ーキテクチャに、根本的な新機軸を提供するものであ
る。本発明を理解するには、その前に先ず、本発明の重
要な一局面である「共用オブジェクト」の概念を明確に
認識しておく必要がある。共用オブジェクトは、任意の
大きさとすることができ、また、クラスタ内の任意の個
数のノードの間で共用させることができる。複数の共用
オブジェクトの集合体によって「一般化共用記憶」が構
成され、この一般化共用記憶は、共用オブジェクトの位
置付けや参照等が行なわれたときにその共用オブジェク
トに対して操作を加えるハードウェアで構成した一貫性
維持機構によって、一貫性を有する状態に維持される。
【0014】共用オブジェクトは、共用し得るという性
質を備えたオブジェクトであると定義することができ
る。共用オブジェクトは、クラスタ内の全てのノードに
知られている。共用オブジェクトのエクステント(存続
範囲)と、アクセスを共用することを許可されているプ
ロセスとは、記述子によって明示される。共用オブジェ
クトの実現形態は、目的オペレーティング・システムの
種類によって様々に異なり、ファイルの形態とされるこ
ともあれば(例えば「Bull NH 社」の「GCOS 8」オペレ
ーティング・システム等の場合)、ストリームの形態と
されることもある(例えば「UNIX」オペレーティング・
システム等の場合)。共用オブジェクトは各ノードごと
に個別に、そのノードの仮想空間内でインスタンス化さ
れ、それによって、異なったノードの夫々のプロセスに
よって共用され得るようになる。仮想空間内でのインス
タンス化が行なわれたならば、共用オブジェクトは(例
えばコマンドによって)、分散共用記憶を用いたクラス
タの別々のノードの夫々の記憶の中で、各ノードごとに
個別に、物理的にインスタンス化することができるよう
になる。集中共用クラスタ記憶の中では、ある1つの共
用オブジェクトの幾つもの物理的なインスタンス化が行
なわれることもあり、例えば、複数の「UNIX」プロセス
の間で共用されるページをサポートする共用オブジェク
ト等がそうである。共用オブジェクトは以下のものを備
えている。 A)任意長表示の一義的名標 B)固定長表示の一義的識別子(UUID) C)アドレス可能な内部要素 D)参照許可
【0015】DSBA環境に即して考察することが、共
用オブジェクトに対するリアルタイムの操作を理解する
ための最も容易な方法である。図2を参照して説明する
と、クラスタ内の各ノード(図を見易くするために、図
2にはノードのうちの2つだけ示してあり、また各ノー
ド内のCPU1のうちの2個だけを示してある)は、外
部一貫性維持装置(External Coherency Unit:ECU)
10を装備している。ECU10は(a)そのノードの
ノード・ローカル・バス4を監視しており、そのノード
・ローカル・バス4上にその他のノードの中にも存在し
ている「共用」キャッシュ・ラインに関するコマンドが
送出されたときにそれを検出し、そして(b)それに該
当するコマンドを検出したならば、条件に従ってそのコ
マンドを(そのキャッシュ・ラインを表わす一義的識別
子を使用して)その他のノードへ例えば独立したノード
間ECUバス11等を介して転送する。(更にはポイン
ト・ツウ・ポイント接続も可能であり、そのためには、
各々のECUの中のディレクトリを用いてどのノードが
コピーを保持しているかを追跡するようにする)。一
方、その他の全てのECUが(a)ノード間ECUバス
11を監視しており、そのノード間ECUバス11上
に、それら夫々のECUのノードのローカル記憶の中に
存在しているキャッシュ・ラインに影響を及ぼすコマン
ドが送出されたときにそれを検出し、また(b)それに
該当するコマンドを検出したならば、そのコマンドを、
そのノードにおける物理タグへ変換し、そして(c)変
換したコマンドを、そのノードにおけるノード・ローカ
ル・バス上へ送出する。概念説明のための図示の具体例
では、ECU10を一般的な一貫性維持装置を用いて構
成することも可能であり、その装置において、一義的識
別子を有するキャッシュ・タグ・ディレクトリと、その
ノードで現在インスタンス化されている各「共用」キャ
ッシュ・ラインの状態を表わす一貫性状態(例えば、変
更済、専有、共用、無効)とを用いるようにすれば良
い。
【0016】具体的な動作例について説明すると、例え
ばクラスタ内の、ある1つのノードの中のある1つのC
PUが、ある1本の共用キャッシュ・ラインの内容を変
更しようとする場合、そのCPUは、何よりも先ず最初
に、専有所有権を獲得する必要がある。そのためのコマ
ンドがローカルECU10によって監視されており、も
し、そのノードが専有所有権を持っていなかったなら
ば、そのコマンドはその他の全てのノードのECUへ転
送される。すると、それらノードのうち、変更されてい
ない有効なコピーを保持していた各ノードは、(例えば
そのノードのプライマリ・キャッシュ2、及び/また
は、ローカル・メイン記憶3の中にそれまで保持してい
た)全てのローカル・コピーを無効化する。もし、ある
ノードがそのキャッシュ・ラインを「変更済」状態で保
持していたならば、そのノードは、その「変更済」状態
のキャッシュ・ラインを要求元ノードへ移転した上、そ
の移転元ノードの中でそのキャッシュ・ラインを無効化
する。これによって、その(移転された)キャッシュ・
ラインが専有的に所有されて、更新可能な状態になる。
以上の一連の一貫性維持作業により、共用オブジェクト
を参照しているプロセスは、それがどのノードにおいて
実行されているどのプロセスであっても、最新のデータ
を受け取ることができるように保証されている。
【0017】以上のアーキテクチャによれば、I/O装
置12は、ある共用オブジェクトの全て或いは一部を保
持することを割当てられているローカル物理記憶との間
で適正に作業を行なうことができる。即ち、I/O装置
12が共用記憶からの読込みを行なうときには、(その
I/O装置12が装備されているノード以外の)その他
のノードの共用記憶の中にあった最新データが自動的に
移転される。また、I/O装置12が共用記憶への書込
みを行なうときには、そのI/O装置12が装備されて
いるノードにおける専有所有権が、データの到着と共
に、自動的に獲得され、そして、I/O装置12がその
作業を完了した後には、いずれかのノードのプロセッサ
がそのデータを参照したならば、そのデータが自動的に
そのノードの記憶へ移転される。この一般化共用記憶を
採用することによって得られる利点は次のとおりであ
る。・ノードの内部でもノードどうしの間でも物理記憶
をより効率的に使用し得ることに関する利点: (1)物理的インスタンス化した私用記憶領域及び共用
記憶領域が非連続領域であっても良く、それら領域の合
計が物理記憶の大きさを超えない限り、それら領域を任
意の大きさにすることができる。 (2)同一時刻における夫々のノードの私用/共用の割
合を互いに異ならせることができる。 (3)記憶の合計の大きさを、単一のオペレーティング
・システムないしプラットフォームの物理的アドレス能
力以上にすることができる。 ・クラスタのソフトウェアが簡明化されることに関する
利点: (1)共用記憶を各ノードごとに個別に管理するため、
大域的記憶管理機構が不要であり、また、共用領域を管
理するために複数のノードが互いに協働して作業する必
要もない。 ・可用度が向上することに関する利点: (1)SBAの集中共用記憶に存在しているシングル・
ポイント・オブ・フェイリャが、ここには存在していな
い。 (2)あるノードが故障した場合に、そのノードの私用
記憶を強制的に共用可能にすることにより、別のノード
がその私用記憶領域にアクセスして故障からの回復を図
ることができる。 ・コヒーレンシー・トラフィックが軽減されることに関
する利点: (1)ノード間コヒーレンシー・トラフィックが発生す
るのは、非専有的に所有されている共用オブジェクトへ
の書込みが行なわれるときと、存在していない共用オブ
ジェクトが参照されるときとの、いずれかの場合に限ら
れる。 (2)共用オブジェクトのコピーを保持していないノー
ドからは、コヒーレンシー・トラフィックが排除されて
いる。
【0018】なお付言すると、この「分散した」一般化
共用記憶の性能は「集中化した」共用記憶の性能を凌駕
し得るものであり、なぜならここに提案した機構は、共
用データがキャッシュ方式の高速性という利点を享受し
得るようにすると同時に、伝統的なアドレス可能な記憶
をそのまま残しているからである。即ち、この機構によ
れば、個別の複数のノードが、同じ共用変数の、ただし
それら夫々のノードがみずからの中に保持しているとこ
ろの、複数のコピーを、各々のローカル・バスが発揮し
得る限りの高速でもって互いに同時に読み取ることがで
きるのである。これに対して、「Abrojo」やSB
Aに用いられている集中共用記憶は、同時に多数の読取
り要求が発せられた場合には、みずからがボトルネック
となってしまう。
【0019】「共用」し得るものか否かを検出するため
の基本的な方式として2通りの方式があり、その1つは
「ハードウェア方式」、もう1つは「ソフトウェア方
式」である。ハードウェア方式: ページ・テーブル記述語(Page Tab
le Descriptor Word:PTW)に、あるページが共用ペ
ージであるか否かを表示するための1つのビット(「共
用」ビット)を含ませておく。共用領域の参照が行なわ
れるときにはそのPTWがCPUの中に存在しており、
このCPUがノード・ローカル・バス上へ「共用」ビッ
トを送出することによって、そのノードに装備されてい
るECUに、共用領域の参照が行なわれることを通知す
る。こうすることによって、ECUを、共用ページの物
理タグに関するキャッシュとして動作させることがで
き、このECUキャッシュの中には、高頻度でアクセス
されるタグだけを実際に保持しておくようにする。参照
頻度の低いタグはECUが記憶から取り出すようにして
おく。 この方式の長所:簡明、高速、低コスト、そしてソフト
ウェア独立(即ち、ソフトウェアに左右されることがな
い)である。 この方式の短所:CPU及びバスのハードウェアに改造
を施す必要がある。
【0020】ソフトウェア方式:現在インスタンス化さ
れている共用ページのPTW(実際にはECUのエント
リ)の全てをECU内のバッファ記憶の中に保持してお
き、このECUが、監視を行なうことによって(或い
は、ECUどうしを直接接続してディレクトリを参照す
ることによって)共用キャッシュ・ラインを検出するよ
うにしておく。共用ページのインスタンス化または削除
が行なわれる度に、記憶管理ソフトウェアが、ECU内
のPTWを保持しているバッファに対して更新を施すよ
うにする。 この方式の長所:中心的なシステム・ハードウェアに改
造を施す必要がない。PTWに余分なビットを付加する
必要がない。そして「既存のハードウェアにも装備し得
る可能性を有する」。 この方式の短所:記憶管理ソフトウェアに改造を施す必
要があり、ハードウェアのコストが増大する。
【0021】これより、図3の、より詳細な具体例のブ
ロック図について説明して行く。ECU10は連想ディ
レクトリ13を含んでおり、この連想ディレクトリ13
の機能はノード・ローカル・バス4上のアドレス並びに
ノード間ECUバス11上のアドレスを常時監視するこ
とにある。ここでは、このディレクトリ13の中に、同
じECUの中のローカル記憶3内に現在物理的にインス
タンス化されている共用ページのの各々に1つずつが対
応した、ECUエントリが保持されているものとする。
ここで図6を参照して簡単に説明しておくと、ECUエ
ントリは、それが対応しているページのローカル物理ア
ドレスを包含していると共に、そのページの中に含まれ
ている複数本のキャッシュ・ライン(例えば、4096
バイトの大きさのページの中には連続した64バイトか
ら成るキャッシュ・ラインが64本存在している)の各
々に対応した一義的識別子及び一貫性状態ビット(2〜
3ビット)のビット集合を包含している。1つのECU
エントリの全体の大きさは24バイトから32バイトま
での間の大きさであり、これが1つの共用ページに対応
する。
【0022】説明を再び図3に戻し、ECU10は、非
共用のキャッシュ・ラインに関する要求のコマンドは無
視する。そのためその種のコマンドは、そのまま、ロー
カル記憶3の非共用物理空間14の中の指定された記憶
をアドレスすることになる。一方、ECU10が識別し
たコマンドが、共用キャッシュ・ラインに関するコマン
ドであった場合には、ECU10は、ECUディレクト
リ16の中に格納されているその共用キャッシュ・ライ
ンの一貫性状態(「変更済」、「専有」、「共用」、ま
たは「無効」)を調べることによって、一貫性を維持す
るためには何らかのノード間動作を行なうことが必要か
否かを判定する。そして、ノード間動作が必要であると
判定されたならば、物理アドレスを然るべき一義的識別
子に変換した上で、その変換した識別子を、該当するコ
マンドと共に、ECUバスを介してクラスタ内の他のノ
ードへ転送する。
【0023】一例として、あるCPUが、ある共用キャ
ッシュ・ラインの専有コピーを獲得しようとする場合、
そのCPUは、然るべきコマンド(例えばRTWコマン
ド等である。RTWコマンドとは「書込みを前提とした
読取り」コマンドの意味であり、これについては具体例
のシステムに関連して後に更に詳細に説明する)を、そ
のCPUが所属しているノードのノード・ローカル・バ
ス上に送出する。すると、そのノードのECU10が以
下の動作のうちのいずれかを実行する。 (1)そのキャッシュ・ラインの状態が「専有」状態ま
たは「変更済」状態であったならば、そのキャッシュ・
ラインをローカル記憶3から直接読み出して、要求元プ
ロセッサへ転送する。この場合、そのキャッシュ・ライ
ンのコピーは他のどこにも存在していないため、遠隔動
作は何も実行しない。 (2)そのキャッシュ・ラインの状態が「無効」状態で
あったならば、ノード間ECUバス11を介して他のノ
ードへRTWコマンドを送出する。ある遠隔ノードが、
そのキャッシュ・ラインを「専有」状態または「変更
済」状態で保持していたならば、その遠隔ノードは、ノ
ード間ECUバスを介してそのキャッシュ・ラインを要
求元ノードへ転送してくる(即ち、移転が行なわれ
る)。また複数のノードが、そのキャッシュ・ラインを
「共用」状態で保持していたならば、それら複数のノー
ドの全てがそのキャッシュ・ラインを送出しようとす
る。しかしながら、ECUバスの標準的な優先権ロジッ
クが、それら送出のうちの1つを選択してその他をキャ
ンセルする。更に、全ての遠隔コピー(遠隔ノードに保
持されているコピー)が「無効」状態にセットされる。 (3)そのキャッシュ・ラインの状態が「共用」状態で
あったならば、INVコマンドを他のノードへ送出する
ことによって、他のノードが夫々みずからの中に保持し
ているそのキャッシュ・ラインのコピーを「無効」状態
にセットするようにする(この場合には、要求元ノード
の中に既に現在コピーが存在しているため、移転が行な
われる必要はない)。
【0024】バスからの入力とキャッシュ・ラインの状
態との組合せが以上のものとは異なる様々なものである
場合に、夫々に一貫性を維持するために必要となるその
他のノード間動作も存在しているが、それらについて
は、後に要約して述べることにする。一貫性維持のため
の以上の処理手順は、ハードウェア・レベルで動作する
ものであり、そして、共用ページを参照するプロセス
が、それがどのノードにおいて実行中のどのプロセスで
あっても、その共用ページの全体に亙って最新のデータ
を見られるようにすることを保証するものである。
【0025】ページ・イン方式:経済性という観点から
の要請に従うならば、例えばページ・フォールトを発生
させるような参照(即ち、無効PTW)がなされたとき
等に行なう、共用ページの物理的インスタンス化は、実
際にその共用ページを参照するノードの中だけで行なわ
れることが望ましい。これに関して従来のシステムで
は、記憶管理機構ないし記憶管理ソフトウェアが、物理
ページ及びPTWのインスタンス化を行なった後に、I
/O装置に、例えば従来のI/O通信チャネル17等を
介してそのページの内容をページ・インさせるようにし
ていた。ところが、分散記憶システムの場合には、その
ページの内容が既に他のノードの中に存在している可能
性もある。そこで、記憶管理機構ないし記憶管理ソフト
ウェアは、通常のページのインスタンス化の作業を行な
うことに加えて、そのページの内容がどこかに存在して
いないかを調べるサーチも行なわせることが必要とな
る。これらのことを行なうには、(1)ECUの中に、
全てのキャッシュ・ラインに「無効」のマーキングを施
したECUページ・エントリを格納した後に、(2)ペ
ージ・フォールトを発生させた記憶位置への再度の参照
を(今度は有効PTWによって)試みるようにする。こ
れを行なったならば、その結果は(1)要求されたキャ
ッシュ・ラインが別のノードからその記憶の中のページ
・フレームへ移転されるか、或いは、(2)そのページ
はどのノードの共用記憶の中にも存在していないと判定
されるかの、いずれかとなる。結果が(2)となった場
合には、記憶管理ソフトウェアは、そのページを保持し
ている記憶装置(例えばディスク装置)へのI/Oアク
セス権をどのノードが持っているのかを判定した上で、
そのノードがI/O動作を実行してそのディスク装置か
らそのノードみずからの記憶の中へそのページをページ
・インすることを(例えば特別の割込等によって)要求
する必要がある。そのI/O動作が完了したならば、本
来実行していたソフトウェアを、問題となっているその
参照が行なわれた点から再始動させることができるよう
になり、また夫々のノードのECUが、移転によってそ
の参照を完了させることができるようになる。
【0026】ページ・アウト方式:夫々のノードにおけ
るページ置換の判断は、個々のノードごとに、他のノー
ドからは独立して行なえるようにしておくことが望まし
い。複数のノードにおいてインスタンス化されている共
用ページの場合には、例えばそのページが極めて低頻度
でしか参照されないノードがあるなら、そのノードのロ
ーカル記憶からは、そのページを除去できるようにして
おくことが望まれる。そこで、ある長さの時間に亙って
一度も参照されていない共用ページがあって、その共用
ページが変更済のものであるならば、そのページのホー
ム・ノードへ(例えば特別の割込等によって)、そのペ
ージをディスク装置18(図3)へ書込むべきことを伝
えることによって、そのページを除去できるようにして
いる。このとき、そのホーム・ノードの記憶管理ソフト
ウェアは、もし、そのページを物理的にインスタンス化
したものがホーム・ノードの中に存在していなかったな
らば、先ずそのページの物理的インスタンス化を行な
い、その後にI/O動作を開始して、そのページの中の
各々のキャッシュ・ラインを参照して行きながらそのペ
ージの最新の完成コピーを他のノードから集めるように
する。遠隔ノードの中のキャッシュ・ラインの一貫性状
態は、以前のままに放置しておくようにしても良く、或
いは、夫々の遠隔ノード内で「無効」状態にセットする
ようにしておいても良い。後者の方式とすれば、そのペ
ージが低頻度でしか参照されないノードにおいて、その
ページを削除することが容易になる。(PTWが変更済
ページであることを示している場合であっても、ECU
に対して照会を発することによってそのページ内の全て
のキャッシュ・ラインが無効であることを判定できるよ
うにしてあれば、記憶管理ソフトウェアはそのページを
安全に廃棄することができる)。これ以後、そのページ
を参照しようとするノードが現われたならば、そのノー
ドは、ホーム・ノードの中に存在しているコピーの移転
によって、そのページのデータを受け取ることになる。
【0027】これより、図4及び図5について説明す
る。これらの図は、CPU1と、そのCPU1のプライ
マリ・キャッシュ2と、ノード・ローカル・バス4と、
ECU10と、ノード間ECUバス11との間のインタ
ーフェースを示した状態図であり、従って、同機種から
成る「GCOS 8」環境に組み込めるようにしたECU10
を規定している状態図である。この「GCOS 8」環境で使
用される様々な用語の意味は次のとおりである: ・第1レベルのバスとは、CPU1と、そのCPU1の
プライマリ・キャッシュ2とを結合しているバスのこと
である。 ・第2レベルのバスとは、ノード・ローカル・バス4の
ことである。 ・第3レベルのバスとは、ノード間ECUバス11のこ
とである。 ・データ移動コマンドに関しては次のとおり: I1−第1レベルのバスから受取ったデータ。 O1−第1レベルのバスへ出力されたデータ。 I2−第2レベルのバスから受取ったデータ。 O2−第2レベルのバスへ出力されたデータ。 I3−第3レベルのバスから受取ったデータ。 O3−第3レベルのバスへ出力されたデータ。 ・インターフェース・コマンドに関しては次のとおり: <RD1>−プロセッサへ読込む。 <WR1>−プロセッサから書込む。 <RAR1>−再書込み後読取りの原子動作。 ・更に第1レベルのバス(図5)に関しては次のとお
り: <RD2>−第2レベルのバスからキャッシュ・ライン
を要求する。 <RTW2>−専有所有権を確保した上でキャッシュ・
ラインを読取る。 <INV2>−第1レベルの全てのプロセッサに対し、
キャッシュ・ラインの無効化を命じる。 <WR2>−第2レベルのバス上へキャッシュ・ライン
のデータを書出す。 ・更に第2レベルのバス(図6)に関しては次のとお
り: <RD2>−第2レベルのバスからキャッシュ・ライン
を要求する。 <RTW2>−専有所有権を確保した上で他のCPUか
らキャッシュ・ラインを読込む。 <INV2>−ローカル・バスである第2レベルのバス
上の全てのキャッシュの中のキャッシュ・ラインを無効
化する。 <WR2>−プライマリ・キャッシュからキャッシュ・
ラインを除去し、或いは、移転する。 <RD3>−第3レベルのバスからキャッシュ・ライン
を要求する。 <RTW3>−専有所有権を確保した上で他のノードか
らキャッシュ・ラインを読込む。 <INV3>−全てのECUにキャッシュ・ラインの無
効化を命じる。 <WR3>−第3レベルのバス上へキャッシュ・ライン
を書出す。
【0028】当業者であれば容易に理解することである
が、本発明は階層化接続の階層数が何層であっても容易
に適用し得るものであり、即ち、第4レベル、第5レベ
ル、等々が存在している場合でも適用可能である。
【図面の簡単な説明】
【図1】従来例に係るクラスタ・アーキテクチャを示し
たハイレベルのブロック図である。
【図2】本発明に係るクラスタ・アーキテクチャを示し
たハイレベルのブロック図である。
【図3】本発明に係るクラスタ・アーキテクチャの外部
一貫性維持装置(ECU)の構成要素の中間レベルのブ
ロック図を特に示したより詳細なブロック図である。
【図4】一例として取り上げた具体的なコンピュータ・
ファミリーにおけるプライマリ・キャッシュの状態遷移
図である。
【図5】図4と同一の具体的なコンピュータ・ファミリ
ーに採用し得るようにした外部一貫性維持装置(EC
U)の状態遷移図である。
【図6】外部一貫性維持装置の連想記憶のエントリの具
体例を示した図である。
【符号の説明】
1 中央処理装置(CPU) 2 プライマリ・キャッシュ 3 ローカル共用記憶 4 ノード・ローカル・バス 10 外部一貫性維持装置(ECU) 11 ノード間ECUバス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・エイ・ワーツ アメリカ合衆国アリゾナ州85023,フェニ ックス,ノース・トゥエンティース・ドラ イブ 17402

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータのクラスタ・アーキテクチ
    ャにおいて、 A)複数のノードと、 B)前記複数のノードの各々に少なくとも1個が装備さ
    れ、その各々が一貫性維持特性を有している、中央処理
    装置と、 C)前記複数のノードの各々に装備され、その各々が、
    みずからが装備されているのと同じノードに装備されて
    いる全てのプライマリ・キャッシュを結合している、ノ
    ード・ローカル通信手段と、 D)前記複数のノードの各々に装備され、その各々が、
    共用物理空間と非共用物理空間とに割当て可能な物理空
    間を有している、ローカル主記憶と、 E)前記複数のノードの各々に装備され、その各々が、
    みずからが装備されているのと同じノードに装備されて
    いる前記ノード・ローカル通信手段及び前記ローカル主
    記憶と結合している、外部一貫性維持装置と、 F)全ての前記外部一貫性維持装置を結合しているノー
    ド間通信手段と、を備えており、 G)前記外部一貫性維持装置の各々が、 1)当該外部一貫性維持装置が装備されているのと同じ
    ノードに装備されている前記ノード間通信手段と前記ノ
    ード・ローカル通信手段との両方を監視するための、監
    視手段と、 2)一貫性維持手段であって、 a)前記監視手段が、当該外部一貫性維持装置が装備さ
    れているのと同じノードに装備されている前記ノード・
    ローカル通信手段上に送出されたキャッシュ・ライン要
    求を検出し、且つ、検出したそのキャッシュ・ライン要
    求が非共用キャッシュ・ライン要求であると判定したと
    きに、前記監視手段がそのように判定したことに応答し
    て、その非共用キャッシュ・ライン要求を、前記ローカ
    ル主記憶の前記非共用物理空間へ導き、一方、 b)前記監視手段が、当該外部一貫性維持装置が装備さ
    れているのと同じノードに装備されている前記ノード・
    ローカル通信手段上に送出されたキャッシュ・ライン要
    求を検出し、且つ、検出したそのキャッシュ・ライン要
    求が共用キャッシュ・ライン要求であると判定したとき
    に、前記監視手段がそのように判定したことに応答し
    て、その共用キャッシュ・ライン要求に関するキャッシ
    ュ・ラインの一貫性状態を調べることにより、その共用
    キャッシュ・ライン要求に応えるためにはノード間動作
    が必要か否かを判定し、そして、そのノード間動作が必
    要であると判定されたならば、前記ノード間通信手段を
    介して、一義的識別子と一貫性維持コマンドとを、その
    他全ての前記外部一貫性維持装置へ送出するようにし
    た、 前記一貫性維持手段と、 を備えており、 以上によって、クラスタ内の全ての前記ローカル主記憶
    の前記共用物理空間内で得られる最新にインスタンス化
    された要求データが、前記外部一貫性維持装置のうちの
    そのデータを要求した外部一貫性維持装置へ提供される
    ようにした、ことを特徴とするコンピュータのクラスタ
    ・アーキテクチャ。
  2. 【請求項2】 前記外部一貫性維持装置の各々が、前記
    クラスタの共用記憶空間内に格納されている情報の各単
    位ごとに一貫性状態を付与するようにしてあり、付与す
    る一貫性状態が、 A)当該外部一貫性維持装置が装備されているのと同じ
    ノードに装備されている前記ローカル主記憶の前記共用
    記憶空間内に存在している要求された情報のコピーが、
    前記クラスタ内に存在している唯一のコピーであること
    を示す「専有」状態と、 B)当該外部一貫性維持装置が装備されているのと同じ
    ノードに装備されている前記ローカル主記憶の中に存在
    している要求された情報のコピーが、その同じノードに
    装備されている中央処理装置によって変更されているこ
    とを示す「変更済」状態と、 C)当該外部一貫性維持装置が装備されているのと同じ
    ノードに装備されている前記ローカル主記憶の中に存在
    している要求された情報のコピーが、不在であるか、ま
    たは、最新のものとは異なっていることが知られている
    ことを示す「無効」状態と、 D)当該外部一貫性維持装置が装備されているのと同じ
    ノードに装備されている前記ローカル主記憶の中に存在
    している要求された情報のコピーが、複数のノードの中
    に存在している要求された情報の複数の現在コピーのう
    ちの1つであることを示す「共用」状態と、を含んでい
    ることを特徴とする請求項1記載のコンピュータのクラ
    スタ・アーキテクチャ。
  3. 【請求項3】 前記外部一貫性維持装置の各々に備えら
    れている前記一貫性維持手段の各々が、共用情報の1つ
    のブロックに関連したローカル・キャッシュ・ライン要
    求に応答して、 A)要求されたキャッシュ・ラインの状態が「専有」状
    態または「変更済」状態であったならば、要求されたブ
    ロックを要求元ノードに装備されている前記ローカル主
    記憶から直接取り出すようにし、この場合、要求元ノー
    ドに装備されている前記ローカル主記憶の中以外には、
    前記クラスタ内のどこにも現在コピーは存在していない
    ため、いかなる遠隔動作も行なわず、 B)要求されたキャッシュ・ラインの状態が「無効」状
    態であったならば「書込みを前提とした読取り」コマン
    ドを前記通信手段を介してその他の全てのノードへ送出
    するようにし、この場合、要求されたキャッシュ・ライ
    ンの情報を「専有」状態または「変更済」状態で保持し
    ている遠隔ノードがそれに応答して、要求されたキャッ
    シュ・ラインの情報を前記通信手段を介して要求元ノー
    ドへ移転し、 C)要求されたキャッシュ・ラインの状態が「共用」状
    態であったならば「無効化」コマンドをその他の全ての
    ノードへ送出することによって、その他の全てのノード
    内において、要求されたキャッシュ・ラインの状態を
    「無効」状態にセットさせる、ようにしてあることを特
    徴とする請求項2記載のコンピュータのクラスタ・アー
    キテクチャ。
  4. 【請求項4】 前記ノード間通信手段が、ノード間外部
    一貫性維持装置バスを含んでいることを特徴とする請求
    項1記載のコンピュータのクラスタ・アーキテクチャ。
  5. 【請求項5】 前記ノード間通信手段が、ノード間外部
    一貫性維持装置バスを含んでいることを特徴とする請求
    項2記載のコンピュータのクラスタ・アーキテクチャ。
  6. 【請求項6】 前記ノード間通信手段が、ノード間外部
    一貫性維持装置バスを含んでいることを特徴とする請求
    項3記載のコンピュータのクラスタ・アーキテクチャ。
  7. 【請求項7】 前記ノード間通信手段が、直接結合手段
    を含んでいることを特徴とする請求項1記載のコンピュ
    ータのクラスタ・アーキテクチャ。
  8. 【請求項8】 前記ノード間通信手段が、直接結合手段
    を含んでいることを特徴とする請求項2記載のコンピュ
    ータのクラスタ・アーキテクチャ。
  9. 【請求項9】 前記ノード間通信手段が、直接結合手段
    を含んでいることを特徴とする請求項3記載のコンピュ
    ータのクラスタ・アーキテクチャ。
JP5324668A 1992-12-23 1993-12-22 コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶 Pending JPH06243035A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US993884 1992-12-23
US07/993,884 US5394555A (en) 1992-12-23 1992-12-23 Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory

Publications (1)

Publication Number Publication Date
JPH06243035A true JPH06243035A (ja) 1994-09-02

Family

ID=25540038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5324668A Pending JPH06243035A (ja) 1992-12-23 1993-12-22 コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶

Country Status (5)

Country Link
US (1) US5394555A (ja)
EP (1) EP0603801A3 (ja)
JP (1) JPH06243035A (ja)
AU (1) AU675982B2 (ja)
CA (1) CA2109642A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210526A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 並列計算機
JPH0950423A (ja) * 1995-07-21 1997-02-18 Bull Sa 遠隔情報処理システム間のデータ伝送方法
US7093078B2 (en) 1999-12-09 2006-08-15 Nec Corporation Data access method in the network system and the network system

Families Citing this family (218)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535116A (en) * 1993-05-18 1996-07-09 Stanford University Flat cache-only multi-processor architectures
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
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
US5636365A (en) * 1993-10-05 1997-06-03 Nec Corporation Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
US5522057A (en) * 1993-10-25 1996-05-28 Intel Corporation Hybrid write back/write through cache having a streamlined four state cache coherency protocol for uniprocessor computer systems
JPH07129468A (ja) * 1993-11-04 1995-05-19 Matsushita Electric Ind Co Ltd 主記憶制御装置
US5577204A (en) * 1993-12-15 1996-11-19 Convex Computer Corporation Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
US5751995A (en) * 1994-01-04 1998-05-12 Intel Corporation Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
JP3604176B2 (ja) * 1994-09-14 2004-12-22 株式会社東芝 仮想空間管理方法及び分散処理システム
JP3132749B2 (ja) * 1994-12-05 2001-02-05 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチプロセッサ・データ処理システム
US5893147A (en) * 1994-12-22 1999-04-06 Intel Corporation Method and apparatus for distinguishing system memory data from alternative memory data in a shared cache memory
DE69621263T2 (de) * 1995-01-23 2002-12-19 Compaq Computer Corp., Houston Verteilter Datencachespeicher für Multiprozessorsystem mit Cachespeicher
US5893921A (en) * 1995-02-10 1999-04-13 International Business Machines Corporation Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
US5692149A (en) * 1995-03-16 1997-11-25 Samsung Electronics Co., Ltd. Block replacement method in cache only memory architecture multiprocessor
WO1996032685A1 (en) * 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US5860108A (en) * 1995-04-26 1999-01-12 Nec Corporation Method and clustered multi-processor system for controlling a clock phase for clusters
JP2786124B2 (ja) * 1995-04-26 1998-08-13 甲府日本電気株式会社 共有メモリ型マルチプロセッサシステム
US5634110A (en) * 1995-05-05 1997-05-27 Silicon Graphics, Inc. Cache coherency using flexible directory bit vectors
US5623632A (en) * 1995-05-17 1997-04-22 International Business Machines Corporation System and method for improving multilevel cache performance in a multiprocessing system
US6049889A (en) * 1995-06-07 2000-04-11 Digital Equipment Corporation High performance recoverable communication method and apparatus for write-only networks
DE19524023B4 (de) * 1995-06-30 2004-02-05 Fujitsu Siemens Computers Gmbh Multiprozessorsystem mit einer sehr großen Anzahl von Mikroprozessoren
US5740399A (en) * 1995-08-23 1998-04-14 International Business Machines Corporation Modified L1/L2 cache inclusion for aggressive prefetch
US5758119A (en) * 1995-08-23 1998-05-26 International Business Machines Corp. System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache
US5765208A (en) * 1995-09-29 1998-06-09 Motorola, Inc. Method of speculatively executing store instructions prior to performing snoop operations
US5590301A (en) * 1995-10-06 1996-12-31 Bull Hn Information Systems Inc. Address transformation in a cluster computer system
US6728258B1 (en) * 1995-11-15 2004-04-27 Hitachi, Ltd. Multi-processor system and its network
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
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
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
US5813034A (en) * 1996-01-25 1998-09-22 Unisys Corporation Method and circuitry for modifying data words in a multi-level distributed data processing system
US6223260B1 (en) * 1996-01-25 2001-04-24 Unisys Corporation Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
EP0882266A1 (en) 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5864671A (en) * 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US5873117A (en) * 1996-07-01 1999-02-16 Sun Microsystems, Inc. Method and apparatus for a directory-less memory access protocol in a distributed shared memory computer system
US6141692A (en) * 1996-07-01 2000-10-31 Sun Microsystems, Inc. Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol
US5937431A (en) * 1996-07-12 1999-08-10 Samsung Electronics Co., Ltd. Multi- node, multi-level cache- only memory architecture with relaxed inclusion
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US20060129627A1 (en) * 1996-11-22 2006-06-15 Mangosoft Corp. Internet-based shared file service with native PC client access and semantics and distributed version control
US6647393B1 (en) 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6021261A (en) * 1996-12-05 2000-02-01 International Business Machines Corporation Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US5848434A (en) * 1996-12-09 1998-12-08 Intel Corporation Method and apparatus for caching state information within a directory-based coherency memory system
US6078997A (en) * 1996-12-09 2000-06-20 Intel Corporation Directory-based coherency system for maintaining coherency in a dual-ported memory system
US6078994A (en) * 1997-05-30 2000-06-20 Oracle Corporation System for maintaining a shared cache in a multi-threaded computer environment
US5946711A (en) * 1997-05-30 1999-08-31 Oracle Corporation System for locking data in a shared cache
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US6324623B1 (en) 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6092155A (en) 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
US6044438A (en) * 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems
JPH1185659A (ja) * 1997-09-03 1999-03-30 Hitachi Ltd ディスク制御装置及びこれを用いた記憶装置
DE69715203T2 (de) * 1997-10-10 2003-07-31 Bull S.A., Louveciennes Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
US6148375A (en) * 1998-02-13 2000-11-14 International Business Machines Corporation Hierarchical bus simple COMA architecture for shared memory multiprocessors having a bus directly interconnecting caches between nodes
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
GB9806184D0 (en) * 1998-03-23 1998-05-20 Sgs Thomson Microelectronics A cache coherency mechanism
US6128690A (en) * 1998-03-24 2000-10-03 Compaq Computer Corporation System for remote memory allocation in a computer having a verification table contains information identifying remote computers which are authorized to allocate memory in said computer
US6341339B1 (en) * 1998-03-26 2002-01-22 Compaq Computer Corporation Apparatus and method for maintaining data coherence within a cluster of symmetric multiprocessors
JP3866426B2 (ja) * 1998-11-05 2007-01-10 日本電気株式会社 クラスタ計算機におけるメモリ障害処理方法及びクラスタ計算機
US6931430B1 (en) * 1998-05-13 2005-08-16 Thomas W. Lynch Maintaining coherency in a symbiotic computing system and method of operation thereof
US6338117B1 (en) * 1998-08-28 2002-01-08 International Business Machines Corporation System and method for coordinated hierarchical caching and cache replacement
JP2000076205A (ja) * 1998-08-28 2000-03-14 Hitachi Ltd マルチプロセッサ
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6163801A (en) * 1998-10-30 2000-12-19 Advanced Micro Devices, Inc. Dynamic communication between computer processes
US6314491B1 (en) 1999-03-01 2001-11-06 International Business Machines Corporation Peer-to-peer cache moves in a multiprocessor data processing system
FR2792745B1 (fr) 1999-04-26 2001-06-15 Bull Sa Architecture d'interconnexion modulaire pour machine multiprocesseur extensible, mettant en oeuvre une hierarchie de bus virtuelle a plusieurs niveaux et la meme brique de base pour tous les niveaux
US6952741B1 (en) 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US6446086B1 (en) 1999-06-30 2002-09-03 Computer Sciences Corporation System and method for logging transaction records in a computer system
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US7340426B1 (en) 1999-07-30 2008-03-04 Computer Sciences Corporation Event-triggered transaction processing for electronic data interchange
US6961708B1 (en) 1999-08-27 2005-11-01 Computer Sciences Corporation External interface for requesting data from remote systems in a generic fashion
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US6381681B1 (en) * 1999-09-30 2002-04-30 Silicon Graphics, Inc. System and method for shared memory protection in a multiprocessor computer
US7359863B1 (en) 1999-09-30 2008-04-15 Computer Sciences Corporation Condition component framework for reinsurance
US7693731B1 (en) 1999-09-30 2010-04-06 Computer Sciences Corporation Business process framework for reinsurance
US6339812B1 (en) 1999-09-30 2002-01-15 Silicon Graphics, Inc. Method and apparatus for handling invalidation requests to processors not present in a computer system
US6651157B1 (en) * 1999-10-15 2003-11-18 Silicon Graphics, Inc. Multi-processor system and method of accessing data therein
US7356541B1 (en) 1999-10-29 2008-04-08 Computer Sciences Corporation Processing business data using user-configured keys
US6925468B1 (en) 1999-10-29 2005-08-02 Computer Sciences Corporation Configuring systems for generating business transaction reports using processing relationships among entities of an organization
US7571171B1 (en) 1999-10-29 2009-08-04 Computer Sciences Corporation Smart trigger for use in processing business transactions
US7526487B1 (en) 1999-10-29 2009-04-28 Computer Sciences Corporation Business transaction processing systems and methods
US7353196B1 (en) 1999-10-29 2008-04-01 Computer Sciences Corporation Configuring dynamic database packageset switching for use in processing business transactions
US7546304B1 (en) 1999-10-29 2009-06-09 Computer Sciences Corporation Configuring keys for use in processing business data
US7363264B1 (en) 1999-10-29 2008-04-22 Computer Sciences Corporation Processing business transactions using dynamic database packageset switching
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US7050453B1 (en) * 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US7398219B1 (en) 2000-06-23 2008-07-08 Computer Sciences Corporation System and method for displaying messages using a messages table
US7343307B1 (en) 2000-06-23 2008-03-11 Computer Sciences Corporation Dynamic help method and system for an insurance claims processing system
US7430514B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for processing insurance claims using a table of contents
US7571107B1 (en) 2000-06-23 2009-08-04 Computer Sciences Corporation System and method for externalization of rules for assessing damages
US7430515B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for externalization of formulas for assessing damages
US7095426B1 (en) 2000-06-23 2006-08-22 Computer Sciences Corporation Graphical user interface with a hide/show feature for a reference system in an insurance claims processing system
US7418400B1 (en) 2000-06-23 2008-08-26 Computer Sciences Corporation Internet-enabled system and method for assessing damages
US8635410B1 (en) 2000-07-20 2014-01-21 Silicon Graphics International, Corp. System and method for removing data from processor caches in a distributed multi-processor computer system
US6799248B2 (en) 2000-09-11 2004-09-28 Emc Corporation Cache management system for a network data node having a cache memory manager for selectively using different cache management methods
US7630909B2 (en) * 2000-10-02 2009-12-08 Computer Sciences Corporation Computerized method and system for adjusting liability estimates in an accident liability assessment program
DE10049498A1 (de) * 2000-10-06 2002-04-11 Philips Corp Intellectual Pty Virtuelles Speichergerät für ein digitales Hausnetz
US7398302B2 (en) * 2001-03-30 2008-07-08 Hitachi, Ltd. Remote copy with path selection and prioritization
US7096269B2 (en) * 2001-03-30 2006-08-22 Hitachi, Ltd. Path selection methods for storage based remote copy
US7963899B2 (en) * 2001-07-13 2011-06-21 The Proctor & Gamble Company Continuous in-line pleating apparatus and process
US20030023803A1 (en) * 2001-07-24 2003-01-30 Zatorski Richard A. Bus bridge circuit including audio logic and an addressable register for storing an address bit used when the audio logic accesses digital data, and method for initializing a chip set including the bus bridge circuit
JP4043225B2 (ja) * 2001-12-10 2008-02-06 株式会社ルネサステクノロジ キャッシュ装置および方法
AU2002364255A1 (en) * 2001-12-24 2003-07-15 Digimarc Id Systems, Llc Covert variable information on id documents and methods of making same
US7694887B2 (en) * 2001-12-24 2010-04-13 L-1 Secure Credentialing, Inc. Optically variable personalized indicia for identification documents
US7207494B2 (en) 2001-12-24 2007-04-24 Digimarc Corporation Laser etched security features for identification documents and methods of making same
KR100441712B1 (ko) * 2001-12-29 2004-07-27 엘지전자 주식회사 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법
WO2003088144A2 (en) * 2002-04-09 2003-10-23 Digimarc Id Systems, Llc Image processing techniques for printing identification cards and documents
US7824029B2 (en) * 2002-05-10 2010-11-02 L-1 Secure Credentialing, Inc. Identification card printer-assembler for over the counter card issuing
US7103636B2 (en) * 2002-05-28 2006-09-05 Newisys, Inc. Methods and apparatus for speculative probing of a remote cluster
US7281055B2 (en) * 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms in systems having multiple multi-processor clusters
US7702528B2 (en) * 2002-09-09 2010-04-20 Computer Sciences Corporation Computerized method and system for determining breach of duty in premises liability for an accident
US7672860B2 (en) * 2002-09-09 2010-03-02 Computer Sciences Corporation Computerized method and system for determining the contribution of defenses to premises liability for an accident
US20040054556A1 (en) * 2002-09-09 2004-03-18 Stephan Wahlbin Computerized method and system for determining causation in premises liability for an accident
US20040054558A1 (en) * 2002-09-09 2004-03-18 Stefan Wahlbin Computerized method and system for determining claimant status in premises liability for an accident
US20040054557A1 (en) * 2002-09-09 2004-03-18 Stefan Wahlbin Computerized method and system for estimating premises liability for an accident
US7676387B2 (en) * 2002-10-31 2010-03-09 Computer Sciences Corporation Graphical display of business rules
US20040088195A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of modifying a business rule
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US7451148B2 (en) * 2002-10-31 2008-11-11 Computer Sciences Corporation Method of modifying a business rule while tracking the modifications
US20040088199A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of forming a business rule
US7689442B2 (en) * 2002-10-31 2010-03-30 Computer Science Corporation Method of generating a graphical display of a business rule with a translation
US7296121B2 (en) * 2002-11-04 2007-11-13 Newisys, Inc. Reducing probe traffic in multiprocessor systems
US7346744B1 (en) 2002-11-04 2008-03-18 Newisys, Inc. Methods and apparatus for maintaining remote cluster state information
US7003633B2 (en) * 2002-11-04 2006-02-21 Newisys, Inc. Methods and apparatus for managing probe requests
US6920532B2 (en) * 2002-11-05 2005-07-19 Newisys, Inc. Cache coherence directory eviction mechanisms for modified copies of memory lines in multiprocessor systems
US6934814B2 (en) * 2002-11-05 2005-08-23 Newisys, Inc. Cache coherence directory eviction mechanisms in multiprocessor systems which maintain transaction ordering
US6925536B2 (en) * 2002-11-05 2005-08-02 Newisys, Inc. Cache coherence directory eviction mechanisms for unmodified copies of memory lines in multiprocessor systems
US8185602B2 (en) * 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7577755B2 (en) * 2002-11-19 2009-08-18 Newisys, Inc. Methods and apparatus for distributing system management signals
US7804982B2 (en) 2002-11-26 2010-09-28 L-1 Secure Credentialing, Inc. Systems and methods for managing and detecting fraud in image databases used with identification documents
US7725334B2 (en) * 2002-11-27 2010-05-25 Computer Sciences Corporation Computerized method and system for estimating liability for an accident using dynamic generation of questions
US7792690B2 (en) * 2002-11-27 2010-09-07 Computer Sciences Corporation Computerized method and system for estimating an effect on liability of the speed of vehicles in an accident and time and distance traveled by the vehicles
US7805321B2 (en) * 2002-11-27 2010-09-28 Computer Sciences Corporation Computerized method and system for estimating liability for an accident from an investigation of the accident
US7818187B2 (en) * 2002-11-27 2010-10-19 Computer Sciences Corporation Computerized method and system for estimating liability
US7895063B2 (en) * 2002-11-27 2011-02-22 Computer Sciences Corporation Computerized method and system for creating pre-configured claim reports including liability in an accident estimated using a computer system
US20040103005A1 (en) * 2002-11-27 2004-05-27 Stefan Wahlbin Computerized method and system for estimating monetary damages due to injuries in an accident from liability estimated using a computer system
US7660725B2 (en) * 2002-11-27 2010-02-09 Computer Sciences Corporation Computerized method and system for estimating an effect on liability based on the stopping distance of vehicles
US20040102984A1 (en) * 2002-11-27 2004-05-27 Stefan Wahlbin Computerized method and system for estimating liability using recorded vehicle data
US7809586B2 (en) * 2002-11-27 2010-10-05 Computer Sciences Corporation Computerized method and system for estimating an effect on liability using a comparison of the actual speed of a vehicle in an accident and time and distance traveled by the vehicles in a merging vehicle accident
US7702529B2 (en) * 2002-11-27 2010-04-20 Computer Sciences Corporation Computerized method and system for estimating an effect on liability using claim data accessed from claim reporting software
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US20050044174A1 (en) * 2003-04-11 2005-02-24 Sun Microsystems, Inc. Multi-node computer system where active devices selectively initiate certain transactions using remote-type address packets
US7606978B2 (en) * 2003-04-11 2009-10-20 Sun Microsystems, Inc. Multi-node computer system implementing global access state dependent transactions
US20050005075A1 (en) * 2003-04-11 2005-01-06 Sun Microsystems, Inc. Multi-node computer system employing multiple memory response states
ATE491190T1 (de) 2003-04-16 2010-12-15 L 1 Secure Credentialing Inc Dreidimensionale datenspeicherung
US20040215494A1 (en) * 2003-04-24 2004-10-28 Wahlbin Stefan L. Method and system for determining monetary amounts in an insurance processing system
US7334089B2 (en) * 2003-05-20 2008-02-19 Newisys, Inc. Methods and apparatus for providing cache state information
US7386626B2 (en) * 2003-06-23 2008-06-10 Newisys, Inc. Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
US7337279B2 (en) * 2003-06-27 2008-02-26 Newisys, Inc. Methods and apparatus for sending targeted probes
US7395347B2 (en) * 2003-08-05 2008-07-01 Newisys, Inc, Communication between and within multi-processor clusters of multi-cluster computer systems
US7895064B2 (en) * 2003-09-02 2011-02-22 Computer Sciences Corporation Graphical input display in an insurance processing system
US20050060205A1 (en) * 2003-09-02 2005-03-17 Woods Randall K. Systems and methods for a graphical input display in an insurance processing system
US20050108063A1 (en) * 2003-11-05 2005-05-19 Madill Robert P.Jr. Systems and methods for assessing the potential for fraud in business transactions
US20050192850A1 (en) * 2004-03-01 2005-09-01 Lorenz Scott K. Systems and methods for using data structure language in web services
US8898246B2 (en) * 2004-07-29 2014-11-25 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
US7046560B2 (en) * 2004-09-02 2006-05-16 Micron Technology, Inc. Reduction of fusible links and associated circuitry on memory dies
US20060059021A1 (en) * 2004-09-15 2006-03-16 Jim Yulman Independent adjuster advisor
US20070168639A1 (en) * 2006-01-17 2007-07-19 Mccalpin John D Data processing system and method for selecting a scope of broadcast of an operation by reference to a translation table
US20060200469A1 (en) * 2005-03-02 2006-09-07 Lakshminarayanan Chidambaran Global session identifiers in a multi-node system
US8392668B2 (en) * 2005-04-04 2013-03-05 Hewlett-Packard Development Company, L.P. Distributed-state-information-based distributed computing systems and methods and protocols for managing distributed state information
US7478201B2 (en) * 2005-05-24 2009-01-13 International Business Machines Corporation Data processing system, cache system and method for passively scrubbing a domain indication
US7395376B2 (en) * 2005-07-19 2008-07-01 International Business Machines Corporation Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of shared memory blocks
US7360032B2 (en) * 2005-07-19 2008-04-15 International Business Machines Corporation Method, apparatus, and computer program product for a cache coherency protocol state that predicts locations of modified memory blocks
US7398360B2 (en) * 2005-08-17 2008-07-08 Sun Microsystems, Inc. Multi-socket symmetric multiprocessing (SMP) system for chip multi-threaded (CMT) processors
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US8000986B2 (en) 2007-06-04 2011-08-16 Computer Sciences Corporation Claims processing hierarchy for designee
US8010389B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Multiple policy claims processing
US8010391B2 (en) 2007-06-29 2011-08-30 Computer Sciences Corporation Claims processing hierarchy for insured
US8010390B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Claims processing of information requirements
CN100489814C (zh) * 2007-08-01 2009-05-20 杭州华三通信技术有限公司 一种共享缓存系统及实现方法
US7991630B2 (en) * 2008-01-18 2011-08-02 Computer Sciences Corporation Displaying likelihood values for use in settlement
US8732386B2 (en) * 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8250331B2 (en) 2009-06-26 2012-08-21 Microsoft Corporation Operating system virtual memory management for hardware transactional memory
US8812796B2 (en) 2009-06-26 2014-08-19 Microsoft Corporation Private memory regions and coherence optimizations
US8370577B2 (en) 2009-06-26 2013-02-05 Microsoft Corporation Metaphysically addressed cache metadata
US8161247B2 (en) * 2009-06-26 2012-04-17 Microsoft Corporation Wait loss synchronization
US8489864B2 (en) * 2009-06-26 2013-07-16 Microsoft Corporation Performing escape actions in transactions
US8356166B2 (en) * 2009-06-26 2013-01-15 Microsoft Corporation Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
US8229907B2 (en) * 2009-06-30 2012-07-24 Microsoft Corporation Hardware accelerated transactional memory system with open nested transactions
US8402218B2 (en) * 2009-12-15 2013-03-19 Microsoft Corporation Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
US9092253B2 (en) * 2009-12-15 2015-07-28 Microsoft Technology Licensing, Llc Instrumentation of hardware assisted transactional memory system
US8539465B2 (en) 2009-12-15 2013-09-17 Microsoft Corporation Accelerating unbounded memory transactions using nested cache resident transactions
US8533440B2 (en) * 2009-12-15 2013-09-10 Microsoft Corporation Accelerating parallel transactions using cache resident transactions
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8700842B2 (en) 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8402106B2 (en) * 2010-04-14 2013-03-19 Red Hat, Inc. Asynchronous future based API
US8666939B2 (en) 2010-06-28 2014-03-04 Sandisk Enterprise Ip Llc Approaches for the replication of write sets
WO2012052567A1 (en) * 2010-10-22 2012-04-26 St-Ericsson Sa Improving storage lifetime using data swapping
US8463762B2 (en) 2010-12-17 2013-06-11 Microsoft Corporation Volumes and file system in cluster shared volumes
US8732346B2 (en) 2010-12-17 2014-05-20 Microsoft Corporation Coordination of direct I/O with a filter
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US9652469B2 (en) 2011-06-04 2017-05-16 Microsoft Technology Licensing, Llc Clustered file service
US8627431B2 (en) 2011-06-04 2014-01-07 Microsoft Corporation Distributed network name
WO2013082437A1 (en) 2011-12-02 2013-06-06 Invincia, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US8918587B2 (en) * 2012-06-13 2014-12-23 International Business Machines Corporation Multilevel cache hierarchy for finding a cache line on a remote node
CN104769570B (zh) * 2012-10-22 2018-05-15 英特尔公司 控制多时隙链路层微片中的消息收发
US10949200B2 (en) 2013-06-16 2021-03-16 President And Fellows Of Harvard College Methods and apparatus for executing data-dependent threads in parallel
US9454485B2 (en) 2013-08-01 2016-09-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Sharing local cache from a failover node
US20180095906A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Hardware-based shared data coherency
CN120317318B (zh) * 2025-06-19 2025-08-29 同济大学 一种基于动态检查点策略的大模型分布式训练故障处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210526A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 並列計算機
JPH0950423A (ja) * 1995-07-21 1997-02-18 Bull Sa 遠隔情報処理システム間のデータ伝送方法
US7093078B2 (en) 1999-12-09 2006-08-15 Nec Corporation Data access method in the network system and the network system

Also Published As

Publication number Publication date
AU5244393A (en) 1994-07-07
CA2109642A1 (en) 1994-06-24
US5394555A (en) 1995-02-28
EP0603801A3 (en) 1994-10-05
EP0603801A2 (en) 1994-06-29
AU675982B2 (en) 1997-02-27

Similar Documents

Publication Publication Date Title
US5394555A (en) Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
KR100970229B1 (ko) 원격 캐시 존재 정보를 저장하는 프로세서 캐시를 구비한 컴퓨터 시스템
KR101014394B1 (ko) 통합 디렉토리 및 프로세서 캐시를 구비한 컴퓨터 시스템
JP5431525B2 (ja) アクセラレータ用低コストのキャッシュ一貫性を維持するシステム
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
US5274787A (en) Method of copy-back cache coherence control and tightly coupled multi-processor system with split transfer system bus
EP1255201B1 (en) Shared memory multiprocessing system employing mixed broadcast snooping and directory based coherency protocols
US6289420B1 (en) System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem
CN101088076B (zh) 共享存储器计算机系统中自有高速缓存块的预测早写回的方法、装置和多处理器系统
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
CN1114865C (zh) 用于避免冲突回写造成的活锁的方法和系统
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
JPH11232173A (ja) ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JP2746530B2 (ja) 共有メモリマルチプロセッサ
JPS63253448A (ja) マルチ計算機装置
JPH03230238A (ja) キャッシュメモリ制御方式
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
JPH11102321A (ja) 分散共有メモリ型並列計算機のキャッシュコヒーレンシ制御方式
KR100344065B1 (ko) 다단계 캐시 구조의 공유 메모리 다중 프로세서 장치
JPH0822418A (ja) 仮想アドレス空間管理装置
KR0138585B1 (ko) 분리형 트랜잭션 버스를 이용한 공유 메모리 다중 프로세서
JP2000090008A (ja) メモリ共有型マルチプロセッサシステム
JPH04340636A (ja) ローカルキャッシュ一貫性維持装置