JP6578992B2 - 制御回路、情報処理装置、および情報処理装置の制御方法 - Google Patents
制御回路、情報処理装置、および情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP6578992B2 JP6578992B2 JP2016040064A JP2016040064A JP6578992B2 JP 6578992 B2 JP6578992 B2 JP 6578992B2 JP 2016040064 A JP2016040064 A JP 2016040064A JP 2016040064 A JP2016040064 A JP 2016040064A JP 6578992 B2 JP6578992 B2 JP 6578992B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- time
- node
- access request
- request
- 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
Access(cc−NUMA)を例示できる。cc−NUMAで例示されるマルチプロセッサシステムにおいては、ノードと呼ばれるサブシステムごとにメモリが設けられる。
作させるとともに、情報処理装置の性能低下を低減することを目的とする。
e#2、Node#3の構成も、Node#1と同様である。すなわち、Node#kは、プロセッサ(Precessor)#k、システムコントローラ(System Contoroller)#k、メモリ(Memory)#kを有する。ここで、kは整数1、2、3、・・・、nである。すなわち、本実施の形態においてノード数が3個に限定される訳ではなく、正の整数nであるとする。各ノード#kにおいて、それぞれのシステムコントローラ#kは、プロセッサ#1乃至#n等のいずれかから、メモリ#kへのアクセス要求を受け取り、アクセス要求にしたがった処理を実行する。各システムコントローラ#kは、ディレクトリ方式のキャッシュ一貫性制御を実行する。
<比較例の構成図>
図2は、比較例のマルチプロセッサシステム301の構成を例示する図である。比較例のマルチプロセッサシステム301は、ディレクトリ方式のキャッシュ一貫性制御を実行する。図2においては、ノード#1のシステムコントローラ#1の構成が例示されている。ただし、ノード#2、#3、・・・、#nのシステムコントローラ#2、#3、・・・、#nも、システムコントローラ#1と同様の構成である。
図3、4に、図2のマルチプロセッサシステム301によるディレクトリ方式のキャッシュ一貫性制御の方法を例示する。ディレクトリ方式の制御では、ノード外からいずれかのメモリ(例えば、メモリ#1)にアクセス要求があって、例えばアクセス対象のデータがノード外のプロセッサ(例えば、プロセッサ#3)にキャッシュされた場合に、キャッシュされている状態が記録される。すなわち、システムコントローラ#1は、データをキャッシュしたプロセッサ#3を一意に識別できる情報(プロセッサ#3の物理IDなど)をディレクトリに書き込んで保持する。また、システムコントローラ#1は、メモリ#1へのアクセス要求を受けるたびに、アクセス対象のデータに対応するディレクトリを読み出し、そのデータがノード外に持ち出されているか否かを確認する。このような処理は、他のノードのシステムコントローラ#2、#3等でも同様に実行される。
図3は、データがノード外に持ち出されていなかった場合の処理を例示する。ノード#2のシステムコントローラ#2は、リクエスト元のプロセッサ#1(以下、リクエスタともいう)からアクセス要求を受け付け、アクセス要求に対応するディレクトリ情報をメモリ#2から読み出し、確認する(処理A1)。図3の例では、メモリ#2上のデータが最新であることが保証された場合が想定されている。
図4は、データがノード外に持ち出されていた場合の処理を例示する。図4で処理B1は、処理A1と同様であり、ノード#2のシステムコントローラ#2は、リクエスト元のプロセッサ#1からアクセス要求を受け付け、アクセス要求に対応するディレクトリ情報をメモリ#2から読み出し、確認する(処理B1)。図4の例では、メモリ#2上のデータが最新でないことが確認された場合が想定されている。
を受け取れない。
2、持ち出し先のプロセッサがノード#3のプロセッサ#3である。図5で、処理C1、C2は、図4の処理B1、B2と同様である。ただし、ノード#3のプロセッサ#3が故障していることが仮定されている。
れて返送されたデータを2つめのアクセス要求のリクエスタ(プロセッサ#4)に返してしまう(処理D13)。このため、本来廃棄されるはずのデータが2つめのアクセス要求のリクエスタ(プロセッサ#4)に返送され、データ化けが発生する。なお、正常な処理としては、処理D13の例では、システムコントローラ#2は、メモリ#2から読み出したデータを2つ目のアクセス要求のリクエスタ(プロセッサ#4)に送信するはずであったのである。
以下、図9から図13を参照して、実施の形態1に係るマルチプロセッサシステム1を例示する。実施の形態1のマルチプロセッサシステム1は、応答待ちのタイムアウト時間を適切に設定出来なかった場合に発生するデータ化けのような誤動作を防ぎつつ、システム性能の低下を抑制するエラー制御処理を例示する。マルチプロセッサシステム1は複数のノードを有する情報処理装置の一例である。
図9は、実施の形態1におけるマルチプロセッサシステム1のシステムコントローラの詳細構成を例示する図である。図9では、図2のマルチプロセッサシステム301とは異なり、データ返送監視用のタイマ26とは独立して資源解放監視タイマ(以後、ポストタイマ27と呼ぶ。)を設けている。マルチプロセッサシステム1は、上記比較例のマルチプロセッサシステム301で発生するデータ化けのような誤動作を防ぎつつ、システム性能の低下を抑制できるエラー制御方式を実現する。システムコントローラは、各ノードでそれぞれのメモリを管理する制御回路の一例である。
処理を実行する。システムコントローラの制御回路は、集積回路(IC)、その他のデジタル回路である。また、システムコントローラの少なくとも一部にアナログ回路が含まれても良い。集積回路は、Large Scale Integration(LSI)、Application Specific Integrated Circuit(ASIC),プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。シス
テムコントローラは、プロセッサと集積回路との組み合わせであっても良い。組み合わせは、例えば、マイクロコントローラ(MCU)、SoC(System-on-a-chi
p)、システムLSI、チップセットなどと呼ばれる。タイマ26は第1のタイマの一例である。ポストタイマ27は第2のタイマの一例である。
以下、図10から図13により、実施の形態1のマルチプロセッサ1による処理を説明する。以下の処理は、アクセス要求の対象であるメモリのアクセス先アドレスのデータがノード外に持ち出されていた場合の処理である。まず、図10における処理P1乃至P5は、図6の処理D1乃至D5と同様である。また、図11における処理P6乃至P7は、図7における処理D6乃至D7と同様である。なお、図10から図13は、システムコントローラ#2の処理を例示する。ただし、これらの処理は、システムコントローラ#kに
共通に処理ということができる。
ス要求と同じアドレスへなされる読み出し要求であるとする。すると、システムコントローラ#2は、資源を獲得する(処理P10)。すなわち、システムコントローラ#2は、処理P9で受け付けたアクセス要求を処理するため、メモリリクエストキュー22、メモリデータバッファ23、データ返送リクエストキュー24、データ返送バッファ25、タイマ26、ポストタイマ27などの資源を獲得する。この例で獲得した資源は、資源2と呼ぶことにする。
(1)システムコントローラ#2は、1つ目のアクセス要求を処理するために行われたメモリ#2へのデータ返送要求に対する返送データを受け取ったとしても、受け取ったデータを破棄する。
(2)2つ目のアクセス要求があっても、1つ目のアクセス要求時に確保された資源(資源1)が使用されずに、別資源(資源2)が使用される。
図14から図16を参照して、実施の形態2に係るマルチプロセッサシステム1を説明する。実施の形態2では、システムコントローラの他の構成例と制御シーケンス例とが示される。
図14に実施の形態2に係るシステムコントローラ#2の構成を例示する。ただし、他のシステムコントローラ#k(k=1、3、・・・・、n)も図14と同様である。図14のように、実施の形態2では、システムコントローラ#2は、プロセッサインタフェー
ス21、使用エントリ決定部30、複数(m個)の要求処理エントリ、メモリリクエストキュー22、データ返送リクエストキュー24、応答調停部31を有する。すなわち、図14では、図9と比較して、使用エントリ決定部30、複数(m個)の要求処理エントリ、ディレクトリバッファ33、および応答調停部31が例示される。ただし、実施の形態2のシステムコントローラの他の構成要素および各構成要素を制御する制御回路は、図9での説明と同様であるので、詳細な説明を省略する。すなわち、図14に例示したシステムコントローラの各構成は、ハードウェアのデジタル回路である。プロセッサインタフェース21の処理は、図9の場合と同様である。プロセッサインタフェース21は、インタフェース部の一例である。
インタフェース21およびポストタイマ27に対してタイムアウトが通知される。
る。ポストタイマ制御部28は、ポストタイマ27の起動から第2の所定時間以内に返送データを受信した場合は、受信した返送データを破棄する。また、ポストタイマ制御部28は、ポストタイマ27の起動から一定時間経過後に要求処理エントリ内のリソースを解放する。
図15および図16に、実施の形態2におけるシステムコントローラ(例えばノード#2のシステムコントローラ#2)の動作シーケンスを例示する。システムコントローラ#2は、例えばノード#1のプロセッサ#1からメモリへのアクセス要求(要求1とする)を受信する(S1)。S1の処理は、アクセス要求元のノードから自ノードのメモリへのアクセス要求を受信することの一例である。
。なお、システムコントローラ#2はエントリ1の資源を確保する。S5の処理は、アクセス要求を処理するための資源を確保することの一例である。ここではエントリ1が選ばれたとする。次に、システムコントローラ#2はメモリ#2からディレクトリと読み出し対象のデータを読み出す(S6)。さらに、システムコントローラ#2は取得したディレクトリと読み出し対象のデータをエントリ1のディレクトリバッファ33、メモリデータバッファ23にそれぞれ格納する(S7)。以下、図16により説明を継続する。
5に上書きして、データを更新する(S12)。さらに、システムコントローラ#2は、エントリ1のタイマ26を停止する(S13)。そして、システムコントローラ#2は、S14の処理に進む。S8の判定で、メモリ#2上のデータが最新の場合も、システムコントローラ#2はS14の処理に進む。
出する(S17)。S17は、更新されたデータの返送要求に対する応答を受信する前に前記第1の時間が経過した場合の一例である。
(1)システムコントローラは、該当資源(資源1)が1つ目のアクセス要求を処理するために行われたメモリへのデータ返送要求に対する返送データを受け取ったとしてもそのデータを破棄する。
(2)2つ目のアクセス要求があっても、1つ目のアクセス要求時に確保された資源(資源1)が使用されずに、別資源(資源2)が使用される。
上記実施の形態1および実施の形態2では、タイマ26とポストタイマ27の2つのタイマにより、データ返送要求に対するタイムアウト検出のための第1の時間の計時、資源確保の期間としての第2の時間の計時を実行した。しかし、第1の時間および第2の時間を同一のタイマ26で計時してもよい。実施の形態3では、ポストタイマ27を用いないで、実施の形態1および実施の形態2と同様の処理を実行するマルチプロセッサシステム1について説明する。実施の形態3の他の構成要素は、実施の形態1あるいは実施の形態2と同様である。そこで、実施の形態1あるいは実施の形態2と同一の構成要素については、同一の符号を付してその説明を省略する。
上記実施の形態1から実施の形態3では、なお、図1、図9、図14のように、システムコントローラと、プロセッサとが別体で、例えば異なるチップに形成されている。しかしながら、システムコントローラと、プロセッサとが一体で形成されてもよい。例えば、システムコントローラの処理を実行するハードウェア回路、プロセッサインタフェース21、メモリリクエストキュー22、メモリデータバッファ23、データ返送リクエストキュー24、返送データバッファ25、タイマ26、ポストタイマ27、ポストタイマ制御部28等がプロセッサ内に含まれるようにしてもよい。
21 プロセッサインタフェース
22 メモリリクエストキュー
23 メモリデータバッファ
24 データ返送リクエストキュー
25 返送データバッファ
26 タイマ
27 ポストタイマ
28 ポストタイマ制御部
29 監視回路
30 使用エントリ決定部
31 応答調停部
32 エントリ制御部
Claims (6)
- 複数のノードを有する情報処理装置の各ノードでそれぞれのメモリを管理する制御回路であって、
アクセス要求を処理するための資源を複数備え、アクセス要求元のノードから自ノードのメモリへのアクセス要求を受信すると、前記複数の資源のうちから1つの資源を確保し、確保した前記1つの資源を用いて、前記アクセス要求によるアクセス先のデータについての前記複数のノードのいずれかによる更新状態を含む管理情報を参照し、いずれかのノードが前記アクセス先のデータを更新している場合には、前記データを更新しているノードに更新されたデータの返送要求を送信するとともに第1の時間の計時を開始し、前記更新されたデータの返送要求に対する応答を受信する前に前記第1の時間が経過した場合に、前記アクセス要求元のノードにエラー応答を返信するとともに第2の時間の計時を開始し、前記第2の時間が経過する前に前記更新されたデータの返送要求に対する応答を受信した場合には、前記受信した応答を破棄し、前記第2の時間が経過した場合に、前記1つの資源を解放する制御回路。 - 第1のタイマと、
第2のタイマと、をさらに備え、
前記第1のタイマにより前記第1の時間を計時し、前記第2のタイマにより前記第2の時間を計時する請求項1に記載の制御回路。 - タイマを備え、
前記タイマにより前記第1の時間を計時し、前記第1の時間の経過後、前記タイマを再設定することで前記第2の時間を計時する請求項1に記載の制御回路。 - 前記制御回路は、
前記アクセス要求を受け付けるインタフェース部と、
前記受け付けたアクセス要求を処理するための資源をそれぞれ有する複数のエントリと、
前記受け付けたアクセス要求に対して前記複数のエントリの1つを割り当てる使用エントリ決定部と、をさらに備える請求項1から3のいずれか1項に記載の制御回路。 - 複数のノードを有する情報処理装置であって、
前記複数のノードのそれぞれは、
メモリと、
前記メモリを管理する制御回路と、を備え、
前記制御回路は、
アクセス要求を処理するための資源を複数備え、アクセス要求元のノードから自ノードのメモリへのアクセス要求を受信すると、前記複数の資源のうちから1つの資源を確保し、確保した前記1つの資源を用いて、前記アクセス要求によるアクセス先のデータについての前記複数のノードのいずれかによる更新状態を含む管理情報を参照し、いずれかのノードが前記アクセス先のデータを更新している場合には、前記データを更新しているノードに更新されたデータの返送要求を送信するとともに第1の時間の計時を開始し、前記更新されたデータの返送要求に対する応答を受信する前に前記第1の時間が経過した場合に、前記アクセス要求元のノードにエラー応答を返信するとともに第2の時間の計時を開始し、前記第2の時間が経過する前に前記更新されたデータの返送要求に対する応答を受信した場合には、前記受信した応答を破棄し、前記第2の時間が経過した場合に、前記1つの資源を解放する情報処理装置。 - 複数のノードを有する情報処理装置の制御方法であって、
アクセス要求元のノードから自ノードのメモリへのアクセス要求を受信すると、前記アクセス要求を処理するための複数の資源のうちから1つの資源を確保し、確保した前記1つの資源を用いて、前記アクセス要求によるアクセス先のデータについての前記複数のノードのいずれかによる更新状態を含む管理情報を参照し、いずれかのノードが前記アクセス先のデータを更新している場合には、前記データを更新しているノードに更新されたデータの返送要求を送信するとともに第1の時間の計時を開始し、前記更新されたデータの返送要求に対する応答を受信する前に前記第1の時間が経過した場合に、前記アクセス要求元のノードにエラー応答を返信するとともに第2の時間の計時を開始し、前記第2の時間が経過する前に前記更新されたデータの返送要求に対する応答を受信した場合には、前記受信した応答を破棄し、前記第2の時間が経過した場合に、前記1つの資源を解放する、情報処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016040064A JP6578992B2 (ja) | 2016-03-02 | 2016-03-02 | 制御回路、情報処理装置、および情報処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016040064A JP6578992B2 (ja) | 2016-03-02 | 2016-03-02 | 制御回路、情報処理装置、および情報処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017157020A JP2017157020A (ja) | 2017-09-07 |
JP6578992B2 true JP6578992B2 (ja) | 2019-09-25 |
Family
ID=59810276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016040064A Active JP6578992B2 (ja) | 2016-03-02 | 2016-03-02 | 制御回路、情報処理装置、および情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6578992B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887138A (en) * | 1996-07-01 | 1999-03-23 | Sun Microsystems, Inc. | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes |
US6560681B1 (en) * | 1998-05-08 | 2003-05-06 | Fujitsu Limited | Split sparse directory for a distributed shared memory multiprocessor system |
US6067611A (en) * | 1998-06-30 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency |
US6898638B2 (en) * | 2001-01-11 | 2005-05-24 | International Business Machines Corporation | Method and apparatus for grouping data for transfer according to recipient buffer size |
JP4572169B2 (ja) * | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
JP4644647B2 (ja) * | 2006-10-10 | 2011-03-02 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
JP5151176B2 (ja) * | 2007-02-21 | 2013-02-27 | 株式会社リコー | データ通信装置、画像処理システムおよびデータ通信方法 |
JP5736847B2 (ja) * | 2011-03-02 | 2015-06-17 | 株式会社リコー | 画像形成装置およびその制御方法 |
-
2016
- 2016-03-02 JP JP2016040064A patent/JP6578992B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017157020A (ja) | 2017-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177030B (zh) | 混合存储器管理 | |
JP3871305B2 (ja) | マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化 | |
US9065706B2 (en) | Information processing apparatus, computer-readable recording medium, and control method | |
US5572703A (en) | Method and apparatus for snoop stretching using signals that convey snoop results | |
US5282272A (en) | Interrupt distribution scheme for a computer bus | |
JP3660679B2 (ja) | 高度パイプライン式バス・アーキテクチャ | |
JP4474570B2 (ja) | キャッシュコヒーレンシ制御方法 | |
US20050223302A1 (en) | Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks | |
JPH09114795A (ja) | パケット交換型キャッシュコヒーレントマルチプロセッサシステムにおいてプロセッサをインターフェイスする並列型マスタ要求クラス構造 | |
JP2000076217A (ja) | コンピュ―タ・システムにおいてロック動作を最適化するシステムおよび方法 | |
US20120254698A1 (en) | Memory scrubbing | |
US8850129B2 (en) | Memory ordered store system in a multiprocessor computer system | |
JP6129976B2 (ja) | 高効率アトミック演算を使用した方法および装置 | |
JPH08249231A (ja) | マルチプロセッサ・システムにおける古いデータの処理システム及び方法 | |
US8645632B2 (en) | Speculative writestream transaction | |
JP6578992B2 (ja) | 制御回路、情報処理装置、および情報処理装置の制御方法 | |
CN114356839B (zh) | 处理写操作的方法、设备、处理器及设备可读存储介质 | |
JP4644647B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JPWO2006001051A1 (ja) | マルチプロセッサ装置及びその制御方法 | |
US9959173B2 (en) | Node, arithmetic processing device, and arithmetic processing method | |
US20140052941A1 (en) | Calculation processing device and control method for calculation processing device | |
JP4452707B2 (ja) | マルチプロセッサ装置及びそのメモリアクセス方法 | |
JP2007048314A (ja) | データ転送システムにおける送信装置及び受信装置,データ転送システム並びにデータ転送システムのバス制御方法 | |
JP2005242929A (ja) | 共有メモリのアクセス方法及びデータ処理装置 | |
WO2012093475A1 (ja) | 情報転送装置および情報転送装置の情報転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190521 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190719 |
|
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: 20190730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6578992 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |