JPH0883216A - Information processor and its method - Google Patents

Information processor and its method

Info

Publication number
JPH0883216A
JPH0883216A JP6217279A JP21727994A JPH0883216A JP H0883216 A JPH0883216 A JP H0883216A JP 6217279 A JP6217279 A JP 6217279A JP 21727994 A JP21727994 A JP 21727994A JP H0883216 A JPH0883216 A JP H0883216A
Authority
JP
Japan
Prior art keywords
cluster
directory
information
packet
access
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.)
Withdrawn
Application number
JP6217279A
Other languages
Japanese (ja)
Inventor
Kazumasa Hamaguchi
一正 濱口
Tomohiko Shimoyama
朋彦 下山
Toshiyuki Fukui
俊之 福井
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP6217279A priority Critical patent/JPH0883216A/en
Publication of JPH0883216A publication Critical patent/JPH0883216A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE: To make possible the efficient consitency holding operation of a cache by providing a means which temporarily stores caching information in the center where respective clusters are connected. CONSTITUTION: A coupled network controller 104 judges the kind of a packet sent from a cluster; when the packet is a multicast request including directory information, the access is multicast to clusters recorded in the directory and the contents of an ICC 106 are updated. Further, when the sent packet is multicast request packet containing no directory information or a line connection request packet, the ICC 106 is checked; when there are target contents in an ICC 10, the access is multicast to clusters recorded in the directory and the contents of the ICC 106 are updated. When the contents of the ICC 106 are not present, the directory request packet is sent out to a cluster having a memory and a directory packet from the cluster is expected.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、クラスタ型の情報処理
装置におけるキャッシュの一貫性保持動作を行う情報処
理装置及びその方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus and method for performing cache coherency holding operation in a cluster type information processing apparatus.

【0002】[0002]

【従来の技術】従来、クラスタ型マルチプロセッサ・シ
ステムにおいてディレクトリ方式によりキャッシュの一
貫性を保とうとする場合、キャッシング情報を格納する
ディレクトリの配置方式として、システムの中央等の1
カ所に集中配置する方式と、各クラスタに分散配置する
方式がある。集中配置する方式にはキャッシング情報の
検索に要するコストが各クラスタにおいて均一となると
いう利点がある。また分散配置する方式の場合、クラス
タ内に存在するメモリ・フラグメント(システム内の共
有メモリの一部)に対応する分のディレクトリをそのク
ラスタに配置するのが一般的であり、アクセス先及びア
クセス先データ・ブロックのキャッシング状態によって
は、アクセスを完全にクラスタ内で閉じることができる
という利点がある。
2. Description of the Related Art Conventionally, in a cluster type multiprocessor system, when it is attempted to maintain cache coherency by a directory method, a method for arranging a directory for storing caching information is one such as the central part of the system.
There are a method of centrally arranging them in one place, and a method of arranging them dispersedly in each cluster. The centralized arrangement has an advantage that the cost required for searching the caching information is uniform in each cluster. In the case of the distributed allocation method, it is common to allocate directories corresponding to memory fragments (a part of the shared memory in the system) existing in the cluster to the cluster. Depending on the caching state of the data block, there is the advantage that the access can be closed entirely within the cluster.

【0003】[0003]

【発明が解決しようとしている課題】しかしながらディ
レクトリを集中配置した場合、キャッシング可能領域に
対するアクセスが生じる度に中央等にあるディレクトリ
を検索する必要があり、アクセスが集中するため、ここ
へのアクセスがボトルネックとなりえるという問題があ
る。また、クラスタ数を増すこと等によりシステム中の
共有メモリ容量を増加しようとする場合、ディレクトリ
容量も増す必要があり、これにはハードウェア的制限
(積載可能IC数等)が伴うため、拡張性に劣るという
問題がある。
However, when the directories are centrally arranged, it is necessary to search the central directory for each access to the cacheable area, and the access is concentrated. There is a problem that it can become a neck. In addition, when trying to increase the shared memory capacity in the system by increasing the number of clusters, etc., it is necessary to increase the directory capacity, and this is accompanied by a hardware limitation (number of stackable ICs, etc.) There is a problem that it is inferior to.

【0004】またディレクトリを分散配置した場合、拡
張性には優れるが、アクセス先が他のクラスタに存在す
るデータ・ブロックの場合、ディレクトリをアクセスす
ることによるキャッシング状態のチェックに要するコス
トが大きいという問題がある。
When the directories are distributed, the scalability is excellent, but when the access destination is a data block existing in another cluster, the cost required to check the caching state by accessing the directory is high. There is.

【0005】[0005]

【課題を解決するための手段(及び作用)】本発明は、
上記課題を解決するために、ディレクトリ方式でキャッ
シュの一貫性保持を行い、キャッシング情報を格納する
ディレクトリを分散配置するクラスタ型の情報処理装置
であって、各クラスタのディレクトリのキャッシング情
報を記憶する記憶手段と、前記記憶されたキャッシング
情報を用いてキャッシュの一貫性保持動作を行う一貫性
保持手段とを有することを特徴とする情報処理装置を提
供する。本発明は、上記課題を解決するために、好まし
くは、前記記憶手段は前記一貫性保持手段に付随するこ
とを特徴とする。本発明は、上記課題を解決するため
に、好ましくは、前記記憶手段は、複数のキャッシング
情報を格納できることを特徴とする。本発明は、上記課
題を解決するために、好ましくは、前記各クラスタのそ
れぞれは回線を介してパケットデータを伝送する伝送手
段を更に有することを特徴とする。本発明は、上記課題
を解決するために、ディレクトリ方式でキャッシュの一
貫性保持を行い、キャッシング情報を格納するディレク
トリを分散配置するクラスタ型の情報処理装置の情報処
理方法であって、クラスタから送られてくるパケットが
ディレクトリ情報を含むか否か判断し、前記判断により
ディレクトリ情報を含むと判断された場合、ディレクト
リに記憶されたクラスタにアクセスをマルチキャスト
し、前記判断によりディレクトリ情報を含まないと判断
された場合、ディレクトリのキャッシング情報を記憶す
る記憶手段よりディレクトリ情報を読み出し、ディレク
トリに記憶されたクラスタにアクセスをマルチキャスト
することを特徴とする情報処理方法を提供する。
Means (and Action) for Solving the Problems
In order to solve the above-mentioned problems, a cluster type information processing device that maintains cache coherency by a directory method and disperses and arranges directories for storing caching information, and stores the caching information for the directories of each cluster. There is provided an information processing device comprising: a means and a coherency holding means for performing a coherency holding operation of a cache by using the stored caching information. In order to solve the above problems, the present invention is preferably characterized in that the storage means is associated with the consistency holding means. In order to solve the above-mentioned problems, the present invention is preferably characterized in that the storage means can store a plurality of caching information. In order to solve the above-mentioned problems, the present invention is preferably characterized in that each of the clusters further includes a transmission means for transmitting packet data via a line. In order to solve the above problems, the present invention is an information processing method for a cluster-type information processing apparatus that maintains cache coherency in a directory system and dispersively arranges directories for storing caching information. It is determined whether or not the received packet includes directory information. If it is determined that the packet includes the directory information, the access is multicast to the cluster stored in the directory, and it is determined that the packet does not include the directory information. In this case, there is provided an information processing method characterized by reading the directory information from the storage means for storing the caching information of the directory and multicasting the access to the clusters stored in the directory.

【0006】[0006]

【実施例】図1は本発明を含むクラスタ型マルチプロセ
ッサ・システムの構成図である。
1 is a block diagram of a cluster type multiprocessor system including the present invention.

【0007】本実施例では4クラスタ構成としている
が、クラスタの数は幾つであっても良い。これは本発明
を制限するものではない。
Although the present embodiment has a four-cluster configuration, any number of clusters may be used. This is not a limitation of the present invention.

【0008】100はクラスタ0、101はクラスタ
1、102はクラスタ2、103はクラスタ3である。
104は結合網制御装置、105はクラスタ間の接続を
切り替えるスイッチ、106は各クラスタに存在するデ
ィレクトリ中のキャッシング情報を一時的に格納するI
CC(:Intercluster Cachingi
nformation Cache)である。
Reference numeral 100 is a cluster 0, 101 is a cluster 1, 102 is a cluster 2, and 103 is a cluster 3.
Reference numeral 104 is a connection network control device, 105 is a switch for switching connections between clusters, and 106 is an I for temporarily storing caching information in a directory existing in each cluster.
CC (: Intercluster Cachingi
information cache).

【0009】107はクラスタ0(100)と結合網制
御装置(104)とを結ぶ信号線であり、結合網の使用
調停信号及びアクセスに関する情報が含まれる。同様に
108はクラスタ1(101)と結合網制御装置(10
4)とを結ぶ信号線、109はクラスタ2(102)と
結合網制御装置(104)とを結ぶ信号線、110はク
ラスタ3(103)と結合網制御装置(104)とを結
ぶ信号線である。111はクラスタ0(100)とスイ
ッチ(105)とを結ぶ信号線であり、クラスタ間アク
セス時にアドレス、データ等の信号が伝わるものであ
る。同様に112はクラスタ1(101)とスイッチ
(105)とを結ぶ信号線、113はクラスタ2(10
2)とスイッチ(105)とを結ぶ信号線、114はク
ラスタ3(103)とスイッチ(105)とを結ぶ信号
線である。
Reference numeral 107 is a signal line connecting the cluster 0 (100) and the connection network control unit (104), and includes a use arbitration signal of the connection network and information on access. Similarly, 108 is the cluster 1 (101) and the connection network control device (10
4), a signal line 109 connecting the cluster 2 (102) and the connection network control device (104), and a signal line 110 connecting the cluster 3 (103) and the connection network control device (104). is there. Reference numeral 111 is a signal line connecting the cluster 0 (100) and the switch (105), and a signal such as an address and data is transmitted during the inter-cluster access. Similarly, 112 is a signal line connecting the cluster 1 (101) and the switch (105), and 113 is the cluster 2 (10).
2 is a signal line connecting the switch (105) and 114 is a signal line connecting the cluster 3 (103) and the switch (105).

【0010】図2はクラスタの構成図である。本図はク
ラスタ0(100)を示すものであるが、本実施例では
各クラスタは同じ構成をとるものとする。
FIG. 2 is a block diagram of a cluster. Although this figure shows the cluster 0 (100), each cluster has the same configuration in this embodiment.

【0011】200は、メモリ202等に記憶されてい
るプログラム等に従って処理を実行するプロセッサであ
る。201は、プロセッサ200で処理したデータを一
時的に記憶しておくキャッシュ・メモリである。202
はメモリであり、これはシステム中の共有メモリの一部
と設定されるものである。203はディレクトリ・マネ
ージャであり、204のディレクトリを管理するもので
ある。ディレクトリ・マネージャ203は不図示のパケ
ット送信部とパケット受信部を有している。204はデ
ィレクトリである。205は結合網とのインタフェース
であるネットワーク・インタフェースである。206は
ディレクトリ・マネージャ(203)とネットワーク・
インタフェース(205)とを結ぶ信号線である。20
7はクラスタ内の各モジュールを相互に接続するバスで
ある。
Reference numeral 200 denotes a processor that executes processing in accordance with programs stored in the memory 202 or the like. A cache memory 201 temporarily stores data processed by the processor 200. 202
Is memory, which is set as part of the shared memory in the system. A directory manager 203 manages the directory 204. The directory manager 203 has a packet transmission unit and a packet reception unit (not shown). Reference numeral 204 is a directory. A network interface 205 is an interface with the connection network. 206 is a directory manager (203) and a network
It is a signal line connecting to the interface (205). 20
A bus 7 connects the modules in the cluster to each other.

【0012】図3は各クラスタ(100/101/10
2/103)と結合網制御装置(104)とを結ぶ信号
線(107/108/109/110)の内訳を示すも
のである。
FIG. 3 shows each cluster (100/101/10).
2 shows the breakdown of the signal line (107/108/109/110) connecting the network controller (2/103) and the connection network control device (104).

【0013】REQは各クラスタ(100/101/1
02/103)が結合網制御装置(104)に対して結
合網の使用を要求する信号線である。USEは各クラス
タ(100/101/102/103)が結合網制御装
置(104)に対して結合網を使用していることを示す
信号線である。TYPE0とTYPE1は、各クラスタ
(100/101/102/103)が結合網制御装置
(104)に対してアクセスの種別を示す信号線であ
る。該アクセスの種別は図3の(a)に示す。TYPE
0が0番目の信号線で、TYPE1が0番目の信号線で
あった場合、read命令である。TYPE0が1番目
の信号線で、TYPE1が0番目の信号線であった場
合、write命令である。TYPE0が0番目の信号
線で、TYPE1が1番目の信号線であった場合、re
ad with intend tomodify命令
であり、writeでミスした時に、発行するトランザ
クションである。TYPE0が1番目の信号線で、TY
PE1が1番目の信号線であった場合、purge命令
であり、writeでヒットした時に、ソフトが明示的
に無効化をするトランザクションである。A0からA3
1は各クラスタ(100/101/102/103)が
結合網制御装置(104)に対してアクセスしようとす
るアドレスを示す信号線である。SIZ0とSIZ1は
各クラスタ(100/101/102/103)が結合
網制御装置(104)に対してアクセスしようとするサ
イズを示す信号線である。該サイズは図3の(b)に示
す様に、SIZ0が0番目の信号で、SIZ1の信号が
0番目である場合、アクセスサイズが1バイトである。
また、SIZ0が0番目の信号で、SIZ1の信号が1
番目である場合、アクセスサイズが2バイトである。S
IZ0が1番目の信号で、SIZ1の信号が0番目であ
る場合、アクセスサイズが4バイトである。SIZ0が
1番目の信号で、SIZ1の信号が1番目である場合、
アクセスサイズが32バイトである。
REQ is for each cluster (100/10/1/1)
02/103) is a signal line for requesting the connection network control device (104) to use the connection network. USE is a signal line indicating that each cluster (100/101/102/103) is using the connection network for the connection network control device (104). TYPE0 and TYPE1 are signal lines indicating the type of access by each cluster (100/101/102/103) to the connection network control device (104). The type of access is shown in FIG. TYPE
When 0 is the 0th signal line and TYPE1 is the 0th signal line, it is a read instruction. If TYPE0 is the first signal line and TYPE1 is the 0th signal line, it is a write instruction. If TYPE0 is the 0th signal line and TYPE1 is the 1st signal line, re
This is an ad with intent to modify instruction, and is a transaction to be issued when a write error occurs. TYPE0 is the first signal line, TY
If PE1 is the first signal line, it is a purge instruction, and is a transaction that is explicitly invalidated by the software when hit by write. A0 to A3
Reference numeral 1 is a signal line indicating an address at which each cluster (100/101/102/103) attempts to access the coupled network control device (104). SIZ0 and SIZ1 are signal lines indicating the size at which each cluster (100/101/102/103) tries to access the connection network control unit (104). As shown in FIG. 3B, when the size is 0th signal of SIZ0 and the 0th signal of SIZ1, the access size is 1 byte.
In addition, SIZ0 is the 0th signal and SIZ1 is 1
In the second case, the access size is 2 bytes. S
When IZ0 is the first signal and SIZ1 is the 0th signal, the access size is 4 bytes. If SIZ0 is the first signal and SIZ1 is the first signal,
The access size is 32 bytes.

【0014】GRTは結合網制御装置(104)が各ク
ラスタ(100/101/102/103)に対して結
合網の使用を許可したことを示す信号線である。OPR
は結合網制御装置(104)が各クラスタ(100/1
01/102/103)に対して操作を行うことを指示
する信号線である。OPTYPE0とOPTYPE1は
結合網制御装置(104)が各クラスタ(100/10
1/102/103)に対して行うべき操作を示す信号
線である。
GRT is a signal line indicating that the connection network control unit (104) permits each cluster (100/101/102/103) to use the connection network. OPR
Is the connection network control device (104) for each cluster (100/1
01/10/103) is a signal line for instructing an operation. In OPTTYPE0 and OPTYPE1, the connection network control unit (104) controls each cluster (100/10
This is a signal line indicating an operation to be performed on 1/102/103).

【0015】図3において(c)は、結合網制御装置
(104)が各クラスタ(100/101/102/1
03)に対して行うべき操作を示す信号線を示してお
り、OPTYPE0の信号が0番目で、OPTYPE1
の信号が0番目である場合、結合網制御回路がクラスタ
をcheckし、OPTYPE0の信号が0番目で、O
PTYPE1の信号が1番目である場合、結合網制御回
路がクラスタを無効化(invalidate)し、O
PTYPE0の信号が1番目で、OPTYPE1の信号
が0番目である場合、結合網制御回路が各クラスタを書
き戻しし、OPTYPE0の信号が1番目で、OPTY
PE1の信号が1番目である場合、ICCがミスディレ
クトリをロードする為の信号である。
In FIG. 3 (c), the connection network control device (104) is used for each cluster (100/101/102/1).
03), the signal line indicating the operation to be performed is shown. The OPTYPE0 signal is the 0th and OPTYPE1
, The connection network control circuit checks the cluster, and the OPTYPE0 signal is the 0th signal.
When the signal of PTYPE1 is the first signal, the connection network control circuit invalidates the cluster, and
When the signal of PTYPE0 is the first and the signal of OPTYPE1 is the 0th, the connection network control circuit writes back each cluster, the signal of OPTYPE0 is the first, and the OPTY is OPTY.
When the signal of PE1 is the first, it is a signal for the ICC to load the miss directory.

【0016】OPA0からOPA31は結合網制御装置
(104)が各クラスタ(100/101/102/1
03)に対して操作対象のデータ・ブロックを示す信号
線である。CINFO0からCINFO3は結合網制御
装置(104)と各クラスタ(100/101/102
/103)がキャッシング情報のやり取りを行うために
用いる信号線である。
In OPA0 to OPA31, the connection network control unit (104) operates in each cluster (100/101/102/1).
03) is a signal line indicating a data block to be operated. CINFO0 to CINFO3 are connected network control device (104) and each cluster (100/101/102).
/ 103) is a signal line used for exchanging caching information.

【0017】図4は結合網制御装置(104)の構成図
である。400は結合網の調停動作及びキャッシュの一
貫性保持動作を執り行うマイクロコントローラである。
401はクラスタ0(100)との間の信号線のバッフ
ァ、402はクラスタ1(101)との間の信号線のバ
ッファ、403はクラスタ2(102)との間の信号線
のバッファ、404はクラスタ3(103)との間の信
号線のバッファである。405はクラスタ0(100)
から、406はクラスタ1(101)から、407はク
ラスタ2(102)から、408はクラスタ3(10
3)から、それぞれ結合網の使用要求が来たことをマイ
クロコントローラ(400)に示す信号線である。40
9はバッファ(401〜404)とマイクロコントロー
ラ(400)とを接続するバス、410はICC(10
6)とマイクロコントローラ(400)とを接続するバ
ス、411は調停動作の後にスイッチ(105)の接続
設定を行うための制御線である。
FIG. 4 is a block diagram of the connection network control device (104). Reference numeral 400 denotes a microcontroller that performs an arbitration operation for the connection network and a cache coherency holding operation.
Reference numeral 401 is a signal line buffer with the cluster 0 (100), 402 is a signal line buffer with the cluster 1 (101), 403 is a signal line buffer with the cluster 2 (102), and 404 is It is a buffer for the signal line to and from the cluster 3 (103). 405 is cluster 0 (100)
, 406 is from cluster 1 (101), 407 is from cluster 2 (102), and 408 is from cluster 3 (10).
3) Signal lines that indicate to the microcontroller (400) that requests for use of the connection network have come from each. 40
9 is a bus connecting the buffers (401 to 404) and the microcontroller (400), and 410 is an ICC (10
A bus 411 connecting 6) and the microcontroller (400) is a control line for setting connection of the switch (105) after the arbitration operation.

【0018】図5はICC(106)の構成図である。
本実施例におけるICCはダイレクト・マップ方式の連
想方式を採っているが、この構成はセット・アソシアテ
ィブ方式やフル・アソシアティブ方式でもよく、本発明
を制限するものではない。500は有効ビット、アドレ
ス・タグを格納するタグ・メモリ、501はヒット/ミ
スを判定するコンパレータ、502はデータ・ブロック
がどのクラスタにキャッシングされているかを示すICC
データ部である。503はデータ・バッファ、504は
データ信号線、505はアドレス信号線である。
FIG. 5 is a block diagram of the ICC (106).
The ICC in this embodiment adopts a direct map type associative system, but this configuration may be a set associative system or a full associative system, and does not limit the present invention. 500 is a valid bit, a tag memory for storing an address tag, 501 is a comparator for determining hit / miss, 502 is an ICC indicating in which cluster a data block is cached.
This is the data section. Reference numeral 503 is a data buffer, 504 is a data signal line, and 505 is an address signal line.

【0019】以下、本発明によるキャッシュの一貫性保
持動作について述べる。例として、クラスタ0(10
0)のプロセッサ(200)がクラスタ3(103)の
メモリ(202)中のデータ・ブロックAに対してアク
セスを行う場合を考える。
The cache coherency maintaining operation according to the present invention will be described below. As an example, cluster 0 (10
Consider the case where the processor (200) of 0) accesses the data block A in the memory (202) of the cluster 3 (103).

【0020】クラスタ0(100)のプロセッサ(20
0)はアクセスを行う場合、付随するキャッシュ・メモ
リ(201)に対してアクセスを行う。ここでキャッシ
ュにリード・ヒットした場合、またはEXCLUSIV
E状態のデータ・ブロックにライト・ヒットした場合、
アクセスは完了する。キャッシュにミスした場合、また
はSHARED状態のデータ・ブロックにライト・ヒッ
トした場合は対応したアクセスがバス(207)上に発
行される。アクセスはクラスタ外のデータ・ブロックに
対するものであるから、ネットワーク・インタフェース
(205)がそれに応じ、クラスタ間アクセス動作を開
始する。クラスタ0(100)のネットワーク・インタ
フェース(205)は、信号線(107)を用いてアク
セス情報とともに結合網の使用を結合網制御装置(10
4)に要求する。結合網制御装置(104)のマイクロ
コントローラ(400)は信号線(405)がアサート
されることによりクラスタ0(100)から結合網の使
用要求が来たことを知り、バス(409)を介してアク
セス情報を読み込む。マイクロコントローラ(400)
は読み込んだアクセス情報を用いてICC(106)をア
クセスする。ここでICCにヒットした場合、即ちIC
C内にクラスタ0(100)がアクセスしようとしてい
るデータ・ブロックのキャッシング情報が格納されてい
た場合は、そのキャッシング情報に応じた一貫性保持動
作を開始する。またICCにミスした場合、即ちICC
内にクラスタ0(100)がアクセスしようとしている
データ・ブロックのキャッシング情報が格納されていな
かった場合は、クラスタ3(103)に対してディレク
トリ(204)中に格納されている当該データ・ブロッ
クのキャッシング情報を、信号線(110)を介して要
求する。クラスタ3(103)ではネットワーク・イン
タフェースを介してディレクトリ・マネージャ(20
3)がその要求を受け取り、受け取ったアドレスを用い
てディレクトリ(203)をアクセスすることで当該デ
ータ・ブロックのキャッシング情報を読み出し、ネット
ワーク・インタフェース(205)と信号線(110)
を介して結合網制御装置(104)にキャッシング情報
を渡す。結合網制御装置(104)のマイクロコントロ
ーラ(400)は信号線408がアサートされることで
クラスタ3(103)から要求していたキャッシング情
報が来たことを知り、バス(409)を介してそれを読
み出し、バス(410)を介してICC(106)に書き
込むとともに、そのキャッシング情報に応じた一貫性保
持動作を開始する。即ちクラスタ0(100)の発行し
たアクセスがリード・アクセスである場合は、当該デー
タ・ブロックをキャッシングしているクラスタに対して
DIRTY状態のデータ・ブロックの主記憶装置への書戻
しと、EXCLUSIVE状態のデータ・ブロックのS
HARED状態への状態の変更を要求する。この操作の
完了後、クラスタ0(100)をキャッシング先として
当該ブロックのキャッシング情報に加える等の変更され
たキャッシング情報をICC(106)とクラスタ3
(103)のディレクトリ(204)に書込む操作を行
い、以下スイッチ制御線(411)を用いてスイッチ
(105)を設定変更し、クラスタ0(100)にアク
セスを行わせる。
Cluster 0 (100) processor (20
0) accesses the associated cache memory (201) when accessing. If there is a read hit to the cache here, or EXCLUSIV
When there is a write hit to a data block in the E state,
Access is complete. If there is a cache miss or a write hit to a SHARED data block, the corresponding access is issued on the bus (207). Since the access is to a data block outside the cluster, the network interface (205) accordingly initiates an intercluster access operation. The network interface (205) of the cluster 0 (100) uses the signal line (107) to control the use of the connection network together with access information to the connection network controller (10).
4) request. The microcontroller (400) of the connection network control unit (104) knows that a request to use the connection network is received from the cluster 0 (100) by asserting the signal line (405), and then, via the bus (409). Read access information. Micro controller (400)
Accesses the ICC (106) using the read access information. If you hit ICC here, that is, IC
If the cache information of the data block that the cluster 0 (100) is trying to access is stored in C, the consistency maintaining operation according to the cache information is started. If you make a mistake in ICC, that is, ICC
If the caching information of the data block that the cluster 0 (100) is trying to access is not stored in the cluster 0 (100), the data block of the data block stored in the directory (204) for the cluster 3 (103) is stored. Request caching information via signal line (110). In the cluster 3 (103), the directory manager (20
3) receives the request, reads the caching information of the data block by accessing the directory (203) using the received address, and reads the network interface (205) and the signal line (110).
The caching information is passed to the connection network control unit (104) via the. When the signal line 408 is asserted, the microcontroller (400) of the connection network control unit (104) knows that the requested caching information has come from the cluster 3 (103), and sends it via the bus (409). Is written and written to the ICC (106) via the bus (410), and a consistency maintaining operation according to the caching information is started. That is, when the access issued by the cluster 0 (100) is a read access, the write-back of the data block in the DIRTY state to the main storage device for the cluster caching the data block and the EXCLUSIVE state are performed. Data block S
Request state change to HARED state. After this operation is completed, the changed caching information such as adding to the caching information of the block with the cluster 0 (100) as the caching destination is used as the ICC (106) and the cluster
An operation for writing in the directory (204) of (103) is performed, and the setting of the switch (105) is changed using the switch control line (411) to access the cluster 0 (100).

【0021】以下、本発明によるキャッシュ一貫性保持
動作の処理を、図6、図7、図8のフローチャートを用
いて、詳細に説明する。
Hereinafter, the processing of the cache coherency maintaining operation according to the present invention will be described in detail with reference to the flowcharts of FIGS. 6, 7 and 8.

【0022】図6は、クラスタ内のディレクトリ・マネ
ージャ内のパケット送信部のフローチャートである。ス
テップS601でパケット送信部はバス207に対する
バスアクセス(キャッシュメンテナンスを含む)を検出
する。検出されたバスアクセスが自クラスタ内のメモリ
であるかステップS602で判断し、自クラスタ内のメ
モリに対するアクセスであった場合、ステップS603
で自クラスタ内のメモリの応答を抑制する。メモリの応
答を抑制している間に、ステップS604からステップ
S608の処理を実行する。ステップS604ではディ
レクトリを参照し、ステップS605で他のクラスタに
キャッシングされているか判断し、されていなければス
テップS608の処理に移る。キャッシングされている
場合は、ステップS606で結合網制御装置にディレク
トリの内容と共にマルチキャスト要求を送出する。そし
てステップS607で結合網制御装置からのマルチキャ
スト完了パケットを待つ。マルチキャストが完了した
ら、ステップS608でディレクトリを更新し、ステッ
プS609でメモリの応答抑制を解除する。ステップS
602で自クラスタのメモリに対するバスアクセスでな
いと判断された場合、ステップS610でバスアクセス
はキャッシュメンテナンス情報であるか判断し、キャッ
シュメンテナンス情報である場合、ステップS611で
アクセスをリトライさせ、ステップS612で結合網制
御装置にマルチキャスト要求パケットを送出する。そし
てステップS613でアクセスのリトライを解除する。
以上の処理により、ディレクトリ・マネージャ203の
パケット送信部の処理が実行される。
FIG. 6 is a flowchart of the packet transmission unit in the directory manager in the cluster. In step S601, the packet transmission unit detects a bus access to the bus 207 (including cache maintenance). In step S602, it is determined whether the detected bus access is a memory in the self cluster. If it is an access to the memory in the self cluster, step S603.
Suppresses the response of the memory in the local cluster. While suppressing the response of the memory, the processes of steps S604 to S608 are executed. In step S604, the directory is referenced, and in step S605 it is determined whether or not the data is cached in another cluster. If not, the process proceeds to step S608. If cached, a multicast request is sent to the connection network control device together with the contents of the directory in step S606. Then, in step S607, it waits for a multicast completion packet from the connection network control device. When the multicast is completed, the directory is updated in step S608, and the response suppression of the memory is released in step S609. Step S
When it is determined in 602 that the bus access is not for the memory of the self cluster, it is determined in step S610 whether the bus access is cache maintenance information. A multicast request packet is sent to the network control device. Then, in step S613, the access retry is canceled.
Through the above processing, the processing of the packet transmission unit of the directory manager 203 is executed.

【0023】図7は、結合網制御装置のフローチャート
である。ステップS701ではクラスタから送られてく
るパケットを待つ。ステップS702では送られてきた
パケットの種類を判断し、そのパケットがディレクトリ
情報を含んだマルチキャスト要求パケットであると判断
された場合、ステップS703からステップS706の
処理を飛ばしてステップS707の処理を実行する。ス
テップS702で、送られてきたパケットがディレクト
リ情報を含まないマルチキャスト要求パケットまたは回
線接続要求パケットであった場合、ステップS703の
処理に移る。ステップS703ではICCをチェック
し、ICC内に目的の内容が存在する場合、ステップS
705とステップS706の処理を飛ばしステップS7
07の処理に移る。ステップS704でICCに内容が
存在しない場合、ステップS705で、ディレクトリ要
求パケットをメモリを持ったクラスタに送出し、ステッ
プS706でクラスタからのディレクトリパケットを待
つ。そしてステップS707の処理に移る。ステップS
707ではディレクトリに記録されたクラスタにアクセ
スをマルチキャストする。そしてステップS708で
は、ICCを更新する。ステップS709では、パケッ
トの種類が回線要求パケットか判断し、回線要求パケッ
トであれば、ステップS710で回線を接続し、回線要
求パケットで無ければ次のパケットを待つ処理に移る。
図8は、クラスタ内のディレクトリ・マネージャ内部の
パケット受信部のフローチャートである。ステップS8
01でパケットを待ち、ステップS802で受け取った
パケットの種類を判断する。パケットがキャッシュメン
テナンスのパケットであった場合、ステップS804に
処理を移し、ステップS804でパケットに従いバスに
アクセス情報を出力する。そして、ステップS805で
アクセス結果を結合網制御装置に送出する。ステップS
802でパケットの種類がディレクトリ要求パケットで
あった場合、ディレクトリをアクセスし、結合網制御装
置に出力する。
FIG. 7 is a flow chart of the connection network control device. In step S701, the packet sent from the cluster is waited for. In step S702, the type of the packet sent is determined, and if it is determined that the packet is a multicast request packet including directory information, the processes of steps S703 to S706 are skipped and the process of step S707 is executed. . If the received packet is a multicast request packet or a line connection request packet that does not include directory information in step S702, the process proceeds to step S703. In step S703, the ICC is checked, and if the intended content is present in the ICC, step S703
Steps S705 and S705 are skipped.
The process moves to 07. If the ICC has no contents in step S704, the directory request packet is sent to the cluster having the memory in step S705, and the directory packet from the cluster is waited in step S706. Then, the process proceeds to step S707. Step S
At 707, the access is multicast to the cluster recorded in the directory. Then, in step S708, the ICC is updated. In step S709, it is determined whether the type of packet is a line request packet. If it is a line request packet, the line is connected in step S710, and if it is not a line request packet, the process waits for the next packet.
FIG. 8 is a flowchart of the packet receiving unit inside the directory manager in the cluster. Step S8
A packet is waited for at 01, and the type of packet received at step S802 is determined. If the packet is a cache maintenance packet, the process proceeds to step S804, and access information is output to the bus according to the packet in step S804. Then, in step S805, the access result is sent to the connection network control device. Step S
If the packet type is a directory request packet in 802, the directory is accessed and output to the connection network control device.

【0024】[0024]

【発明の効果】以上説明した様に、本発明によればIC
Cにディレクトリとその内容が存在した場合、キャッシ
ュの一貫性保持に要するコストをディレクトリを単に分
散配置する方式に比べて緩和することができ、ディレク
トリを集中配置した際に問題となる拡張性にも優れる効
果がある。
As described above, according to the present invention, the IC
If the directory and its contents exist in C, the cost required to maintain the cache coherency can be mitigated as compared with the method of simply arranging the directories. It has an excellent effect.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を実施したクラスタ型マルチプロセッサ
・システムの構成図である。
FIG. 1 is a configuration diagram of a cluster type multiprocessor system in which the present invention is implemented.

【図2】クラスタの構成図である。FIG. 2 is a configuration diagram of a cluster.

【図3】各クラスタと結合網制御装置とを結ぶ信号線の
図である。
FIG. 3 is a diagram of a signal line connecting each cluster and a connection network control device.

【図4】結合網制御装置の構成図である。FIG. 4 is a configuration diagram of a connection network control device.

【図5】ICCの構成図である。FIG. 5 is a configuration diagram of an ICC.

【図6】ディレクトリ・マネージャ内のパケット送信部
のフローチャートである。
FIG. 6 is a flowchart of a packet transmission unit in the directory manager.

【図7】結合網制御装置のフローチャートである。FIG. 7 is a flowchart of a connection network control device.

【図8】ディレクトリ・マネージャ内のパケット受信部
のフローチャートである。
FIG. 8 is a flowchart of a packet receiving unit in the directory manager.

【符号の説明】[Explanation of symbols]

