JP5082479B2 - データ一貫性制御システム及びデータ一貫性制御方法 - Google Patents
データ一貫性制御システム及びデータ一貫性制御方法 Download PDFInfo
- Publication number
- JP5082479B2 JP5082479B2 JP2007029248A JP2007029248A JP5082479B2 JP 5082479 B2 JP5082479 B2 JP 5082479B2 JP 2007029248 A JP2007029248 A JP 2007029248A JP 2007029248 A JP2007029248 A JP 2007029248A JP 5082479 B2 JP5082479 B2 JP 5082479B2
- Authority
- JP
- Japan
- Prior art keywords
- snoop
- response
- request
- cache
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000004044 response Effects 0.000 claims description 208
- 230000001629 suppression Effects 0.000 claims description 7
- 230000002401 inhibitory effect Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims 2
- 230000002159 abnormal effect Effects 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 141
- 239000000872 buffer Substances 0.000 description 90
- 230000005540 biological transmission Effects 0.000 description 44
- 239000013598 vector Substances 0.000 description 3
- 239000012464 large buffer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、上記問題点に鑑みてなされたものであり、データ一貫性制御を単純なものとしつつ、キャッシュエージェントにデッドロックを防止するための十分大きなサイズのバッファを持つ必要のないデータ一貫性制御システムおよびデータ一貫性制御方法を提供することを目的とする。
更に、本発明にかかるデータ一貫性制御方法は、複数のキャッシュエージェントと、少なくとも1つのホームエージェントとが複数のネットワークで接続され、前記キャッシュエージェントと前記ホームエージェントとのデータの一貫性制御を行うデータ一貫性制御システムにおけるデータ一貫性制御方法であって、前記複数のネットワークは、少なくともスヌープ応答を配送する第1のネットワークと、スヌープリトライ応答を配送する第2のネットワークと、を備え、前記ホームエージェントが、前記キャッシュエージェントからのアクセス要求を前記第1のネットワークを介して受けると、当該アクセス要求を行ったキャッシュエージェント以外の複数のキャッシュエージェントに対して前記第1のネットワークを介してスヌープ要求を発行するスヌープ要求発行ステップと、前記キャッシュエージェントが、前記第1のネットワークを介して前記スヌープ要求を受け取ると、前記データの一貫性制御を行うと共に、前記ホームエージェントに対して前記第1のネットワークを介して前記スヌープ応答を発行するスヌープ応答発行ステップと、前記キャッシュエージェントが、前記ホームエージェントに対してスヌープ要求の再試行を求め、前記第2のネットワークを介して前記スヌープリトライ応答を発行するスヌープリトライ応答発行ステップと、前記ホームエージェントが、前記スヌープリトライ応答を前記第2のネットワークを介して受けて、どのキャッシュエージェントから再試行を求められたかを管理する管理ステップと、前記ホームエージェントが、当該ステップによって管理する情報により、該当するキャッシュエージェントに対して前記スヌープ要求を前記第1のネットワークを介して再発行するスヌープ要求再発行ステップと、を備えることを特徴とする。
(第1の実施の形態)
(1)第1の実施の形態によるデータ一貫性制御システム
(1−1)データ一貫性制御システムの構成
図1に示すように、データ一貫性制御システムは、複数(n個)のキャッシュエージェント21(21−1から21−n:nは、1からnまでの個数を表す番号を意味する。)と、複数(m個)のホームエージェント31(31−1から31−m:mは、1からmまでの個数を表す番号を意味する。)とが、ネットワーク11と、リトライ応答ネットワーク12とによって接続されている。
(1−2)データ一貫性制御システムの動作
データ一貫性制御システムにおけるデータ一貫性制御は、キャッシュエージェント21とホームエージェント31との間で、ネットワーク11およびリトライ応答ネットワーク12を介して、メッセージをやり取りすることにより行われる。以降、本実施の形態の特徴となる動作を説明する。
(1−3)データ一貫性制御システムの効果
本実施の形態によれば、アクセス要求・スヌープ要求・スヌープ応答・アクセス応答の4種類のメッセージは、全て一つのネットワーク11を介して送られる。そのため、それらのメッセージについてはポイント・ツー・ポイントでのメッセージの到着順序を保障することができるので、データ一貫性制御を確実で、かつ単純に行うことができる。
(第2の実施の形態)
(2)第2の実施の形態によるデータ一貫性制御システム
(2−1)データ一貫性制御システムの構成
第1の実施の形態で示した例では、リトライ応答管理テーブル67のエントリには、キャッシュエージェント数分のビット81からなるビットベクタを格納している。
(2−2)データ一貫性制御システムの動作
図9のフローチャートには、ホーム制御部165が、スヌープリトライ応答を受け取った場合の動作を示す。
(第3の実施の形態)
(3)第3の実施の形態によるデータ一貫性制御システム
第2の実施の形態のリトライ抑止部168では、全てのスヌープ応答あるいはスヌープリトライ応答を刈り取るまでスヌープ要求の再発行を抑止する、あるいはキャッシュエージェントグループに含まれる複数のキャッシュエージェント21から複数のスヌープリトライ応答が合った場合に、何度も該複数のキャッシュエージェント21に対してスヌープ要求メッセージを再発行することになり、ネットワーク11が輻輳し性能が劣化するという問題が発生し得る。
(3−1)データ一貫性制御システムの構成
第2の実施の形態の変形例として、リトライ応答管理テーブル167を図11に示すように構成する。ここでは、キャッシュエージェントグループ数分のビット281とグループ応答カウンタ282で構成することとする。
12 リトライ応答ネットワーク
21、21−1、21−2、21−n キャッシュエージェント
31、31−1、31−2、31−m ホームエージェント
51 スヌープ要求受信バッファ
52 アクセス応答受信バッファ
53 アクセス要求・スヌープ応答送信バッファ
54 スヌープリトライ応答送信バッファ
55 キャッシュ制御部
56 スヌープデッドロック判定部
61 アクセス要求・スヌープ応答受信バッファ
62 スヌープ要求・アクセス応答送信バッファ
63 スヌープリトライ応答受信バッファ
64 アクセス要求管理テーブル
65 ホーム制御部
66 スヌープ要求リトライ部
67 リトライ応答管理テーブル
71 アクセス要求情報
72 応答カウンタ
81 ビット
165 ホーム制御部
166 スヌープ要求リトライ部
167 リトライ応答管理テーブル
168 リトライ抑止部
169 リトライデッドロック判定部
181 ビット
281 ビット
282 グループ応答カウンタ
1011 ネットワーク
1021、1021−1、1021−2、1021−n キャッシュエージェント
1031、1031−1、1031−2、1031−m ホームエージェント
1051 スヌープ要求受信バッファ
1052 アクセス応答受信バッファ
1053 アクセス要求・スヌープ応答送信バッファ
1055 キャッシュ制御部
1061 アクセス要求・スヌープ応答送信バッファ
1062 スヌープ要求・アクセス応答送信バッファ
1064 アクセス要求管理テーブル
1065 ホーム制御部
1071 アクセス要求情報
1072 応答カウンタ
Claims (8)
- 複数のキャッシュエージェントと、少なくとも1つのホームエージェントとが複数のネットワークで接続され、前記キャッシュエージェントと前記ホームエージェントとのデータの一貫性制御を行うデータ一貫性制御システムであって、
前記複数のネットワークは、少なくともスヌープ応答を配送する第1のネットワークと、
スヌープリトライ応答を配送する第2のネットワークと、を備え、
前記ホームエージェントは、
前記キャッシュエージェントからのアクセス要求を前記第1のネットワークを介して受けると、当該アクセス要求を行ったキャッシュエージェント以外の複数のキャッシュエージェントに対して前記第1のネットワークを介してスヌープ要求を発行するスヌープ要求発行手段を備え、
前記キャッシュエージェントは、
前記第1のネットワークを介して前記スヌープ要求を受け取ると、前記データの一貫性制御を行うと共に、前記ホームエージェントに対して前記第1のネットワークを介して前記スヌープ応答を発行するスヌープ応答発行手段と、
前記ホームエージェントに対してスヌープ要求の再試行を求め、前記第2のネットワークを介して前記スヌープリトライ応答を発行するスヌープリトライ応答発行手段と、を備え、
前記ホームエージェントは、
前記スヌープリトライ応答を前記第2のネットワークを介して受けて、どのキャッシュエージェントから再試行を求められたかを管理する管理手段と、
当該管理手段によって管理する情報により、該当するキャッシュエージェントに対して前記スヌープ要求を前記第1のネットワークを介して再発行するスヌープ要求再発行手段と、
を更に備えることを特徴とするデータ一貫性制御システム。 - 前記キャッシュエージェントは、前記スヌープ要求を受けると共に、当該スヌープ要求を処理した場合にデッドロックが発生するかを検査するキャッシュ側デッドロック検査手段を更に備え、
当該キャッシュ側デッドロック検査手段により前記デッドロックが発生する可能性があると判断した場合には、前記スヌープリトライ応答を発行する
ことを特徴とする請求項1記載のデータ一貫性制御システム。 - 前記ホームエージェントは、スヌープリトライ抑止手段を更に備え、
前記スヌープ要求再発行手段が前記スヌープ要求を再発行すると動作異常が発生する或いはネットワークの輻輳が発生すると判断した場合には、前記スヌープリトライ抑止手段が前記スヌープ要求の再発行処理を抑止する
ことを特徴とする請求項1又は2に記載のデータ一貫性制御システム。 - 前記ホームエージェントは、前記スヌープリトライ応答を受けて、スヌープ要求の再発行を行った場合にデッドロックが発生するかを検査するホーム側デッドロック検査手段を更に備え、
当該ホーム側デッドロック検査手段により前記デッドロックが発生する可能性があると判断した場合には、前記管理手段に前記スヌープリトライ応答を記録し、一方、前記デッドロックが発生しないと判断した場合には、前記管理手段に前記スヌープリトライ応答を記録せず前記スヌープ要求を再発行する
ことを特徴とする請求項1に記載のデータ一貫性制御システム。 - 複数のキャッシュエージェントと、少なくとも1つのホームエージェントとが複数のネットワークで接続され、前記キャッシュエージェントと前記ホームエージェントとのデータの一貫性制御を行うデータ一貫性制御システムにおけるデータ一貫性制御方法であって、
前記複数のネットワークは、少なくともスヌープ応答を配送する第1のネットワークと、
スヌープリトライ応答を配送する第2のネットワークと、を備え、
前記ホームエージェントが、前記キャッシュエージェントからのアクセス要求を前記第1のネットワークを介して受けると、当該アクセス要求を行ったキャッシュエージェント以外の複数のキャッシュエージェントに対して前記第1のネットワークを介してスヌープ要求を発行するスヌープ要求発行ステップと、
前記キャッシュエージェントが、前記第1のネットワークを介して前記スヌープ要求を受け取ると、前記データの一貫性制御を行うと共に、前記ホームエージェントに対して前記第1のネットワークを介して前記スヌープ応答を発行するスヌープ応答発行ステップと、
前記キャッシュエージェントが、前記ホームエージェントに対してスヌープ要求の再試行を求め、前記第2のネットワークを介して前記スヌープリトライ応答を発行するスヌープリトライ応答発行ステップと、
前記ホームエージェントが、前記スヌープリトライ応答を前記第2のネットワークを介して受けて、どのキャッシュエージェントから再試行を求められたかを管理する管理ステップと、
前記ホームエージェントが、当該ステップによって管理する情報により、該当するキャッシュエージェントに対して前記スヌープ要求を前記第1のネットワークを介して再発行するスヌープ要求再発行ステップと、
を備えることを特徴とするデータ一貫性制御方法。 - 前記キャッシュエージェントは、前記スヌープ要求を受けると共に、当該スヌープ要求を処理した場合にデッドロックが発生するかを検査するキャッシュ側デッドロック検査ステップを更に備え、
当該デッドロック検査ステップによりデッドロックが発生する可能性があると判断した場合には、前記スヌープリトライ応答を発行する
ことを特徴とする請求項5記載のデータ一貫性制御方法。 - 前記ホームエージェントは、スヌープリトライ抑止ステップを更に備え、
前記再発行ステップが前記スヌープ要求を再発行すると動作異常が発生する或いはネットワークの輻輳が発生すると判断した場合には、前記スヌープリトライ抑止ステップが前記スヌープ要求の再発行処理を抑止する
ことを特徴とする請求項5又は6に記載のデータ一貫性制御方法。 - 前記ホームエージェントは、前記スヌープリトライ応答を受けて、スヌープ要求の再発行を行った場合にデッドロックが発生するかを検査するホーム側デッドロック検査ステップを更に備え、
当該ホーム側デッドロック検査ステップにより前記デッドロックが発生する可能性があると判断した場合には、前記管理ステップにおいて前記スヌープリトライ応答を記録し、一方、前記デッドロックが発生しないと判断した場合には、前記管理ステップにおいて前記スヌープリトライ応答を記録せず前記スヌープ要求を再発行する
ことを特徴とする請求項5記載のデータ一貫性制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029248A JP5082479B2 (ja) | 2007-02-08 | 2007-02-08 | データ一貫性制御システム及びデータ一貫性制御方法 |
US12/027,671 US20080215823A1 (en) | 2007-02-08 | 2008-02-07 | Data consistency control system and data consistency control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007029248A JP5082479B2 (ja) | 2007-02-08 | 2007-02-08 | データ一貫性制御システム及びデータ一貫性制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008197716A JP2008197716A (ja) | 2008-08-28 |
JP5082479B2 true JP5082479B2 (ja) | 2012-11-28 |
Family
ID=39733958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007029248A Expired - Fee Related JP5082479B2 (ja) | 2007-02-08 | 2007-02-08 | データ一貫性制御システム及びデータ一貫性制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080215823A1 (ja) |
JP (1) | JP5082479B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5630825B2 (ja) * | 2010-12-28 | 2014-11-26 | Necプラットフォームズ株式会社 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
US8972667B2 (en) * | 2011-06-28 | 2015-03-03 | International Business Machines Corporation | Exchanging data between memory controllers |
US9361257B2 (en) | 2011-09-30 | 2016-06-07 | Intel Corporation | Mechanism for facilitating customization of multipurpose interconnect agents at computing devices |
CN105980979B (zh) * | 2014-12-13 | 2018-11-20 | 上海兆芯集成电路有限公司 | 用于检测暂停的逻辑分析器 |
US9606925B2 (en) * | 2015-03-26 | 2017-03-28 | Intel Corporation | Method, apparatus and system for optimizing cache memory transaction handling in a processor |
US9990291B2 (en) * | 2015-09-24 | 2018-06-05 | Qualcomm Incorporated | Avoiding deadlocks in processor-based systems employing retry and in-order-response non-retry bus coherency protocols |
US20190087333A1 (en) * | 2017-09-15 | 2019-03-21 | Qualcomm Incorporated | Converting a stale cache memory unique request to a read unique snoop response in a multiple (multi-) central processing unit (cpu) processor to reduce latency associated with reissuing the stale unique request |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748463B1 (en) * | 1996-03-13 | 2004-06-08 | Hitachi, Ltd. | Information processor with snoop suppressing function, memory controller, and direct memory access processing method |
TW386192B (en) * | 1997-04-14 | 2000-04-01 | Ibm | Method and system for speculatively sourcing cache memory data within a data-processing system |
JP3751741B2 (ja) * | 1998-02-02 | 2006-03-01 | 日本電気株式会社 | マルチプロセッサシステム |
JP3676934B2 (ja) * | 1998-12-15 | 2005-07-27 | 株式会社日立製作所 | プロセッサおよびマルチプロセッサシステム |
US6604178B1 (en) * | 1999-11-30 | 2003-08-05 | International Business Machines Corporation | Hard disk drive employing neural network for performing expected access time calculations |
JP3772690B2 (ja) * | 2001-04-25 | 2006-05-10 | 日本電気株式会社 | サービスシステム及びそれに用いるサービス方法 |
JP2003216597A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | マルチプロセッサシステム |
US6986013B2 (en) * | 2002-12-05 | 2006-01-10 | International Business Machines Corporation | Imprecise cache line protection mechanism during a memory clone operation |
JP4085389B2 (ja) * | 2003-12-24 | 2008-05-14 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
US7395374B2 (en) * | 2004-01-20 | 2008-07-01 | Hewlett-Packard Company, L.P. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
WO2006004196A1 (ja) * | 2004-07-02 | 2006-01-12 | Nec Corporation | マルチプロセッサシステムおよびメモリアクセス処理方法 |
-
2007
- 2007-02-08 JP JP2007029248A patent/JP5082479B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-07 US US12/027,671 patent/US20080215823A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2008197716A (ja) | 2008-08-28 |
US20080215823A1 (en) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5082479B2 (ja) | データ一貫性制御システム及びデータ一貫性制御方法 | |
US6971098B2 (en) | Method and apparatus for managing transaction requests in a multi-node architecture | |
US20160314018A1 (en) | Method for work scheduling in a multi-chip system | |
US8898665B2 (en) | System, method and computer program product for inviting other virtual machine to access a memory space allocated to a virtual machine | |
JP3074636B2 (ja) | 並列計算機システム | |
KR102212269B1 (ko) | I/o 패킷 압축을 위한 레지스터 파일 | |
US20050144399A1 (en) | Multiprocessor system, and consistency control device and consistency control method in multiprocessor system | |
US10423530B2 (en) | Partial cache coherence | |
JP5941168B2 (ja) | 第1および第2のプロトコルドメインを有するデータ処理装置およびデータ処理装置に関する方法 | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
US20160179720A1 (en) | Device table in system memory | |
US20180300076A1 (en) | Method, device, and computer readable storage medium for managing storage | |
EP2568379A1 (en) | Method for preventing node controller deadlock and node controller | |
US20150261679A1 (en) | Host bridge with cache hints | |
JP6115455B2 (ja) | 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置 | |
US10942865B2 (en) | Snooping with access permissions | |
JP4985512B2 (ja) | 分散共有メモリ型マルチプロセッサシステム及びマルチプロセッサシステムにおける負荷分散方法 | |
US10318424B2 (en) | Information processing device | |
US8131943B2 (en) | Structure for dynamic initial cache line coherency state assignment in multi-processor systems | |
US10565004B2 (en) | Interrupt and message generation independent of status register content | |
US8838909B2 (en) | Dynamic initial cache line coherency state assignment in multi-processor systems | |
JP2022549095A (ja) | キャッシュ禁止書き込みオペレーション | |
US20130290654A1 (en) | Data writing control device, data writing control method, and information processing device | |
JP4924970B2 (ja) | データ処理システム | |
JP4295815B2 (ja) | マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080618 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100119 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100908 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120807 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120820 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |