JPH08179987A - データ処理システムおよびリクエスト制御方法 - Google Patents
データ処理システムおよびリクエスト制御方法Info
- Publication number
- JPH08179987A JPH08179987A JP6318809A JP31880994A JPH08179987A JP H08179987 A JPH08179987 A JP H08179987A JP 6318809 A JP6318809 A JP 6318809A JP 31880994 A JP31880994 A JP 31880994A JP H08179987 A JPH08179987 A JP H08179987A
- Authority
- JP
- Japan
- Prior art keywords
- request
- cluster
- identifier
- cache
- network interface
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims description 13
- 230000015654 memory Effects 0.000 claims description 43
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007873 sieving Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 クラスタ内バスの負荷を抑えて、使用効率を
高める。 【構成】 データ処理システムにおいて、クラスタ10
0は、少なくとも1つの処理装置110と、記憶装置1
20と、ネットワークインタフェース装置130とを有
し、これら処理装置110、記憶装置120およびネッ
トワークインタフェース装置130は、クラスタ内バス
140によって接続されている。そして、これらクラス
タ100間は、相互結合ネットワーク200によって相
互に結合されている。各クラスタは、当該クラスタに含
まれるキャッシュブロックのタグを記憶しておくことに
よって、他のクラスタからの不要なリクエストをクラス
タ内部に取り込まないように制御する。
高める。 【構成】 データ処理システムにおいて、クラスタ10
0は、少なくとも1つの処理装置110と、記憶装置1
20と、ネットワークインタフェース装置130とを有
し、これら処理装置110、記憶装置120およびネッ
トワークインタフェース装置130は、クラスタ内バス
140によって接続されている。そして、これらクラス
タ100間は、相互結合ネットワーク200によって相
互に結合されている。各クラスタは、当該クラスタに含
まれるキャッシュブロックのタグを記憶しておくことに
よって、他のクラスタからの不要なリクエストをクラス
タ内部に取り込まないように制御する。
Description
【0001】
【産業上の利用分野】本発明は、1つ以上の処理装置と
記憶装置を有するクラスタ間を相互結合ネットワークで
結合したデータ処理システムに関し、特に各処理装置内
のキャッシュメモリがデータ処理システム全体で一致性
を維持するように制御するデータ処理システムおよびリ
クエスト制御方法に関する。
記憶装置を有するクラスタ間を相互結合ネットワークで
結合したデータ処理システムに関し、特に各処理装置内
のキャッシュメモリがデータ処理システム全体で一致性
を維持するように制御するデータ処理システムおよびリ
クエスト制御方法に関する。
【0002】
【従来の技術】複数のキャッシュメモリを有するデータ
処理システムにおいては、キャッシュメモリ内のデータ
の一致性を維持することが必要である。一般にはキャッ
シュメモリ内のデータについて、ブロック毎に状態を付
与して管理することにより、キャッシュメモリ内のデー
タの一致性を維持している(以下、「一致制御」とい
う)。
処理システムにおいては、キャッシュメモリ内のデータ
の一致性を維持することが必要である。一般にはキャッ
シュメモリ内のデータについて、ブロック毎に状態を付
与して管理することにより、キャッシュメモリ内のデー
タの一致性を維持している(以下、「一致制御」とい
う)。
【0003】一方、データ処理システム全体の規模が大
きくなり、接続される処理装置の台数が増加してくる
と、1本のシステムバスに複数の処理装置を直接接続す
ることが過負荷となってくる。そこで、複数の処理装
置、記憶装置、および入出力制御装置などを一つのクラ
スタとしてまとめ、このクラスタを複数個ネットワーク
で接続してデータ処理システムを構成することがある。
このようなシステムでは、システム全体ではメモリ空間
がそれぞれのクラスタに割り当てられ分散されることに
なるが、記憶装置はクラスタ境界を越えて全てのプロセ
ッサで共有されることになる。この場合、クラスタ内の
キャッシュ一致制御に加えて、クラスタ間のキャッシュ
一致制御が必要となる。
きくなり、接続される処理装置の台数が増加してくる
と、1本のシステムバスに複数の処理装置を直接接続す
ることが過負荷となってくる。そこで、複数の処理装
置、記憶装置、および入出力制御装置などを一つのクラ
スタとしてまとめ、このクラスタを複数個ネットワーク
で接続してデータ処理システムを構成することがある。
このようなシステムでは、システム全体ではメモリ空間
がそれぞれのクラスタに割り当てられ分散されることに
なるが、記憶装置はクラスタ境界を越えて全てのプロセ
ッサで共有されることになる。この場合、クラスタ内の
キャッシュ一致制御に加えて、クラスタ間のキャッシュ
一致制御が必要となる。
【0004】このようなクラスタ間のキャッシュ一致制
御による負荷を軽減するための従来技術として、たとえ
ば、特開平6−231033号公報には、キャッシュブ
ロックを複数まとめてクラスタ間で転送することにより
クラスタ間のデータ転送回数を少なくしてクラスタ間ネ
ットワークの負荷を減少させる技術が記載されている。
御による負荷を軽減するための従来技術として、たとえ
ば、特開平6−231033号公報には、キャッシュブ
ロックを複数まとめてクラスタ間で転送することにより
クラスタ間のデータ転送回数を少なくしてクラスタ間ネ
ットワークの負荷を減少させる技術が記載されている。
【0005】
【発明が解決しようとする課題】上述の従来技術は、必
要となったブロックを含むページを単位として他クラス
タにデータを要求するものであり、他クラスタに対する
リクエストの発行頻度を抑えるという点では有効であ
る。しかし、逆に他のクラスタからリクエストを受けた
ときには、クラスタ内部のバスを通って各処理装置にア
クセスが生じるため、クラスタ内バスの負荷が高くなる
とともに、処理装置の動作を妨害することにもなる。ま
た、上述の従来技術では各処理装置においてページ状態
を管理しているため、処理装置同士で重複した情報を保
持することになる。さらに、上述の従来技術を実現しよ
うとすると、処理装置に対する改造が必要となり、汎用
のマイクロプロセッサ等を流用することができない。
要となったブロックを含むページを単位として他クラス
タにデータを要求するものであり、他クラスタに対する
リクエストの発行頻度を抑えるという点では有効であ
る。しかし、逆に他のクラスタからリクエストを受けた
ときには、クラスタ内部のバスを通って各処理装置にア
クセスが生じるため、クラスタ内バスの負荷が高くなる
とともに、処理装置の動作を妨害することにもなる。ま
た、上述の従来技術では各処理装置においてページ状態
を管理しているため、処理装置同士で重複した情報を保
持することになる。さらに、上述の従来技術を実現しよ
うとすると、処理装置に対する改造が必要となり、汎用
のマイクロプロセッサ等を流用することができない。
【0006】本発明の目的は、クラスタ内バスの負荷を
抑えて、使用効率を高めることにある。
抑えて、使用効率を高めることにある。
【0007】また、本発明の他の目的は、他クラスタか
らのリクエストによって、処理装置の動作が妨害されな
いようにすることにある。
らのリクエストによって、処理装置の動作が妨害されな
いようにすることにある。
【0008】また、本発明の他の目的は、キャッシュ一
致制御のために必要な情報を少なくすることにある。
致制御のために必要な情報を少なくすることにある。
【0009】さらに、本発明の他の目的は、処理装置に
対する改造を不要とし、広い範囲で利用可能なキャッシ
ュ一致制御機構を提供することにある。
対する改造を不要とし、広い範囲で利用可能なキャッシ
ュ一致制御機構を提供することにある。
【0010】
【課題を解決するための手段】上記課題を解決するため
に本発明のデータ処理システムは、複数のクラスタを相
互結合ネットワークによって結合したデータ処理システ
ムにおいて、前記クラスタは、前記相互結合ネットワー
クに接続するネットワークインタフェース装置とこのネ
ットワークインタフェース装置に接続し内部に各々キャ
ッシュメモリを有する複数の処理装置とを含み、前記ネ
ットワークインタフェース装置は、そのネットワークイ
ンタフェース装置が属するクラスタ内の処理装置に含ま
れるキャッシュメモリに格納されているキャッシュブロ
ックについてそのキャッシュブロックに対する識別子を
記憶する識別子記憶手段と、他のクラスタからのキャッ
シュメモリに対するリクエストが前記識別子記憶手段に
記憶されている識別子と関係がない場合にはそのリクエ
ストを取り込まないように制御する制御手段とを含む。
に本発明のデータ処理システムは、複数のクラスタを相
互結合ネットワークによって結合したデータ処理システ
ムにおいて、前記クラスタは、前記相互結合ネットワー
クに接続するネットワークインタフェース装置とこのネ
ットワークインタフェース装置に接続し内部に各々キャ
ッシュメモリを有する複数の処理装置とを含み、前記ネ
ットワークインタフェース装置は、そのネットワークイ
ンタフェース装置が属するクラスタ内の処理装置に含ま
れるキャッシュメモリに格納されているキャッシュブロ
ックについてそのキャッシュブロックに対する識別子を
記憶する識別子記憶手段と、他のクラスタからのキャッ
シュメモリに対するリクエストが前記識別子記憶手段に
記憶されている識別子と関係がない場合にはそのリクエ
ストを取り込まないように制御する制御手段とを含む。
【0011】また、本発明の他のデータ処理装置におい
て、前記識別子記憶手段は、当該クラスタ内のキャッシ
ュメモリに含まれる比較回路の総数と同数の比較回路を
含み、前記他のクラスタからのリクエストにかかるアド
レスの一部と前記識別子とを比較する。
て、前記識別子記憶手段は、当該クラスタ内のキャッシ
ュメモリに含まれる比較回路の総数と同数の比較回路を
含み、前記他のクラスタからのリクエストにかかるアド
レスの一部と前記識別子とを比較する。
【0012】また、本発明の他のデータ処理装置におい
て、前記ネットワークインタフェース装置は、ある処理
装置において必要なデータがその処理装置のキャッシュ
メモリに存在しなかった場合であっても、当該クラスタ
内の他の処理装置のキャッシュメモリにそのデータが存
在すれば、そのクラスタ外にリードリクエストを発行し
ない。
て、前記ネットワークインタフェース装置は、ある処理
装置において必要なデータがその処理装置のキャッシュ
メモリに存在しなかった場合であっても、当該クラスタ
内の他の処理装置のキャッシュメモリにそのデータが存
在すれば、そのクラスタ外にリードリクエストを発行し
ない。
【0013】また、本発明のリクエスト制御方法は、複
数のクラスタを相互結合ネットワークによって結合した
データ処理システムにおいて、前記クラスタは、前記相
互結合ネットワークに接続するネットワークインタフェ
ース装置とこのネットワークインタフェース装置に接続
し内部に各々キャッシュメモリを有する複数の処理装置
と記憶装置とを含み、前記ネットワークインタフェース
装置は、そのネットワークインタフェース装置が属する
クラスタ内の処理装置に含まれるキャッシュメモリに格
納されているキャッシュブロックについてそのキャッシ
ュブロックに対する識別子を記憶する識別子記憶手段と
を含み、他のクラスタからのキャッシュメモリに対する
リクエストに係るリクエストアドレスの一部が前記識別
子記憶手段に記憶されている識別子と一致しない場合に
はそのリクエストを取り込まないように制御するステッ
プと、他のクラスタからのキャッシュメモリに対するリ
クエストに係るリクエストアドレスの一部が前記識別子
記憶手段に記憶されている識別子と一致する場合であっ
て前記リクエストがリードリクエストであれば、そのリ
クエストにかかるキャッシュブロックを読み出し、さら
にそのキャッシュブロックが記憶装置の内容と一致して
いなければそのキャッシュブロックの内容を記憶装置に
書き戻すステップと、他のクラスタからのキャッシュメ
モリに対するリクエストに係るリクエストアドレスの一
部が前記識別子記憶手段に記憶されている識別子と一致
する場合であって前記リクエストが無効化リクエストで
あれば、そのリクエストにかかるキャッシュブロックが
記憶装置と一致するもののみを記憶装置に書き戻した
後、そのキャッシュブロックを無効化するステップとを
含む。
数のクラスタを相互結合ネットワークによって結合した
データ処理システムにおいて、前記クラスタは、前記相
互結合ネットワークに接続するネットワークインタフェ
ース装置とこのネットワークインタフェース装置に接続
し内部に各々キャッシュメモリを有する複数の処理装置
と記憶装置とを含み、前記ネットワークインタフェース
装置は、そのネットワークインタフェース装置が属する
クラスタ内の処理装置に含まれるキャッシュメモリに格
納されているキャッシュブロックについてそのキャッシ
ュブロックに対する識別子を記憶する識別子記憶手段と
を含み、他のクラスタからのキャッシュメモリに対する
リクエストに係るリクエストアドレスの一部が前記識別
子記憶手段に記憶されている識別子と一致しない場合に
はそのリクエストを取り込まないように制御するステッ
プと、他のクラスタからのキャッシュメモリに対するリ
クエストに係るリクエストアドレスの一部が前記識別子
記憶手段に記憶されている識別子と一致する場合であっ
て前記リクエストがリードリクエストであれば、そのリ
クエストにかかるキャッシュブロックを読み出し、さら
にそのキャッシュブロックが記憶装置の内容と一致して
いなければそのキャッシュブロックの内容を記憶装置に
書き戻すステップと、他のクラスタからのキャッシュメ
モリに対するリクエストに係るリクエストアドレスの一
部が前記識別子記憶手段に記憶されている識別子と一致
する場合であって前記リクエストが無効化リクエストで
あれば、そのリクエストにかかるキャッシュブロックが
記憶装置と一致するもののみを記憶装置に書き戻した
後、そのキャッシュブロックを無効化するステップとを
含む。
【0014】
【実施例】次に本発明のデータ処理システムの一実施例
について図面を参照して詳細に説明する。
について図面を参照して詳細に説明する。
【0015】図1を参照すると、本発明の一実施例であ
るデータ処理システムにおいて、クラスタ100は、少
なくとも1つの処理装置110と、記憶装置120と、
ネットワークインタフェース装置130とを有し、これ
ら処理装置110、記憶装置120およびネットワーク
インタフェース装置130は、クラスタ内バス140に
よって接続されている。そして、これらクラスタ100
間は、相互結合ネットワーク200によって相互に結合
されている。
るデータ処理システムにおいて、クラスタ100は、少
なくとも1つの処理装置110と、記憶装置120と、
ネットワークインタフェース装置130とを有し、これ
ら処理装置110、記憶装置120およびネットワーク
インタフェース装置130は、クラスタ内バス140に
よって接続されている。そして、これらクラスタ100
間は、相互結合ネットワーク200によって相互に結合
されている。
【0016】処理装置110は、データの処理を行う装
置であり、レジスタや演算器を含んで構成される場合が
多い。処理装置110は、その内部にキャッシュメモリ
を有する。これにより、そのキャッシュメモリにヒット
する限り高速なアクセスを実現する。
置であり、レジスタや演算器を含んで構成される場合が
多い。処理装置110は、その内部にキャッシュメモリ
を有する。これにより、そのキャッシュメモリにヒット
する限り高速なアクセスを実現する。
【0017】記憶装置120の各々は、当該データ処理
システムの分散記憶空間の一部をなす。すなわち、デー
タ処理装置内の各クラスタにある記憶装置120を集め
たものがデータ処理システムの分散記憶空間を構成す
る。当該記憶空間の内、どの空間をどのクラスタに割り
当てるかは各システムに依存する。
システムの分散記憶空間の一部をなす。すなわち、デー
タ処理装置内の各クラスタにある記憶装置120を集め
たものがデータ処理システムの分散記憶空間を構成す
る。当該記憶空間の内、どの空間をどのクラスタに割り
当てるかは各システムに依存する。
【0018】相互結合ネットワーク200は、どのよう
な構成のものでもよく、たとえばバス結合や多段結合ネ
ットワーク等が考えられる。
な構成のものでもよく、たとえばバス結合や多段結合ネ
ットワーク等が考えられる。
【0019】ネットワークインタフェース装置130
は、クラスタ内バス140と相互結合ネットワーク20
0とのインタフェースを司る。特に、本発明において
は、他クラスタからのリクエストにふるいをかける役割
を有している。
は、クラスタ内バス140と相互結合ネットワーク20
0とのインタフェースを司る。特に、本発明において
は、他クラスタからのリクエストにふるいをかける役割
を有している。
【0020】図2を参照すると、ネットワークインタフ
ェース装置130における、キャッシュ管理機構の部分
は、タグ記憶回路132と状態記憶回路133とを有し
ている。タグ記憶回路132は、当該クラスタ内に存在
するキャッシュメモリに含まれるキャッシュブロックに
対応するタグ部を記憶する。また、状態記憶回路133
は、タグ記憶回路132に記憶された各エントリに対応
するキャッシュブロックの状態を記憶する。ここにいう
キャッシュブロックの状態とは、当該キャッシュブロッ
クが有効であるか無効であるかを意味する。これらタグ
記憶回路132および状態記憶回路133は、入力アド
レス135のセットアドレス部分によってアドレス付け
される。また、これらタグ記憶回路132および状態記
憶回路133は、更新回路131によって後述のように
更新される。タグ記憶回路132の出力は、比較回路1
34において入力アドレス135のタグアドレス部分1
36と比較される。
ェース装置130における、キャッシュ管理機構の部分
は、タグ記憶回路132と状態記憶回路133とを有し
ている。タグ記憶回路132は、当該クラスタ内に存在
するキャッシュメモリに含まれるキャッシュブロックに
対応するタグ部を記憶する。また、状態記憶回路133
は、タグ記憶回路132に記憶された各エントリに対応
するキャッシュブロックの状態を記憶する。ここにいう
キャッシュブロックの状態とは、当該キャッシュブロッ
クが有効であるか無効であるかを意味する。これらタグ
記憶回路132および状態記憶回路133は、入力アド
レス135のセットアドレス部分によってアドレス付け
される。また、これらタグ記憶回路132および状態記
憶回路133は、更新回路131によって後述のように
更新される。タグ記憶回路132の出力は、比較回路1
34において入力アドレス135のタグアドレス部分1
36と比較される。
【0021】比較回路134の出力138が「一致」を
示していれば、当該入力アドレスがタグ記憶回路132
のエントリの一つに記憶されていることを意味する。ま
た、このとき、状態記憶回路133の出力139が「有
効」を示していれば、当該エントリが有効であることを
意味する。したがって、比較回路134の出力138が
「一致」を示し、かつ、状態記憶回路133の出力13
9が「有効」を示していれば、当該入力アドレスにかか
るキャッシュブロックが当該クラスタ内のいずれかのキ
ャッシュメモリに含まれていることになる。なお、ここ
では簡単のため比較回路を一つとした構成を示したが、
クラスタ内のキャッシュメモリに対応するブロックのタ
グを漏れなく記憶しておく必要があるため、実際にはキ
ャッシュメモリの数およびその構成に応じてロー数(ウ
ェイ数またはレベル数ともいう)を複数設けたセットア
ソシアティブ構成を採ることが考えられる。例えば、ク
ラスタ内に処理装置が4台あり、その各々が2ウェイセ
ットアソシアティブ構成のキャッシュメモリを有してい
るのであれば、比較回路134は8つ、すなわち8ウェ
イセットアソシアティブ構成とすることが必要である。
また、十分な容量が確保できるのであればフルアソシア
ティブ構成をとってもよいことはいうまでもない。
示していれば、当該入力アドレスがタグ記憶回路132
のエントリの一つに記憶されていることを意味する。ま
た、このとき、状態記憶回路133の出力139が「有
効」を示していれば、当該エントリが有効であることを
意味する。したがって、比較回路134の出力138が
「一致」を示し、かつ、状態記憶回路133の出力13
9が「有効」を示していれば、当該入力アドレスにかか
るキャッシュブロックが当該クラスタ内のいずれかのキ
ャッシュメモリに含まれていることになる。なお、ここ
では簡単のため比較回路を一つとした構成を示したが、
クラスタ内のキャッシュメモリに対応するブロックのタ
グを漏れなく記憶しておく必要があるため、実際にはキ
ャッシュメモリの数およびその構成に応じてロー数(ウ
ェイ数またはレベル数ともいう)を複数設けたセットア
ソシアティブ構成を採ることが考えられる。例えば、ク
ラスタ内に処理装置が4台あり、その各々が2ウェイセ
ットアソシアティブ構成のキャッシュメモリを有してい
るのであれば、比較回路134は8つ、すなわち8ウェ
イセットアソシアティブ構成とすることが必要である。
また、十分な容量が確保できるのであればフルアソシア
ティブ構成をとってもよいことはいうまでもない。
【0022】処理装置110内のキャッシュメモリは、
各ブロックに以下の状態を付して管理している。
各ブロックに以下の状態を付して管理している。
【0023】(1)インバリッド(Invalid、以下
「I」と略す):そのブロックが無効であり、自処理装
置のキャッシュメモリ上には存在しない状態をいう。
「I」と略す):そのブロックが無効であり、自処理装
置のキャッシュメモリ上には存在しない状態をいう。
【0024】(2)ダーティエクスクルーシブ(Dirty
Exclusive、以下「DE」と略す):そのブロックは主
記憶と一致していなく、かつ、唯一のコピーである状態
をいう。
Exclusive、以下「DE」と略す):そのブロックは主
記憶と一致していなく、かつ、唯一のコピーである状態
をいう。
【0025】(3)クリーンエクスクルーシブ(Clean
Exclusive、以下「CE」と略す):そのブロックは主
記憶と一致しており、かつ、唯一のコピーである状態を
いう。
Exclusive、以下「CE」と略す):そのブロックは主
記憶と一致しており、かつ、唯一のコピーである状態を
いう。
【0026】(4)クリーンシェアード(Clean Share
d、以下「CS」と略す):そのブロックは主記憶と一
致しており、かつ、他のキャッシュに同一のコピーが存
在する可能性がある状態という。
d、以下「CS」と略す):そのブロックは主記憶と一
致しており、かつ、他のキャッシュに同一のコピーが存
在する可能性がある状態という。
【0027】次に、本発明のデータ処理システムの上記
一実施例における動作について説明する。
一実施例における動作について説明する。
【0028】まず、ある処理装置110においてライト
リクエストが発生してその処理装置内のキャッシュにヒ
ットした場合について説明する。ヒットしたブロックの
状態がCE、DEである場合には、当該ブロックにデー
タをそのままライトする。また、ブロックの状態がCS
である場合には、他の処理装置のキャッシュメモリの該
当ブロックを無効化するとともに、自処理装置のキャッ
シュメモリにデータをライトする。このライトヒット後
の当該ブロックの状態は、元の状態がいずれの場合であ
っても、DEとなる。
リクエストが発生してその処理装置内のキャッシュにヒ
ットした場合について説明する。ヒットしたブロックの
状態がCE、DEである場合には、当該ブロックにデー
タをそのままライトする。また、ブロックの状態がCS
である場合には、他の処理装置のキャッシュメモリの該
当ブロックを無効化するとともに、自処理装置のキャッ
シュメモリにデータをライトする。このライトヒット後
の当該ブロックの状態は、元の状態がいずれの場合であ
っても、DEとなる。
【0029】上記他の処理装置のキャッシュメモリの無
効化の際には、ネットワークインタフェース装置130
から相互結合ネットワーク200を介して他のクラスタ
へ無効化リクエストが発行される。この無効化リクエス
トを受け取ったクラスタは、以下のように処理を行う。
図4を参照すると、受け取ったリクエストにかかるブロ
ックが自クラスタ内に存在しなければ(ステップ40
1)、そのまま処理を終了する。すなわち、各ネットワ
ークインタフェース装置130において、タグ記憶回路
132および状態記憶回路133を検索し、当該クラス
タ内に要求されたデータを含むブロックがなければ、ク
ラスタ内に当該リクエストを受け入れない。これによ
り、無駄なリクエストの処理を省く。タグ記憶回路13
2および状態記憶回路133を検索した結果、当該クラ
スタ内に要求されたデータを含むブロックが存在すれば
(ステップ401)、当該リクエストを受け入れて以下
のように処理を行う。
効化の際には、ネットワークインタフェース装置130
から相互結合ネットワーク200を介して他のクラスタ
へ無効化リクエストが発行される。この無効化リクエス
トを受け取ったクラスタは、以下のように処理を行う。
図4を参照すると、受け取ったリクエストにかかるブロ
ックが自クラスタ内に存在しなければ(ステップ40
1)、そのまま処理を終了する。すなわち、各ネットワ
ークインタフェース装置130において、タグ記憶回路
132および状態記憶回路133を検索し、当該クラス
タ内に要求されたデータを含むブロックがなければ、ク
ラスタ内に当該リクエストを受け入れない。これによ
り、無駄なリクエストの処理を省く。タグ記憶回路13
2および状態記憶回路133を検索した結果、当該クラ
スタ内に要求されたデータを含むブロックが存在すれば
(ステップ401)、当該リクエストを受け入れて以下
のように処理を行う。
【0030】ここでは無効化リクエストについて説明し
ているので、ステップ402において下側の処理に進
み、当該クラスタのクラスタ内バス140に無効化リク
エストを流す。ヒットしたキャッシュブロックがDEで
あれば(ステップ411)、そのブロックの内容を記憶
装置120に書き戻す(ステップ412)。そして、当
該ヒットしたキャッシュブロックを無効化し、すなわち
状態をIにする(ステップ413)。
ているので、ステップ402において下側の処理に進
み、当該クラスタのクラスタ内バス140に無効化リク
エストを流す。ヒットしたキャッシュブロックがDEで
あれば(ステップ411)、そのブロックの内容を記憶
装置120に書き戻す(ステップ412)。そして、当
該ヒットしたキャッシュブロックを無効化し、すなわち
状態をIにする(ステップ413)。
【0031】次にある処理装置110でリードミスが発
生した場合について説明する。図3を参照すると、リー
ドミスが発生した際には、リードリクエストがクラスタ
内バス140に出力される(ステップ301)。クラス
タ内でヒットするブロックがあれば、そのブロックのデ
ータがリードデータとして供給される。このとき、ヒッ
トしたブロックの状態がDEであれば、そのブロックの
データを記憶装置120にも書き戻してしまう。このリ
ードミス後の当該ブロックの状態は、元の状態がいずれ
の場合であっても、CSとなる。このように、クラスタ
内の他のキャッシュにリードヒットした場合には(ステ
ップ302)、クラスタ内に閉じて処理が完了する。
生した場合について説明する。図3を参照すると、リー
ドミスが発生した際には、リードリクエストがクラスタ
内バス140に出力される(ステップ301)。クラス
タ内でヒットするブロックがあれば、そのブロックのデ
ータがリードデータとして供給される。このとき、ヒッ
トしたブロックの状態がDEであれば、そのブロックの
データを記憶装置120にも書き戻してしまう。このリ
ードミス後の当該ブロックの状態は、元の状態がいずれ
の場合であっても、CSとなる。このように、クラスタ
内の他のキャッシュにリードヒットした場合には(ステ
ップ302)、クラスタ内に閉じて処理が完了する。
【0032】また、ステップ302において、クラスタ
内の他のキャッシュにも所望のデータが存在しなかった
場合には、ネットワークインタフェース装置130から
相互結合ネットワーク200を介して他のクラスタへリ
ードリクエストが発行される(ステップ303)。
内の他のキャッシュにも所望のデータが存在しなかった
場合には、ネットワークインタフェース装置130から
相互結合ネットワーク200を介して他のクラスタへリ
ードリクエストが発行される(ステップ303)。
【0033】一方、上記リードリクエストを受け取った
各クラスタ100は、以下のように処理を行う。図4を
参照すると、受け取ったリクエストにかかるブロックが
自クラスタ内に存在しなければ(ステップ401)、そ
のまま処理を終了する。すなわち、各ネットワークイン
タフェース装置130において、タグ記憶回路132お
よび状態記憶回路133を検索し、当該クラスタ内に要
求されたデータを含むブロックがなければ、クラスタ内
に当該リクエストを受け入れない。これにより、無駄な
リクエストの処理を省く。タグ記憶回路132および状
態記憶回路133を検索した結果、当該クラスタ内に要
求されたデータを含むブロックが存在すれば(ステップ
401)、当該リクエストを受け入れて以下のように処
理を行う。
各クラスタ100は、以下のように処理を行う。図4を
参照すると、受け取ったリクエストにかかるブロックが
自クラスタ内に存在しなければ(ステップ401)、そ
のまま処理を終了する。すなわち、各ネットワークイン
タフェース装置130において、タグ記憶回路132お
よび状態記憶回路133を検索し、当該クラスタ内に要
求されたデータを含むブロックがなければ、クラスタ内
に当該リクエストを受け入れない。これにより、無駄な
リクエストの処理を省く。タグ記憶回路132および状
態記憶回路133を検索した結果、当該クラスタ内に要
求されたデータを含むブロックが存在すれば(ステップ
401)、当該リクエストを受け入れて以下のように処
理を行う。
【0034】ここではリードリクエストについて説明し
ているので、ステップ402において左側の処理に進
み、当該クラスタのクラスタ内バス140にリードリク
エストを流す。ヒットしたキャッシュはそのリクエスト
にかかるブロックを読み出す(ステップ421)ととも
に、そのブロックの状態をCSにする(ステップ42
2)。また、そのブロックの元の状態がDEであれば、
読み出したブロックの内容を記憶装置120に書き戻す
(ステップ424)。このようにして読み出されたブロ
ックは、再び相互結合ネットワーク200を介して要求
元のクラスタに送られる。
ているので、ステップ402において左側の処理に進
み、当該クラスタのクラスタ内バス140にリードリク
エストを流す。ヒットしたキャッシュはそのリクエスト
にかかるブロックを読み出す(ステップ421)ととも
に、そのブロックの状態をCSにする(ステップ42
2)。また、そのブロックの元の状態がDEであれば、
読み出したブロックの内容を記憶装置120に書き戻す
(ステップ424)。このようにして読み出されたブロ
ックは、再び相互結合ネットワーク200を介して要求
元のクラスタに送られる。
【0035】ある処理装置においてライトミスが発生し
た場合には、上記リードミス処理を行った後、さらに上
記ライトヒット処理を行えばよい。
た場合には、上記リードミス処理を行った後、さらに上
記ライトヒット処理を行えばよい。
【0036】このように、本発明の一実施例であるデー
タ処理システムによれば、各クラスタ100に含まれる
キャッシュブロックのタグをネットワークインタフェー
ス装置130内のタグ記憶回路132に記憶しておくこ
とによって、他のクラスタ100からのリクエストにか
かるデータがそのクラスタ内のキャッシュブロックに含
まれるか否かを判断する。これによって、他のクラスタ
からの不要なリクエストをクラスタ内部に取り込まなく
て済むようになる。
タ処理システムによれば、各クラスタ100に含まれる
キャッシュブロックのタグをネットワークインタフェー
ス装置130内のタグ記憶回路132に記憶しておくこ
とによって、他のクラスタ100からのリクエストにか
かるデータがそのクラスタ内のキャッシュブロックに含
まれるか否かを判断する。これによって、他のクラスタ
からの不要なリクエストをクラスタ内部に取り込まなく
て済むようになる。
【0037】
【発明の効果】以上の説明で明らかなように、本発明に
よると、各クラスタに含まれるキャッシュブロックのタ
グを記憶しておくことによって、他のクラスタからの不
要なリクエストをクラスタ内部に取り込まないようにし
て、クラスタ内バスの負荷を抑え、使用効率を高めるこ
とができる。また、他クラスタからのリクエストによっ
て、処理装置の動作が妨害されないようにする。また、
キャッシュ一致制御のために必要な情報を一個所にまと
めておくことによって、当該情報に必要な量を削減す
る。さらに、他のクラスタからの不要なリクエストをク
ラスタ内部に取り込まない処理を処理装置外部で行うた
め、処理装置に対する改造を不要とし、広い範囲で利用
可能な汎用性のあるものにすることができる。
よると、各クラスタに含まれるキャッシュブロックのタ
グを記憶しておくことによって、他のクラスタからの不
要なリクエストをクラスタ内部に取り込まないようにし
て、クラスタ内バスの負荷を抑え、使用効率を高めるこ
とができる。また、他クラスタからのリクエストによっ
て、処理装置の動作が妨害されないようにする。また、
キャッシュ一致制御のために必要な情報を一個所にまと
めておくことによって、当該情報に必要な量を削減す
る。さらに、他のクラスタからの不要なリクエストをク
ラスタ内部に取り込まない処理を処理装置外部で行うた
め、処理装置に対する改造を不要とし、広い範囲で利用
可能な汎用性のあるものにすることができる。
【図1】本発明のデータ処理システムの一実施例の全体
構成を示すブロック図である。
構成を示すブロック図である。
【図2】本発明の一実施例におけるネットワークインタ
フェース装置内のキャッシュ管理機構の構成を示すブロ
ック図である。
フェース装置内のキャッシュ管理機構の構成を示すブロ
ック図である。
【図3】本発明の一実施例におけるリードリクエスト発
行側クラスタの動作を表す図である。
行側クラスタの動作を表す図である。
【図4】本発明の一実施例におけるリクエスト受付側ク
ラスタの動作を表す図である。
ラスタの動作を表す図である。
100 クラスタ 110 処理装置 120 記憶装置 130 ネットワークインタフェース装置 131 更新回路 132 タグ記憶回路 133 状態記憶回路 134 比較回路 140 クラスタ内バス
Claims (4)
- 【請求項1】 複数のクラスタを相互結合ネットワーク
によって結合したデータ処理システムにおいて、 前記クラスタは、前記相互結合ネットワークに接続する
ネットワークインタフェース装置とこのネットワークイ
ンタフェース装置に接続し内部に各々キャッシュメモリ
を有する複数の処理装置とを含み、 前記ネットワークインタフェース装置は、そのネットワ
ークインタフェース装置が属するクラスタ内の処理装置
に含まれるキャッシュメモリに格納されているキャッシ
ュブロックについてそのキャッシュブロックに対する識
別子を記憶する識別子記憶手段と、他のクラスタからの
キャッシュメモリに対するリクエストが前記識別子記憶
手段に記憶されている識別子と関係がない場合にはその
リクエストを取り込まないように制御する制御手段とを
含むことを特徴とするデータ処理システム。 - 【請求項2】 前記識別子記憶手段は、当該クラスタ内
のキャッシュメモリに含まれる比較回路の総数と同数の
比較回路を含み、前記他のクラスタからのリクエストに
かかるアドレスの一部と前記識別子とを比較することを
特徴とする請求項1記載のデータ処理システム。 - 【請求項3】 前記ネットワークインタフェース装置
は、ある処理装置において必要なデータがその処理装置
のキャッシュメモリに存在しなかった場合であっても、
当該クラスタ内の他の処理装置のキャッシュメモリにそ
のデータが存在すれば、そのクラスタ外にリードリクエ
ストを発行しないことを特徴とする請求項1記載のデー
タ処理システム。 - 【請求項4】 複数のクラスタを相互結合ネットワーク
によって結合したデータ処理システムにおいて、 前記クラスタは、前記相互結合ネットワークに接続する
ネットワークインタフェース装置とこのネットワークイ
ンタフェース装置に接続し内部に各々キャッシュメモリ
を有する複数の処理装置と記憶装置とを含み、 前記ネットワークインタフェース装置は、そのネットワ
ークインタフェース装置が属するクラスタ内の処理装置
に含まれるキャッシュメモリに格納されているキャッシ
ュブロックについてそのキャッシュブロックに対する識
別子を記憶する識別子記憶手段とを含み、 他のクラスタからのキャッシュメモリに対するリクエス
トに係るリクエストアドレスの一部が前記識別子記憶手
段に記憶されている識別子と一致しない場合にはそのリ
クエストを取り込まないように制御するステップと、 他のクラスタからのキャッシュメモリに対するリクエス
トに係るリクエストアドレスの一部が前記識別子記憶手
段に記憶されている識別子と一致する場合であって前記
リクエストがリードリクエストであれば、そのリクエス
トにかかるキャッシュブロックを読み出し、さらにその
キャッシュブロックが記憶装置の内容と一致していなけ
ればそのキャッシュブロックの内容を記憶装置に書き戻
すステップと、 他のクラスタからのキャッシュメモリに対するリクエス
トに係るリクエストアドレスの一部が前記識別子記憶手
段に記憶されている識別子と一致する場合であって前記
リクエストが無効化リクエストであれば、そのリクエス
トにかかるキャッシュブロックが記憶装置と一致するも
ののみを記憶装置に書き戻した後、そのキャッシュブロ
ックを無効化するステップを含むことを特徴とするリク
エスト制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6318809A JPH08179987A (ja) | 1994-12-21 | 1994-12-21 | データ処理システムおよびリクエスト制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6318809A JPH08179987A (ja) | 1994-12-21 | 1994-12-21 | データ処理システムおよびリクエスト制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08179987A true JPH08179987A (ja) | 1996-07-12 |
Family
ID=18103191
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6318809A Pending JPH08179987A (ja) | 1994-12-21 | 1994-12-21 | データ処理システムおよびリクエスト制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08179987A (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04333955A (ja) * | 1990-11-30 | 1992-11-20 | Xerox Corp | バスの競合を解決するための裁定手段 |
| JPH052534A (ja) * | 1991-06-26 | 1993-01-08 | Agency Of Ind Science & Technol | 階層キヤツシユ・メモリ装置 |
| JPH06274461A (ja) * | 1993-03-18 | 1994-09-30 | Hitachi Ltd | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
-
1994
- 1994-12-21 JP JP6318809A patent/JPH08179987A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04333955A (ja) * | 1990-11-30 | 1992-11-20 | Xerox Corp | バスの競合を解決するための裁定手段 |
| JPH052534A (ja) * | 1991-06-26 | 1993-01-08 | Agency Of Ind Science & Technol | 階層キヤツシユ・メモリ装置 |
| JPH06274461A (ja) * | 1993-03-18 | 1994-09-30 | Hitachi Ltd | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0598535B1 (en) | Pending write-back controller for a cache controller coupled to a packet switched memory bus | |
| US6629205B2 (en) | System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem | |
| JP2540517B2 (ja) | 階層キヤツシユメモリ装置および方法 | |
| US5228136A (en) | Method and apparatus to maintain cache coherency in a multiprocessor system with each processor's private cache updating or invalidating its contents based upon set activity | |
| US5878268A (en) | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node | |
| US5987571A (en) | Cache coherency control method and multi-processor system using the same | |
| US7711902B2 (en) | Area effective cache with pseudo associative memory | |
| US7409505B2 (en) | Optimized high bandwidth cache coherence mechanism | |
| KR101497002B1 (ko) | 스누프 필터링 메커니즘 | |
| US6438653B1 (en) | Cache memory control circuit including summarized cache tag memory summarizing cache tag information in parallel processor system | |
| US20020083275A1 (en) | Cache coherent control system | |
| US6560681B1 (en) | Split sparse directory for a distributed shared memory multiprocessor system | |
| US6922755B1 (en) | Directory tree multinode computer system | |
| US20030115402A1 (en) | Multiprocessor system | |
| US7376799B2 (en) | System for reducing the latency of exclusive read requests in a symmetric multi-processing system | |
| EP1537485B1 (en) | Reverse directory for facilitating accesses involving a lower-level cache | |
| US6363458B1 (en) | Adaptive granularity method for integration of fine and coarse communication in the distributed shared memory system | |
| EP1224553A1 (en) | Multi-processor system and method of accessing data therein | |
| US6901450B1 (en) | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors | |
| JP3732397B2 (ja) | キャッシュシステム | |
| JPH10301850A (ja) | データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム | |
| EP0173893B1 (en) | Computing system and method providing working set prefetch for level two caches | |
| JP3409866B2 (ja) | 並列計算機 | |
| US20080104333A1 (en) | Tracking of higher-level cache contents in a lower-level cache | |
| US12468629B1 (en) | Snoop filter sharer vector expansion |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970304 |