100,101,102,103 クラスタ 104 結合網制御装置 105 スイッチ 106 ICC(:Intercluster Caching information
Cache) 107,108,109,110 クラスタと結合網制
御装置とを結ぶ信号線 111,112,113,114 クラスタとスイッチ
とを結ぶ信号線 200 プロセッサ 201 キャッシュ・メモリ 202 メモリ 203 ディレクトリ・マネージャ 204 ディレクトリ 205 ネットワーク・インタフェース 206 ディレクトリ・マネージャとネットワーク・イ
ンタフェースとを結ぶ信号線 207 クラスタ内のバス 400 マイクロコントローラ 401,402,403,404 信号線のバッファ 405,406,407,408 クラスタからの信号
到着をマイクロコントローラに知らせる信号線 409 各クラスタとの間の信号線バッファとマイクロ
コントローラとを結ぶバス 410 ICCとマイクロコントローラとを結ぶ信号
線 500 タグ・メモリ 501 コンパレータ 502 データ・メモリ 503 バッファ 504 マイクロコントローラと結ばれるデータ信号線 505 マイクロコントローラからのアドレス信号線
100, 101, 102, 103 cluster 104 coupling network control device 105 switch 106 ICC (: Intercluster Caching information
Cache) 107, 108, 109, 110 Signal line connecting the cluster and the connection network control device 111, 112, 113, 114 Signal line connecting the cluster and the switch 200 Processor 201 Cache memory 202 Memory 203 Directory manager 204 Directory 205 Network interface 206 Signal line connecting the directory manager and network interface 207 Bus in cluster 400 Micro controller 401, 402, 403, 404 Signal line buffer 405, 406, 407, 408 Micro controller for signal arrival from cluster Signal line 409 for notifying to the bus Bus connecting the signal line buffer with each cluster and the microcontroller 410 Signal connecting the ICC and the microcontroller 500 address signal lines from the data signal line 505 the microcontroller tied a tag memory 501 comparator 502 data memory 503 buffer 504 microcontroller

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ディレクトリ方式でキャッシュの一貫性
保持を行い、キャッシング情報を格納するディレクトリ
を分散配置するクラスタ型の情報処理装置であって、 各クラスタのディレクトリのキャッシング情報を記憶す
る記憶手段と、 前記記憶されたキャッシング情報を用いてキャッシュの
一貫性保持動作を行う一貫性保持手段とを有することを
特徴とする情報処理装置。
1. A cluster-type information processing device for maintaining coherency of a cache by a directory method and distributively arranging directories for storing caching information, and storage means for storing the caching information of directories of each cluster, An information processing apparatus, comprising: a coherency maintaining unit that performs a cache coherency maintaining operation using the stored caching information.
【請求項2】 前記記憶手段は前記一貫性保持手段に付
随することを特徴とする請求項1記載の情報処理装置。
2. The information processing apparatus according to claim 1, wherein the storage unit is associated with the consistency holding unit.
【請求項3】 前記記憶手段は、複数のキャッシング情
報を格納できることを特徴とする請求項1記載の情報処
理装置。
3. The information processing apparatus according to claim 1, wherein the storage unit can store a plurality of pieces of caching information.
【請求項4】 前記各クラスタのそれぞれは回線を介し
てパケットデータを伝送する伝送手段を更に有すること
を特徴とする請求項1記載の情報処理装置。
4. The information processing apparatus according to claim 1, wherein each of the clusters further includes a transmission unit that transmits packet data via a line.
【請求項5】 ディレクトリ方式でキャッシュの一貫性
保持を行い、キャッシング情報を格納するディレクトリ
を分散配置するクラスタ型の情報処理装置の情報処理方
法であって、 クラスタから送られてくるパケットがディレクトリ情報
を含むか否か判断し、 前記判断によりディレクトリ情報を含むと判断された場
合、ディレクトリに記憶されたクラスタにアクセスをマ
ルチキャストし、 前記判断によりディレクトリ情報を含まないと判断され
た場合、ディレクトリのキャッシング情報を記憶する記
憶手段よりディレクトリ情報を読み出し、ディレクトリ
に記憶されたクラスタにアクセスをマルチキャストする
ことを特徴とする情報処理方法。
5. A method of processing information in a cluster-type information processing apparatus, wherein cache consistency is maintained by a directory method, and directories for storing caching information are distributed and arranged, wherein a packet sent from a cluster is directory information. If it is determined that the directory information is included, the access is multicast to the cluster stored in the directory, and if the directory information is not included, the directory caching is performed. An information processing method comprising: reading directory information from a storage unit that stores information, and multicasting access to clusters stored in the directory.
JP6217279A 1994-09-12 1994-09-12 Information processor and its method Withdrawn JPH0883216A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6217279A JPH0883216A (en) 1994-09-12 1994-09-12 Information processor and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6217279A JPH0883216A (en) 1994-09-12 1994-09-12 Information processor and its method

Publications (1)

Publication Number Publication Date
JPH0883216A true JPH0883216A (en) 1996-03-26

Family

ID=16701653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6217279A Withdrawn JPH0883216A (en) 1994-09-12 1994-09-12 Information processor and its method

Country Status (1)

Country Link
JP (1) JPH0883216A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005539282A (en) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for using global snoop to provide cache coherence to distributed computer nodes in a single coherent system
US7747827B2 (en) 2002-03-20 2010-06-29 Hitachi, Ltd. Storage system, disk control cluster, and its increase method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005539282A (en) * 2002-01-09 2005-12-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for using global snoop to provide cache coherence to distributed computer nodes in a single coherent system
US7747827B2 (en) 2002-03-20 2010-06-29 Hitachi, Ltd. Storage system, disk control cluster, and its increase method

Similar Documents

Publication Publication Date Title
KR100491435B1 (en) System and method for maintaining memory coherency in a computer system having multiple system buses
JP2819982B2 (en) Multiprocessor system with cache match guarantee function that can specify range
US6789173B1 (en) Node controller for performing cache coherence control and memory-shared multiprocessor system
US6546471B1 (en) Shared memory multiprocessor performing cache coherency
US5878268A (en) Multiprocessing system configured to store coherency state within multiple subnodes of a processing node
JP2662603B2 (en) Method and apparatus for filtering invalidation requests
US6438653B1 (en) Cache memory control circuit including summarized cache tag memory summarizing cache tag information in parallel processor system
US6138217A (en) Method and apparatus for cache coherency in an interconnecting network
JP3661764B2 (en) Method and system for providing an eviction protocol in a non-uniform memory access computer system
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
JPH0576060B2 (en)
US10437725B2 (en) Master requesting missing segments of a cache line for which the master has coherence ownership
US5987544A (en) System interface protocol with optional module cache
EP3788493B1 (en) Data processing network with flow compaction for streaming data transfer
US6226718B1 (en) Method and system for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform access system
JP2746530B2 (en) Shared memory multiprocessor
WO2001029674A1 (en) Multi-processor system and method of accessing data therein
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
JP2006164218A (en) Storage system and its cache control method
JPH0511337B2 (en)
JPH0883216A (en) Information processor and its method
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
US6757793B1 (en) Reducing probe traffic in multiprocessor systems using a victim record table
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy
JPH11102321A (en) Cache coherency control system of decentralized common memory parallel computer

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20011120