JP2012138038A - マルチプロセッサシステム、リクエスト処理方法、及びノード - Google Patents
マルチプロセッサシステム、リクエスト処理方法、及びノード Download PDFInfo
- Publication number
- JP2012138038A JP2012138038A JP2010291499A JP2010291499A JP2012138038A JP 2012138038 A JP2012138038 A JP 2012138038A JP 2010291499 A JP2010291499 A JP 2010291499A JP 2010291499 A JP2010291499 A JP 2010291499A JP 2012138038 A JP2012138038 A JP 2012138038A
- Authority
- JP
- Japan
- Prior art keywords
- request
- processing
- address
- held
- control unit
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 239000012536 storage buffer Substances 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 15
- 239000000872 buffer Substances 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】マルチプロセッサシステム2は、それぞれプロセッサ(701,702,801,802,901,902)を有する複数のノード(700,800,900)、を備え、自ノード700は、複数のノード(700,800,900)で共有されるメモリ740と、複数のノード(700,800,900)のうち他ノード(800,900)から発行されるリクエストを処理し、メモリ740のアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、第1のリクエストの処理を完了するまで第2のリクエストを保持し、第1のリクエストの処理を完了した後に保持した第2のリクエストを続けて処理する制御部750と、を備える。
【選択図】図1
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 (8)
- それぞれプロセッサを有する複数のノード、を備え、
前記複数のノードのうちの自ノードは、
前記複数のノードで共有されるメモリと、
前記複数のノードのうち他ノードから発行されるリクエストを処理し、前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持し、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理する制御部と、
を備えるマルチプロセッサシステム。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された第3のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記第3のリクエストの発行元情報を保持し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う
ことを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された複数のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記複数のリクエストの発行元情報を受信した順に保持し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報のうち最初に保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う
ことを特徴とする請求項2に記載のマルチプロセッサシステム。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された第3のリクエストを受信した場合、前記第2のリクエストの処理を開始するタイミングと、前記第3のリクエストを保持しようとするタイミングと、が、同じタイミングとなったときには前記第3のリクエストを保持し、それ以外のときには、前記第2のリクエストの処理を開始するまで前記第3のリクエストの発行元情報を保持する
ことを特徴とする請求項2又は3に記載のマルチプロセッサ。 - 前記制御部は、
前記保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う場合、当該再発行指示に応答して発行されるリクエストは前記第3のリクエストの次に保持対象となるリクエストである旨を含むリクエストの再発行指示を行い、前記再発行指示に応答して発行されたリクエストを受信した場合、当該受信したリクエストを受信する他のリクエストよりも優先して保持する
ことを特徴とする請求項2乃至4のいずれか1項に記載のマルチプロセッサ。 - それぞれプロセッサを有する複数のノードを備えたマルチプロセッサにおけるリクエスト処理方法であって、
前記複数のノードで共有されるメモリを有する自ノードが、他ノードから発行されるリクエストを処理するステップと、
前記自ノードが、前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持するステップと、
前記自ノードが、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理するステップと、
を含むリクエスト処理方法。 - それぞれプロセッサを有する複数の他のノードと接続され、
自ノードと他ノードで共有されるメモリと、
前記他ノードから発行されるリクエストを処理する制御部と、を備え、
前記制御部は、
前記メモリのアドレスが指定された第1のリクエストの処理中に当該アドレスと一致するアドレスが指定された第2のリクエストを受信した場合、前記第1のリクエストの処理を完了するまで前記第2のリクエストを保持する次リクエスト格納レジスタを有し、前記第1のリクエストの処理を完了した後に前記保持した前記第2のリクエストを続けて処理する
ことを特徴とするノード。 - 前記制御部は、
前記第2のリクエストの保持中に、前記アドレスと一致するアドレスが指定された複数のリクエストを受信した場合、前記第2のリクエストの処理を開始するまで前記複数のリクエストの発行元情報を受信した順に保持する発行元情報格納バッファを有し、前記第2のリクエストの処理を開始した後に、前記保持した発行元情報のうち最初に保持した発行元情報が示す発行元に対してリクエストの再発行指示を行う
ことを特徴とする請求項7に記載のノード。
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 true JP2012138038A (ja) | 2012-07-19 |
JP5630825B2 JP5630825B2 (ja) | 2014-11-26 |
Family
ID=46675378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010291499A Expired - Fee Related JP5630825B2 (ja) | 2010-12-28 | 2010-12-28 | マルチプロセッサシステム、リクエスト処理方法、及びノード |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5630825B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099614A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | システムコントローラおよびキャッシュ制御方法 |
JP2008197716A (ja) * | 2007-02-08 | 2008-08-28 | Nec Corp | データ一貫性制御システム及びデータ一貫性制御方法 |
JP2010170292A (ja) * | 2009-01-22 | 2010-08-05 | Nec Computertechno Ltd | キャッシュメモリ制御回路およびキャッシュメモリ管理方法 |
-
2010
- 2010-12-28 JP JP2010291499A patent/JP5630825B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099614A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | システムコントローラおよびキャッシュ制御方法 |
JP2008197716A (ja) * | 2007-02-08 | 2008-08-28 | Nec Corp | データ一貫性制御システム及びデータ一貫性制御方法 |
JP2010170292A (ja) * | 2009-01-22 | 2010-08-05 | Nec Computertechno Ltd | キャッシュメモリ制御回路およびキャッシュメモリ管理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5630825B2 (ja) | 2014-11-26 |
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 | |
JP5787629B2 (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
US8095733B2 (en) | Virtual barrier synchronization cache castout election | |
JP4700773B2 (ja) | スイッチをベースとするマルチプロセッサシステムに使用するための順序サポート機構 | |
US20100257317A1 (en) | Virtual Barrier Synchronization Cache | |
US20050154831A1 (en) | Source request arbitration | |
JP2012038293A5 (ja) | ||
JPH11282821A (ja) | 同時トランザクションを依存性で管理するための低占有度プロトコル | |
US11119961B2 (en) | I/O coherent request node for data processing network with improved handling of write operations | |
JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
JPH10320282A (ja) | 仮想キャッシュ・コントロール方法及び装置 | |
US20100058001A1 (en) | Distributed shared memory multiprocessor and data processing method | |
US7483428B2 (en) | Data processing system, method and interconnect fabric supporting a node-only broadcast | |
JP2009245323A (ja) | レイテンシ短縮方式及び方法 | |
JP5630825B2 (ja) | マルチプロセッサシステム、リクエスト処理方法、及びノード | |
JP4335298B2 (ja) | スヌープ制御方法および情報処理装置 | |
JP5571327B2 (ja) | レイテンシ短縮システム、レイテンシ短縮方法、および、レイテンシ短縮プログラム | |
JP5168800B2 (ja) | マルチプロセッサシステム | |
JP5549694B2 (ja) | 超並列計算機、同期方法、同期プログラム | |
JP2001167068A (ja) | メモリアクセス方法及びマルチプロセッサシステム | |
JP3288261B2 (ja) | キャッシュシステム | |
JP2003150573A (ja) | マルチプロセッサシステム | |
CN116089116B (zh) | 数据处理方法及装置 |
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 | Request for written amendment filed |
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 |
|
LAPS | Cancellation because of no payment of annual fees |