JP5630825B2 - マルチプロセッサシステム、リクエスト処理方法、及びノード - Google Patents
マルチプロセッサシステム、リクエスト処理方法、及びノード Download PDFInfo
- Publication number
- JP5630825B2 JP5630825B2 JP2010291499A JP2010291499A JP5630825B2 JP 5630825 B2 JP5630825 B2 JP 5630825B2 JP 2010291499 A JP2010291499 A JP 2010291499A JP 2010291499 A JP2010291499 A JP 2010291499A JP 5630825 B2 JP5630825 B2 JP 5630825B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- processing
- address
- node
- held
- 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.)
- Active
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
ノード400は、プロセッサ(401,402)と、自ノード内のキャシュの状態を管理するディレクトリ430と、メモリ440の制御を行うメモリ・ディレクトリ制御部420と、ノード間のルーティングと他ノードのキャッシュ状態を管理するディレクトリ460と、ディレクトリ460の制御を行うグローバルスイッチ・ディレクトリ制御部450と、これらをノード内で繋ぐローカルスイッチ410と、を備えて構成されている。
ノード(500,600)のプロセッサ(501,502,601,602)から、ノード400のメモリ440に対して同一アドレスのリクエストが発行された場合、グローバルスイッチ・ディレクトリ制御部(550,650)を介して、グローバルスイッチ・ディレクトリ制御部450へとリクエストが送られる。
グローバルスイッチ・ディレクトリ制御部450は、最初に受け付けたCPU501からのリクエストを、メモリ440に対して発行する(T11)。
第1に、リトライが大量に発生するため、ノード間のトラフィックが増大し、性能へと影響が生じてしまうことである。
第2に、リクエストが受け付け順に処理されないため、リクエスト発行元間で偏りが生じてしまい(あるCPUからのリクエストは処理されやすい、処理されにくいなど)、一向に処理されないCPUが出てくることで、性能低下につながることである。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態に係るマルチプロセッサシステム1の構成図である。
マルチプロセッサシステム1は、互いに接続された複数のノード(100,200,300)を備えている。複数のノード(100,200,300)は、共有メモリを含むマルチプロセッサノードである。これら複数のノード(100,200,300)は、それぞれが有するグローバルスイッチ・ディレクトリ制御部(150,250,350)を介して、互いに接続されている。
図4は、グローバルスイッチ・ディレクトリ制御部150の動作を示している。図4を参照して、グローバルスイッチ・ディレクトリ制御部150がリクエストを受信した時に、リクエストの対象アドレスがメモリ140に存在する場合における動作を説明する。
第1の効果として、次に処理するリクエストを、自ノード内のグローバルスイッチ・ディレクトリ制御部150に常に保持しておくことで、本発明に関連する技術(図9乃至10に例示した技術)と比較して、次のリクエストを受け付けるまでの空き時間をなくすことができ、リクエストを連続で処理することが可能となる。このため、リトライの発生を抑制し、性能を向上させるという効果を奏する。
図6は、本実施の形態に係るマルチプロセッサシステム1における動作を説明するための図である。図6では、グローバルスイッチ・ディレクトリ制御部150がリクエストを受信した時に、ノード100のメモリ140に対象アドレスが存在する場合を説明している。
グローバルスイッチ・ディレクトリ制御部150は、最初に受け付けたCPU201からのリクエストを、メモリ140に対して発行する(T1)。なお、この処理は、図11に示した処理と同一である。
100,200,300 ノード、
101,102,201,202,301,302 プロセッサ、
110,210,310 ローカルスイッチ、
120,220,320 メモリ・ディレクトリ制御部、
140,240,340 メモリ、
130,160,230,260,330,360 ディレクトリ、
150,250,350 グローバルスイッチ・ディレクトリ制御部、
11 次リクエスト登録判定回路、 12,18,21 調停回路、
13 アドレス一致回路、 14 登録判定回路、 15 メッセージ制御レジスタ、
16 メッセージ格納バッファ、 17 メッセージ発行・生成回路、
19 リトライ格納先判定回路、 20 競合制御回路、 22 リトライバッファ、
31,32 モジュール、
41 使用中Valid、 42 競合エントリ、 43 競合リクエスト制御レジスタ、
51 リクエスト発行可能Valid、 52 次リクエストValid、
53 リトライ待ちフラグ、 54 発行元格納バッファValid、
44 次リクエスト格納レジスタ、 45 発行元情報格納バッファ、
400,500,600 ノード、
401,402,501,502,601,602 プロセッサ、
410,510,610 ローカルスイッチ、
420,520,620 メモリ・ディレクトリ制御部、
440,540,640 メモリ、
430,460,530,560,630,660 ディレクトリ、
450,550,650 グローバルスイッチ・ディレクトリ制御部、
Claims (6)
- それぞれプロセッサを有する複数のノード、を備え、
前記複数のノードのうちの自ノードは、
前記複数のノードで共有されるメモリと、
前記複数のノードのうち他ノードから発行されるリクエストを処理し、前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持し、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理する制御部と、
を備え、
前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された第3のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記第3のリクエストの発行元情報を保持し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う、
マルチプロセッサシステム。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された複数のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記複数のリクエストの発行元情報を受信した順に保持し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報のうち最初に保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う
ことを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された第3のリクエストを受信した場合、前記第2のリクエストの処理を開始するタイミングと、前記第3のリクエストを保持しようとするタイミングと、が、同じタイミングとなったときには前記第3のリクエストを保持し、それ以外のときには、前記第2のリクエストの処理を開始するまで前記第3のリクエストの発行元情報を保持する
ことを特徴とする請求項1又は2に記載のマルチプロセッサシステム。 - 前記制御部は、
前記保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う場合、当該再発行指示に応答して発行されるリクエストは前記第3のリクエストの次に保持対象となるリクエストである旨を含むリクエストの再発行指示を行い、前記再発行指示に応答して発行されたリクエストを受信した場合、当該受信したリクエストを受信する他のリクエストよりも優先して保持する
ことを特徴とする請求項1乃至3のいずれか1項に記載のマルチプロセッサシステム。 - それぞれプロセッサを有する複数のノードを備えたマルチプロセッサにおけるリクエスト処理方法であって、
前記複数のノードで共有されるメモリを有する自ノードが、他ノードから発行されるリクエストを処理するステップと、
前記自ノードが、前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持するステップと、
前記自ノードが、前記第2のリクエストの保持中に前記アドレスと一致するアドレスが指定された第3のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記第3のリクエストの発行元情報を保持するステップと、
前記自ノードが、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理するステップと、
前記自ノードが、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報が示す発行元に対してリクエストの再発行指示を行うステップと、
を含むリクエスト処理方法。 - それぞれプロセッサを有する複数の他のノードと接続され、
自ノードと他ノードで共有されるメモリと、
前記他ノードから発行されるリクエストを処理する制御部と、を備え、
前記制御部は、
前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持する次リクエスト格納レジスタを有するとともに、前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された複数のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記複数のリクエストの発行元情報を受信した順に保持する発行元情報格納バッファを有し、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報のうち最初に保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う、
ノード。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010291499A JP5630825B2 (ja) | 2010-12-28 | 2010-12-28 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010291499A JP5630825B2 (ja) | 2010-12-28 | 2010-12-28 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012138038A JP2012138038A (ja) | 2012-07-19 |
JP5630825B2 true JP5630825B2 (ja) | 2014-11-26 |
Family
ID=46675378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010291499A Active JP5630825B2 (ja) | 2010-12-28 | 2010-12-28 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5630825B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099614A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | システムコントローラおよびキャッシュ制御方法 |
JP5082479B2 (ja) * | 2007-02-08 | 2012-11-28 | 日本電気株式会社 | データ一貫性制御システム及びデータ一貫性制御方法 |
JP5435617B2 (ja) * | 2009-01-22 | 2014-03-05 | エヌイーシーコンピュータテクノ株式会社 | キャッシュメモリ制御回路およびキャッシュメモリ管理方法 |
-
2010
- 2010-12-28 JP JP2010291499A patent/JP5630825B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012138038A (ja) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885583B (zh) | 高速缓存存储器访问 | |
US5796977A (en) | Highly pipelined bus architecture | |
US6636949B2 (en) | System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing | |
JP4700773B2 (ja) | スイッチをベースとするマルチプロセッサシステムに使用するための順序サポート機構 | |
US7600080B1 (en) | Avoiding deadlocks in a multiprocessor system | |
US8131935B2 (en) | Virtual barrier synchronization cache | |
US8095733B2 (en) | Virtual barrier synchronization cache castout election | |
JP3899142B2 (ja) | パイプライン分散バス・アービトレーション・システム | |
JP2001167077A (ja) | ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体 | |
JPH11282821A (ja) | 同時トランザクションを依存性で管理するための低占有度プロトコル | |
JP2012038293A5 (ja) | ||
JP2010044599A (ja) | 情報処理装置及び順序保証方式 | |
EP3644190B1 (en) | I/o coherent request node for data processing network with improved handling of write operations | |
JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
US20100058001A1 (en) | Distributed shared memory multiprocessor and data processing method | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
JP2009245323A (ja) | レイテンシ短縮方式及び方法 | |
JP2004506986A (ja) | マルチプロセッサコンピュータシステムにおいて、ポストされたリクエストのための別個のバーチャルチャネルを実現するためのシステムおよび方法 | |
JP5630825B2 (ja) | マルチプロセッサシステム、リクエスト処理方法、及びノード | |
JP2017191435A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP4335298B2 (ja) | スヌープ制御方法および情報処理装置 | |
JP5168800B2 (ja) | マルチプロセッサシステム | |
JP5571327B2 (ja) | レイテンシ短縮システム、レイテンシ短縮方法、および、レイテンシ短縮プログラム | |
JP2004185610A (ja) | メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構 | |
JP5549694B2 (ja) | 超並列計算機、同期方法、同期プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140701 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20140807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140818 |
|
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: 20140909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5630825 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |