JP2017107320A - Information processing device, arithmetic processing device, and method for controlling information processing device - Google Patents
Information processing device, arithmetic processing device, and method for controlling information processing device Download PDFInfo
- Publication number
- JP2017107320A JP2017107320A JP2015239297A JP2015239297A JP2017107320A JP 2017107320 A JP2017107320 A JP 2017107320A JP 2015239297 A JP2015239297 A JP 2015239297A JP 2015239297 A JP2015239297 A JP 2015239297A JP 2017107320 A JP2017107320 A JP 2017107320A
- Authority
- JP
- Japan
- Prior art keywords
- request
- unit
- node
- data
- memory 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 177
- 230000010365 information processing Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims description 102
- 230000004044 response Effects 0.000 claims abstract description 143
- 238000001514 detection method Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims description 73
- 230000002265 prevention Effects 0.000 claims description 67
- 238000004891 communication Methods 0.000 abstract description 27
- 230000006870 function Effects 0.000 description 11
- 238000012805 post-processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Abstract
Description
本発明は、情報処理装置、演算処理装置および情報処理装置の制御方法に関する。 The present invention relates to an information processing device, an arithmetic processing device, and a control method for the information processing device.
近時、演算処理装置と主記憶装置とをそれぞれ有する複数のノードを互いに接続し、複数のノードの主記憶装置を演算処理装置で共有するマルチプロセッサシステムが提案されている。この種のマルチプロセッサシステムでは、ディレクトリ方式またはスヌープ方式により、主記憶装置が保持するデータと各ノードのキャッシュメモリが保持するデータとの整合性または一貫性(キャッシュコヒーレンシ)が維持される。ディレクトリ方式では、自ノードの主記憶装置に保持されたデータを他ノードのキャッシュメモリに持ち出したことを示すディレクトリ情報に基づいてキャッシュコヒーレンシを維持する制御が実行される。スヌープ方式では、ブロードキャストされたメモリアクセス要求に対応して各ノードから発行される応答に基づいて、キャッシュコヒーレンシを維持する制御が実行される。 Recently, a multiprocessor system has been proposed in which a plurality of nodes each having an arithmetic processing device and a main storage device are connected to each other, and the main storage devices of the plurality of nodes are shared by the arithmetic processing devices. In this type of multiprocessor system, consistency or consistency (cache coherency) between data held in the main storage device and data held in the cache memory of each node is maintained by the directory method or the snoop method. In the directory system, control for maintaining cache coherency is executed based on directory information indicating that data held in the main storage device of the own node has been taken out to the cache memory of another node. In the snoop method, control for maintaining cache coherency is executed based on a response issued from each node in response to a broadcast memory access request.
例えば、ディレクトリ方式のマルチプロセッサシステムでは、データ返送要求に対する応答が要求先のノードの故障等により得られない場合、データ返送要求の要求元のノードは、ディレクトリ情報にエラーマークを書き込む。この後、エラーマークを含むディレクトリ情報に対応するメモリアクセス要求を受けたノードは、エラー応答を返すことで、故障と判定されたノード以外の動作が継続可能になる(例えば、特許文献1参照)。 For example, in a directory-type multiprocessor system, when a response to a data return request cannot be obtained due to a failure of a request destination node, the request source node of the data return request writes an error mark in the directory information. Thereafter, the node that has received the memory access request corresponding to the directory information including the error mark returns an error response, so that the operation other than the node determined to be faulty can be continued (for example, see Patent Document 1). .
一方、スヌープ方式のマルチプロセッサシステムでは、スヌープ処理時に誤ったメモリアクセス要求が紛れ込むことで同期エラーを検出した場合、ブロードキャストの処理からリトライを実行する(例えば、特許文献2参照)。 On the other hand, in the multi-processor system of the snoop method, when a synchronization error is detected due to an erroneous memory access request inserted during the snoop process, a retry is executed from the broadcast process (see, for example, Patent Document 2).
ディレクトリ方式のマルチプロセッサシステムでは、ノード間を接続する通信経路等で故障が一時的に発生した場合、データ返送要求が要求先のノードに伝達されない場合がある。この場合、要求先のノードは、要求元のノードから持ち出したデータを返送することなく参照し続けてしまう。上述したように、要求元のノードがディレクトリ情報にエラーマークを書き込むことで、故障と判定されたノード以外の動作は継続可能になる。しかしながら、データが返送されずに参照され続ける場合、例えば、マルチプロセッサシステム上で並列動作するプログラム間で扱うデータの整合性を取ることが困難になり、キャッシュコヒーレンシは維持されなくなる。 In a directory-type multiprocessor system, when a failure occurs temporarily in a communication path connecting nodes, a data return request may not be transmitted to a request destination node. In this case, the request destination node continues to refer to the data taken out from the request source node without returning it. As described above, when the requesting node writes an error mark in the directory information, operations other than the node determined to be faulty can be continued. However, if the data continues to be referenced without being returned, for example, it becomes difficult to maintain consistency of data handled between programs operating in parallel on a multiprocessor system, and cache coherency cannot be maintained.
1つの側面では、本件開示の情報処理装置、演算処理装置および情報処理装置の制御方法は、ノード間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することを目的とする。 In one aspect, the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus disclosed herein maintain cache coherency even when a failure occurs temporarily in a communication path or the like that connects nodes. With the goal.
一つの観点によれば、データを記憶する記憶装置と、記憶装置に接続され、演算処理を実行する演算処理部と演算処理部が処理するデータを保持するキャッシュメモリ部とキャッシュミスの発生時にメモリアクセス要求を発行するキャッシュメモリ制御部と演算処理部が発行したメモリアクセス要求に基づいてメモリアクセス処理と記憶装置が記憶するデータとキャッシュメモリが保持するデータとの整合性を維持する処理とを実行するメモリアクセス制御部とを含む演算処理装置とを含むノードを複数有する情報処理装置において、メモリアクセス制御部は、発行されたメモリアクセス要求のアクセス対象である対象データと、対象データを持ち出したノードを識別するディレクトリ情報とを記憶装置から読み出すメモリ制御部と、対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する検出部と、検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を持ち出しノードに発行するコヒーレンシ制御部を有する。 According to one aspect, a storage device that stores data, an arithmetic processing unit that is connected to the storage device and executes arithmetic processing, a cache memory unit that holds data processed by the arithmetic processing unit, and a memory when a cache miss occurs Based on the memory access request issued by the cache memory control unit that issues the access request and the arithmetic processing unit, the memory access processing and the processing that maintains the consistency between the data stored in the storage device and the data held in the cache memory are executed. In an information processing apparatus having a plurality of nodes including a processing unit including a memory access control unit, the memory access control unit includes target data that is an access target of the issued memory access request, and a node that has taken out the target data A memory control unit for reading out directory information for identifying A detection unit that detects a take-out node that is another node that has taken out the target data read from the storage device based on the directory information, and a take-out request that drives out the target data from the cache memory unit of the take-out node detected by the detection unit If a corresponding response is not received before the elapse of a predetermined time, the coherency control unit issues an invalidation request for invalidating the target data held in the cache memory unit of the takeout node to the takeout node.
別の観点によれば、データを記憶する記憶装置と、記憶装置に接続され、演算処理を実行する演算処理部と演算処理部が処理するデータを保持するキャッシュメモリ部とキャッシュミスの発生時にメモリアクセス要求を発行するキャッシュメモリ制御部と演算処理部が発行したメモリアクセス要求に基づいてメモリアクセス処理と記憶装置が記憶するデータとキャッシュメモリが保持するデータとの整合性を維持する処理とを実行するメモリアクセス制御部とを含む演算処理装置とを含むノードを複数有する情報処理装置において、メモリアクセス制御部は、発行されたメモリアクセス要求のアクセス対象である対象データと、対象データを持ち出したノードを識別するディレクトリ情報とを記憶装置から読み出すメモリ制御部と、対象データが失われることを予防するロスト予防情報をメモリアクセス要求が含むかを検出する第1の検出部と、ロスト予防情報をメモリアクセス要求が含むことを第1の検出部が検出した場合にセットされる予防フラグと、対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する第2の検出部と、第2の検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を発行し、予防フラグがセットされた場合、対象データを含む応答をメモリアクセス要求の発行元に発行後、メモリアクセス要求の発行元のノードから対象データを追い出す追い出し要求を発行するコヒーレンシ制御部を有する。 According to another aspect, a storage device that stores data, an arithmetic processing unit that is connected to the storage device and executes arithmetic processing, a cache memory unit that holds data processed by the arithmetic processing unit, and a memory when a cache miss occurs Based on the memory access request issued by the cache memory control unit that issues the access request and the arithmetic processing unit, the memory access processing and the processing that maintains the consistency between the data stored in the storage device and the data held in the cache memory are executed. In an information processing apparatus having a plurality of nodes including a processing unit including a memory access control unit, the memory access control unit includes target data that is an access target of the issued memory access request, and a node that has taken out the target data A memory control unit for reading out directory information for identifying the data from the storage device, and target data Is set when the first detection unit detects whether the memory access request includes lost prevention information that prevents loss of information, and the first detection unit detects that the memory access request includes lost prevention information. A preventive flag, a second detection unit that detects a take-out node that is another node that has taken out the target data read from the corresponding storage device, based on the directory information, and a take-out node detected by the second detection unit When a eviction request to evoke target data from the cache memory unit is issued and the prevention flag is set, a response including the target data is issued to the memory access request issuer, and then the target data is sent from the node that issued the memory access request. It has a coherency control unit that issues a eviction request.
別の観点によれば、情報処理装置が有する複数のノードの各々に設けられ、データを記憶する記憶装置と、記憶装置に接続され、演算処理を実行する演算処理部と演算処理部が処理するデータを保持するキャッシュメモリ部とキャッシュミスの発生時にメモリアクセス要求を発行するキャッシュメモリ制御部と演算処理部が発行したメモリアクセス要求に基づいてメモリアクセス処理と記憶装置が記憶するデータとキャッシュメモリが保持するデータとの整合性を維持する処理とを実行するメモリアクセス制御部とを含む演算処理装置において、メモリアクセス制御部は、発行されたメモリアクセス要求のアクセス対象である対象データと、対象データを持ち出したノードを識別するディレクトリ情報とを記憶装置から読み出すメモリ制御部と、対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する検出部と、検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を持ち出しノードに発行するコヒーレンシ制御部を有する。 According to another aspect, a storage device that is provided in each of a plurality of nodes included in the information processing device, stores data, and is connected to the storage device, and an arithmetic processing unit that executes arithmetic processing performs processing. A cache memory unit that holds data, a cache memory control unit that issues a memory access request when a cache miss occurs, a memory access process based on a memory access request issued by an arithmetic processing unit, data stored in a storage device, and a cache memory In a processing unit including a memory access control unit that executes processing for maintaining consistency with held data, the memory access control unit includes target data that is an access target of the issued memory access request, and target data Controller for reading out directory information for identifying a node that has taken out the memory from the storage device A detection unit for detecting a take-out node, which is another node that has taken out the target data read from the corresponding storage device, based on the directory information, and an eviction request to drive out the target data from the cache memory unit of the take-out node detected by the detection unit A coherency control unit that issues an invalidation request to the take-out node to invalidate the target data held in the cache memory unit of the take-out node if a corresponding response is not received by the lapse of a predetermined time after the is issued to the take-out node Have.
さらなる別の観点によれば、情報処理装置が有する複数のノードの各々に設けられ、データを記憶する記憶装置と、記憶装置に接続され、演算処理を実行する演算処理部と演算処理部が処理するデータを保持するキャッシュメモリ部とキャッシュミスの発生時にメモリアクセス要求を発行するキャッシュメモリ制御部と演算処理部が発行したメモリアクセス要求に基づいてメモリアクセス処理と記憶装置が記憶するデータとキャッシュメモリが保持するデータとの整合性を維持する処理とを実行するメモリアクセス制御部とを含む演算処理装置とを含むノードを複数有する情報処理装置の制御方法において、メモリアクセス制御部が有するメモリ制御部が、発行されたメモリアクセス要求のアクセス対象である対象データと、対象データを持ち出したノードを識別するディレクトリ情報とを記憶装置から読み出し、メモリアクセス制御部が有する検出部が、対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出し、メモリアクセス制御部が有するコヒーレンシ制御部が、検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を持ち出しノードに発行する。 According to still another aspect, a storage device that is provided in each of a plurality of nodes included in the information processing device and stores data, and an arithmetic processing unit and an arithmetic processing unit that are connected to the storage device and execute arithmetic processing are processed. A cache memory unit that holds data to be stored, a cache memory control unit that issues a memory access request when a cache miss occurs, a memory access process based on a memory access request issued by an arithmetic processing unit, a data stored in the storage device, and a cache memory And a memory control unit included in the memory access control unit in a method for controlling an information processing apparatus including a plurality of nodes including an arithmetic processing unit including a memory access control unit that executes processing for maintaining consistency with data held by the memory access unit The target data to be accessed by the issued memory access request and the target data Based on the directory information, the detection unit included in the memory access control unit reads out the directory information for identifying the extracted node, and the detection unit included in the memory access control unit takes out the target node read out from the corresponding storage device. The coherency control unit that the memory access control unit detects and receives a response corresponding to the elapse of a predetermined time after issuing a eviction request to the take-out node to expel target data from the cache memory unit of the take-out node detected by the detection unit If not, an invalidation request for invalidating the target data held in the cache memory unit of the take-out node is issued to the take-out node.
本件開示の情報処理装置、演算処理装置および情報処理装置の制御方法は、ノード間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。 The information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus disclosed in the present disclosure can maintain cache coherency even when a failure occurs temporarily in a communication path or the like that connects nodes.
以下、図面を用いて実施形態を説明する。 Hereinafter, embodiments will be described with reference to the drawings.
図1は、情報処理装置、演算処理装置および情報処理装置の制御方法の一実施形態を示す。図1に示す情報処理装置IPE1は、サーバ等であり、演算処理装置1と、演算処理装置1に接続される記憶装置2とを含む複数のノードND(ND1、ND2)を有する。すなわち、情報処理装置IPE1は、マルチプロセッサシステムとして機能する。記憶装置2は、主記憶装置、または演算処理装置1の外部に接続されるキャッシュメモリ部である。記憶装置2がキャッシュメモリ部の場合、さらに、主記憶装置が記憶装置2に接続される。
FIG. 1 shows an embodiment of an information processing apparatus, an arithmetic processing apparatus, and a control method for the information processing apparatus. An information processing device IPE1 illustrated in FIG. 1 is a server or the like, and includes a plurality of nodes ND (ND1, ND2) including an
演算処理装置1は、演算処理を実行する演算処理部3と、演算処理部3で処理するデータを保持するキャッシュメモリ部4と、キャッシュミス時に記憶装置2に対するメモリアクセス要求を発行するキャッシュメモリ制御部5と、メモリアクセス制御部6とを有する。メモリアクセス制御部6は、メモリアクセス要求に基づいてメモリアクセス処理を実行するとともに、キャッシュコヒーレンシを維持させる処理を実行する。
The
メモリアクセス制御部6は、メモリ制御部7と、持ち出し先検出部8と、コヒーレンシ制御部9とを有する。メモリ制御部7は、キャッシュメモリ制御部5からのメモリアクセス要求に基づいて、メモリアクセス要求のアクセス対象である対象データと、対象データをキャッシュメモリ部4に持ち出したノードNDを識別するディレクトリ情報とを記憶装置2から読み出す。以下では、対象データを持ち出した他ノードNDは、持ち出しノードNDとも称される。なお、メモリ制御部7は、自ノードNDまたは他ノードNDのキャッシュメモリ制御部5が発行する自ノードNDの記憶装置2に対するメモリアクセス要求に基づいてメモリアクセス処理を実行する。
The memory
持ち出し先検出部8は、記憶装置2から読み出された対象データが他ノードNDのキャッシュメモリ部4に持ち出されたか否かを、対象データとともに記憶装置2から読み出したディレクトリ情報に基づいて検出する。持ち出し先検出部8は、記憶装置2から読み出した対象データを持ち出している他のノードNDである持ち出しノードNDをディレクトリ情報に基づいて検出する検出部の一例である。
The take-out destination detection unit 8 detects whether or not the target data read from the
コヒーレンシ制御部9は、持ち出し先検出部8が持ち出しノードNDを検出した場合、持ち出しノードNDのキャッシュメモリ部4から対象データを追い出させる追い出し要求を持ち出しノードNDに発行する。持ち出しノードNDのキャッシュメモリ制御部5は、追い出し要求に基づいて、キャッシュメモリ部4に保持された対象データをキャッシュメモリ部4から追い出す。例えば、対象データの追い出しは、対象データをキャッシュメモリ部4から読み出した後、キャッシュメモリ制御部5における対象データを保持するエントリのキャッシュステータスを無効(インバリッド)に設定することで実行される。
When the take-out destination detection unit 8 detects the take-out node ND, the coherency control unit 9 issues an eviction request for evicting the target data from the
持ち出しノードNDのキャッシュメモリ制御部5は、キャッシュメモリ部4に保持した対象データを更新(上書き)した場合、更新した対象データを含む応答を追い出し要求の要求元に発行する。一方、持ち出しノードNDのキャッシュメモリ制御部5は、キャッシュメモリ部4に保持された対象データを更新していない場合、対象データをキャッシュメモリ部4から追い出したことを示す情報を含む応答を追い出し要求の要求元に発行する。なお、持ち出しノードNDのキャッシュメモリ制御部5は、キャッシュメモリ部4に保持された対象データを更新していない場合にも、キャッシュメモリ部4から追い出した対象データを含む応答を追い出し要求の要求元に発行してもよい。
When the target data held in the
コヒーレンシ制御部9は、追い出し要求に対する応答に基づいて、メモリアクセス要求に対する応答をメモリアクセス要求の発行元に発行する。例えば、追い出し要求に対応して持ち出しノードNDが発行した応答に更新された対象データが含まれる場合、メモリアクセス要求に対する応答は、対象データを他ノードNDから追い出したことを示す情報と、更新された対象データとを含む。追い出し要求に対応して持ち出しノードNDから発行された応答に更新された対象データが含まれない場合、メモリアクセス要求に対する応答は、メモリアクセス要求に基づいて記憶装置2から読み出された対象データと、対象データを他ノードNDから追い出したことを示す情報とを含む。持ち出しノードNDが存在しないことを持ち出し先検出部8が検出した場合、メモリアクセス要求に対する応答は、メモリアクセス要求に基づいて記憶装置2から読み出された対象データと、持ち出しノードNDが存在しないことを示す情報とを含む。そして、コヒーレンシ制御部9は、対象データの追い出しに伴い更新したディレクトリ情報の記憶装置2への書き込みを、メモリ制御部7に指示する。
The coherency control unit 9 issues a response to the memory access request to the issuer of the memory access request based on the response to the eviction request. For example, when the updated target data is included in the response issued by the take-out node ND in response to the eviction request, the response to the memory access request is updated with information indicating that the target data has been evicted from the other node ND. Target data. When the updated target data is not included in the response issued from the take-out node ND in response to the eviction request, the response to the memory access request includes the target data read from the
さらに、コヒーレンシ制御部9は、追い出し要求の発行から所定時間が経過するまでに追い出し要求に対する応答を受信しない場合、メモリアクセス要求に対するエラー応答をメモリアクセス要求の発行元に発行する。エラー応答は、持ち出しノードNDからの応答を受信しなかったことを示す情報を含む。例えば、ノードND間を接続する通信経路等で故障が一時的に発生し、追い出し要求が持ち出しノードNDに届かない場合、持ち出しノードNDは、追い出し要求を認識しないため、追い出し要求に対する応答を発行しない。持ち出しノードNDは、対象データをキャッシュメモリ部4から追い出すことなく、演算処理を続ける。所定時間の経過後、コヒーレンシ制御部9は、持ち出しノードNDのキャッシュメモリ部4に保持されている対象データを無効化させる無効化要求を持ち出しノードNDに発行する。
Further, when the coherency control unit 9 does not receive a response to the eviction request until a predetermined time has elapsed from the issuance of the eviction request, the coherency control unit 9 issues an error response to the memory access request to the issuer of the memory access request. The error response includes information indicating that a response from the take-out node ND has not been received. For example, when a failure occurs temporarily in a communication path connecting nodes ND and the eviction request does not reach the take-out node ND, the take-out node ND does not recognize the eviction request and therefore does not issue a response to the eviction request. . The take-out node ND continues the arithmetic processing without expelling the target data from the
無効化要求の発行時に、通信経路等の故障が解消している場合、持ち出しノードNDは、無効化要求を受信する。持ち出しノードNDのキャッシュメモリ制御部5は、無効化要求に基づいて、キャッシュメモリ部4に保持されている対象データを無効化し、対象データを無効化したことを示す情報を含む応答を、無効化要求を発行したノードNDに発行する。例えば、対象データの無効化は、キャッシュメモリ制御部5における対象データを保持するエントリのキャッシュステータスを無効(インバリッド)に設定することで実行される。
If a failure such as a communication path has been resolved when the invalidation request is issued, the take-out node ND receives the invalidation request. Based on the invalidation request, the cache
なお、ノードND間を接続する通信経路等で発生した故障が一時的でなく継続している場合、持ち出しノードNDは、無効化要求を受信しないため、対象データを無効化せず、無効化要求に対する応答を発行しない。無効化要求の発行元のコヒーレンシ制御部9は、無効化要求に対する応答を受信せずにタイムアウトが発生した場合、ノードND間での通信に異常が発生したことを、ノードNDの動作を管理する管理装置に通知する。 Note that if the failure that has occurred in the communication path connecting the nodes ND is not temporary but the take-out node ND does not receive the invalidation request, the invalidation request is not invalidated without invalidating the target data. Do not issue a response to. The coherency control unit 9 that issued the invalidation request manages the operation of the node ND that an abnormality has occurred in communication between the nodes ND when a timeout occurs without receiving a response to the invalidation request. Notify the management device.
図2は、図1に示す情報処理装置IPE1の動作の一例を示す。 FIG. 2 shows an example of the operation of the information processing apparatus IPE1 shown in FIG.
まず、図2(A)において、ノードND1のキャッシュメモリ制御部5は、ノードND1の記憶装置2に対するメモリアクセス要求MRQを発行する。なお、メモリアクセス要求MRQは、ノードND1、ND2以外のノードNDから発行されてもよい。ノードND1におけるメモリアクセス制御部6内のメモリ制御部7は、メモリアクセス要求MRQに基づいてリード要求RRQを記憶装置2に発行し、メモリアクセス要求MRQに対応する対象データD1とディレクトリ情報DIRとを記憶装置2から読み出す。ノードND1におけるメモリアクセス制御部6内の持ち出し先検出部8は、ディレクトリ情報DIRに基づいて、対象データD1がノードND2に持ち出されていることを検出する。
First, in FIG. 2A, the cache
次に、図2(B)において、ノードND1におけるメモリアクセス制御部6内のコヒーレンシ制御部9は、追い出し要求MORQを持ち出しノードND2に発行する。しかしながら、図2(B)に示す例では、ノードND1、ND2間の通信経路等で発生した一時的な故障により、追い出し要求MORQは、持ち出しノードND2に届かない。この場合、追い出し要求を認識しない持ち出しノードND2は、対象データを用いて演算処理を実行し、対象データを更新するおそれがある。なお、ノードND1、ND2間の通信経路等で発生した故障は一時的であるため、図2(B)の後に解消されるものとする。
Next, in FIG. 2B, the coherency control unit 9 in the memory
次に、図2(C)において、ノードND1におけるメモリアクセス制御部6内のコヒーレンシ制御部9は、追い出し要求MORQの発行から所定時間(例えば、数ミリ秒から数十ミリ秒)が経過しても追い出し要求に対する応答を受信しない。このため、ノードND1のコヒーレンシ制御部9は、タイムアウトを検出し、図2(A)のメモリアクセス要求MRQに対するエラー応答ERESをメモリアクセス要求MRQの発行元であるノードND1のキャッシュメモリ制御部5に発行する。すなわち、コヒーレンシ制御部9は、追い出し要求をリトライすることなく、エラー応答ERESを発行する。これにより、追い出し要求をリトライする場合に比べて、メモリアクセス要求に対する応答が遅れることを抑止することができる。また、ノードND1のメモリアクセス制御部6は、エラー情報ERRを追加したディレクトリ情報DIRを記憶装置2に書き込む。例えば、ノードND2では、対象データD1を用いた演算処理が実行され、対象データD1は、データD1’に更新される。なお、ノードND1のメモリアクセス制御部6は、ノードND1、ND2以外のノードNDからメモリアクセス要求MRQを受信した場合、メモリアクセス要求MRQの発行元にエラー応答ERESを発行する。
Next, in FIG. 2C, the coherency control unit 9 in the memory
次に、図2(D)において、ノードND1のコヒーレンシ制御部9は、持ち出しノードND2のキャッシュメモリ部4に保持されている対象データD1’を無効化させる無効化要求IVRQを持ち出しノードND2に発行する。ノードND1、ND2間の通信経路等で発生した故障は解消されているため、持ち出しノードND2は、無効化要求IVRQを受信する。持ち出しノードND2のメモリアクセス制御部6は、無効化要求IVRQに基づいて、キャッシュメモリ部4に保持された対象データD1’をキャッシュメモリ部4内で無効化する処理をキャッシュメモリ制御部5に実行させる。そして、持ち出しノードND2のメモリアクセス制御部6は、無効化要求IVRQに対応して、対象データD1’を無効化させたことを示す情報を含む応答IVRESをノードND1のコヒーレンシ制御部9に発行する。
Next, in FIG. 2D, the coherency control unit 9 of the node ND1 issues an invalidation request IVRQ for invalidating the target data D1 ′ held in the
以上の動作により、通信経路等で発生した一時的な故障により、追い出し要求MORQが持ち出しノードND2に届かない場合にも、持ち出しノードND2のキャッシュメモリ部4に保持された対象データD1’(またはD1)を無効化することができる。これにより、ノードND1以外に対象データD1を持ち出しているノードNDはなくなるため、情報処理装置IPE1のキャッシュコヒーレンシを維持することができる。この結果、情報処理装置IPE1のRAS(Reliability、Availability、Serviceability)性能の低下を抑止することができる。
With the above operation, even when the eviction request MORQ does not reach the take-out node ND2 due to a temporary failure occurring in the communication path or the like, the target data D1 ′ (or D1) held in the
なお、図2(B)および図2(C)において、ノードND1のコヒーレンシ制御部9は、追い出し要求MORQを発行後、所定時間が経過したことに基づいて、ノードND1が追い出し要求MORQを再度発行するとする(追い出し要求MORQのリトライ)。この場合、ノードND1のコヒーレンシ制御部9は、リトライに対する応答を待ってからメモリアクセス要求MRQに対する応答(正常応答またはエラー応答)を発行するため、メモリアクセス要求MRQに対する応答が図2に示す動作に比べて遅れてしまう。この結果、情報処理装置IPE1の処理性能は、図2に示す動作に比べて低下する。 In FIG. 2B and FIG. 2C, the coherency control unit 9 of the node ND1 issues the eviction request MORQ again when the predetermined time has elapsed after the eviction request MORQ is issued. Then (retry of eviction request MORQ). In this case, since the coherency control unit 9 of the node ND1 waits for a response to the retry and issues a response (normal response or error response) to the memory access request MRQ, the response to the memory access request MRQ is the operation shown in FIG. It will be late compared. As a result, the processing performance of the information processing device IPE1 is lower than the operation shown in FIG.
以上、図1および図2に示す実施形態では、ノードND間を接続する通信経路等で故障が一時的に発生した場合にも、メモリアクセス要求に対する対象データであって、自ノードND以外のノードNDに持ち出しているデータを無効化することができる。この結果、ノードND間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。また、追い出し要求をリトライすることなく、自ノードND以外のノードNDに持ち出しているデータを無効化できるため、メモリアクセス要求に対する応答が遅れることを抑止することができ、情報処理装置IPE1の処理性能の低下を抑止することができる。 As described above, in the embodiment shown in FIGS. 1 and 2, even when a failure occurs temporarily in a communication path or the like connecting between the nodes ND, the target data for the memory access request is a node other than the own node ND. Data taken out to the ND can be invalidated. As a result, cache coherency can be maintained even when a failure occurs temporarily in a communication path or the like connecting the nodes ND. Further, since the data taken out to the node ND other than the own node ND can be invalidated without retrying the eviction request, it is possible to prevent a response to the memory access request from being delayed, and the processing performance of the information processing apparatus IPE1 Can be prevented.
図3は、情報処理装置、演算処理装置および情報処理装置の制御方法の別の実施形態を示す。図3に示す情報処理装置IPE2は、サーバ等であり、システムバスSBUSを介して互いに接続されたCPU(Central Processing Unit)等の複数のプロセッサ100Aと、各プロセッサ100Aに接続された記憶装置200とを有する。以下では、互いに接続されたプロセッサ100Aおよび記憶装置200は、ノードとも称される。記憶装置200は、主記憶装置、または演算処理装置の外部に接続されるキャッシュメモリ部である。記憶装置200がキャッシュメモリ部の場合、主記憶装置が記憶装置200にさらに接続される。
FIG. 3 shows another embodiment of the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus. 3 is a server or the like, and includes a plurality of
各プロセッサ100Aは、キャッシュメモリ部10、キャッシュメモリ制御部12、複数のプロセッサコア部14およびシステム制御部16を有する。例えば、各ノードのプロセッサコア部14は、ノード内の記憶装置200に格納されたプログラムを実行することで、演算処理およびメモリアクセス処理を実行する。プロセッサ100Aは、演算処理装置の一例であり、プロセッサコア部14は、演算処理部の一例である。システム制御部16は、メモリアクセス要求に基づいてメモリアクセス処理を実行するとともに、キャッシュコヒーレンシを維持する処理を実行するメモリアクセス制御部の一例である。
Each processor 100 </ b> A includes a
各プロセッサ100Aは、自ノードの記憶装置200にアクセスする以外に、システムバスSBUSを介して他ノードの記憶装置200にアクセス可能である。また、情報処理装置IPE2は、例えば、MESI(Modified, Exclusive, Shared, Invalid)プロトコルの手法を用いて、キャッシュコヒーレンシを維持する制御を実行する。すなわち、情報処理装置IPE2は、cc−NUMA(cache-coherent NonUniform Memory Access)アーキテクチャを採用したマルチプロセッサシステムとして機能する。
Each
MESIプロトコルにおいて、”Modified”は、キャッシュメモリ部10に保持されたデータが更新され(書き替えられ)、記憶装置200に記憶されたデータと異なる状態を示す。”Exclusive”は、アクセス対象のデータが複数のプロセッサ100Aのキャッシュメモリ部10のいずれか1つのみに保持され、データが更新されていない状態を示す。”Shared”は、アクセス対象のデータが複数のプロセッサ100Aのキャッシュメモリ部10に保持され、データが更新されていない状態を示す。”Invalid”は、キャッシュメモリ部10に保持されたデータが無効であることを示す。以下では、Modified状態、Exclusive状態、Shared状態およびInvalid状態は、それぞれM状態、E状態、S状態およびI状態とも称される。
In the MESI protocol, “Modified” indicates a state in which data stored in the
キャッシュメモリ部10は、例えば、セットアソシアティブ方式を採用しており、複数のウェイを有する。各ウェイは、タグ領域およびデータ領域を含む複数のエントリ(キャッシュライン)を有する。タグ領域は、例えば、アドレスの上位ビット群とキャッシュステータスとを保持する領域を有する。この場合、エントリは、アドレスの中位ビット群により選択され、キャッシュライン内のデータは、アドレスの下位ビット群により選択される。例えば、各キャッシュラインに保持されるデータのサイズは、記憶装置200に保持されたデータのアクセス単位である128バイトである。キャッシュステータスを保持する領域には、M状態、E状態、S状態またはI状態を示す情報が設定される。
The
キャッシュメモリ制御部12は、プロセッサコア部14からリードコマンドを受信した場合、リードコマンドに含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されているか否かを判定する。なお、プロセッサコア部14は、データをプロセッサコア部14に読み出すロード命令等の命令を実行した場合、リードコマンドを発行する。データがキャッシュメモリ部10に保持されている場合(キャッシュヒット)、キャッシュメモリ制御部12は、キャッシュメモリ部10からデータを読み出し、読み出したデータをプロセッサコア部14に出力する。
When the cache
一方、データがキャッシュメモリ部10に保持されていない場合(キャッシュミス)、キャッシュメモリ制御部12は、記憶装置200に対するメモリアクセス要求をシステム制御部16に発行し、システム制御部16からのデータの受信を待つ。データをプロセッサコア部14に読み出すロード命令等に基づきキャッシュメモリ制御部12が発行するメモリアクセス要求は、共有型のメモリアクセス要求とも称される。すなわち、共有型のメモリアクセス要求は、記憶装置200に保持されたデータを参照する場合に発行される。NUMAアーキテクチャを採用したマルチプロセッサシステムでは、メモリアクセス要求を発行してからデータを受信するまでの時間は、同じノード内の記憶装置200にアクセスする場合と、他ノード内の記憶装置200にアクセスする場合とで異なる。メモリアクセス要求を発行してからデータの受信が完了するまでの処理は、トランザクションと称される。
On the other hand, when the data is not held in the cache memory unit 10 (cache miss), the cache
キャッシュメモリ制御部12は、システム制御部16を介して記憶装置200のいずれかから読み出されたデータをキャッシュメモリ部10に格納するとともにプロセッサコア部14に出力し、タグ領域にアドレスの上位ビット群とキャッシュステータスとを格納する。キャッシュメモリ制御部12は、記憶装置200から読み出したデータが他ノードのキャッシュメモリ部10に保持されていない場合、タグ領域のキャッシュステータスをE状態に設定する。キャッシュメモリ制御部12は、記憶装置200から読み出したデータが他ノードのキャッシュメモリ部10に保持されている場合、タグ領域のキャッシュステータスをS状態に設定する。なお、他ノードのキャッシュメモリ部10の状態は、データとともに記憶装置200から読み出されるディレクトリ情報に基づいて、システム制御部16により判定される。すなわち、情報処理装置IPE2は、ディレクトリ方式により、キャッシュコヒーレンシを維持する制御を実行する。ディレクトリ情報については、図4で説明される。
The cache
キャッシュメモリ制御部12は、プロセッサコア部14からライトコマンドを受信した場合、ライトコマンドに含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されているか否かを判定する。なお、プロセッサコア部14は、データをプロセッサコア部14から出力するストア命令等の命令を実行した場合、ライトコマンドを発行する。ライトコマンドに含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されている場合(キャッシュヒット)、キャッシュメモリ制御部12は、キャッシュメモリ部10に保持されているデータを上書きする。そして、キャッシュメモリ制御部12は、キャッシュステータスをE状態またはS状態からM状態に変更する。なお、キャッシュステータスをS状態からM状態に変更する場合、キャッシュメモリ制御部12は、他ノードのキャッシュメモリ部10に保持されている対象データを無効化するキャッシュ無効化要求を他ノードに発行する。これにより、一方のノードのキャッシュメモリ部10がS状態でデータを保持し、他方のノードのキャッシュメモリ部10がM状態でデータを保持することが抑止され、キャッシュコヒーレンシが維持される。
When the cache
一方、データがキャッシュメモリ部10に保持されていない場合(キャッシュミス)、キャッシュメモリ制御部12は、記憶装置200に対するメモリアクセス要求をシステム制御部16に発行し、システム制御部16からのデータの受信を待つ。データをプロセッサコア部14から出力するストア命令等に基づきキャッシュメモリ制御部12が生成するメモリアクセス要求は、排他型のメモリアクセス要求とも称される。すなわち、排他型のメモリアクセス要求は、記憶装置200に保持されたデータを書き替える場合に生成される。
On the other hand, when the data is not held in the cache memory unit 10 (cache miss), the cache
キャッシュメモリ制御部12は、システム制御部16からデータを受信した場合、受信したデータにライトコマンドに含まれるライトデータをマージし、マージしたデータをキャッシュメモリ部10に格納するとともに、タグ領域にアドレスの上位ビットを格納する。また、キャッシュメモリ制御部12は、タグ領域のキャッシュステータスをM状態に設定する。なお、アクセス対象のデータを記憶装置200に保持しているノードにおいて排他型のメモリアクセス要求を受信したシステム制御部16は、対象データを保持する他ノードのキャッシュメモリ部10に、対象データを無効化させるキャッシュ無効化要求を発行する。
When the cache
キャッシュメモリ制御部12は、キャッシュメモリ部10のエントリに空きがない場合、エントリのいずれかに保持されたデータをキャッシュメモリ部10から追い出し、記憶装置200から読み出すデータを格納するエントリを確保する。データを追い出すエントリは、LRU(Least Recently Used)手法等を用いて決められる。キャッシュメモリ部10上で書き替えられたM状態のデータをキャッシュメモリ部10から追い出す場合、キャッシュメモリ制御部12は、追い出したデータを記憶装置200に書き戻すためのメモリアクセス要求をシステム制御部16に発行する。
When there is no free entry in the
さらに、キャッシュメモリ制御部12は、システム制御部16を介して他ノードのプロセッサ100Aからデータ返送要求を受けた場合、データ返送要求に含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されているか否かを判定する。キャッシュメモリ制御部12は、データ返送要求に含まれるアドレスに対応するデータが更新されることなくキャッシュメモリ部10に保持されている場合、キャッシュメモリ部10からデータを追い出す。そして、キャッシュメモリ制御部12は、データを追い出したことを示す情報を含む応答を、データ返送要求を発行したプロセッサ100Aに発行する。データ返送要求は、キャッシュメモリ部10からデータを追い出させる追い出し要求の一例である。
Furthermore, when the cache
キャッシュメモリ制御部12は、データ返送要求に含まれるアドレスに対応するデータがキャッシュメモリ部10上で更新されている場合、キャッシュメモリ部10からデータを追い出したデータを含む応答を、データ返送要求を発行したプロセッサ100Aに発行する。キャッシュメモリ制御部12は、データ返送要求に含まれるアドレスに対応するデータがキャッシュメモリ部10上に存在しない場合、データが存在しないことを示すエラー情報を含む応答を、データ返送要求を発行したプロセッサ100Aに発行する。
When the data corresponding to the address included in the data return request has been updated on the
キャッシュメモリ制御部12は、システム制御部16を介して他ノードのプロセッサ100Aからキャッシュ無効化要求を受けた場合、キャッシュ無効化要求に含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されているか否かを判定する。キャッシュメモリ制御部12は、キャッシュ無効化要求に含まれるアドレスに対応するデータがキャッシュメモリ部10に保持されている場合、キャッシュメモリ部10に保持されたデータを無効化する。そして、キャッシュメモリ制御部12は、データを無効化したことを示す情報を含む応答を、キャッシュ無効化要求を発行したプロセッサ100Aに発行する。キャッシュ無効化要求は、キャッシュメモリ部10に保持されているデータを無効化させる無効化要求の一例である。
When the cache
キャッシュメモリ制御部12は、キャッシュ無効化要求に含まれるアドレスに対応するデータがキャッシュメモリ部10上に存在しない場合、データが存在しないことを示すエラー情報を含む応答を、キャッシュ無効化要求を発行したプロセッサ100Aに発行する。以下では、データ返送要求およびキャッシュ無効化要求は、コヒーレンシ制御要求とも称される。
When the data corresponding to the address included in the cache invalidation request does not exist on the
システム制御部16は、プロセッサインタフェース18、応答調停部20、エントリ決定部22、制御要求発行部24、複数の要求処理エントリ26およびメモリ制御部28を有する。
The
プロセッサインタフェース18は、キャッシュメモリ制御部12およびシステムバスSBUSに接続され、各ノードのキャッシュメモリ制御部12との間での通信を制御する。プロセッサインタフェース18は、自ノードのキャッシュメモリ制御部12および他ノードのプロセッサ100Aから受信するメモリアクセス要求を調停により選択し、選択した順にメモリアクセス要求をエントリ決定部22に出力する。
The
なお、プロセッサインタフェース18は、受信したメモリアクセス要求に含まれるアドレスが、他ノードの記憶装置200に割り当てられている場合、システムバスSBUSを介して他ノードにメモリアクセス要求を発行する。プロセッサインタフェース18は、メモリアクセス要求に基づいて応答調停部20から出力されるデータおよび応答を受信し、受信したデータおよび応答をメモリアクセス要求の発行元に発行する。
When the address included in the received memory access request is assigned to the
また、プロセッサインタフェース18は、自ノードのキャッシュメモリ部10に保持しているデータに対応する排他型のメモリアクセス要求を他ノードのプロセッサ100Aから受信した場合、自ノードのキャッシュメモリ制御部12に、データ返送要求を発行する。自ノードのキャッシュメモリ部10がメモリアクセス要求に対応するデータを保持しているか否かは、ディレクトリ情報により判定される。プロセッサインタフェース18は、自ノードのキャッシュメモリ制御部12から更新されたデータを受信した場合、メモリアクセス要求の発行元のプロセッサ100Aに更新されたデータを出力し、記憶装置200に更新されたデータを書き込む。
When the
プロセッサインタフェース18は、システムバスSBUSを介して他ノードのプロセッサ100Aからコヒーレンシ制御要求(データ返送要求またはキャッシュ無効化要求)を受信した場合、受信したコヒーレンシ制御要求をキャッシュメモリ制御部12に発行する。プロセッサインタフェース18は、コヒーレンシ制御要求に対応してキャッシュメモリ制御部12から発行される応答をコヒーレンシ制御要求の発行元のプロセッサ100Aに発行する。
When the
さらに、プロセッサインタフェース18は、制御要求発行部24から出力されるコヒーレンシ制御要求を受信した場合、受信したコヒーレンシ制御要求を、システムバスSBUSを介して他ノードのプロセッサ100Aに発行する。プロセッサインタフェース18は、システムバスSBUSを介して他ノードのプロセッサ100Aからコヒーレンシ制御要求に対する応答を受信した場合、受信した応答をコヒーレンシ制御要求の発行元の要求処理エントリ26に出力する。
Further, when the
応答調停部20は、要求処理エントリ26のステートマシン32から出力されるメモリアクセス要求に対する応答およびデータを受信し、受信した応答を調停し、調停した順に、応答およびデータをプロセッサインタフェース18に出力する。
The
エントリ決定部22は、プロセッサインタフェース18から受信したメモリアクセス要求を処理するために使用する要求処理エントリ26を、LRUまたはラウンドロビン等の手法を用いて決定する。エントリ決定部22は、使用を決定した要求処理エントリ26にメモリアクセス要求を転送する。
The
制御要求発行部24は、要求処理エントリ26から出力されるコヒーレンシ制御要求を保持するコヒーレンシ制御要求キューCRQUEを有する。制御要求発行部24は、コヒーレンシ制御要求キューCRQUEに保持されたコヒーレンシ制御要求を調停することにより選択する。そして、制御要求発行部24は、選択したコヒーレンシ制御要求を、プロセッサインタフェース18およびシステムバスSBUSを介して、宛先のプロセッサ100Aに発行する。
The control
要求処理エントリ26は、アクセス要求バッファ30、ステートマシン32、データバッファ34、ディレクトリバッファ36およびタイマ38を有する。システム制御部16が有する要求処理エントリ26の数は、8個、16個または32個等である。ステートマシン32は、データ返送要求およびキャッシュ無効化要求を発行する制御要求発行部の一例である。
The
アクセス要求バッファ30は、エントリ決定部22から受信したメモリアクセス要求に含まれるアドレスおよび要求元ID(Identification)等の情報を保持し、保持している情報をステートマシン32に出力する。
The
ディレクトリバッファ36は、ステートマシン32から記憶装置200に発行されるリード要求に基づいて記憶装置200から読み出されるディレクトリ情報を保持する。
The
データバッファ34は、ステートマシン32から記憶装置200に発行されるリード要求に基づいて記憶装置200から読み出されるデータを保持する。また、データバッファ34は、ステートマシン32が他ノードのプロセッサ100Aに発行するデータ返送要求に対する応答に含まれるデータ(更新されたデータ)を保持する。
The
タイマ38は、データ返送要求が他ノードに発行されてから、データ返送要求に対する応答を他ノードから受信するまでの時間を計測する。タイマ38は、計測している時間が予め設定された時間を越えた場合、タイムアウトの発生を示すエラー情報をステートマシン32に通知する。
The
ステートマシン32は、持ち出し先検出部40とプロセッサ番号記憶部42とを有する。なお、持ち出し先検出部40とプロセッサ番号記憶部42とは、要求処理エントリ26内であってステートマシン32の外部に配置されてもよい。持ち出し先検出部40は、記憶装置200からデータとともに出力されるディレクトリ情報を解析し、記憶装置200から出力されたデータが他ノードのキャッシュメモリ部10に格納されているか否かを検出する。持ち出し先検出部40は、記憶装置200から読み出した対象データを持ち出している他のノードNDである持ち出しノードNDをディレクトリ情報に基づいて検出する検出部の一例である。
The
記憶装置200から出力されたデータが他ノードのキャッシュメモリ部10に持ち出されている場合、持ち出し先検出部40は、データを持ち出しているプロセッサ100Aをデータ返送要求の宛先に決定する。そして、持ち出し先検出部40は、データ返送要求の宛先に決定されたプロセッサ100Aを識別するプロセッサ番号をプロセッサ番号記憶部42に格納する。なお、プロセッサ番号のプロセッサ番号記憶部42への格納は、ステートマシン32により実行されてもよい。プロセッサ番号記憶部42は、データを持ち出しているプロセッサ100Aを識別するプロセッサ番号を記憶する識別情報記憶部の一例である。プロセッサ番号は、データを持ち出しているプロセッサ100Aを識別する識別情報の一例である。
When the data output from the
ステートマシン32は、記憶装置200に対するメモリアクセス要求(リード要求またはライト要求)の発行と、他ノードのプロセッサ100Aに対するコヒーレンシ制御要求の発行と、発行した要求に対する応答とを制御する。例えば、ステートマシン32は、アクセス要求バッファ30から受信するメモリアクセス要求に基づいて、リード要求またはライト要求を、メモリ制御部28を介して記憶装置200に出力する。
The
ステートマシン32は、持ち出し先検出部40によりデータが他ノードのプロセッサ100Aに持ち出されていないと検出された場合、記憶装置200から出力されたデータとともに応答を応答調停部20に出力し、要求処理エントリ26を開放する。一方、ステートマシン32は、持ち出し先検出部40によりデータが他ノードのプロセッサ100Aに持ち出されていると検出された場合、データを持ち出しているプロセッサ100Aにデータ返送要求を発行し、タイマ38を起動する。
When the take-out
ステートマシン32は、データ返送要求に対する応答が、他ノードのプロセッサ100Aが更新したデータを含む場合、応答に含まれる更新されたデータを応答調停部20に出力し、ディレクトリバッファ36に保持されたディレクトリ情報を更新する。そして、ステートマシン32は、更新したディレクトリ情報を更新されたデータとともに記憶装置200に書き込むためにライト要求をメモリ制御部28に出力し、要求処理エントリ26を開放する。
When the response to the data return request includes data updated by the
ステートマシン32は、データ返送要求に対する応答を受信する前に、タイマ38が所定時間の計測を完了してタイムアウトを検出した場合、エラーの発生を示すエラー応答を応答調停部20に出力する。そして、ステートマシン32は、ディレクトリバッファ36に保持されたディレクトリ情報にエラー情報を書き込み、エラー情報を書き込んだディレクトリ情報を記憶装置200に書き込むためにライト要求をメモリ制御部28に出力する。なお、データ返送要求の発行に基づいて、タイマ38が計測する所定時間は、例えば、数ミリ秒から数十ミリ秒である。
If the
さらに、ステートマシン32は、タイムアウトが発生した場合、プロセッサ番号記憶部42が記憶するプロセッサ番号により識別されるプロセッサ100Aに、制御要求発行部24を介してキャッシュ無効化要求を発行する。ステートマシン32は、キャッシュ無効化要求に対する応答を処理した後、要求処理エントリ26を開放する。
Further, when a timeout occurs, the
メモリ制御部28は、要求処理エントリ26から出力されるリード要求またはライト要求を保持するメモリ要求キューMRQUEを有する。メモリ制御部28は、メモリ要求キューMRQUEに保持されたリード要求またはライト要求を調停することにより選択し、選択したリード要求またはライト要求を記憶装置200に順に出力する。
The
記憶装置200は、複数のSDRAM(Synchronous Dynamic Random Access Memory)等を含み、プロセッサコア部14で処理するデータとディレクトリ情報とを保持する記憶領域を有する。記憶装置200は、プロセッサコア部14が実行するプログラムを保持する記憶領域を有してもよい。
The
図4は、図3に示す記憶装置200およびキャッシュメモリ部10に保持されるデータの一例を示す。図4に示す例では、プロセッサ100Aおよび記憶装置200を有する2つのノードND1、ND2がシステムバスSBUSを介して互いに接続されている。
FIG. 4 shows an example of data held in the
ノードND1の記憶装置200は、アドレスA0、A1、A2、A3、A4、...が割り当てられ、ノードND2の記憶装置200は、アドレスB0、B1、B2、B3、B4、...が割り当てられる。各記憶装置200は、アドレス毎にディレクトリ情報を記憶するディレクトリ領域と、データを記憶するデータ領域とを有する。例えば、各データ領域は、128バイトであり、キャッシュメモリ部10のキャッシュラインのサイズと等しいが、図4では、データは4ビットで表す。
The
ディレクトリ領域は、ディレクトリ情報を記憶する。各ディレクトリ領域は、キャッシュメモリ部10へのデータの持ち出し情報を記憶するESI領域と、データの持ち出し先のプロセッサ100Aを識別するプロセッサ番号を記憶するCPU領域と、エラー情報を記憶するERR領域とを有する。ESI領域において、符号I(Invalid)は、データが自ノードのキャッシュメモリ部10のみに持ち出されていることを示し、符号E(Exclusive)は、データが他ノードのいずれかのキャッシュメモリ部10のみに持ち出されていることを示す。符号S(Shared)は、データが複数のノードのキャッシュメモリ部10に持ち出されていることを示す。
The directory area stores directory information. Each directory area includes an ESI area for storing information for bringing data to the
ノードND1のキャッシュメモリ部10のディレクトリ領域から、次のことが分かる。アドレスA0のデータ”0000”およびアドレスA1のデータ”0001”は、ノードND1のキャッシュメモリ部10のみに持ち出されている。アドレスA2のデータ”1111”およびアドレスA3のデータ”1101”は、ノードND2のキャッシュメモリ部10のみに持ち出されている。アドレスA4のデータ”1010”は、ノードND1、ND2のキャッシュメモリ部10に持ち出されている。また、ノードND2のキャッシュメモリ部10のディレクトリ領域から、アドレスB0のデータ”0111”は、ノードND1、ND2のキャッシュメモリ部10に持ち出されていることが分かる。
The following can be understood from the directory area of the
各キャッシュメモリ部10は、128バイトのデータを記憶するデータ領域と、データ領域に対応するタグ領域とを含む複数のエントリを有する。タグ領域は、アドレスを記憶するAD領域と、キャッシュステータスを記憶するMESI領域とを有する。なお、セットアソシアティブ方式のキャッシュメモリ部10では、AD領域には、アドレスの上位ビット群が格納されるが、図4では、説明を分かりやすくするために、AD領域に記憶装置200のアドレスが格納されるとする。MESI領域には、M状態、E状態、S状態またはI状態を示す情報が格納される。
Each
ノードND1のキャッシュメモリ部10のタグ領域から、次のことが分かる。アドレスA0のデータ”0000”は、ノードND1のキャッシュメモリ部10のみが保持する(E状態)。アドレスA1のデータ”0110”は、ノードND1の記憶装置200に記憶されているデータに対して更新されており、ノードND1のキャッシュメモリ部10のみが保持する(M状態)。アドレスB0のデータ”0111”およびアドレスA4のデータ”1010”は、他ノードのキャッシュメモリ部10と共有されている(S状態)。
The following can be understood from the tag area of the
ノードND2のキャッシュメモリ部10のタグ領域から、次のことが分かる。アドレスA2のデータ”1111”は、ノードND2のキャッシュメモリ部10のみが保持する(E状態)。アドレスA3のデータ”0101”は、ノードND1の記憶装置200に記憶されているデータに対して更新されており、ノードND2のキャッシュメモリ部10のみが保持する(M状態)。アドレスB0のデータ”0111”およびアドレスA4のデータ”1010”は、他ノードのキャッシュメモリ部10と共有されている(S状態)。
The following can be seen from the tag area of the
各プロセッサ100Aのシステム制御部16は、メモリアクセス要求に基づいてデータとともに記憶装置200から読み出されるディレクトリ情報が”S”または”E”を含む場合、データが他ノードに持ち出されていると判定する。例えば、ノードND1のプロセッサ100Aは、アドレスA2に対する共有型または排他型のメモリアクセス要求に基づいて記憶装置200から読み出されるディレクトリ情報に基づいて、データがノードND2のプロセッサ100Aに持ち出されていると判定する。そして、ノードND1のプロセッサ100Aは、ノードND2のプロセッサ100Aに、アドレスA2に対するデータ返送要求を発行する。アドレス返送要求を受けたノードND2のプロセッサ100Aは、データを更新していないため(E状態)、キャッシュメモリ部10からデータを追い出し、データを追い出したことを示す情報を含む応答をノードND1のプロセッサ100Aに発行する。
The
なお、アドレスA2に対する共有型のメモリアクセス要求が発行された場合、ノードND2のプロセッサ100Aは、データを追い出さずに、キャッシュステータスをS状態に変更し、データを共有することを示す情報を含む応答をノードND1に発行してもよい。この場合、ノードND1のプロセッサ100Aは、記憶装置200のアドレスA2のESI領域(ディレクトリ情報)をE状態からS状態に書き替える。
When a shared memory access request for the address A2 is issued, the
また、ノードND1のプロセッサ100Aは、アドレスA3に対する共有型または排他型のメモリアクセス要求に基づいて記憶装置200から読み出されるディレクトリ情報に基づいて、データがノードND2のプロセッサ100Aに持ち出されていると判定する。そして、ノードND1のプロセッサ100Aは、ノードND2のプロセッサ100Aに、アドレスA3に対するデータ返送要求を発行する。アドレス返送要求を受けたノードND2のプロセッサ100Aは、キャッシュメモリ部10内でデータを更新しているため(M状態)、キャッシュメモリ部10からデータを追い出し、追い出したデータを含む応答をノードND1のプロセッサ100Aに発行する。
Further, the
さらに、ノードND1のプロセッサ100Aは、アドレスA4に対する排他型のメモリアクセス要求を受けた場合、ディレクトリ情報に基づいて、データがノードND2のプロセッサ100Aに持ち出されていると判定する。そして、ノードND1のプロセッサ100Aは、ノードND2のプロセッサ100Aに、アドレスA4に対するデータ返送要求を発行する。アドレス返送要求を受けたノードND2のプロセッサ100Aはデータを更新していないため(S状態)、キャッシュメモリ部10からデータを追い出し、データを追い出したことを示す情報を含む応答をノードND1のプロセッサ100Aに発行する。なお、ノードND1のプロセッサ100Aは、アドレスA4に対する共有型のメモリアクセス要求を受けた場合、アドレスA4に対するデータ返送要求の発行を抑止する。すなわち、共有型のメモリアクセス要求に対するディレクトリ情報がS状態を示す場合、データは他ノードに持ち出されていないと判定される。
Furthermore, when the exclusive memory access request for the address A4 is received, the
一方、ノードND1のプロセッサ100Aは、アドレスA1に対する排他型または共有型のメモリアクセス要求をノードND2のプロセッサ100Aから受けた場合、ディレクトリ情報に基づいて、データが自ノードのキャッシュメモリ部10に持ち出されていると判定する。そして、ノードND1のプロセッサ100Aは、自ノードのキャッシュメモリ制御部12に、アドレスA1に対するデータ返送要求を発行する。アドレス返送要求を受けたキャッシュメモリ制御部12は、データを更新しているため(M状態)、キャッシュメモリ部10からデータを追い出し、追い出したデータを含む応答をノードND2のプロセッサ100Aに発行する。そして、ノードND1のプロセッサ100Aは、ノードND1のキャッシュメモリ部10から返送されたデータを記憶装置200に書き込む。また、ノードND1のプロセッサ100Aは、記憶装置200のアドレスA1のESI領域(ディレクトリ情報)をI状態からE状態に書き替え、CPU領域に”2”を格納する。
On the other hand, when the
ノードND1のプロセッサ100Aは、アドレスA0に対する共有型のメモリアクセス要求をノードND2のプロセッサ100Aから受けた場合、E状態のデータを追い出すことなく応答として発行する。そして、ノードND1のプロセッサ100Aは、タグ領域のキャッシュステータスをE状態からS状態に変更する。この場合、ノードND1のプロセッサ100Aは、データを共有することを示す情報を含む応答をノードND2のプロセッサ100Aに発行する。また、ノードND1のプロセッサ100Aは、記憶装置200のアドレスA0のESI領域(ディレクトリ情報)をI状態からS状態に書き替え、CPU領域に”1、2”を格納する。
When the
ノードND2のプロセッサ100Aは、アドレスB0に対する排他型のメモリアクセス要求を受けた場合、ディレクトリ情報に基づいて、データがノードND1のプロセッサ100Aに持ち出されていると判定する。そして、ノードND2のプロセッサ100Aは、ノードND1のプロセッサ100Aに、アドレスB0に対するデータ返送要求を発行する。アドレス変換要求を受けたノードND1のプロセッサ100Aは、データを更新していないため(S状態)、キャッシュメモリ部10からデータを追い出し、データを追い出したことを示す情報を含む応答をノードND2のプロセッサ100Aに発行する。なお、データが更新されている場合、追い出したデータをノードND2のプロセッサ100Aに応答として発行する。
When the
図5は、図3に示すシステム制御部16の動作の一例を示す。すなわち、図5は、情報処理装置の制御方法の一例を示す。図5に示す処理は、キャッシュメモリ制御部12がキャッシュミスを判定し、システム制御部16に共有型または排他型のメモリアクセス要求を出力したことに基づいて開始される。なお、システム制御部16は、メモリアクセス要求を、自ノードのキャッシュメモリ制御部12から受信し、あるいは、他ノードのプロセッサ100Aのキャッシュメモリ制御部12から受信する。
FIG. 5 shows an example of the operation of the
まず、ステップS10において、プロセッサインタフェース18は、受信したメモリアクセス要求を調停により選択し、選択したメモリアクセス要求をエントリ決定部22に出力する。
First, in step S <b> 10, the
次に、ステップS20において、エントリ決定部22は、メモリアクセス要求を処理する要求処理エントリ26を、空いている要求処理エントリ26の中から選択し、選択した要求処理エントリ26のアクセス要求バッファ30にメモリアクセス要求を転送する。
Next, in step S <b> 20, the
次に、ステップS30において、ステートマシン32は、アクセス要求バッファ30に保持されたメモリアクセス要求に基づいて、メモリ制御部28を介して記憶装置200にリード要求を発行する。
Next, in step S <b> 30, the
次に、ステップS40において、ステートマシン32は、リード要求に基づいて記憶装置200から読み出されるデータおよびディレクトリ情報を受信する。ステートマシン32は、受信したデータをデータバッファ34に格納し、受信したディレクトリ情報をディレクトリバッファ36に格納する。
Next, in step S40, the
次に、ステップS50において、ステートマシン32は、ディレクトリバッファ36に格納したディレクトリ情報に基づいて、記憶装置200から読み出したデータが他ノードに持ち出されているか否かを判定する。データが他ノードに持ち出されている場合、処理はステップS60に移行され、データが他ノードに持ち出されていない場合、処理はステップS110に移行される。
Next, in step S50, the
ステップS60において、ステートマシン32は、データを持ち出している他ノードのプロセッサ100Aにデータ返送要求を発行する。次に、ステップS70において、ステートマシン32は、データ返送要求を発行したプロセッサ100Aを識別するプロセッサ番号をプロセッサ番号記憶部42に格納する。なお、ステップS10で排他型のメモリアクセス要求を受信し、ステップS40で読み出したディレクトリ情報がS状態の場合、他ノードのプロセッサ100Aは、データを更新していない。このため、ステートマシン32は、データを持ち出している他ノードのプロセッサ100Aに、データ返送要求の代わりにキャッシュ無効化要求を発行してもよい。
In step S60, the
次に、ステップS80において、ステートマシン32は、タイマ38によるタイムアウトが発生する前に、データ返送要求に対する応答を受信した場合、処理をステップS90に移行する。ステートマシン32は、データ返送要求に対する応答を受信する前にタイマ38によるタイムアウトが発生した場合、処理をステップS100に移行する。例えば、タイムアウトは、ノード間の通信経路等の一時的な故障により、データ返送要求が通信経路の途中で失われた場合に発生する。データ返送要求が届かなかったプロセッサ100Aは、データ返送要求の対象データを返送することなく参照し続けるおそれがあり、対象データを更新するおそれがある。対象データが更新された場合、情報処理装置IPE2のキャッシュコヒーレンシは維持されなくなる。
Next, in step S80, when the
ステップS90において、ステートマシン32は、データ返送要求に対する応答に含まれるデータをデータバッファ34に格納し、処理をステップS110に移行する。返送されたデータは、データを持ち出した他ノードのプロセッサ100Aにより更新されたデータ(書き替えられたデータ)である。なお、データを持ち出した他ノードのプロセッサ100Aがデータを更新していない場合、ステップS90の処理は省略されてもよい。
In step S90, the
ステップS100において、ステートマシン32は、ディレクトリバッファ36に保持されているディレクトリ情報にタイムアウトが発生したことを示すエラー情報を書き込み、処理をステップS110に移行する。
In step S100, the
ステップS110において、ステートマシン32は、データバッファ34が保持しているデータとともに応答を応答調停部20に出力する。応答調停部20は、ステートマシン32から受信したデータを含む応答を、メモリアクセス要求の要求元に発行する。なお、ステートマシン32は、データを持ち出したプロセッサ100Aによりデータが更新されている場合、更新されたデータを、応答調停部20を介してメモリアクセス要求の要求元に発行する。ステートマシン32は、タイムアウト等のエラーが発生した場合、エラーの発生を示すエラー応答を、応答調停部20を介してメモリアクセス要求の要求元に発行する。
In step S <b> 110, the
ステートマシン32は、タイムアウトが発生した場合にも、データ返送要求をリトライすることなく、エラー応答をメモリアクセス要求の要求元に発行する。これにより、メモリアクセス要求の要求元のプロセッサ100Aは、エラー応答に関係する処理以外の処理を実行することができる。これに対して、メモリアクセス要求をリトライする場合、ステートマシン32は、リトライ用のメモリアクセス要求の応答を待った後、応答をメモリアクセス要求の発行元に発行する。このため、メモリアクセス要求の発行元のプロセッサ100Aの処理効率は、リトライしない場合に比べて低下する。
Even when a timeout occurs, the
次に、ステップS120において、ステートマシン32は、データを持ち出したプロセッサ100Aによりデータが更新されている場合またはディレクトリ情報を更新した場合、記憶装置200にライト要求を発行する。そして、ステートマシン32は、データおよびディレクトリ情報を記憶装置200に書き込む。ステップS80でタイムアウトが発生した場合、タイムアウトの発生を示すエラー情報を含むディレクトリ情報が記憶装置200に書き込まれる。
Next, in step S120, the
次に、ステップS130において、ステートマシン32は、トランザクションの後処理を実行する。トランザクションの後処理は、データ返送要求に対する応答が所定時間内に受信されなかった場合に、データの持ち出し先のプロセッサ100Aのキャッシュメモリ部10が保持しているメモリアクセス要求の対象データを無効にするために実行される。トランザクションの後処理については、図6で説明される。次に、ステップS200において、ステートマシン32は、ステートマシン32が含まれる要求処理エントリ26を開放し、処理を終了する。
Next, in step S130, the
図6は、図5に示すステップS130の処理の一例を示す。まず、ステップS131において、ステートマシン32は、ディレクトリバッファ36に保持されているディレクトリ情報が、タイムアウトの発生を示すエラー情報を含むか否かを判定する。ディレクトリ情報がタイムアウトの発生を示すエラー情報を含む場合、処理はステップS132に移行され、ディレクトリ情報がタイムアウトの発生を示すエラー情報を含まない場合、処理は終了する。
FIG. 6 shows an example of the process of step S130 shown in FIG. First, in step S131, the
ステップS132において、ステートマシン32は、プロセッサ番号記憶部42からプロセッサ番号を読み出す。プロセッサ番号記憶部42に記憶されたプロセッサ番号は、図5に示すステップS60で発行したデータ返送要求の宛先のプロセッサ100Aを示し、データ返送要求に対する応答を受信することなくタイムアウトが発生したエラー対象のプロセッサ100Aを示す。
In step S <b> 132, the
次に、ステップS133において、ステートマシン32は、データ返送要求の宛先のプロセッサ100Aにキャッシュ無効化要求を発行する。ここで、ノード間の通信経路等の一時的な故障により、メモリアクセス要求が通信経路の途中で失われた場合、一時的な故障が回復していればキャッシュ無効化要求は、データ返送要求の宛先のプロセッサ100Aに届く。データ返送要求の宛先のプロセッサ100Aは、キャッシュ無効化要求の受信に基づいて、対象データをキャッシュメモリ部10から追い出し、対象データを追い出したことを示す情報を含む応答をキャッシュ無効化要求の発行元のプロセッサ100Aに発行する。
Next, in step S133, the
次に、ステップS134において、ステートマシン32は、データ返送要求の発行先のプロセッサ100Aからキャッシュ無効化要求に対する応答を受信し、処理を終了する。すなわち、データ返送要求に対する応答がない場合に、キャッシュ無効化要求を発行することで、情報処理装置IPE2のキャッシュコヒーレンシを維持することができる。なお、ステートマシン32は、キャッシュ無効化要求に対する正常な応答を受信しない場合、プロセッサ100Aを管理するために情報処理装置IPE2に搭載される管理装置等にエラーの発生を通知する。
Next, in step S134, the
以上、図3から図6に示す実施形態においても、図1に示す実施形態と同様に、ノードND間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。また、要求処理エントリ26は、データ返送要求に対するタイムアウトが発生した場合に、データ返送要求をリトライすることなく、エラー応答をメモリアクセス要求の要求元に発行する。これにより、メモリアクセス要求の要求元のプロセッサ100Aは、エラー応答に関係する処理以外の処理を実行することができ、データ返送要求をリトライすることで応答の受信が遅れる場合に比べて、処理性能を向上することができる。
As described above, in the embodiment shown in FIGS. 3 to 6, as in the embodiment shown in FIG. 1, cache coherency is maintained even when a failure occurs temporarily in a communication path or the like connecting the nodes ND. be able to. Further, the
さらに、図3から図6に示す実施形態では、データ返送要求の宛先のプロセッサ100Aを識別するプロセッサ番号を記憶するプロセッサ番号記憶部42を有する。これにより、データ返送要求を発行した後、タイムアウトの発生後に、キャッシュ無効化要求を発行する場合にも、プロセッサ番号記憶部42を参照することで、データ返送要求の宛先のプロセッサ100Aにキャッシュ無効化要求を発行することができる。
Further, the embodiment shown in FIGS. 3 to 6 includes a processor
この結果、情報処理装置IPE2のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE2の処理性能およびRAS性能の低下を抑止することができる。 As a result, it is possible to suppress a decrease in processing performance and RAS performance of the information processing device IPE2 while maintaining cache coherency of the information processing device IPE2.
図7は、情報処理装置、演算処理装置および情報処理装置の制御方法の別の実施形態を示す。図3に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。 FIG. 7 shows another embodiment of the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus. Elements that are the same as or similar to those described in the embodiment shown in FIG. 3 are given the same reference numerals, and detailed descriptions thereof are omitted.
図7に示す情報処理装置IPE3は、サーバ等であり、図3に示す情報処理装置IPE2のプロセッサ100Aの代わりにプロセッサ100Bを有する。プロセッサ100Bは、図3に示すシステム制御部16の代わりにシステム制御部16Bを有する。システム制御部16Bは、図3に示す複数の要求処理エントリ26の代わりに複数の要求処理エントリ26Bを有する。情報処理装置IPE3のその他の構成は、図3に示す情報処理装置IPE2の構成と同様である。
An information processing apparatus IPE3 illustrated in FIG. 7 is a server or the like, and includes a
要求処理エントリ26Bは、アクセス要求バッファ30、ステートマシン32B、データバッファ34、ディレクトリバッファ36、タイマ38およびエラー検出部44を有する。ステートマシン32Bは、図3に示すステートマシン32にエラー種記憶部46を追加している。なお、持ち出し先検出部40、プロセッサ番号記憶部42およびエラー種記憶部46は、要求処理エントリ26B内であって、ステートマシン32Bの外部に配置されてもよい。
The
エラー検出部44は、記憶装置200から読み出したディレクトリ情報と、データ返送要求に対する応答とに基づいて、ディレクトリ情報が矛盾していることを検出した場合、ディレクトリ矛盾エラーを示すエラー情報をステートマシン32Bに通知する。
When the
例えば、記憶装置200から読み出したディレクトリ情報に誤りがあり、ディレクトリ情報に示されるデータの持ち出し先のプロセッサ100Bが、実際にはデータを持ち出していない場合がある。この場合、データ返送要求を受信したプロセッサ100Bは、対象データをキャッシュメモリ部10に保持してないことを示すエラー応答(ディレクトリ矛盾)を発行する。記憶装置200に保持されているディレクトリ情報が誤っている可能性がある場合、ステートマシン32Bは、ノード外の全てのプロセッサ100Bにキャッシュ無効化要求を発行し、対象データをキャッシュメモリ部10から追い出すことが望ましい。記憶装置200に保持されているディレクトリ情報に誤りがあり、データの持ち出し先の判別が困難な場合、ノード外へのデータの持ち出しを一旦解除することで、キャッシュコヒーレンシが維持されなくなることを抑止することができる。
For example, there is a case where there is an error in the directory information read from the
ステートマシン32Bは、データ返送要求に対する応答を受信する前にタイムアウトが発生した場合、エラー種記憶部46にタイムアウトの発生を示すエラー情報を格納する。また、ステートマシン32Bは、エラー検出部44によりディレクトリ矛盾エラーが検出された場合、エラー種記憶部46にディレクトリ矛盾エラーの発生を示すエラー情報を格納する。
When a timeout occurs before receiving a response to the data return request, the
図8は、図7に示すシステム制御部の動作の一例を示す。図5と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。ステップS10、S20、S30、S40の処理は、図5に示すステップS10、S20、S30、S40の処理と同じである。 FIG. 8 shows an example of the operation of the system control unit shown in FIG. The same or similar processes as those in FIG. 5 are denoted by the same reference numerals, and detailed description thereof is omitted. The processes in steps S10, S20, S30, and S40 are the same as the processes in steps S10, S20, S30, and S40 shown in FIG.
ステップS40の処理の後、ステップS42において、ステートマシン32Bは、エラー種記憶部46に格納された情報に基づいて、ディレクトリ矛盾エラーが発生したか否かを判定する。ディレクトリ矛盾エラーが発生した場合、処理はステップS98に移行され、ディレクトリ矛盾エラーが発生していない場合、処理は、ステップS50に移行される。
After the process of step S40, in step S42, the
ステップS50、S60、S70、S90、S100、S110、S120、S200の処理は、図5に示すステップS50、S60、S70、S90、S100、S110、S120、S200の処理と同一または同様である。 The processes in steps S50, S60, S70, S90, S100, S110, S120, and S200 are the same as or similar to the processes in steps S50, S60, S70, S90, S100, S110, S120, and S200 shown in FIG.
記憶装置200から読み出されたデータが他ノードのプロセッサ100Bに持ち出されている場合、ステートマシン32Bは、ステップS70の後にステップS82を実行する。ステップS82において、ステートマシン32Bは、タイマ38によるタイムアウトまたはディレクトリ矛盾エラーが発生した場合、処理をステップS98に移行する。ステートマシン32Bは、タイマ38によるタイムアウトおよびディレクトリ矛盾エラーのいずれも発生していない場合、処理をステップS90に移行する。
When the data read from the
ステップS98において、ステートマシン32Bは、タイムアウトの発生を示す情報またはディレクトリ矛盾エラーの発生を示す情報をエラー種記憶部46に格納し、処理をステップS100に移行する。ステップS100では、ステートマシン32は、ディレクトリバッファ36に保持されているディレクトリ情報にタイムアウトの発生またはディレクトリ矛盾エラーの発生を示すエラー情報を書き込み、処理をステップS110に移行する。
In step S98, the
この後、ステートマシン32Bは、図5と同様にステップS110、S120の処理を実行する。ステップS120の後、ステップS140において、ステートマシン32は、トランザクションの後処理を実行する。ステップS140の処理の例は、図9に示される。
Thereafter, the
図9は、図8に示すステップS140の処理の一例を示す。図6と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。ステップS144、S145、S146の処理は、図5に示すステップS131、S132、S133の処理と同一または同様である。 FIG. 9 shows an example of the process of step S140 shown in FIG. Processes that are the same as or similar to those in FIG. 6 are given the same reference numerals, and detailed descriptions thereof are omitted. The processes in steps S144, S145, and S146 are the same as or similar to the processes in steps S131, S132, and S133 shown in FIG.
まず、ステップS141において、ステートマシン32Bは、ディレクトリバッファ36に保持されているディレクトリ情報が、タイムアウトの発生を示すエラー情報を含むか否かを判定する。ディレクトリ情報がタイムアウトの発生を示すエラー情報を含む場合、処理はステップS142に移行され、ディレクトリ情報がタイムアウトの発生を示すエラー情報を含まない場合、処理は終了する。
First, in step S141, the
ステップS142において、ステートマシン32Bは、エラー種記憶部46からエラー情報を読み出す。次に、ステップS143において、ステートマシン32Bは、エラー情報がディレクトリ矛盾エラーの発生を示す場合、処理をステップS147に移行し、エラー情報がタイムアウトの発生を示す場合、処理をステップS144に移行する。
In step S <b> 142, the
ステップS147において、ステートマシン32Bは、全てのプロセッサ100Bにキャッシュ無効化要求を発行する。次に、ステップS148において、ステートマシン32Bは、データ返送要求の発行先の全てのプロセッサ100Bからキャッシュ無効化要求に対する応答を受信し、処理を終了する。すなわち、ディレクトリ矛盾エラーが発生した場合に、全てのプロセッサ100Bに対象データを削除させることで、情報処理装置IPE3のキャッシュコヒーレンシを維持することができる。なお、ステートマシン32Bは、キャッシュ無効化要求に対する正常な応答を受信しない場合、プロセッサ100Bを管理するために情報処理装置IPE3に搭載される管理装置等にエラーの発生を通知する。
In step S147, the
以上、図7から図9に示す実施形態においても、図1から図6に示す実施形態と同様にノードND間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。また、データ返送要求をリトライせずにキャッシュ無効化要求を他ノードNDに発行するため、メモリアクセス要求に対する応答が遅れることを抑止することができ、情報処理装置IPE3の処理性能の低下を抑止することができる。プロセッサ番号記憶部42を参照することで、データ返送要求の宛先のプロセッサ100Dを検出し、検出したプロセッサ100Dにキャッシュ無効化要求を発行することができる。
As described above, in the embodiment shown in FIGS. 7 to 9 as well, even in the case where a failure occurs temporarily in the communication path connecting the nodes ND as in the embodiment shown in FIGS. Can be maintained. Further, since the cache invalidation request is issued to the other node ND without retrying the data return request, it is possible to suppress a delay in the response to the memory access request, and to suppress a decrease in the processing performance of the information processing apparatus IPE3. be able to. By referring to the processor
さらに、図7から図9に示す実施形態では、ディレクトリ矛盾エラーが発生した場合に、全てのプロセッサ100Bに対象データを削除させることで、情報処理装置IPE3のキャッシュコヒーレンシを維持することができる。この結果、情報処理装置IPE3のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE3の処理性能およびRAS性能の低下を抑止することができる。
Further, in the embodiment shown in FIGS. 7 to 9, when a directory conflict error occurs, the cache coherency of the information processing apparatus IPE3 can be maintained by causing all the
図10は、情報処理装置、演算処理装置および情報処理装置の制御方法の別の実施形態を示す。図3に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。 FIG. 10 shows another embodiment of the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus. Elements that are the same as or similar to those described in the embodiment shown in FIG. 3 are given the same reference numerals, and detailed descriptions thereof are omitted.
図10に示す情報処理装置IPE4は、サーバ等であり、図3に示す情報処理装置IPE2のプロセッサ100Aの代わりにプロセッサ100Cを有する。プロセッサ100Cは、図3に示すキャッシュメモリ制御部12およびシステム制御部16の代わりにキャッシュメモリ制御部12Cおよびシステム制御部16Cを有する。システム制御部16Cは、図3に示すプロセッサインタフェース18および複数の要求処理エントリ26の代わりにプロセッサインタフェース18Cおよび複数の要求処理エントリ26Cを有する。また、システム制御部16Cは、図3に示すシステム制御部16に対してロスト予防検出部48を追加している。情報処理装置IPE4のその他の構成は、図3に示す情報処理装置IPE2の構成と同様である。
An information processing apparatus IPE4 illustrated in FIG. 10 is a server or the like, and includes a
要求処理エントリ26Cは、アクセス要求バッファ30、ステートマシン32C、データバッファ34、ディレクトリバッファ36およびタイマ38を有する。ステートマシン32Cは、図3に示すプロセッサ番号記憶部42の代わりにプロセッサ番号記憶部43を有し、図3に示すステートマシン32に予防フラグ50を追加している。なお、持ち出し先検出部40、プロセッサ番号記憶部43および予防フラグ50は、要求処理エントリ26C内であって、ステートマシン32Cの外部に配置されてもよい。
The
各プロセッサ100Cのキャッシュメモリ制御部12Cは、記憶装置200から読み出してキャッシュメモリ部10に格納するデータが何らかの原因により失われた場合、情報処理装置IPE4にとって致命的なエラーとなるかを、メモリアクセス要求毎に判断する。そして、致命的なエラーになる場合、データが失われることを予防するロスト予防情報を付加したメモリアクセス要求をシステム制御部16Cに発行する。なお、ロスト予防情報をメモリアクセス要求に付加するか否かは、プロセッサコア部14が実行するプログラムにより判断させてもよい。
The cache
プロセッサインタフェース18Cは、図3に示すプロセッサインタフェース18の機能に加えて、調停により選択したメモリアクセス要求をロスト予防検出部48に転送する機能を有する。
In addition to the function of the
ロスト予防検出部48は、プロセッサインタフェース18から転送されるメモリアクセス要求をデコードし、メモリアクセス要求に含まれるロスト予防情報を検出する。ロスト予防検出部48は、対象データが失われることを予防するロスト予防情報をメモリアクセス要求が含むかを検出する第1の検出部の一例である。ロスト予防検出部48は、メモリアクセス要求がロスト予防情報を含む場合、エントリ決定部22が決定したメモリアクセス要求を処理するために使用する要求処理エントリ26に含まれるステートマシン32Cにロスト予防情報を出力する。例えば、メモリアクセス要求は、パケットとしてキャッシュメモリ制御部12Cにより生成され、メモリアクセス要求の宛先のプロセッサ100Cのプロセッサインタフェース18に転送される。メモリアクセス要求パケットの例は、図11に示される。なお、ロスト予防検出部48の機能は、エントリ決定部22に含まれていてもよい。
The lost
ステートマシン32Cは、メモリアクセス要求の受信とともに、ロスト予防検出部48からロスト予防情報を受信した場合、予防フラグ50をセットする。すなわち、ステートマシン32Cは、ロスト予防情報を付加したメモリアクセス要求を受信した場合、予防フラグ50をセットする。ステートマシン32Cは、予防フラグ50をセットする場合、メモリアクセス要求の発行元のプロセッサ100Cを示すプロセッサ番号をプロセッサ番号記憶部43に格納する。一方、ステートマシン32Cは、メモリアクセス要求にロスト予防情報が含まれない場合、予防フラグ50をリセットする。
When the
その後、ステートマシン32Cは、記憶装置200からデータを読み出し、他ノードのプロセッサ100Cのキャッシュメモリ部10がデータを持ち出している場合、データを返送させる処理を実行する。そして、ステートマシン32Cは、メモリアクセス要求の発行元のプロセッサ100Cにデータを含む応答を発行し、ディレクトリ情報およびデータを更新した場合、記憶装置200に書き込む。
Thereafter, the
さらに、ステートマシン32Cは、予防フラグ50がセットされている場合、プロセッサ番号記憶部43に保持されたプロセッサ番号に基づいて、メモリアクセス要求の発行元のプロセッサ100Cにデータ返送要求を発行してデータを取り戻す。これにより、データの消失により致命的なエラーが発生するおそれがある場合に、自ノードの記憶装置200から読み出したデータが他ノードのプロセッサ100Cで処理された後に取り戻すことができる。データを予め取り戻しておくことで、ノード間の通信経路等の一時的な故障によりデータ返送要求およびキャッシュ無効化要求を発行する頻度を上述した実施形態に比べて下げることができる。この結果、情報処理装置IPE4のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE4のRAS性能の低下を抑止することができる。
Further, when the
図11は、メモリアクセス要求パケットの一例を示す。メモリアクセス要求パケットは、制御部とデータ部とを有する。制御部は、メモリアクセス要求パケットが有効の場合、バリッドVを示す情報がセットされる。データ部は、命令コード、メモリアクセス要求の要求元のプロセッサ100CのID、メモリアクセスアドレスおよびロスト予防情報が格納される領域を有する。
FIG. 11 shows an example of a memory access request packet. The memory access request packet has a control unit and a data unit. When the memory access request packet is valid, information indicating a valid V is set in the control unit. The data portion has an area for storing an instruction code, an ID of the
命令コードの領域には、「共有型」または「排他型」を示す情報が格納される。例えば、ロスト予防情報の領域は、1ビットであり、論理1の場合、ロスト予防タイプのメモリアクセス要求であることを示し、論理0の場合、通常のメモリアクセス要求であることを示す。
Information indicating “shared type” or “exclusive type” is stored in the instruction code area. For example, the lost prevention information area is 1 bit, and a
図12は、図10に示すシステム制御部16Cの動作の一例を示す図である。図5と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。ステップS10、S20、S30、S40、S50、S60、S90、S110、S120、S200の処理は、図5に示すステップS10、S20、S30、S40、S50、S60、S90、S110、S120、S200の処理と同一または同様である。
FIG. 12 is a diagram illustrating an example of the operation of the
ステップS20の処理の後、ステップS24において、ステートマシン32Cは、メモリアクセス要求がロスト予防情報を含むか否かを判定する。メモリアクセス要求がロスト予防情報を含む場合、処理はステップS25に移行され、メモリアクセス要求がロスト予防情報を含まない場合、処理はステップS27に移行される。
After the process of step S20, in step S24, the
ステップS25において、ステートマシン32Cは、予防フラグ50を”1”にセットする。次に、ステップS26において、ステートマシン32Cは、ロスト予防情報を含むメモリアクセス要求を発行したプロセッサ100Cを識別するプロセッサ番号をプロセッサ番号記憶部43に格納する。ステップS27において、ステートマシン32Cは、予防フラグ50を”0”にリセットする。
In step S25, the
ステップS30、S40の実行後、ステップS50において、データを他ノードのプロセッサ100Cに持ち出している場合、ステップS60において、ステートマシン32Cは、データを持ち出している他ノードのプロセッサ100Cにデータ返送要求を発行する。次に、ステップS90において、ステートマシン32Cは、データ返送要求に対する応答に含まれるデータをデータバッファ34に格納し、処理をステップS110に移行する。なお、データを持ち出した他ノードのプロセッサ100Cがデータを更新していない場合、ステップS26の処理は省略されてもよい。
After the execution of steps S30 and S40, if the data is taken out to the
この後、ステートマシン32Cは、図5と同様にステップS110、S120の処理を実行する。ステップS120の後、ステップS150において、ステートマシン32Cは、トランザクションの後処理を実行する。ステップS150の処理の例は、図13に示される。
Thereafter, the
図13は、図12に示すステップS150の処理の一例を示す。まず、ステップS151において、ステートマシン32Cは、予防フラグ50が”1”にセットされているか否かを判定する。予防フラグ50が”1”にセットされている場合、処理はステップS152に移行され、予防フラグ50が”0”にリセットされている場合、処理は終了する。
FIG. 13 shows an example of the process of step S150 shown in FIG. First, in step S151, the
ステップS152において、ステートマシン32Cは、プロセッサ番号記憶部43からプロセッサ番号を読み出す。プロセッサ番号記憶部43に記憶されたプロセッサ番号は、ロスト予防情報を含むメモリアクセス要求を発行したプロセッサ100Cを示す。
In step S152, the
次に、ステップS153において、ステートマシン32Cは、ロスト予防情報を含むメモリアクセス要求の発行元のプロセッサ100Cにデータ返送要求を発行する。次に、ステップS154において、ステートマシン32Cは、データ返送要求の発行先(すなわち、メモリアクセス要求の発行元)のプロセッサ100Cからデータ返送要求に対する応答を受信する。次に、ステップS155において、ステートマシン32Cは、データ返送要求に対する応答に含まれるデータが更新されている場合またはディレクトリ情報を更新した場合、記憶装置200にライト要求を発行する。そして、ステートマシン32は、データおよびディレクトリ情報を記憶装置200に書き込み処理を終了する。
Next, in step S153, the
以上、図10から図13に示す実施形態では、データの消失により致命的なエラーが発生するおそれがある場合に、自ノードの記憶装置200から読み出したデータが他ノードのプロセッサ100Cで処理された後に取り戻すことができる。データを予め取り戻しておくことで、ノード間の通信経路等の一時的な故障によりデータ返送要求およびキャッシュ無効化要求を発行する頻度を上述した実施形態に比べて下げることができる。また、要求処理エントリ26Cは、メモリアクセス要求の発行元のプロセッサ100Cを識別するプロセッサ番号を記憶するプロセッサ番号記憶部43を有する。これにより、データを持ち出しているノードへのデータ返送要求に対する応答を受信した後、プロセッサ番号記憶部43を参照することで、データ返送要求を発行するメモリアクセス要求の発行元のプロセッサ100Cを検出することができる。そして、要求処理エントリ26Cは、検出したプロセッサ100Cにデータ返送要求を発行することができる。この結果、情報処理装置IPE4のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE4のRAS性能の低下を抑止することができる。
As described above, in the embodiment shown in FIG. 10 to FIG. 13, when there is a possibility that a fatal error may occur due to data loss, the data read from the
図14は、情報処理装置、演算処理装置および情報処理装置の制御方法の別の実施形態を示す。図3および図10に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。 FIG. 14 shows another embodiment of the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus. Elements that are the same as or similar to those described in the embodiment shown in FIGS. 3 and 10 are given the same reference numerals, and detailed descriptions thereof are omitted.
図14に示す情報処理装置IPE5は、サーバ等であり、図3に示す情報処理装置IPE2のプロセッサ100Aの代わりにプロセッサ100Dを有する。プロセッサ100Dは、図3に示すキャッシュメモリ制御部12およびシステム制御部16の代わりにキャッシュメモリ制御部12Cおよびシステム制御部16Dを有する。システム制御部16Dは、図3に示すプロセッサインタフェース18および複数の要求処理エントリ26の代わりにプロセッサインタフェース18Cおよび複数の要求処理エントリ26Dを有する。また、システム制御部16Dは、図10に示すロスト予防検出部48を有する。
An information processing apparatus IPE5 illustrated in FIG. 14 is a server or the like, and includes a
キャッシュメモリ制御部12Cは、図10に示すキャッシュメモリ制御部12Cと同様に、ロスト予防情報を付加したメモリアクセス要求をシステム制御部16Dに発行する機能を有する。プロセッサインタフェース18Cは、図10に示すプロセッサインタフェース18Cと同様に、調停により選択したメモリアクセス要求をロスト予防検出部48に転送する機能を有する。情報処理装置IPE5のその他の構成は、図3に示す情報処理装置IPE2の構成と同様である。
Similarly to the cache
要求処理エントリ26Dは、アクセス要求バッファ30、ステートマシン32D、データバッファ34、ディレクトリバッファ36およびタイマ38を有する。ステートマシン32Dは、図3に示すステートマシン32に、プロセッサ番号記憶部43をおよび予防フラグ50を追加している。プロセッサ番号記憶部43は、図10に示すプロセッサ番号記憶部43と同様に、メモリアクセス要求の発行元のプロセッサ100Dを識別するプロセッサ番号を保持する。予防フラグ50は、図10に示す予防フラグ50と同様に、ロスト予防情報を付加したメモリアクセス要求を受信した場合にセットされる。なお、持ち出し先検出部40、プロセッサ番号記憶部42、43および予防フラグ50は、要求処理エントリ26D内であって、ステートマシン32Dの外部に配置されてもよい。
The
ステートマシン32Dは、図3に示すステートマシン32の機能に加えて、図10に示すステートマシン32Cの機能を有する。すなわち、ステートマシン32Dは、予防フラグ50がセットされている場合、プロセッサ番号記憶部43に保持されたプロセッサ番号に基づいて、メモリアクセス要求の発行元のプロセッサ100Dにデータ返送要求を発行してデータを取り戻す処理を実行する。
The
図15は、図14に示すシステム制御部16Dの動作の一例を示す図である。図5および図12と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。ステップS10からステップS40までの処理は、図12に示すステップS10からステップS40までの処理と同一または同様である。ステップS50からステップS120までの処理は、図5に示すステップS50からステップS120までの処理と同一または同様である。
FIG. 15 is a diagram illustrating an example of the operation of the
ステップS120の後、ステップS160において、ステートマシン32Dは、トランザクションの後処理を実行する。ステップS160の処理の例は、図16に示される。
After step S120, in step S160, the
図16は、図15に示すステップS160の処理の一例を示す。図6および図13と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。 FIG. 16 shows an example of the process of step S160 shown in FIG. The processes that are the same as or similar to those in FIGS. 6 and 13 are given the same reference numerals, and detailed descriptions thereof are omitted.
まず、ステップS161において、ステートマシン32Dは、ディレクトリバッファ36に保持されているディレクトリ情報が、タイムアウトの発生を示すエラー情報を含むか否かを判定する。ディレクトリ情報がタイムアウトの発生を示すエラー情報を含む場合、処理はステップS162に移行され、ディレクトリ情報がタイムアウトの発生を示すエラー情報を含まない場合、処理はステップS165に移行される。
First, in step S161, the
ステップS162からステップS164までの処理は、図6に示すステップS132からステップS134に示す処理と同じである。ステップS165からステップS169までの処理は、図13に示すステップS151からステップS155に示す処理と同じである。すなわち、ステートマシン32Dは、データ返送要求に対する応答を受信する前にタイムアウトが発生し、ディレクトリバッファ36にエラー情報を書き込んだ場合、データ返送要求の宛先のプロセッサ100Dにキャッシュ無効化要求を発行する。また、ステートマシン32Dは、メモリアクセス要求がロスト予防情報を含む場合、メモリアクセス要求の発行元のプロセッサ100Dにデータ返送要求を発行し、メモリアクセス要求に基づいて転送したデータを取り戻す処理を実行する。
The processing from step S162 to step S164 is the same as the processing from step S132 to step S134 shown in FIG. The processing from step S165 to step S169 is the same as the processing from step S151 to step S155 shown in FIG. That is, when a timeout occurs before receiving a response to the data return request and error information is written in the
なお、データ返送要求に対する応答を受信する前にタイムアウトが発生した場合、メモリアクセス要求の発行元のプロセッサ100Dは、データを含む応答を受信せず、エラーを示す応答を受信する。この場合、メモリアクセス要求の発行元のプロセッサ100Dは、メモリアクセス要求に対するデータの演算処理等を実行していないため、ステートマシン32Dは、予防フラグ50の値に拘わらず、ステップS165からステップS169までの処理を省略する。
When a timeout occurs before receiving a response to the data return request, the
以上、図14から図16に示す実施形態においても、図1から図6および図10から図13に示す実施形態と同様の効果を得ることができる。すなわち、ノードND間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。また、データ返送要求をリトライせずにキャッシュ無効化要求を他ノードNDに発行するため、メモリアクセス要求に対する応答が遅れることを抑止することができる。さらに、データの消失により致命的なエラーが発生するおそれがある場合に、自ノードの記憶装置200から読み出したデータが他ノードのプロセッサ100Dで処理された後に取り戻すことができる。データを予め取り戻しておくことで、ノード間の通信経路等の一時的な故障によりデータ返送要求およびキャッシュ無効化要求を発行する頻度を図1に示す実施形態に比べて下げることができる。また、プロセッサ番号記憶部42を参照することで、データ返送要求の宛先のプロセッサ100Dを検出し、検出したプロセッサ100Dにキャッシュ無効化要求を発行することができる。さらに、プロセッサ番号記憶部43を参照することで、メモリアクセス要求の発行元のプロセッサ100Dを検出し、検出したプロセッサ100Dにデータ返送要求を発行することができる。この結果、情報処理装置IPE5のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE5の処理性能およびRAS性能の低下を抑止することができる。
As described above, also in the embodiment shown in FIGS. 14 to 16, the same effects as those in the embodiments shown in FIGS. 1 to 6 and FIGS. 10 to 13 can be obtained. That is, cache coherency can be maintained even when a failure temporarily occurs in a communication path or the like connecting the nodes ND. Further, since the cache invalidation request is issued to the other node ND without retrying the data return request, it is possible to suppress a delay in the response to the memory access request. Further, when a fatal error may occur due to data loss, data read from the
図17は、情報処理装置、演算処理装置および情報処理装置の制御方法の別の実施形態を示す。図3、図7および図10に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。 FIG. 17 shows another embodiment of the information processing apparatus, the arithmetic processing apparatus, and the control method for the information processing apparatus. Elements that are the same as or similar to those described in the embodiment shown in FIGS. 3, 7, and 10 are given the same reference numerals, and detailed descriptions thereof are omitted.
図17に示す情報処理装置IPE6は、サーバ等であり、システムバスSBUSを介して互いに接続された複数のプロセッサ100Eと、各プロセッサ100Eに接続された記憶装置200とを有する。プロセッサ100Eのシステム制御部16Eは、図14に示す複数の要求処理エントリ26Dの代わりに複数の要求処理エントリ26Eを有する。要求処理エントリ26Eは、アクセス要求バッファ30、ステートマシン32E、データバッファ34、ディレクトリバッファ36、エラー検出部44およびタイマ38を有する。ステートマシン32Eは、図14に示すステートマシン32Dに、エラー種記憶部46を追加している。なお、持ち出し先検出部40、プロセッサ番号記憶部42、43、エラー種記憶部46および予防フラグ50は、要求処理エントリ26E内であって、ステートマシン32Eの外部に配置されてもよい。情報処理装置IPE6のその他の構成は、図14に示す情報処理装置IPE5の構成と同様である。
An information processing apparatus IPE6 illustrated in FIG. 17 is a server or the like, and includes a plurality of
ステートマシン32Eは、図7に示すステートマシン32Bの機能に加えて、図10に示すステートマシン32Cの機能を有する。すなわち、ステートマシン32Eは、メモリアクセス要求を契機に発行したデータ返送要求に対する応答を受信する前にタイムアウトが発生した場合、データ返送要求の発行先のプロセッサ100Eにキャッシュ無効化要求を発行する。また、ステートマシン32Eは、データ返送要求に対する応答がディレクトリ矛盾を示す場合、全てのプロセッサ100Eにキャッシュ無効化要求を発行する。さらに、ステートマシン32Eは、予防フラグ50がセットされている場合、プロセッサ番号記憶部43に保持されたプロセッサ番号に基づいて、メモリアクセス要求の発行元のプロセッサ100Eにデータ返送要求を発行してデータを取り戻す処理を実行する。
The
図18は、図17に示すシステム制御部16Eの動作の一例を示す図である。図8および図12と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。ステップS10からステップS40までの処理は、図12に示すステップS10からステップS40までの処理と同一または同様である。ステップS42からステップS120までの処理は、図8に示すステップS42からステップS120までの処理と同一または同様である。
FIG. 18 is a diagram illustrating an example of the operation of the
ステップS120の後、ステップS180において、ステートマシン32Eは、トランザクションの後処理を実行する。ステップS180の処理の例は、図19に示される。
After step S120, in step S180, the
図19は、図18に示すステップS180の処理の一例を示す。図9および図13と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。 FIG. 19 shows an example of the process of step S180 shown in FIG. The same or similar processes as those in FIGS. 9 and 13 are denoted by the same reference numerals, and detailed description thereof is omitted.
まず、ステップS181において、ステートマシン32Eは、ディレクトリバッファ36に保持されているディレクトリ情報が、タイムアウトの発生またはディレクトリ矛盾の発生を示すエラー情報を含むか否かを判定する。ディレクトリ情報がタイムアウトの発生またはディレクトリ矛盾の発生を示すエラー情報を含む場合、処理はステップS182に移行される。ディレクトリ情報がタイムアウトの発生またはディレクトリ矛盾の発生を示すエラー情報を含まない場合、処理はステップS189に移行される。
First, in step S181, the
ステップS182からステップS188までの処理は、図9に示すステップS142からステップS148に示す処理と同じである。ステップS189からステップS193までの処理は、図13に示すステップS151からステップS155に示す処理と同じである。すなわち、ステートマシン32Eは、データ返送要求に対する応答を受信する前にタイムアウトが発生し、ディレクトリバッファ36にエラー情報を書き込んだ場合、データ返送要求の宛先のプロセッサ100Eにキャッシュ無効化要求を発行する。また、ステートマシン32Eは、データ返送要求に対する応答がディレクトリ矛盾を示す場合、全てのプロセッサ100Eにキャッシュ無効化要求を発行する。さらに、ステートマシン32Eは、メモリアクセス要求がロスト予防情報を含む場合、メモリアクセス要求の発行元のプロセッサ100Eにデータ返送要求を発行し、メモリアクセス要求に基づいて転送したデータを取り戻す処理を実行する。
The processing from step S182 to step S188 is the same as the processing from step S142 to step S148 shown in FIG. The process from step S189 to step S193 is the same as the process from step S151 to step S155 shown in FIG. That is, when a timeout occurs before receiving a response to the data return request and error information is written in the
なお、データ返送要求に対する応答を受信する前にタイムアウトが発生し、またはデータ返送要求に対する応答がディレクトリ矛盾を示す場合、メモリアクセス要求の発行元のプロセッサ100Eは、データを含む応答を受信せず、エラーを示す応答を受信する。この場合、メモリアクセス要求の発行元のプロセッサ100Eは、メモリアクセス要求に対応するデータの演算処理等を実行していないため、ステートマシン32Eは、予防フラグ50の値に拘わらず、ステップS189からステップS193までの処理を省略する。
When a timeout occurs before receiving a response to the data return request, or when the response to the data return request indicates a directory conflict, the
以上、図17から図19に示す実施形態においても、図1から図16に示す実施形態と同様の効果を得ることができる。すなわち、ノードND間を接続する通信経路等で故障が一時的に発生した場合にも、キャッシュコヒーレンシを維持することができる。また、データ返送要求をリトライせずにキャッシュ無効化要求を他ノードNDに発行するため、メモリアクセス要求に対する応答が遅れることを抑止することができる。データの消失により致命的なエラーが発生するおそれがある場合に、自ノードの記憶装置200から読み出したデータが他ノードのプロセッサ100Eで処理された後に取り戻すことができる。データを予め取り戻しておくことで、ノード間の通信経路等の一時的な故障によりデータ返送要求およびキャッシュ無効化要求を発行する頻度を図1に示す実施形態に比べて下げることができる。さらに、ディレクトリ矛盾エラーが発生した場合に、全てのプロセッサ100Eに対象データを削除させることで、情報処理装置IPE6のキャッシュコヒーレンシを維持することができる。この結果、情報処理装置IPE6のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE6の処理性能およびRAS性能の低下を抑止することができる。また、プロセッサ番号記憶部42を参照することで、データ返送要求の宛先のプロセッサ100Eを検出し、検出したプロセッサ100Eにキャッシュ無効化要求を発行することができる。さらに、プロセッサ番号記憶部43を参照することで、メモリアクセス要求の発行元のプロセッサ100Eを検出し、検出したプロセッサ100Eにデータ返送要求を発行することができる。この結果、情報処理装置IPE6のキャッシュコヒーレンシを維持しつつ、情報処理装置IPE6の処理性能およびRAS性能の低下を抑止することができる。
As described above, also in the embodiment shown in FIGS. 17 to 19, the same effect as that of the embodiment shown in FIGS. That is, cache coherency can be maintained even when a failure temporarily occurs in a communication path or the like connecting the nodes ND. Further, since the cache invalidation request is issued to the other node ND without retrying the data return request, it is possible to suppress a delay in the response to the memory access request. When there is a possibility that a fatal error may occur due to data loss, data read from the
図20は、図1から図19に示す実施形態が適用されるサーバの一例を示す。図20に示すサーバSV1は、プロセッサと記憶装置とを含む所定数のマザーボードMBを有する。各マザーボードMBは、ノードに対応する。プロセッサは、図1、図3、図7、図10、図14、図17に示す演算処理装置1、プロセッサ100A、100B、100C、100D、100Eのいずれかである。プロセッサは、キャッシュメモリ部10、キャッシュメモリ制御部12(または12C)および複数のプロセッサコア部14を含むプロセッサ部と、システム制御部とを有する。キャッシュメモリ部10は、図1に示すキャッシュメモリ部4に対応し、キャッシュメモリ制御部12は、図1に示すキャッシュメモリ制御部5に対応し、プロセッサコア部14は、図1に示す演算処理部3に対応する。システム制御部は、図1、図3、図7、図10、図14、図17に示すメモリアクセス制御部6、システム制御部16、16B、16C、16D、16Eのいずれかである。システム制御部は、システムバスSBUSを介して互いに接続される。サーバSV1は、情報処理装置の一例である。
FIG. 20 shows an example of a server to which the embodiment shown in FIGS. 1 to 19 is applied. A server SV1 illustrated in FIG. 20 includes a predetermined number of motherboards MB including a processor and a storage device. Each motherboard MB corresponds to a node. The processor is any one of the
図21は、サーバの別の例を示す。図21に示すサーバSV2は、複数のプロセッサとシステム制御部と記憶装置200とを含むマザーボードMBを有する。プロセッサは、図3、図7、図10、図14、図17に示すキャッシュメモリ部10、キャッシュメモリ制御部12(または12C)および複数のプロセッサコア部14を含む。また、プロセッサは、図1に示す演算処理部3、キャッシュメモリ部4およびキャッシュメモリ制御部5を有してもよい。システム制御部は、複数のプロセッサに共通に設けられる。システム制御部は、図1、図3、図7、図10、図4、図17に示すメモリアクセス制御部6、システム制御部16、16B、16C、16D、16Eのいずれかと同様の構成を有する。但し、システム制御部のプロセッサインタフェースは、システムバスを介することなく各プロセッサのキャッシュメモリ制御部に接続される。
FIG. 21 shows another example of the server. A server SV2 illustrated in FIG. 21 includes a motherboard MB including a plurality of processors, a system control unit, and a
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Also, any improvement and modification should be readily conceivable by those having ordinary knowledge in the art. Therefore, there is no intention to limit the scope of the inventive embodiments to those described above, and appropriate modifications and equivalents included in the scope disclosed in the embodiments can be used.
1…演算処理装置;2…記憶装置;3…演算処理部;4…キャッシュメモリ部;5…キャッシュメモリ制御部;6…メモリアクセス制御部;7…メモリ制御部;8…持ち出し先検出部;9…コヒーレンシ制御部;10…キャッシュメモリ部;12、12C…キャッシュメモリ制御部;14…プロセッサコア部;16、16B、16C、16D、16E…システム制御部;18、18C…プロセッサインタフェース;20…応答調停部;22…エントリ決定部;24…制御要求発行部;26、26B、26C、26D、26E…要求処理エントリ;28…メモリ制御部;30…アクセス要求バッファ;32、32B、32C、32D、32E…ステートマシン;34…データバッファ;36…ディレクトリバッファ;38…タイマ;40…持ち出し先検出部;42、43…プロセッサ番号記憶部;46…エラー種記憶部;48…ロスト予防検出部;50…予防フラグ;100A、100B、100C、100D、100E…プロセッサ;200…記憶装置;IPE1、IPE2、IPE3、IPE4、IPE5、IPE6…情報処理装置;MB…マザーボード;ND(ND1、ND2)…ノード;SBUS…システムバス;SV1、SV2…サーバ
DESCRIPTION OF
Claims (10)
前記メモリアクセス制御部は、
発行されたメモリアクセス要求のアクセス対象である対象データと、前記対象データを持ち出したノードを識別するディレクトリ情報とを前記記憶装置から読み出すメモリ制御部と、
対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する検出部と、
前記検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を前記持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、前記持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を前記持ち出しノードに発行するコヒーレンシ制御部を有することを特徴とする情報処理装置。 A storage device for storing data; an arithmetic processing unit connected to the storage device for executing arithmetic processing; a cache memory unit for storing data processed by the arithmetic processing unit; and issuing a memory access request when a cache miss occurs Memory that executes memory access processing and processing for maintaining consistency between data stored in the storage device and data held in the cache memory based on a memory access request issued by the cache memory control unit and the arithmetic processing unit In an information processing apparatus having a plurality of nodes including an arithmetic processing unit including an access control unit,
The memory access controller is
A memory control unit that reads from the storage device target data that is an access target of the issued memory access request and directory information that identifies a node that has taken out the target data;
A detection unit that detects a take-out node, which is another node that has taken out the target data read from the corresponding storage device, based on the directory information;
If a response corresponding to the elapse of a predetermined time has not been received after issuing a eviction request for eviction of target data from the cache memory unit of the take-out node detected by the detection unit to the take-out node, the cache is held in the cache memory unit of the take-out node And a coherency control unit that issues an invalidation request to invalidate the target data to the take-out node.
追い出し要求に対する応答に基づいて、前記記憶装置から読み出したディレクトリ情報のエラーを検出するエラー検出部と、
前記所定時間が経過するまでに追い出し要求に対する応答を受信しないタイムアウトエラーを示す情報または前記エラー検出部が検出したディレクトリ情報のエラーを示す情報を記憶するエラー種記憶部を有し、
前記コヒーレンシ制御部は、
前記エラー種記憶部がタイムアウトエラーを示す情報を記憶する場合、無効化要求を前記持ち出しノードに発行し、
前記エラー種記憶部がディレクトリ情報のエラーを示す情報を記憶する場合、無効化要求を全てのノードに発行することを特徴とする請求項1記載の情報処理装置。 The memory access control unit further includes
An error detection unit that detects an error in the directory information read from the storage device based on a response to the eviction request;
An error type storage unit for storing information indicating a time-out error that does not receive a response to the eviction request until the predetermined time elapses or information indicating an error in the directory information detected by the error detection unit;
The coherency controller is
If the error type storage unit stores information indicating a timeout error, issue an invalidation request to the take-out node,
2. The information processing apparatus according to claim 1, wherein when the error type storage unit stores information indicating an error in directory information, an invalidation request is issued to all nodes.
対象データが失われることを予防するロスト予防情報をメモリアクセス要求が含むかを検出するロスト予防検出部と、
ロスト予防情報をメモリアクセス要求が含むことを前記ロスト予防検出部が検出した場合にセットされる予防フラグを有し、
前記コヒーレンシ制御部は、前記予防フラグがセットされた場合、対象データを含む応答をメモリアクセス要求の発行元に発行した後、メモリアクセス要求の発行元のキャッシュメモリ部から対象データを追い出させる追い出し要求を発行することを特徴とする請求項1または請求項2記載の情報処理装置。 The memory access control unit further includes
A lost prevention detection unit that detects whether the memory access request includes lost prevention information that prevents the target data from being lost;
Having a prevention flag that is set when the lost prevention detection unit detects that the memory access request includes lost prevention information,
When the prevention flag is set, the coherency control unit issues a response including the target data to the memory access request issuer, and then urges the target data from the cache memory unit from which the memory access request is issued. The information processing apparatus according to claim 1 or 2, wherein
メモリアクセス要求の発行元のノードを識別する識別情報を記憶する第1の識別情報記憶部を有し、
前記コヒーレンシ制御部は、対象データを含む応答をメモリアクセス要求の発行元に発行した後、前記第1の識別情報記憶部に記憶された識別情報が示すノードに追い出し要求を発行することを特徴とする請求項3記載の情報処理装置。 The memory access control unit further includes
A first identification information storage unit for storing identification information for identifying a node from which the memory access request is issued;
The coherency control unit issues a eviction request to a node indicated by the identification information stored in the first identification information storage unit after issuing a response including target data to a memory access request issuer. The information processing apparatus according to claim 3.
前記検出部が検出した前記持ち出しノードを識別する識別情報を記憶する第2の識別情報記憶部を有し、
前記コヒーレンシ制御部は、前記所定時間が経過するまでに前記持ち出しノードへの追い出し要求に対する応答を受信しない場合、前記第2の識別情報記憶部に記憶された識別情報が示すノードに無効化要求を発行することを特徴とする請求項1ないし請求項6のいずれか1項記載の情報処理装置。 The memory access control unit further includes
A second identification information storage unit for storing identification information for identifying the take-out node detected by the detection unit;
When the coherency control unit does not receive a response to the eviction request to the take-out node before the predetermined time elapses, the coherency control unit issues an invalidation request to the node indicated by the identification information stored in the second identification information storage unit. The information processing apparatus according to claim 1, wherein the information processing apparatus issues the information processing apparatus.
前記メモリアクセス制御部は、
発行されたメモリアクセス要求のアクセス対象である対象データと、前記対象データを持ち出したノードを識別するディレクトリ情報とを前記記憶装置から読み出すメモリ制御部と、
対象データが失われることを予防するロスト予防情報をメモリアクセス要求が含むかを検出する第1の検出部と、
ロスト予防情報をメモリアクセス要求が含むことを前記第1の検出部が検出した場合にセットされる予防フラグと、
対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する第2の検出部と、
前記第2の検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を発行し、前記予防フラグがセットされた場合、対象データを含む応答をメモリアクセス要求の発行元に発行後、メモリアクセス要求の発行元のノードから対象データを追い出す追い出し要求を発行するコヒーレンシ制御部を有することを特徴とする情報処理装置。 A storage device for storing data; an arithmetic processing unit connected to the storage device for executing arithmetic processing; a cache memory unit for storing data processed by the arithmetic processing unit; and issuing a memory access request when a cache miss occurs Memory that executes memory access processing and processing for maintaining consistency between data stored in the storage device and data held in the cache memory based on a memory access request issued by the cache memory control unit and the arithmetic processing unit In an information processing apparatus having a plurality of nodes including an arithmetic processing unit including an access control unit,
The memory access controller is
A memory control unit that reads from the storage device target data that is an access target of the issued memory access request and directory information that identifies a node that has taken out the target data;
A first detection unit that detects whether the memory access request includes lost prevention information that prevents the target data from being lost;
A prevention flag that is set when the first detection unit detects that the memory access request includes lost prevention information;
A second detection unit that detects a take-out node that is another node that has taken out the target data read from the corresponding storage device based on the directory information;
When a eviction request for eviction of target data is issued from the cache memory unit of the take-out node detected by the second detection unit and the prevention flag is set, a response including the target data is issued to the issuer of the memory access request An information processing apparatus comprising: a coherency control unit that issues a eviction request for expelling target data from a node that issued a memory access request.
前記メモリアクセス制御部は、
発行されたメモリアクセス要求のアクセス対象である対象データと、前記対象データを持ち出したノードを識別するディレクトリ情報とを前記記憶装置から読み出すメモリ制御部と、
対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出する検出部と、
前記検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を前記持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、前記持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を前記持ち出しノードに発行するコヒーレンシ制御部を有することを特徴とする演算処理装置。 A storage device that is provided in each of a plurality of nodes included in the information processing device, stores data, an arithmetic processing unit that is connected to the storage device and executes arithmetic processing, and a cache that holds data processed by the arithmetic processing unit A cache memory control unit that issues a memory access request when a cache miss occurs, a memory access process based on a memory access request issued by the arithmetic processing unit, data stored in the storage device, and the cache memory In an arithmetic processing unit including a memory access control unit that executes processing for maintaining consistency with data,
The memory access controller is
A memory control unit that reads from the storage device target data that is an access target of the issued memory access request and directory information that identifies a node that has taken out the target data;
A detection unit that detects a take-out node, which is another node that has taken out the target data read from the corresponding storage device, based on the directory information;
If a response corresponding to the elapse of a predetermined time has not been received after issuing a eviction request for eviction of target data from the cache memory unit of the take-out node detected by the detection unit to the take-out node, the cache is held in the cache memory unit of the take-out node And a coherency control unit that issues an invalidation request for invalidating the target data to the take-out node.
前記メモリアクセス制御部が有するメモリ制御部が、発行されたメモリアクセス要求のアクセス対象である対象データと、前記対象データを持ち出したノードを識別するディレクトリ情報とを前記記憶装置から読み出し、
前記メモリアクセス制御部が有する検出部が、対応する記憶装置から読み出した対象データを持ち出した他のノードである持ち出しノードをディレクトリ情報に基づいて検出し、
前記メモリアクセス制御部が有するコヒーレンシ制御部が、前記検出部が検出した持ち出しノードのキャッシュメモリ部から対象データを追い出す追い出し要求を前記持ち出しノードに発行後、所定時間の経過までに対応する応答を受信しない場合、前記持ち出しノードのキャッシュメモリ部に保持された対象データを無効化する無効化要求を前記持ち出しノードに発行することを特徴とする情報処理装置の制御方法。 A storage device for storing data; an arithmetic processing unit connected to the storage device for executing arithmetic processing; a cache memory unit for storing data processed by the arithmetic processing unit; and issuing a memory access request when a cache miss occurs Memory that executes memory access processing and processing for maintaining consistency between data stored in the storage device and data held in the cache memory based on a memory access request issued by the cache memory control unit and the arithmetic processing unit In a control method for an information processing apparatus having a plurality of nodes including an arithmetic processing unit including an access control unit,
The memory control unit included in the memory access control unit reads target data that is an access target of the issued memory access request and directory information that identifies a node that has taken out the target data from the storage device,
The detection unit of the memory access control unit detects a take-out node that is another node that has taken out the target data read from the corresponding storage device based on the directory information,
The coherency control unit included in the memory access control unit receives a response corresponding to the elapse of a predetermined time after issuing a eviction request for eviction of target data from the cache memory unit of the take-out node detected by the detection unit to the take-out node. If not, a method for controlling the information processing apparatus, wherein an invalidation request for invalidating the target data held in the cache memory unit of the take-out node is issued to the take-out node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239297A JP6493187B2 (en) | 2015-12-08 | 2015-12-08 | Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239297A JP6493187B2 (en) | 2015-12-08 | 2015-12-08 | Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017107320A true JP2017107320A (en) | 2017-06-15 |
JP6493187B2 JP6493187B2 (en) | 2019-04-03 |
Family
ID=59059709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015239297A Expired - Fee Related JP6493187B2 (en) | 2015-12-08 | 2015-12-08 | Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6493187B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055313A (en) * | 1996-08-08 | 1998-02-24 | Fujitsu Ltd | Multiprocessor device and its memory access method, transmission device and reception device of data transfer system, and data transfer system and its bus control method |
JP2008046701A (en) * | 2006-08-11 | 2008-02-28 | Nec Computertechno Ltd | Multiprocessor system, and method for operating same |
JP2013140445A (en) * | 2011-12-28 | 2013-07-18 | Fujitsu Ltd | Information processing apparatus, control method and control program |
-
2015
- 2015-12-08 JP JP2015239297A patent/JP6493187B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055313A (en) * | 1996-08-08 | 1998-02-24 | Fujitsu Ltd | Multiprocessor device and its memory access method, transmission device and reception device of data transfer system, and data transfer system and its bus control method |
JP2008046701A (en) * | 2006-08-11 | 2008-02-28 | Nec Computertechno Ltd | Multiprocessor system, and method for operating same |
JP2013140445A (en) * | 2011-12-28 | 2013-07-18 | Fujitsu Ltd | Information processing apparatus, control method and control program |
Also Published As
Publication number | Publication date |
---|---|
JP6493187B2 (en) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6944983B2 (en) | Hybrid memory management | |
KR101639672B1 (en) | Unbounded transactional memory system and method for operating thereof | |
TWI526829B (en) | Computer system,method for accessing storage devices and computer-readable storage medium | |
US7827354B2 (en) | Victim cache using direct intervention | |
US9514049B2 (en) | Cache backing store for transactional memory | |
CN106897230B (en) | Apparatus and method for processing atomic update operations | |
US9396127B2 (en) | Synchronizing access to data in shared memory | |
US8301843B2 (en) | Data cache block zero implementation | |
US20060184743A1 (en) | Cache memory direct intervention | |
US6105108A (en) | Method and apparatus for releasing victim data buffers of computer systems by comparing a probe counter with a service counter | |
US9418007B2 (en) | Managing memory transactions in a distributed shared memory system supporting caching above a point of coherency | |
WO2009054959A1 (en) | Coherent dram prefetcher | |
US10761987B2 (en) | Apparatus and method for processing an ownership upgrade request for cached data that is issued in relation to a conditional store operation | |
US5987544A (en) | System interface protocol with optional module cache | |
EP2339472B1 (en) | Arithmetic processing unit, information processing device, and cache memory control method | |
EP1725938A1 (en) | System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches | |
JP3550092B2 (en) | Cache device and control method | |
US7577890B2 (en) | Systems and methods for mitigating latency associated with error detection and correction | |
JP6493187B2 (en) | Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method | |
KR20230054447A (en) | How to Execute Atomic Memory Operations in the Event of a Race | |
US20200034236A1 (en) | Dynamic transaction throttling in a data processing system supporting transactional memory | |
JP6583046B2 (en) | Control device, information processing device, and information processing device control method | |
JP6613874B2 (en) | Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method | |
TWI758317B (en) | Apparatus and method for providing an atomic set of data accesses | |
JP6631317B2 (en) | Arithmetic processing device, information processing device, and control method for information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20170803 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20170803 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170804 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190123 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6493187 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |