JP2017111569A - Information processing device, arithmetic processing unit, and method for controlling information processing device - Google Patents

Information processing device, arithmetic processing unit, and method for controlling information processing device Download PDF

Info

Publication number
JP2017111569A
JP2017111569A JP2015244428A JP2015244428A JP2017111569A JP 2017111569 A JP2017111569 A JP 2017111569A JP 2015244428 A JP2015244428 A JP 2015244428A JP 2015244428 A JP2015244428 A JP 2015244428A JP 2017111569 A JP2017111569 A JP 2017111569A
Authority
JP
Japan
Prior art keywords
cpu
arithmetic processing
update request
state
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015244428A
Other languages
Japanese (ja)
Other versions
JP6493193B2 (en
Inventor
秀和 小佐野
Hidekazu Osano
秀和 小佐野
雅紀 日下田
Masaki Higeta
雅紀 日下田
隆宏 野尻
Takahiro Nojiri
隆宏 野尻
誠之 岡田
Masayuki Okada
誠之 岡田
仁 ▲高▼橋
仁 ▲高▼橋
Hitoshi Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015244428A priority Critical patent/JP6493193B2/en
Publication of JP2017111569A publication Critical patent/JP2017111569A/en
Application granted granted Critical
Publication of JP6493193B2 publication Critical patent/JP6493193B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To enhance the possibility of being able to continue an operation by updating management information of a main memory even in the case that a contradiction occurs in the control of a cache due to an intermittent failure or the like between an arithmetic processing unit for managing the main memory and an arithmetic processing unit for taking out data of the main memory.SOLUTION: A first arithmetic processing unit includes: a management information storage part for holding management information showing a management state including the existence/non-existence of a change in data taken out of a main storage device to a second arithmetic processing unit; a reception part for receiving an update request that requests update of the management information; a check part for determining whether the management state shown by the management information and the received update request satisfy a prescribed relationship; and a response packet transmission part for transmitting a completion response showing that the update request normally ends to the second arithmetic processing unit in the case that information showing a retry is attached to the update request, that the received update request updates the management state from a first state to a second state, and that the management information shows that it has already been updated to the second state.SELECTED DRAWING: Figure 11

Description

本発明は、情報処理装置、演算処理装置、および情報処理装置の制御方法に関する。   The present invention relates to an information processing device, an arithmetic processing device, and a control method for the information processing device.

情報処理装置、コンピュータ等は、演算処理を実行するCPU(演算処理装置ともいう)と、Dual Inline Memory Module(DIMM)等のメインメモリを有する。コンピュータシステムでは、メインメモリはデータを格納し、CPUがメインメモリにアクセスし、データの参照、あるいはデータの書き換えを行う。   An information processing device, a computer, and the like have a CPU (also referred to as an arithmetic processing device) that executes arithmetic processing and a main memory such as a dual inline memory module (DIMM). In a computer system, a main memory stores data, and a CPU accesses the main memory to refer to data or rewrite data.

メインメモリとして使用されるDIMMは読み書きが遅いため、CPUは内部にキャッシュと呼ばれる記憶媒体を備える。CPUはメインメモリのデータの一部をキャッシュに格納することで、処理対象のデータがキャッシュに存在する場合には、メインメモリまでアクセスせずにキャッシュからデータを読み、データへのアクセスを高速化する。   Since the DIMM used as the main memory is slow in reading and writing, the CPU includes a storage medium called a cache inside. The CPU stores part of the data in the main memory in the cache, so if the data to be processed exists in the cache, it reads the data from the cache without accessing the main memory, and speeds up access to the data. To do.

CPUからの読み出し要求がキャッシュミスした時に、要求対象のデータはキャッシュに新規登録される。しかし、キャッシュに空きがない場合、すでにキャッシュに格納されていたデータがリプレースのためムーブアウトされる。データがリプレースのためムーブアウトされるとき、キャッシュ制御部は、そのデータと制御信号を一時的に格納し、Home−CPUへ送出する制御を行う。ここで、Home−CPUは、配下にムーブアウト対象のメインメモリを持つCPUである。なお、キャッシュからデータがムーブアウトされるのは、キャッシュに空きがない時に限るものではなく、キャッシュに空きがある場合でも明示的にムーブアウトが実行されるケースがある。以下のムーブアウトは、キャッシュに空きがない場合と、キャッシュに空きがあって明示的に実行される場合の両者を含む。   When a read request from the CPU causes a cache miss, the requested data is newly registered in the cache. However, if there is no free space in the cache, the data already stored in the cache is moved out for replacement. When data is moved out for replacement, the cache control unit temporarily stores the data and control signal, and performs control to send the data to the Home-CPU. Here, the Home-CPU is a CPU having a main memory to be moved out. Note that the data is not moved out of the cache when the cache has no free space. In some cases, the data is explicitly moved out even when the cache has free space. The following move-out includes both a case where there is no space in the cache and a case where the cache is free and is executed explicitly.

図1に、マルチプロセッサシステムにおけるキャッシュの制御を例示する。図1のマルチプロセッサシステムは、Local−CPUとHome−CPUを有する。また、図1の例では、Local−CPUがリクエスト元であり、Home−CPUとは異なるCPUであるとする。Home−CPUは、ムーブアウト対象のデータが格納されたメインメモリを管理するCPUである。なお、図1では、省略されているが、図2のHome−CPUもLocal−CPUと同様、キャッシュ制御部を有してもよい。また、図2のLocal−CPUも、Home−CPUと同様、自身のメインメモリを管理してもよい。   FIG. 1 illustrates cache control in a multiprocessor system. The multiprocessor system of FIG. 1 has a Local-CPU and a Home-CPU. In the example of FIG. 1, it is assumed that the Local-CPU is a request source and is a CPU different from the Home-CPU. The Home-CPU is a CPU that manages a main memory in which data to be moved out is stored. Although omitted in FIG. 1, the Home-CPU in FIG. 2 may also have a cache control unit, like the Local-CPU. Also, the Local-CPU in FIG. 2 may manage its own main memory in the same manner as the Home-CPU.

リクエスト元であるLocal−CPUのキャッシュ制御部は、ムーブアウトされるデータが変更済みであれば、Home−CPUに対してデータ付きのライトバック(WRBK)のリクエストパケットを送出する。一方、ムーブアウトされるデータが変更されていなければ、Local−CPUのキャッシュ制御部は、Home−CPUに対してデータ無しのフラッシュバック(FLBK)のリクエストパケットを送出する。   If the data to be moved out has been changed, the local-CPU cache control unit that is the request source sends a write-back (WRBK) request packet with data to the Home-CPU. On the other hand, if the data to be moved out has not been changed, the cache control unit of the Local-CPU sends a flashback (FLBK) request packet with no data to the Home-CPU.

図1のように、Home−CPUは、ライトバック(WRBK)あるいはフラッシュバック(FLBK)のリクエストパケット(WRBK/FLBK)を受けると、プロトコルチェックを行い、管理情報を更新し、ライトバック(WRBK)あるいはフラッシュバック(FLBK)のコンプリート(CPLT)パケット(WRBK/FLBK−CPLT)をLocal−CPUに送出する。   As shown in FIG. 1, when the Home-CPU receives a request packet (WRBK / FLBK) for write back (WRBK) or flashback (FLBK), it performs a protocol check, updates management information, and writes back (WRBK). Alternatively, a flashback (FLBK) complete (CPLT) packet (WRBK / FLBK-CPLT) is sent to the Local-CPU.

図2に、Local−CPUによるWRBK/FLBKの制御を例示する。cache-coherent NonUniform Memory Access(cc−NUMA)に代表されるマルチプロセッサシス
テムにおいては、メインメモリとして使用されるDIMM上に、データと付随する形でキャッシュ持ち出し情報(ディレクトリ)が保持される。そして、Home−CPUは、メモリアクセスの際にデータとともにディレクトリを読み出してキャッシュ一貫性(キャッシュコヒーレンシ)をチェックする。このようなキャッシュの制御は、ディレクトリ方式のキャッシュ一貫性制御と呼ばれる。
FIG. 2 exemplifies WRBK / FLBK control by the Local-CPU. In a multiprocessor system typified by cache-coherent NonUniform Memory Access (cc-NUMA), cache take-out information (directory) is held in a form accompanying data on a DIMM used as a main memory. The Home-CPU reads the directory together with the data when accessing the memory and checks the cache coherency (cache coherency). Such cache control is called directory-based cache coherency control.

図2の処理では、Local−CPUは、Home−CPUに対して、WRBK/FLBKを発行し、タイマーを起動する(A1)。そして、Local−CPUは、タイマーが閾値に達するまでに、Home−CPUから応答パケット(WRBK/FLBK−CPLT)を受信したか否かを判定する(A2)。A2の判定がYESの場合には、Local−CPUは、WRBK/FLBKの制御を正常終了する。一方、A2の判定がNOの場合には、Local−CPUは、Fatalエラーを検出したことをエラー制御部へ通知する(A3)。ここで、Fatalエラーは動作継続不可能なエラーである。エラー制御部は、例えば、CPUごとに設けられるCPU監視用の専用プロセッサ、あるいはファームウェア等である。エラー制御部は、Fatalエラーが検出された通知を受けると、さらにCPU外部の管理装置にFatalエラーを報告する。   In the process of FIG. 2, the Local-CPU issues WRBK / FLBK to the Home-CPU and starts a timer (A1). Then, the Local-CPU determines whether or not a response packet (WRBK / FLBK-CPLT) has been received from the Home-CPU before the timer reaches the threshold (A2). If the determination of A2 is YES, the Local-CPU normally ends the WRBK / FLBK control. On the other hand, if the determination of A2 is NO, the Local-CPU notifies the error control unit that a Fatal error has been detected (A3). Here, the Fatal error is an error in which the operation cannot be continued. The error control unit is, for example, a CPU monitoring dedicated processor or firmware provided for each CPU. When receiving the notification that the Fatal error is detected, the error control unit further reports the Fatal error to the management device outside the CPU.

図3に、WRBK/FLBKのリクエストパケットを処理するHome−CPUのフローチャートを例示する。この処理では、Home−CPUは、Local−CPUからWRBK/FLBKのリクエストパケット(WRBK/FLBK)を受信する(B1)。Home−CPUは、リクエストパケット(WRBK/FLBK)を受信すると、Home−CPU上やDIMM上に格納している管理情報(ディレクトリ等)に基づくプロトコルチェックを行う(B2)。そして、プロトコルチェックでエラーがない場合には、Home−CPUはリクエストパケット(WRBK/FLBK)に対応する処理を実行する。例えば、Home−CPUはライトバックリクエストの場合には、Home−CPUはメインメモリのデータを更新し、管理情報を更新する(B3)。さらに、Home−CPUは、リクエストパケット(WRBK/FLBK)に対する処理を完了すると、Local−CPUへ応答パケット(WRBK/FLBK−CPLT)を返す(B4)。一方、プロトコルチェックでエラーがある場合には、Home−CPUはFatalエラーを検出したことをエラー制御部へ通知する(B5)。   FIG. 3 illustrates a flowchart of the Home-CPU that processes a WRBK / FLBK request packet. In this process, the Home-CPU receives a WRBK / FLBK request packet (WRBK / FLBK) from the Local-CPU (B1). When receiving the request packet (WRBK / FLBK), the Home-CPU performs a protocol check based on management information (directory etc.) stored on the Home-CPU or DIMM (B2). If there is no error in the protocol check, the Home-CPU executes processing corresponding to the request packet (WRBK / FLBK). For example, if the Home-CPU is a write-back request, the Home-CPU updates the data in the main memory and updates the management information (B3). Further, when the Home-CPU completes the processing for the request packet (WRBK / FLBK), it returns a response packet (WRBK / FLBK-CPLT) to the Local-CPU (B4). On the other hand, if there is an error in the protocol check, the Home-CPU notifies the error control unit that a Fatal error has been detected (B5).

特表平11−511634号公報Japanese National Patent Publication No. 11-511634

ところで、マルチプロセッサシステムにおいて、演算処理装置間の間欠故障等により、送信されたパケットが消失することがあり得る。これをパケットロストと呼ぶ。上記従来の技術では、データを持ち出した演算処理装置がメインメモリを管理する演算処理装置にリクエストパケット(WRBK/FLBK)を送信する際、または、メインメモリを管理する演算処理装置がデータを持ち出した演算処理装置に応答パケット(WRBK/FLBK−CPLT)を送信する際、パケットロストへの対応が十分でなく、下記の問題点がある。
(1)メインメモリの管理情報が更新されないため、キャッシュの制御に矛盾が生じ演算処理装置は、動作を継続させることができない。
(2)メインメモリのデータを管理する演算処理装置において、メインメモリへライトバックするムーブアウトデータが失われ、演算処理装置がデータ更新に失敗する。
このうち、(2)の問題に対しては、故障が固定故障ではなく間欠故障等の場合には、データを持ち出した演算処理装置が再度リクエストパケットを送信するリトライにより解決
が図られる。一方、(1)の問題については、対応が十分でない場合がある。
By the way, in a multiprocessor system, a transmitted packet may be lost due to an intermittent failure between arithmetic processing units. This is called packet lost. In the above conventional technique, when the arithmetic processing unit that has taken out data sends a request packet (WRBK / FLBK) to the arithmetic processing unit that manages the main memory, or the arithmetic processing unit that manages the main memory has taken out the data When transmitting a response packet (WRBK / FLBK-CPLT) to the arithmetic processing unit, the response to the packet lost is not sufficient, and there are the following problems.
(1) Since the management information of the main memory is not updated, a contradiction occurs in the cache control, and the arithmetic processing unit cannot continue the operation.
(2) In the arithmetic processing unit that manages data in the main memory, the move-out data to be written back to the main memory is lost, and the arithmetic processing unit fails to update the data.
Of these, the problem (2) can be solved by retrying the processing unit that has taken out the data again when the failure is not a fixed failure but an intermittent failure or the like. On the other hand, the problem (1) may not be adequately addressed.

本発明は、メインメモリを管理する演算処理装置(Home−CPU)とメインメモリのデータを持ち出している演算処理装置(Local−CPU)との間で間欠故障等により、キャッシュの制御に矛盾が生じた場合でも、メインメモリの管理情報を更新し、動作を継続できる可能性を高めることを目的とする。   According to the present invention, inconsistency occurs in cache control due to an intermittent failure or the like between an arithmetic processing unit (Home-CPU) that manages main memory and an arithmetic processing unit (Local-CPU) that takes out data in the main memory. Even in such a case, it is an object to update the management information of the main memory and increase the possibility that the operation can be continued.

本発明の一側面は、以下の情報処理装置によって例示される。すなわち、本情報処理装置は、主記憶装置を制御する主記憶制御装置を有する第1の演算処理装置と、前記第1の演算処理装置と接続される第2の演算処理装置とを備える。この第1の演算処理装置は前記主記憶装置から前記第2の演算処理装置に持ち出されたデータの変更の有無を含む管理状態を示す管理情報を保持する管理情報格納部と、前記管理情報の更新を要求する更新要求を受信する受信部と、前記管理情報が示す管理状態と前記受信した更新要求とが所定の関係を満たすか否かを判定するチェック部と、前記更新要求にリトライを示す情報が付与され、前記受信した更新要求が前記管理状態を第1の状態から第2の状態に更新し、かつ、前記管理情報が既に第2の状態に更新済みを表す場合、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する応答パケット送信部と、を有する。   One aspect of the present invention is exemplified by the following information processing apparatus. That is, the information processing apparatus includes a first arithmetic processing device having a main memory control device that controls the main memory device, and a second arithmetic processing device connected to the first arithmetic processing device. The first arithmetic processing unit includes a management information storage unit that holds management information indicating a management state including whether or not the data taken out from the main storage unit to the second arithmetic processing unit is changed; A receiving unit that receives an update request for requesting an update; a check unit that determines whether or not the management state indicated by the management information and the received update request satisfy a predetermined relationship; and indicates a retry to the update request If the information is added, the received update request updates the management state from the first state to the second state, and the management information indicates that the management state has already been updated to the second state, the second A response packet transmission unit that transmits a completion response indicating that the update request has been normally completed to the arithmetic processing unit.

本演算処理装置によれば、メインメモリを管理する演算処理装置とメインメモリのデータを持ち出している演算処理装置との間で間欠故障等により、キャッシュの制御に矛盾が生じた場合でも、メインメモリの管理情報を更新し、動作を継続できる可能性を高めることができる。   According to this arithmetic processing unit, even if there is a contradiction in cache control due to an intermittent failure or the like between the arithmetic processing unit that manages the main memory and the arithmetic processing unit that takes out the data of the main memory, The management information can be updated, and the possibility that the operation can be continued can be increased.

マルチプロセッサシステムにおけるキャッシュの制御を例示する図である。It is a figure which illustrates control of the cache in a multiprocessor system. Local−CPUによるWRBK/FLBKの制御を例示する図である。It is a figure which illustrates control of WRBK / FLBK by Local-CPU. リクエストパケット(WRBK/FLBK)を処理するHome−CPUの処理を例示するフローチャートである。It is a flowchart which illustrates the process of Home-CPU which processes a request packet (WRBK / FLBK). Local-CPUからHome-CPUへの経路でのパケットロストとリトライによる解決方法を例示する図である。It is a figure which illustrates the solution method by packet lost and the retry in the path | route from Local-CPU to Home-CPU. Home-CPUからLocal-CPUへの経路でのパケットロストとリトライ時の課題を例示する図である。It is a figure which illustrates the subject at the time of packet lost and retry in the path | route from Home-CPU to Local-CPU. 比較例のHome-CPUでの処理のフローチャートである。It is a flowchart of the process in Home-CPU of a comparative example. リクエストパケット処理時のエラーの有無のケースおよびエラーの分類を例示する図である。It is a figure which illustrates the case of the presence or absence of the error at the time of request packet processing, and the classification | category of an error. 情報処理装置の構成を例示する図である。It is a figure which illustrates the composition of an information processor. WRBK/FLBKロストケースの処理を例示する図である。It is a figure which illustrates the process of WRBK / FLBK lost case. WRBK/FLBK−CPLTロストケースの処理を例示する図である。It is a figure which illustrates the process of WRBK / FLBK-CPLT lost case. Local−CPUとHome−CPUを含む情報処理装置の処理のフローチャートを例示する図である。It is a figure which illustrates the flowchart of a process of the information processing apparatus containing Local-CPU and Home-CPU. Local−CPUの処理のフローチャートを例示する図である。It is a figure which illustrates the flowchart of a process of Local-CPU. Home−CPUの処理のフローチャートを例示する図である。It is a figure which illustrates the flowchart of a process of Home-CPU. エラーの分類を例示する図である。It is a figure which illustrates the classification | category of an error. Local−CPUの処理を実行する制御回路を例示する図である。It is a figure which illustrates the control circuit which performs processing of Local-CPU. Home−CPUの処理を実行する制御回路を例示する図である。It is a figure which illustrates the control circuit which performs processing of Home-CPU.

以下、図面を参照して一実施形態に係る情報処理装置について説明する。   Hereinafter, an information processing apparatus according to an embodiment will be described with reference to the drawings.

[比較例]
図4から図7により、比較例に係るコンピュータについて説明する。比較例では、コンピュータは、Local−CPUと、Home−CPUを有する。図4の例では、Home−CPUは、ムーブアウト対象のデータが格納されたメインメモリを管理するCPUである。また、Local−CPUは、Home−CPUが管理するメインメモリから、データを持ち出し、Local−CPU内のキャッシュに保持していると仮定する。さらに、図4以下では、省略されているが、Home−CPUもLocal−CPUと同様、キャッシュ制御部を有する。また、図4以下のLocal−CPUも、Home−CPUと同様、自身のメインメモリを管理する。従来の構成では、Local−CPUがリクエストパケット(WRBK/FLBK)をHome−CPUに送信する際、または、Home−CPUが応答パケット(WRBK/FLBK−CPLT)をLocal−CPUに送信する際、パケットロストへの対応が十分でない。パケットロストへの改善として、送信したパケットを単純にもう一度送信(リトライ)することが考えられる。なお、WRBK/FLBKは、ライトバックまたはフラッシュバックを表す。
[Comparative example]
A computer according to a comparative example will be described with reference to FIGS. In the comparative example, the computer has a Local-CPU and a Home-CPU. In the example of FIG. 4, the Home-CPU is a CPU that manages a main memory in which data to be moved out is stored. Further, it is assumed that the Local-CPU takes out data from the main memory managed by the Home-CPU and holds it in a cache in the Local-CPU. Further, although omitted in FIG. 4 and subsequent figures, the Home-CPU has a cache control unit as well as the Local-CPU. In addition, the Local-CPU in FIG. 4 and below manages its own main memory as well as the Home-CPU. In the conventional configuration, when the Local-CPU transmits a request packet (WRBK / FLBK) to the Home-CPU, or when the Home-CPU transmits a response packet (WRBK / FLBK-CPLT) to the Local-CPU, the packet Response to lost is not enough. As an improvement to packet lost, it is conceivable to simply transmit (retry) the transmitted packet once more. Note that WRBK / FLBK represents write back or flash back.

図4は、Local-CPUからHome-CPUへの経路でのパケットロスト(以下、WRBK/FLBKロストケース)とリトライによる解決方法を例示する図である。図4では、Local-CPUのキャッシュ制御部は、WRBKのリクエストパケットまたは
FLBKのリクエストパケットをHome−CPUに送信する。しかし、図4では、Local-CPUからHome-CPUに至る経路上で、WRBK/FLBKのリクエストパケットが消失、すなわち、パケットロストが発生している。
FIG. 4 is a diagram exemplifying a packet lost (hereinafter referred to as WRBK / FLBK lost case) route on the path from the Local-CPU to the Home-CPU and a solution by retry. In FIG. 4, the cache control unit of the Local-CPU transmits a WRBK request packet or a FLBK request packet to the Home-CPU. However, in FIG. 4, the WRBK / FLBK request packet is lost, that is, packet lost occurs on the path from the Local-CPU to the Home-CPU.

図4の例では、Home-CPUには、リクエストパケットが届かないため、Home-CPUは何も実行しない。すなわち、Home-CPUは、管理情報を用いたプロコトル
チェック等の処理、あるいは、プロコトルチェックの結果に基づく応答パケットの送信等を実行しない。一方、Local-CPUのキャッシュ制御部は、タイマーを起動し、応
答パケットを待つ。しかし、Home-CPUからは応答パケットが送信されないため、
Local-CPUでは、タイムアウトが発生する。
In the example of FIG. 4, since the request packet does not reach the Home-CPU, the Home-CPU does nothing. That is, the Home-CPU does not execute a process such as a protocol check using management information or a response packet transmission based on the result of the protocol check. On the other hand, the cache control unit of the Local-CPU starts a timer and waits for a response packet. However, since no response packet is sent from the Home-CPU,
A timeout occurs in the Local-CPU.

比較例のコンピュータでは、リクエストパケットに対するタイムアウトが発生すると、Local-CPUのキャッシュ制御部はリトライを実行する。すなわち、キャッシュ制
御部は、再度WRBK/FLBKのリクエストパケットにリトライフラグを設定して送信する。リトライフラグは、例えば、初回発行時:0、リトライ発行時:1等のような1bitの情報である。
In the computer of the comparative example, when a timeout occurs for the request packet, the cache control unit of the Local-CPU executes a retry. That is, the cache control unit sets the retry flag in the WRBK / FLBK request packet again and transmits it. The retry flag is, for example, 1-bit information such as 0 at the time of initial issue, 1 at the time of issue of retry, and the like.

仮に、タイムアウトを発生させたリクエストパケット(WRBK/FLBK)のパケットロストの原因が間欠的なもの、あるいは、一時的なものである場合には、リトライにより、リクエストパケット(WRBK/FLBK)がHome-CPUに到達する。   If the cause of the packet loss of the request packet (WRBK / FLBK) that caused the timeout is intermittent or temporary, the request packet (WRBK / FLBK) is returned to Home- Reach the CPU.

すると、Home-CPUは、リクエストパケット(WRBK/FLBK)を受け取る
。Home-CPUは、Local-CPUにおいてタイムアウトが発生した時のリクエストパケット(WRBK/FLBK)を受け取っていないため、リトライによるリクエストパケット(WRBK/FLBK)にしたがって、プロトコルチェックを行い、メインメモリの更新あるいは管理情報の更新等の処理を実行すればよい。そして、Home-CPU
は、処理完了後に、応答パケット(WRBK/FLBK−CPLT)をLocal−CPUに送信すればよい。
Then, Home-CPU receives a request packet (WRBK / FLBK). Since the Home-CPU has not received the request packet (WRBK / FLBK) when the timeout occurs in the Local-CPU, the protocol check is performed according to the request packet (WRBK / FLBK) by the retry, and the main memory is updated or Processing such as management information update may be executed. And Home-CPU
After the processing is completed, a response packet (WRBK / FLBK-CPLT) may be transmitted to the Local-CPU.

図5は、Home-CPUからLocal-CPUへの経路でのパケットロスト(以下、
WRBK/FLBK-CPLTロストケース)とリトライ時の課題を例示する図である。
図5の例では、リクエストパケット(WRBK/FLBK)がHome-CPUに到達し
、Home-CPUは、プロトコルチェックを行い、メインメモリの更新あるいは管理情
報を更新し、応答パケット(WRBK/FLBK−CPLT)をLocal-CPUに送
信している。しかし、Home-CPUからLocal-CPUに至る経路上で、応答パケット(WRBK/FLBK−CPLT)が消失し、応答パケットのパケットロストが発生している。図5の場合も、図4の場合と同様、Local-CPUでは、タイムアウトが
発生する。
FIG. 5 shows a packet lost (hereinafter, referred to as “lost packet”) route from the Home-CPU to the Local-CPU.
(WRBK / FLBK-CPLT lost case) and a problem at the time of retry.
In the example of FIG. 5, the request packet (WRBK / FLBK) reaches the Home-CPU, and the Home-CPU performs a protocol check, updates the main memory or management information, and responds with a response packet (WRBK / FLBK-CPLT). ) To the Local-CPU. However, the response packet (WRBK / FLBK-CPLT) is lost on the path from the Home-CPU to the Local-CPU, and the packet loss of the response packet occurs. In the case of FIG. 5, as in the case of FIG. 4, a timeout occurs in the Local-CPU.

応答パケットが消失した場合にも、Local-CPUのキャッシュ制御部は、再度リ
クエストパケット(WRBK/FLBK)を送信する。ただし、Home-CPUでは、
リクエストパケット(WRBK/FLBK)に対する処理がすでに完了している。このため、Home-CPUは、リトライによるリクエストパケット(WRBK/FLBK)を
受け取っても、リクエストパケット(WRBK/FLBK)と現在の管理情報との間に矛盾があり、プロトコルチェックを正常に実行できない。したがって、WRBK/FLBK-CPLTロストケースケースでは、プロトコルチェックを正常に実行し、管理情報を本
来の正常な状態に戻す上で、課題がある。
Even when the response packet is lost, the cache control unit of the Local-CPU transmits the request packet (WRBK / FLBK) again. However, in Home-CPU,
Processing for the request packet (WRBK / FLBK) has already been completed. For this reason, even if the Home-CPU receives a request packet (WRBK / FLBK) by retry, there is a contradiction between the request packet (WRBK / FLBK) and the current management information, and the protocol check cannot be executed normally. Therefore, in the WRBK / FLBK-CPLT lost case, there is a problem in executing the protocol check normally and returning the management information to the original normal state.

図6に、比較例のHome-CPUでの処理のフローチャートを例示する。この処理で
は、Home-CPUは、Local-CPUからリトライではない、通常処理のリクエストパケット(WRBK/FLBK)を受信する(C1)。次に、Home-CPUは、管
理情報に基づくプロトコルチェックでエラーの有無を判定する(C2)。なお、C2の判定は、従来から行われている、プロトコルチェックであり、例えば、Modified、Exclusive、Shared、Invalid(MESI)プロトコルによるチェックをいう。MESIプロトコルによるチェックでは、例えば、Home-CPUで、L
ocal-CPUがキャッシュにShared(S)で持ち出したデータに対して、WR
BKによるライトバック要求を受信するとエラーと判断できる。なお、本実施形態において、従来から行われているプロトコルチェックは、MESIプロトコルによるチェックに限定されない。例えば、従来のプロトコルチェックは、Exclusive状態を持たないキャッシュプロトコルであるMSIプロトコルによるチェックでもよい。また、従来のプロトコルチェックは、MSIプロトコルにOwned状態を加えたMOSIプロトコルによるチェックでもよい。さらに、従来のプロトコルチェックは、MESIプロトコルにOwned状態を加えたMOESIプロトコルによるチェックでもよい。本実施形態においては、以上例示したようなC2の判定で用いられるプロトコルチェックを従来のプロトコルチェックと呼ぶ。
FIG. 6 illustrates a flowchart of processing in the home-CPU of the comparative example. In this processing, the Home-CPU receives a request packet (WRBK / FLBK) for normal processing that is not a retry from the Local-CPU (C1). Next, the Home-CPU determines whether or not there is an error by a protocol check based on the management information (C2). The determination of C2 is a conventional protocol check, for example, a check based on the Modified, Exclusive, Shared, Invalid (MESI) protocol. In the check by the MESI protocol, for example, Home-CPU, L
For the data that ocal-CPU brought to the cache with Shared (S), WR
When a BK write-back request is received, it can be determined that an error has occurred. In the present embodiment, the protocol check conventionally performed is not limited to the check using the MESI protocol. For example, the conventional protocol check may be a check by the MSI protocol, which is a cache protocol that does not have an exclusive state. Further, the conventional protocol check may be a check by the MOSI protocol in which the Owned state is added to the MSI protocol. Further, the conventional protocol check may be a check by the MOESI protocol in which the Owned state is added to the MESI protocol. In the present embodiment, the protocol check used in the determination of C2 as exemplified above is called a conventional protocol check.

C2の判定で、プロトコルチェックにエラーがない場合、Home-CPUは、リトラ
イフラグの値に依存せず、WRBK/FLBKにしたがって処理を実行すればよい(C3)。すなわち、Home-CPUは、WRBKのリクエストパケットに対して、メインメ
モリのデータと、管理情報を更新する。また、Home-CPUは、FLBKリクエスト
パケットに対して、メインメモリのデータを更新しないで、管理情報を更新する。さらに、Home-CPUは、Local-CPUへ応答パケット(WRBK/FLBK-CPL
T)を送信する(C4)。C4では、Home-CPUは、受信したリクエストパケット
(WRBK/FLBK)のリトライフラグ(0、1)と同じ値のリトライフラグを付与して、応答パケット(WRBK/FLBK-CPLT)を送信する。したがって、C2の判
定でプロトコルエラーがない場合には、リトライフラグの設定いかんによらず、処理は正常終了となる。
If it is determined in C2 that there is no error in the protocol check, the Home-CPU may execute processing according to WRBK / FLBK without depending on the value of the retry flag (C3). That is, the Home-CPU updates main memory data and management information in response to a WRBK request packet. In addition, the Home-CPU updates the management information without updating the data in the main memory in response to the FLBK request packet. Further, the Home-CPU sends a response packet (WRBK / FLBK-CPL) to the Local-CPU.
T) is transmitted (C4). In C4, the Home-CPU adds a retry flag having the same value as the retry flag (0, 1) of the received request packet (WRBK / FLBK), and transmits a response packet (WRBK / FLBK-CPLT). Therefore, if there is no protocol error in the determination of C2, the process ends normally regardless of the retry flag setting.

一方、C2の判定で、プロトコルチェックにエラーがある場合、Home-CPUは、
リクエストパケット(WRBK/FLBK)のリトライフラグが0か否かを判定する(C
5)。C5の判定でリトライフラグが0、すなわち、リクエストパケットがリトライではない場合には、Home-CPUは、Fatalエラーを検出したことをエラー制御部へ
通知する(C6)。エラー制御部はFatalエラーに対応する報告を例えば、管理コンピュータに送信する。したがって、C5でリトライフラグが0ある場合には、処理はFatalエラーの送信という結果となる。
さらに、C5の判定で、リトライフラグが1、すなわち、リクエストパケットがリトライである場合には、Home-CPUは、Fatalエラーか否かの判定ができない(C7
)。本実施の形態において、Fatalエラーではないエラーとは、救済可能なエラーであり、擬似エラーと呼ぶ。仮に、Home-CPUは、Fatalエラーを検知できれば
、C6の処理に進めればよい。また、Home-CPUは、擬似エラーを検知できれば、
リクエストパケット(WRBK/FLBK)に対応する処理を実行し(C8)、Local-CPUへ応答パケット(WRBK/FLBK-CPLT)を送信すればよい。
On the other hand, if there is an error in the protocol check in the determination of C2, the Home-CPU
It is determined whether the retry flag of the request packet (WRBK / FLBK) is 0 (C
5). If the retry flag is 0 in the determination of C5, that is, if the request packet is not a retry, the Home-CPU notifies the error control unit that a Fatal error has been detected (C6). The error control unit transmits a report corresponding to the Fatal error, for example, to the management computer. Therefore, if the retry flag is 0 in C5, the process results in a Fatal error transmission.
Further, if the retry flag is 1 in the determination of C5, that is, the request packet is a retry, the Home-CPU cannot determine whether or not it is a Fatal error (C7
). In this embodiment, an error that is not a fatal error is a recoverable error and is called a pseudo error. If the Home-CPU can detect a Fatal error, the Home-CPU may proceed to C6. If Home-CPU can detect a pseudo error,
Processing corresponding to the request packet (WRBK / FLBK) is executed (C8), and a response packet (WRBK / FLBK-CPLT) may be transmitted to the Local-CPU.

図7は、リクエストパケット処理時のエラーの有無のケースおよびエラーの分類を例示する図である。従来のMESIプロトコル等にしたがったプロトコルチェックでエラーがない場合には、比較例のLocal-CPUとHome-CPUとの間のリクエストパケットにおいても、エラー無しとなる。ただし、エラー無しであっても、比較例のコンピュータでは、リトライフラグ=0の場合(リトライでない場合)と、リトライフラグ=1の場合(リトライである場合)があり得る。すなわち、リクエストパケット(WRBK/FLBK)がLocal-CPUからHome-CPUに至る経路でパケットロストとなると、リクエストパケットはHome-CPUには到達しない。したがって、Local-CPUがリトライでリクエストパケット(WRBK/FLBK)を再度送信し、リクエストパケットがHome-CPUに到達すると、リクエストパケットは、Home-CPUにとっては、リトライフラグが設定されている点を除外して、正常なパケットである。したがって、従来のプロトコルチェックでエラー無しのリクエストパケットは、リトライの有無によらず、正常なものとして処理される。   FIG. 7 is a diagram exemplifying an error presence / absence case and error classification during request packet processing. If there is no error in the protocol check according to the conventional MESI protocol or the like, there is no error even in the request packet between the Local-CPU and the Home-CPU of the comparative example. However, even if there is no error, the computer of the comparative example can have a retry flag = 0 (not a retry) or a retry flag = 1 (a retry). That is, when the request packet (WRBK / FLBK) becomes a packet lost in the path from the Local-CPU to the Home-CPU, the request packet does not reach the Home-CPU. Therefore, when the Local-CPU retransmits the request packet (WRBK / FLBK) and the request packet reaches the Home-CPU, the request packet excludes that the retry flag is set for the Home-CPU. Then, it is a normal packet. Therefore, a request packet having no error in the conventional protocol check is processed as normal regardless of whether or not there is a retry.

一方、従来のMESI等のプロトコルチェックでエラー有りの場合には、エラーがFatalエラーである場合と、救済可能な擬似エラーの場合があり得る。従来のMESI等のプロトコルチェックでエラー有りの場合とは、例えば、現在、Home-CPUに保持
されているMESIの情報に対して、整合性のとれないリクエストパケットをHome-
CPUが受信した場合である。以下、擬似エラーとFatalエラーを個別に検討する。(A)応答パケットのロストによるエラー(擬似エラー)
整合性のとれないリクエストパケットが発生する例としては、すでに、Home-CP
Uにおいて処理済みのリクエストパケットに対する応答パケット(WRBK/FLBK-
CPLT)がHome-CPUからLocal-CPU至る経路でパケットロストとなった場合が想定できる。
On the other hand, when there is an error in a conventional protocol check such as MESI, the error may be a fatal error or a repairable pseudo error. For example, when there is an error in a conventional protocol check such as MESI, for example, a request packet that is inconsistent with the MESI information currently held in the Home-CPU is returned to Home-
This is a case where the CPU has received it. In the following, pseudo errors and fatal errors will be considered separately. (A) Error due to lost response packet (pseudo error)
An example of an inconsistent request packet that has already occurred is Home-CP.
Response packet (WRBK / FLBK-) for request packet processed in U
It can be assumed that (CPLT) becomes packet lost in the path from the Home-CPU to the Local-CPU.

このような応答パケットのロストでは、Home-CPUにおいてリクエストパケット
に対する処理が正常に終了しているにも拘わらず、応答パケットがLocal-CPUに
到達していない。このため、Local-CPUは、Home-CPUでの状態が不明なまま、リトライ処理を実行することになる。この場合には、Home-CPUでのリクエス
トパケットの処理が正常に終了したにも拘わらず、次のリクエストパケットの処理で、リクエストパケットと管理情報との矛盾が生じることがある。このようなエラーは、過去のリクエストパケットに対するHome-CPUでの処理が正常に完了していることから、
擬似エラーと呼ぶことができる。
In such a lost response packet, the response packet does not reach the Local-CPU even though the processing for the request packet is normally completed in the Home-CPU. For this reason, the Local-CPU executes the retry process without knowing the state of the Home-CPU. In this case, inconsistency between the request packet and the management information may occur in the processing of the next request packet even though the processing of the request packet in the Home-CPU is normally completed. Such an error is because processing in the Home-CPU for a past request packet has been completed normally.
It can be called a pseudo error.

しかし、比較例のコンピュータのように、単に、リトライフラグを設定して、Local-CPUがリクエストパケットを送信しただけでは、リクエストパケットと管理情報と
の矛盾は解消できない。したがって、比較例の処理では、応答パケットのロストによる管
理情報の不整合は解消できない。
(B)応答パケットのロスト以外の原因によるエラー(Fatalエラー)
応答パケットのロスト以外にも様々な原因でプロトコルチェックのエラーは発生し得る。例えば、I(Invalid)、S(Shared)等の状態でキャッシュに持ち出しているLocal-CPUが、Home−CPUに対してライトバック(WRBK)パケ
ットを送信した場合である。このような応答パケットのロスト以外の原因によるエラーの場合には、比較例のHome-CPUは、Fatalエラーを検出する。
However, as in the computer of the comparative example, the contradiction between the request packet and the management information cannot be resolved simply by setting the retry flag and transmitting the request packet by the Local-CPU. Therefore, in the process of the comparative example, the management information inconsistency due to the lost response packet cannot be resolved.
(B) Error due to a cause other than the lost response packet (Fatal error)
A protocol check error may occur for various reasons other than the lost response packet. For example, this is a case where a Local-CPU taken out to the cache in a state such as I (Invalid) or S (Shared) transmits a write-back (WRBK) packet to the Home-CPU. In the case of an error due to a cause other than the lost response packet, the Home-CPU of the comparative example detects a Fatal error.

しかしながら、比較例のHome-CPUは、上記(A)応答パケットのロストによる
エラーと(B)応答パケットのロスト以外の原因によるエラーを区別することができない。
However, the home-CPU of the comparative example cannot distinguish between the error due to the (A) lost response packet and the error due to a cause other than the lost (B) response packet.

[実施形態]
以下、実施形態に係る情報処理装置について説明する。本実施形態では、Local−CPUのキャッシュ制御部がリクエストパケット(WRBK/FLBK)にリトライフラグ(1bit)を設定し、Home-CPUに発行するとともにタイマーを起動する。発
行されたリクエストパケットへの応答パケット(WRBK/FLBK−CPLT)の受信前にタイマーが規定値を超えた場合、Local−CPUはパケットロストが発生したと判断する。さらに、Local−CPUは、パケットロストの原因がHome-CPUの
固定故障、あるいは経路の固定故障等であるか否かを判定する。そして、Local−CPUは、パケットロストが固定故障によるものではなく、一時的な間欠故障等によるものであると判断した場合には、リクエストパケットを再発行する。リクエストパケットの再発行は、リトライとも呼ばれる。なお、パケットロストが固定故障によるものであるとLocal−CPUが判断した場合、リトライは行わない。固定故障時は、リトライしても再び失敗するからである。
[Embodiment]
The information processing apparatus according to the embodiment will be described below. In this embodiment, the cache control unit of the Local-CPU sets a retry flag (1 bit) in the request packet (WRBK / FLBK), issues it to the Home-CPU, and starts a timer. If the timer exceeds a specified value before receiving a response packet (WRBK / FLBK-CPLT) to the issued request packet, the Local-CPU determines that a packet lost has occurred. Further, the Local-CPU determines whether or not the cause of the packet loss is a home-CPU fixed failure or a fixed route failure. The Local-CPU reissues the request packet when determining that the packet lost is not due to a fixed failure but due to a temporary intermittent failure or the like. Reissuing a request packet is also called a retry. If the Local-CPU determines that the packet lost is due to a fixed failure, no retry is performed. This is because when a fixed failure occurs, it will fail again even if it is retried.

リトライによるリクエストパケット(WRBK/FLBK)が送信される場合、Home−CPUのリクエストパケット(WRBK/FLBK)に対応する処理が既に実行済みのケースと未実行のケースがある。Home−CPUは、Local−CPUから受信したリクエストパケット(WRBK/FLBK)と管理情報とのプロトコルチェックにより、上記処理が実行済みか否かを区別して、実行済みの場合にはリクエストパケット(WRBK/FLBK)に対応する処理を実行せず、未実行の場合はリクエストパケット(WRBK/FLBK)に対応する処理を実行する。Home−CPUは第1の演算処理装置の一例である。Local−CPUは、第2の演算処理装置の一例である。   When a retry request packet (WRBK / FLBK) is transmitted, there are cases where the processing corresponding to the Home-CPU request packet (WRBK / FLBK) has already been executed and cases where it has not been executed. The Home-CPU discriminates whether or not the above processing has been executed by a protocol check between the request packet (WRBK / FLBK) received from the Local-CPU and the management information, and if it has been executed, the request packet (WRBK / The process corresponding to the request packet (WRBK / FLBK) is executed when the process corresponding to FLBK) is not executed. Home-CPU is an example of a first arithmetic processing unit. The Local-CPU is an example of a second arithmetic processing device.

図8に、本実施形態に係る情報処理装置の構成を例示する。本情報処理装置は、マルチプロセッサシステムということができる。本情報処理装置は、複数のCPU1と、複数のメインメモリ2を有する。CPU1が演算処理装置の一例である。複数のCPU1と、複数のメインメモリ2は、個別には、CPU1−0、1−1、...、1−n、メインメモリ2−0、2−1、...、2−n等のように呼ぶことにする。メインメモリ2は、例えば、複数のDual Inline Memory Module(DIMM)を含む。CPU1間は、クロスバL
SI等のネットワーク、インターコネクトで接続される。図8では、複数のCPU1は直列的に接続されているが、CPU1間のトポロジーは線状に限定される訳ではない。トポロジーとしては、バス、メッシュ、トーラス等様々なものが適用可能である。CPU1−0、1−1、...、1−nのいずれか1つが第1の演算処理装置、第2の演算処理装置の一例である。例えば、CPU1−1は、第1の演算処理装置と接続される第2の演算処理装置の一例である。メインメモリ2−1は、主記憶装置の一例である。
FIG. 8 illustrates the configuration of the information processing apparatus according to the present embodiment. The information processing apparatus can be referred to as a multiprocessor system. The information processing apparatus includes a plurality of CPUs 1 and a plurality of main memories 2. The CPU 1 is an example of an arithmetic processing device. The plurality of CPUs 1 and the plurality of main memories 2 are individually connected to the CPUs 1-0, 1-1,. . . , 1-n, main memory 2-0, 2-1,. . . , 2-n, etc. The main memory 2 includes, for example, a plurality of dual inline memory modules (DIMMs). Crossbar L between CPU1
Connected via network such as SI and interconnect. In FIG. 8, a plurality of CPUs 1 are connected in series, but the topology between the CPUs 1 is not limited to a linear shape. Various topologies such as buses, meshes, and toruses can be applied. CPU 1-0, 1-1,. . . , 1-n is an example of the first arithmetic processing device and the second arithmetic processing device. For example, the CPU 1-1 is an example of a second arithmetic processing device connected to the first arithmetic processing device. The main memory 2-1 is an example of a main storage device.

各CPU1は、コア11、キャッシュ12、キャッシュ制御部13、メモリ制御部14を有する。また、コア11、キャッシュ12、キャッシュ制御部13、メモリ制御部14
は、個別には、コア11−0、11−1、...、11−n、キャッシュ12−0、12−1、...、12−n、キャッシュ制御部13−0、13−1、...、13−n、メモリ制御部14−0、14−1、...、14−n等のように呼ぶことにする。コア11またはCPU1は、プロセッサ、演算処理装置とも呼ばれる。
Each CPU 1 includes a core 11, a cache 12, a cache control unit 13, and a memory control unit 14. In addition, the core 11, the cache 12, the cache control unit 13, and the memory control unit 14
Respectively, the cores 11-0, 11-1,. . . , 11-n, caches 12-0, 12-1,. . . , 12-n, cache control units 13-0, 13-1,. . . , 13-n, memory control units 14-0, 14-1,. . . , 14-n, etc. The core 11 or the CPU 1 is also called a processor or an arithmetic processing unit.

コア11は、CPU1の制御、データ処理を実行する。キャッシュ12は、メインメモリ2上のデータを一時的に格納する。キャッシュ制御部13は、キャッシュ12のデータを管理し、他のCPU1とデータを授受する。メモリ制御部14は、メインメモリ2にアクセスし、メインメモリ2との間でデータの読み書きを実行する。なお、以下の実施形態では、CPU1−0、1−1、...、1−nのいずれかがLocal−CPUとHome−CPUになり得る。メモリ制御部14−1は、主記憶制御装置の一例である。   The core 11 executes control of the CPU 1 and data processing. The cache 12 temporarily stores data on the main memory 2. The cache control unit 13 manages data in the cache 12 and exchanges data with other CPUs 1. The memory control unit 14 accesses the main memory 2 and reads / writes data from / to the main memory 2. In the following embodiments, the CPUs 1-0, 1-1,. . . , 1-n can be a Local-CPU and a Home-CPU. The memory control unit 14-1 is an example of a main memory control device.

図9に、WRBK/FLBKロストケースの処理を例示する。WRBK/FLBKロストケースは、Local−CPUからHome−CPUに至る経路でパケットロストが発生した場合である。WRBK/FLBKロストケースでは、Home−CPUはリクエストパケット(WRBK/FLBK)を受信していないため、比較例の場合(図4)の場合と同様、何も実行しない。したがって、Local−CPUではタイムアウトが発生する。すると、Local−CPUはパケットロストが発生したと判断する。さらに、Local−CPUはパケットロストの原因が固定故障か、一時的な間欠故障かを判定する。そして、Local−CPUはパケットロストの原因が一時的な間欠故障であると判断した場合には、リトライを実行する。Home−CPUはリトライによるリクエストパケット(WRBK/FLBK)を受信すると、通常ケースと同じ動作を実行し、Local−CPUへ応答パケット(WRBK/FLBK−CPLT)を送信する。   FIG. 9 illustrates the processing of the WRBK / FLBK lost case. The WRBK / FLBK lost case is a case where a packet lost occurs on the path from the Local-CPU to the Home-CPU. In the WRBK / FLBK lost case, the Home-CPU does not receive the request packet (WRBK / FLBK), and therefore, nothing is executed as in the case of the comparative example (FIG. 4). Therefore, a timeout occurs in the Local-CPU. Then, the Local-CPU determines that packet loss has occurred. Further, the Local-CPU determines whether the cause of the packet loss is a fixed failure or a temporary intermittent failure. If the Local-CPU determines that the cause of the packet loss is a temporary intermittent failure, the Local-CPU executes a retry. When the Home-CPU receives the request packet (WRBK / FLBK) due to the retry, the Home-CPU executes the same operation as in the normal case, and transmits a response packet (WRBK / FLBK-CPLT) to the Local-CPU.

図10に、WRBK/FLBK−CPLTロストケースの処理を例示する。WRBK/FLBK−CPLTロストケースは、Home−CPUからLocal−CPUに至る経路でパケットロストが発生した場合である。WRBK/FLBK−CPLTロストケースでは、Home−CPUはリクエストパケット(WRBK/FLBK)を受信しているため、通常ケースと同じ動作を正常に実行済みである。   FIG. 10 illustrates processing of the WRBK / FLBK-CPLT lost case. The WRBK / FLBK-CPLT lost case is a case where a packet lost occurs on the path from the Home-CPU to the Local-CPU. In the WRBK / FLBK-CPLT lost case, the Home-CPU has received the request packet (WRBK / FLBK), and thus the same operation as that in the normal case has been normally executed.

本実施形態では、リクエストパケット(WRBK/FLBK)に対する処理を実行済みであるにも拘わらず、Home−CPUがリトライパケットを受信すると、Home−CPUは、通常ケースと同じ動作を実行しない。すなわち、Home−CPUはリクエストパケットに対応する処理を実行せずに、Local−CPUへ応答パケット(WRBK/FLBK−CPLT)を送信する。   In the present embodiment, the Home-CPU does not execute the same operation as the normal case when the Home-CPU receives the retry packet, even though the processing for the request packet (WRBK / FLBK) has been executed. That is, the Home-CPU transmits a response packet (WRBK / FLBK-CPLT) to the Local-CPU without executing processing corresponding to the request packet.

図11に、Local−CPUとHome−CPUを含む情報処理装置の処理のフローチャートを例示する。以下、図11、図12、図13は、情報処理装置の処理の手順を例示するが、本実施形態の情報処理装置において、各処理は、基本的には専用のハードウェア回路(図15、図16参照)が実行する。ただし、図11、図12、図13の一部をプロセッサがコンピュータプログラムにしたがって実行してもよい。   FIG. 11 illustrates a flowchart of processing of an information processing apparatus including a Local-CPU and a Home-CPU. Hereinafter, FIG. 11, FIG. 12, and FIG. 13 illustrate the processing procedure of the information processing apparatus. In the information processing apparatus of this embodiment, each process is basically performed by a dedicated hardware circuit (FIG. 15, FIG. (See FIG. 16). However, the processor may execute part of FIGS. 11, 12, and 13 according to a computer program.

図11の処理では、Local−CPUは、リトライフラグを設定し、Home−CPUに対して、リクエストパケット(WRBK/FLBK)を発行する。さらに、Local−CPUは、タイマーを起動する(L0)。第1回目のリクエストパケット(WRBK
/FLBK)発行時には、Local−CPUは、リトライフラグを0に設定する。また、第1回目のリクエストパケット(WRBK/FLBK)においてタイムアウトが発生し
た後の次のリクエストパケット(WRBK/FLBK)発行時には、Local−CPUは、リトライフラグを1に設定する
Home−CPUは、Local−CPUからリクエストパケット(WRBK/FLB
K)を受信する(H1)。そして、Home−CPUは、Home−CPUの管理情報に基づいてLocal−CPUから受信したリクエストパケット(WRBK/FLBK)のプロトコルチェックを行う(H2)。H2のプロトコルチェックとは、従来のプロトコルチェックであり、例えば、MESIプロトコルによるチェック、MSIプロトコルによるチェック、MOSIプロトコルによるチェック、MOESIプロトコルによるチェック等である。
In the processing of FIG. 11, the Local-CPU sets a retry flag and issues a request packet (WRBK / FLBK) to the Home-CPU. Further, the Local-CPU starts a timer (L0). First request packet (WRBK
/ FLBK), the Local-CPU sets the retry flag to 0. Further, when the next request packet (WRBK / FLBK) is issued after a timeout occurs in the first request packet (WRBK / FLBK), the Local-CPU sets the retry flag to 1. The Home-CPU -Request packet from CPU (WRBK / FLB
K) is received (H1). Then, the Home-CPU performs a protocol check of the request packet (WRBK / FLBK) received from the Local-CPU based on the management information of the Home-CPU (H2). The protocol check of H2 is a conventional protocol check, for example, a check by MESI protocol, a check by MSI protocol, a check by MOSI protocol, a check by MOESI protocol, or the like.

H2のプロトコルチェックでエラー無しの場合、Home−CPUは、リクエストパケット(WRBK/FLBK)に対応する処理を実行する(H3)。例えば、Home−CPUは、WRBKリクエストに対してメインメモリ上のデータと管理情報を更新する。また、例えば、Home−CPUは、FLBKリクエストに対して管理情報を更新する。H2のプロトコルチェックでエラー無しは、チェック部によるチェックの結果、前記管理状態と前記受信した更新要求とが所定の基準により整合する関係にあることの一例である。H3の処理は、主記憶装置のデータ書き換え指示を含むときに、前記主記憶装置のデータを書き換えるデータ更新部の処理の一例である。   If there is no error in the H2 protocol check, the Home-CPU executes processing corresponding to the request packet (WRBK / FLBK) (H3). For example, the Home-CPU updates the data and management information on the main memory in response to the WRBK request. Further, for example, the Home-CPU updates the management information in response to the FLBK request. “No error in the H2 protocol check” is an example in which, as a result of the check by the check unit, the management state and the received update request are in accordance with a predetermined standard. The process of H3 is an example of a process of a data updating unit that rewrites data in the main storage device when it includes a data rewrite instruction of the main storage device.

そして、Home−CPUは、Local−CPUへ応答パケット(WRBK/FLBK−CPLT)を送信する(H4)。応答パケットのリトライフラグには、受信したリクエストパケット(WRBK/FLBK)と同じ値が設定される。そして、Home−CPUは、処理を正常終了する。H4の処理は、第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信することの一例である。また、H4の処理は、応答パケット送信部が前記更新要求にリトライを示す情報が付与されているか否かに拘わらず、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信することの一例でもある。   Then, the Home-CPU transmits a response packet (WRBK / FLBK-CPLT) to the Local-CPU (H4). The retry flag of the response packet is set to the same value as the received request packet (WRBK / FLBK). And Home-CPU complete | finishes a process normally. The process H4 is an example of transmitting a completion response indicating that the update request has been normally completed to the second arithmetic processing unit. Further, the process of H4 indicates that the update request has been normally completed to the second arithmetic processing unit regardless of whether or not the response packet transmission unit is provided with information indicating retry in the update request. It is also an example of sending a completion response.

一方、H2のプロトコルチェックでエラー有りの場合で(H2でNO)、かつ、Local−CPUから受信したリクエストパケット(WRBK/FLBK)内のリトライフラグが0の場合には(H5でYES)、Home−CPUは、致命的なプロトコル矛盾が生じたと判断し、Fatalエラーをエラー制御部へ通知し、処理を異常終了する。ここで、Fatalエラーは動作継続不可能なエラーである。H2のプロトコルチェックでエラー有りの場合は、チェック部によるチェックの結果、前記管理状態と前記受信した更新要求とが前記所定の基準により整合する関係にないことの一例である。H5でYESの場合が、受信した更新要求にリトライを示す情報が付与されていない場合の一例である。   On the other hand, if there is an error in the protocol check of H2 (NO in H2) and the retry flag in the request packet (WRBK / FLBK) received from the Local-CPU is 0 (YES in H5), Home -The CPU determines that a fatal protocol contradiction has occurred, notifies the error control unit of a fatal error, and terminates the process abnormally. Here, the Fatal error is an error in which the operation cannot be continued. When there is an error in the H2 protocol check, as a result of the check by the check unit, it is an example that the management state and the received update request are not in a relationship that matches the predetermined criteria. The case of YES in H5 is an example of the case where information indicating retry is not given to the received update request.

さらに、H2のプロトコルチェックでエラー有りの場合で(H2でNO)、かつ、Local−CPUから受信したリクエストパケット(WRBK/FLBK)内のリトライフラグが1の場合には(H5でNO)、FatalエラーとWRBK/FLBK−CPLTロストケースによる擬似エラーの2通りが考えられる。H5でNOの場合は、更新要求にリトライを示す情報が付与されていることの一例である。   Further, if there is an error in the H2 protocol check (NO in H2) and the retry flag in the request packet (WRBK / FLBK) received from the Local-CPU is 1 (NO in H5), Fatal Two types of errors are considered: an error and a pseudo error due to the WRBK / FLBK-CPLT lost case. In the case of NO in H5, this is an example that information indicating retry is added to the update request.

本実施形態では、Home−CPUは、初回パケット受信時のリクエストパケット(WRBK/FLBK)に対する処理が処理済みか否かを判定する(H6)。初回パケットとは、現在処理中のリクエストパケット(WRBK/FLBK)が第2回目以降のリクエストパケット(WRBK/FLBK)受信であった場合の前回以前に受信済みの同一リクエストパケット(WRBK/FLBK)をいう。   In the present embodiment, the Home-CPU determines whether or not the processing for the request packet (WRBK / FLBK) at the time of initial packet reception has been processed (H6). The first packet is the same request packet (WRBK / FLBK) received before the previous time when the request packet (WRBK / FLBK) currently being processed is the second or subsequent request packet (WRBK / FLBK) reception. Say.

H6の判定で処理済みの状態であれば、Home−CPUは、「WRBK/FLBK−CPLTロストケース」であると判断する。すなわち、Home−CPUは、(a)H2のプロトコルチェックでエラーがある(b)Local−CPUから受信したリクエストパケット(WRBK/FLBK)内のリトライフラグが1である(c)初回パケット受信
による処理が完了済みである、という3つの条件が充足されると、検出したエラーは実際には問題がないので無視する。エラーを無視する場合、Home−CPUは何も実行せずに、Local−CPUへ応答パケット(WRBK/FLBK−CPLT)を送信する(H4)。応答パケットのリトライフラグは、受信したWRBK/FLBKと同じ値が設定される。そして、Home−CPUは処理を正常終了とする。ここで、上記(a)(b)(c)の条件が充足される場合のエラーは、疑似エラーと呼ぶことにする。H6の判定で処理済みの状態であることは、受信した更新要求が前記管理状態を第1の状態から第2の状態に更新するものであり、かつ、管理情報がすでに第2の状態に更新済みとなっている場合の一例である。
If it is in the processed state in the determination of H6, the Home-CPU determines that it is the “WRBK / FLBK-CPLT lost case”. That is, the Home-CPU (a) there is an error in the protocol check of H2 (b) the retry flag in the request packet (WRBK / FLBK) received from the Local-CPU is 1 (c) processing by the initial packet reception If the three conditions that are completed are satisfied, the detected error is ignored because it is not actually a problem. When ignoring the error, the Home-CPU does not execute anything and transmits a response packet (WRBK / FLBK-CPLT) to the Local-CPU (H4). The retry flag of the response packet is set to the same value as the received WRBK / FLBK. Then, the Home-CPU ends the process normally. Here, an error when the conditions (a), (b), and (c) are satisfied is referred to as a pseudo error. The state that has been processed in the determination of H6 means that the received update request updates the management state from the first state to the second state, and the management information has already been updated to the second state. This is an example of a case where it has been completed.

一方、H6の処理で初回パケット受信時のリクエストパケットに対する処理が処理済みでない場合(H6でNO)、Home−CPUは、検出したエラーは想定外の事象であると判定する。そして、Home−CPUは、Fatalエラーをエラー制御部へ通知して、処理を異常終了する。異常終了を含むHome−CPUの処理の詳細は図14にしたがって後述する。   On the other hand, if the processing for the request packet at the time of initial packet reception has not been processed in H6 processing (NO in H6), the Home-CPU determines that the detected error is an unexpected event. Then, the Home-CPU notifies the error control unit of the Fatal error and terminates the process abnormally. Details of Home-CPU processing including abnormal termination will be described later with reference to FIG.

Local−CPUは、タイマーが閾値に達するまでに、Home−CPUから応答パケット(WRBK/FLBK−CPLT)を受信したか否かを判定する(L3)。Local−CPUは、応答パケット(WRBK/FLBK−CPLT)を受信できなかった場合、エラー処理を実行する(L2)。そして、リトライ可能な場合には、Local−CPUは、制御をL0に戻す。一方、L3の判定で、Local−CPUは、応答パケット(WRBK/FLBK−CPLT)を受信できた場合には、終了処理を実行する(L4)。L2およびL4の処理を含むLocal−CPUの処理の詳細は図12にしたがって後述する。   The Local-CPU determines whether or not a response packet (WRBK / FLBK-CPLT) has been received from the Home-CPU before the timer reaches the threshold (L3). When the Local-CPU fails to receive the response packet (WRBK / FLBK-CPLT), it executes error processing (L2). If the retry is possible, the Local-CPU returns the control to L0. On the other hand, if it is determined in L3 that the Local-CPU has received the response packet (WRBK / FLBK-CPLT), it executes an end process (L4). Details of the processing of the Local-CPU including the processing of L2 and L4 will be described later according to FIG.

図12に、Local−CPUの処理のフローチャートを例示する。この処理では、Local−CPUは、まず、リクエストパケット(WRBK/FLBK)内のリトライフラグを値0に設定する(L11)。次に、Local−CPUは、Home−CPUに対して、リクエストパケット(WRBK/FLBK)を発行するとともに、タイマーを起動する(L12)。そして、図11で説明したように、Local−CPUは、タイマーが閾値に達するまでに、Home−CPUから応答パケット(WRBK/FLBK−CPLT)を受信したか否かを判定する(L13)。   FIG. 12 illustrates a flowchart of processing of the Local-CPU. In this process, the Local-CPU first sets a retry flag in the request packet (WRBK / FLBK) to a value 0 (L11). Next, the Local-CPU issues a request packet (WRBK / FLBK) to the Home-CPU and starts a timer (L12). Then, as described in FIG. 11, the Local-CPU determines whether or not a response packet (WRBK / FLBK-CPLT) has been received from the Home-CPU before the timer reaches the threshold (L13).

Home−CPUから応答パケット(WRBK/FLBK−CPLT)を受信できた場合、Local−CPUは、リクエストパケット(WRBK/FLBK)に設定したリトライフラグと応答パケット(WRBK/FLBK−CPLT)から得られたリトライフラグが一致しているか否かを判定する(L14)。そして、L14の判定で、両方のリトライフラグが一致する場合には、Local−CPUは、処理を正常終了する。一方、L14の判定で、両方のリトライフラグが一致しない場合には、Local−CPUは、Fatalエラーを検出したことをエラー制御部(図15参照)へ通知し、処理を異常終了する(L17)。   If the response packet (WRBK / FLBK-CPLT) is received from the Home-CPU, the Local-CPU is obtained from the retry flag set in the request packet (WRBK / FLBK) and the response packet (WRBK / FLBK-CPLT). It is determined whether or not the retry flags match (L14). If it is determined in L14 that both retry flags match, the Local-CPU ends the process normally. On the other hand, if both the retry flags do not match in the determination of L14, the Local-CPU notifies the error control unit (see FIG. 15) that a Fatal error has been detected, and ends the processing abnormally (L17). .

Home−CPUから応答パケット(WRBK/FLBK−CPLT)を受信していない場合、Local−CPUは、パケットロストの原因を判定する(L15)。すなわち、(i)パケットロストの原因はHome−CPUの固定故障、経路の固定故障等である、(ii)パケットロストの原因は一時的な間欠故障であって、故障はリトライで復帰可能なものである、という2つを選択的に判断する。   When the response packet (WRBK / FLBK-CPLT) has not been received from the Home-CPU, the Local-CPU determines the cause of the packet lost (L15). That is, (i) the cause of packet lost is a Home-CPU fixed failure, fixed route failure, etc. (ii) the cause of packet lost is a temporary intermittent failure, and the failure can be recovered by retry Are selectively determined.

CPU間経路の断線やCPU故障等、リトライしても解決しないケースがあるので、リトライで復帰可能なケースか否かが判定される。判定方法には様々な方法が考えられるが
、例えば、Local−CPUは、下記の条件(1)から(3)のいずれかに該当する時にはリトライを実行すればよい。
(1)第1は新規にエラー検出した場合である。
(2)第2はリトライ回数をカウントし、閾値に達するまでのエラーの場合である。
(3)第3はCPU間経路が冗長化されている場合で、現時点が冗長経路の縮退シーケンス実行時に該当する場合である。縮退シーケンス実行時には、一時的にパケットロストが起きる可能性があるからである。
Since there is a case that cannot be resolved even after retrying, such as disconnection of the path between CPUs or CPU failure, it is determined whether or not the case can be recovered by retrying. Various determination methods are conceivable. For example, the Local-CPU may execute a retry when any of the following conditions (1) to (3) is satisfied.
(1) The first case is when a new error is detected.
(2) The second is the case of an error until the number of retries is counted and the threshold is reached.
(3) The third is a case where the path between CPUs is made redundant, and the current time corresponds to the time when the degeneration sequence of the redundant path is executed. This is because there is a possibility that packet loss may occur temporarily when the degeneration sequence is executed.

リトライか否かに応じて、Home−CPUが動作を変更することを可能にするために、Local−CPUは、リクエストパケット(WRBK/FLBK)にリトライフラグを設定する。すなわち、Local−CPUは、リクエストパケット(WRBK/FLBK)を第1回目に送信する時には、リトライフラグを0とし、リトライで送信する時にはリトライフラグを1に設定する。   The Local-CPU sets a retry flag in the request packet (WRBK / FLBK) in order to allow the Home-CPU to change the operation depending on whether or not to retry. That is, the Local-CPU sets the retry flag to 0 when transmitting the request packet (WRBK / FLBK) for the first time, and sets the retry flag to 1 when transmitting the request packet by retry.

以上の判断の結果、Local−CPUは、(ii)のように、パケットロストの原因が一時的な間欠故障であると判断した場合には、リトライフラグを1に設定し(L16)、処理をL12に戻す。Local−CPUが、L15の判定で、リトライで復帰可能なケースと判定し、L16の処理を実行することが、リトライを示す情報を設定した次の更新要求を前記第1の演算処理に送信するリトライ処理を所定の限度まで繰り返すことの一例である。また、L15の判定で、上記(1)から(3)を判定することが、リトライの回数、および前記第1の演算処理装置と第2の演算処理装置との接続状態を含む前記情報処理装置の稼働状態の少なくとも一方により判定することの一例である。上記「縮退シーケンス実行」は、第1の演算処理装置と第2の演算処理装置との接続状態を含む前記情報処理装置の稼働状態の一例である。一方、Local−CPUは、(i)のように、パケットロストの原因が固定故障であると判断した場合には、例えば、Home−CPUが固定故障したことをエラー制御部へ通知し(L18)、処理を異常終了する。   As a result of the above determination, when the Local-CPU determines that the cause of the packet loss is a temporary intermittent failure as shown in (ii), it sets the retry flag to 1 (L16) and performs the processing. Return to L12. When the Local-CPU determines in L15 that the case can be restored by retrying and executing the processing in L16, the next update request in which information indicating retry is set is transmitted to the first arithmetic processing. This is an example of repeating the retry process up to a predetermined limit. Further, in the determination of L15, the determination of (1) to (3) above includes the number of retries and the connection state between the first arithmetic processing device and the second arithmetic processing device. This is an example of determination based on at least one of the operating states. The “degenerate sequence execution” is an example of an operating state of the information processing device including a connection state between the first arithmetic processing device and the second arithmetic processing device. On the other hand, if the Local-CPU determines that the cause of the packet loss is a fixed failure as in (i), for example, the Local-CPU notifies the error control unit that the Home-CPU has a fixed failure (L18). The process ends abnormally.

図13に、Home−CPUの処理のフローチャートを例示する。図13において、H1からH6の処理は、図11のH1からH6と同様であるので、その説明を省略する。H5の判定で、リクエストパケット(WRBK/FLBK)に設定されたリトライフラグが0の場合には、Home−CPUは、Fatalエラーを検出したことをエラー制御部(図16参照)へ通知し(H7)、処理を異常終了する。リトライフラグが0の場合は、受信した更新要求にリトライを示す情報が付与されていない場合の一例である。H7の処理は、所定の通知先にエラーを通知することの一例である。   FIG. 13 illustrates a flowchart of processing of the Home-CPU. In FIG. 13, the processing from H1 to H6 is the same as H1 to H6 in FIG. If the retry flag set in the request packet (WRBK / FLBK) is 0 in the determination of H5, the Home-CPU notifies the error control unit (see FIG. 16) that a Fatal error has been detected (H7). ), Terminate the process abnormally. When the retry flag is 0, it is an example in the case where information indicating retry is not given to the received update request. The process of H7 is an example of notifying an error to a predetermined notification destination.

また、H2のプロトコルチェックでエラー有りの場合で(H2でNO)、かつ、Local−CPUから受信したリクエストパケット(WRBK/FLBK)内のリトライフラグが1の場合で(H5でNO)には、Home−CPUはH6の判定を実行する。すなわち、H6の判定で初回パケット受信時のリクエストパケット(WRBK/FLBK)に対する処理が処理済みでない場合(H6でNO)、図11で説明したように、Home−CPUは、検出したエラーは想定外の事象であると判定する。そして、Home−CPUは、Fatalエラーをエラー制御部へ通知して(H7)、処理を異常終了する。H7の処理は、応答パケット送信部が所定の通知先にエラーを通知することの一例である。   Further, when there is an error in the protocol check of H2 (NO in H2) and the retry flag in the request packet (WRBK / FLBK) received from the Local-CPU is 1 (NO in H5), The Home-CPU executes the determination of H6. In other words, if the processing for the request packet (WRBK / FLBK) at the time of initial packet reception is not processed in the determination of H6 (NO in H6), as described in FIG. It is determined that this is an event. Then, the Home-CPU notifies the error control unit of the Fatal error (H7) and terminates the process abnormally. The process of H7 is an example in which the response packet transmission unit notifies an error to a predetermined notification destination.

一方、H6の判定で初回パケット受信時のリクエストパケットに対する処理が処理済みである場合(H6でYES)、Home−CPUは、リクエストパケット(WRBK/FLBK)に対応する処理の実行をスキップする。すなわち、Home−CPUは、メインメモリ上のデータの更新、管理情報の更新等をスキップする(H8)。そして、Home−CPUは、応答パケット(WRBK/FLBK−CPLT)のリトライフラグに受信したリクエストパケット(WRBK/FLBK)と同じ値を設定し、Local−CPUに
送信し(H9)、処理を正常終了する。H9の処理は、第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信することの一例である。
On the other hand, if the process for the request packet at the time of receiving the initial packet has been processed in the determination of H6 (YES in H6), the Home-CPU skips the execution of the process corresponding to the request packet (WRBK / FLBK). That is, the Home-CPU skips updating of data on the main memory, updating of management information, etc. (H8). Then, the Home-CPU sets the same value as the received request packet (WRBK / FLBK) in the retry flag of the response packet (WRBK / FLBK-CPLT), transmits it to the Local-CPU (H9), and terminates the processing normally. To do. The process H9 is an example of transmitting a completion response indicating that the update request has been normally completed to the second arithmetic processing unit.

図14に、本実施形態のエラーの分類を例示する。図14では、図7の分類において「従来のプロトコルチェックでエラー有り」とされていた分類がさらに2分類されている。すなわち、図14の分類では、新たに、「パケット受信では起こり得ない状態」が追加されている。ここで、「パケット受信では起こり得ない状態」とは、上記「(2)応答パケットのロスト以外の原因によるエラー(Fatalエラー)」で例示した状態である。例えば、I(Invalid)、S(Shared)等の状態でメモリ2のデータをキャッシュ12に持ち出しているLocal-CPUがライトバック(WRBK)パケットを送
信した場合である。このようなFatalエラーは、リトライフラグの値(0、1)のいずれにおいても発生し得る。また、このようなFatalエラーは、Home−CPUが初回のリクエストパケットを受信した場合、リトライによる再度のリクエストパケットを受信した場合の両方で生じ得る。なお、WRBKロストケースの場合には、Home−CPUは初回のリクエストパケットをリトライフラグ=1の設定で受信することが有り得る。
FIG. 14 illustrates error classification according to the present embodiment. In FIG. 14, in the classification of FIG. 7, the classification that was “error in conventional protocol check” is further classified into two. That is, in the classification of FIG. 14, a “state that cannot occur by packet reception” is newly added. Here, the “state that cannot occur by packet reception” is the state exemplified in the above “(2) Error due to cause other than lost response packet (Fatal error)”. For example, this is a case where the Local-CPU that has taken the data in the memory 2 to the cache 12 in a state such as I (Invalid), S (Shared), etc. has transmitted a write-back (WRBK) packet. Such a Fatal error can occur in any of the retry flag values (0, 1). Further, such a Fatal error can occur both when the Home-CPU receives the first request packet and when it receives a request packet again by retry. In the case of the WRBK lost case, the Home-CPU may receive the first request packet with the retry flag = 1 setting.

また、「従来のプロトコルチェックでエラー有り」とされていた分類で、「パケット受信では起こりえない状態」以外の分類では、さらに2つの場合を含む。すなわち、第1はリトライフラグ:0のときのFatalエラーである。また、第2はリトライフラグ:1のときの擬似エラーである。リトライフラグ:1のときの擬似エラーは、応答パケット(WRBK/FLBK−CPLT)ロストケースで発生する。本実施形態のHome−CPUは、リトライフラグ:1のときの擬似エラーを検出できる。すなわち、MESIプロトコル等の従来のプロトコルチェックでエラー有りの場合、本実施形態のHome−CPUは、図13のH6の判定で例示したように、リトライフラグ=1の場合に、Fatalエラーと疑似エラー(WRBK/FLBK−CPLTロストケース)を区別できる。   Further, in the classification that was “error occurred in the conventional protocol check”, the classification other than “state that cannot occur by packet reception” includes two more cases. That is, the first is a Fatal error when the retry flag is 0. The second is a pseudo error when the retry flag is 1. When the retry flag is 1, a pseudo error occurs in the response packet (WRBK / FLBK-CPLT) lost case. The Home-CPU of this embodiment can detect a pseudo error when the retry flag is 1. That is, when there is an error in the conventional protocol check such as the MESI protocol, the Home-CPU of this embodiment, as exemplified in the determination of H6 in FIG. (WRBK / FLBK-CPLT lost case) can be distinguished.

図15に、Local−CPUの処理を実行する制御回路を例示する。また、図16に、Home−CPUの処理を実行する制御回路を例示する。ただし、図8で説明したように、CPU1は、Local−CPUにも、Home−CPUにもなり得るため、各CPU1は、図15と図16の両方の回路を有してよい。すなわち、図15は、CPU1の処理回路のうち、Local−CPUの処理を実行する制御回路の部分を例示したものである。また、図16は、CPU1の処理回路のうち、Home−CPUの処理を実行する制御回路の部分を例示したものである。   FIG. 15 illustrates a control circuit that executes processing of the Local-CPU. FIG. 16 illustrates a control circuit that executes processing of the Home-CPU. However, as described with reference to FIG. 8, since the CPU 1 can be a Local-CPU or a Home-CPU, each CPU 1 may have both the circuits of FIG. 15 and FIG. 16. That is, FIG. 15 illustrates a portion of a control circuit that executes processing of the Local-CPU in the processing circuit of the CPU 1. FIG. 16 illustrates a portion of the control circuit that executes the processing of the Home-CPU among the processing circuits of the CPU 1.

図15では、Local−CPUのキャッシュ制御部13とエラー制御部3―Lが例示されている。キャッシュ制御部13は、制御情報格納部131、データ格納部132、リクエストパケット送信部133、応答パケット受信部134、タイムアウト検出部135、プロトコルチェック部136、リトライ可否判定部137、固定故障通知部138を有する。   In FIG. 15, the cache control unit 13 and the error control unit 3-L of the Local-CPU are illustrated. The cache control unit 13 includes a control information storage unit 131, a data storage unit 132, a request packet transmission unit 133, a response packet reception unit 134, a timeout detection unit 135, a protocol check unit 136, a retry possibility determination unit 137, and a fixed failure notification unit 138. Have

制御情報格納部131は、コア11からの指令にしたがったキャッシュ制御を実行するための制御情報を格納する。データ格納部132は、例えばメインメモリ2へ書き戻すキャッシュのデータを格納する。リクエストパケット送信部133は、制御情報格納部131からリトライフラグを含む制御情報を取り出す。また、リクエストパケット送信部133は、Home−CPUに送信するリクエストパケットがWRBK等のHome−CPUのメインメモリ2へのデータを伴うリクエストパケットの場合には、データ格納部132からデータを取り出す。そして、リクエストパケット送信部133は、リトライフラグを含むリクエストパケット(WRBK/FLBK)を生成し、Home−CPUへ送信する。   The control information storage unit 131 stores control information for executing cache control according to a command from the core 11. The data storage unit 132 stores, for example, cache data to be written back to the main memory 2. The request packet transmission unit 133 extracts control information including a retry flag from the control information storage unit 131. In addition, when the request packet to be transmitted to the Home-CPU is a request packet accompanied by data to the main memory 2 of the Home-CPU such as WRBK, the request packet transmission unit 133 extracts data from the data storage unit 132. Then, the request packet transmission unit 133 generates a request packet (WRBK / FLBK) including a retry flag and transmits the request packet to the Home-CPU.

応答パケット受信部134は、リクエストパケット(WRBK/FLBK)を受信したHome−CPUが生成する応答パケット(WRBK/FLBK−CPLT)を受信する。   The response packet receiving unit 134 receives a response packet (WRBK / FLBK-CPLT) generated by the Home-CPU that has received the request packet (WRBK / FLBK).

タイムアウト検出部135は、リクエストパケット(WRBK/FLBK)を送信すると、タイマーを起動し、応答パケット(WRBK/FLBK−CPLT)を受信するとタイマーをクリアする。応答パケット(WRBK/FLBK−CPLT)受信前にタイマーが設定されている閾値に達すると、タイムアウト検出部135は、タイムアウトを検出する。   The timeout detector 135 starts a timer when transmitting a request packet (WRBK / FLBK), and clears the timer when receiving a response packet (WRBK / FLBK-CPLT). When the timer reaches a threshold value set before receiving the response packet (WRBK / FLBK-CPLT), timeout detection unit 135 detects a timeout.

プロトコルチェック部136は、Home−CPUから受信した応答パケット(WRBK/FLBK−CPLT)のリトライフラグと制御情報格納部131のリトライフラグを比較してプロトコルチェックを行う。そしてプロトコルチェックの結果、2つのリトライフラグが一致する場合には、プロトコルチェック部136は、エラー無し、と判定する。また、2つのリトライフラグが不一致の場合には、プロトコルチェック部136は、Fatalエラーと判定し、Fatalエラーをエラー制御部3−Lへ通知する。例えば、プロトコルチェック部136は、エラー制御部3−Lの所定のレジスタへエラービットをセットする。   The protocol check unit 136 performs a protocol check by comparing the retry flag of the response packet (WRBK / FLBK-CPLT) received from the Home-CPU with the retry flag of the control information storage unit 131. If the two retry flags match as a result of the protocol check, the protocol check unit 136 determines that there is no error. If the two retry flags do not match, the protocol check unit 136 determines that the error is a fatal error and notifies the error control unit 3-L of the fatal error. For example, the protocol check unit 136 sets an error bit in a predetermined register of the error control unit 3-L.

リトライ可否判定部137はタイムアウト検出時、リトライ可否判定情報を参照する。リトライ可否判定情報とは、例えば、CPU毎の固定故障を示すレジスタ、CPU間で故障が発生したことを示す外部からの通知信号等のことである。宛先となるHome−CPUの固定故障あるいは経路の固定故障のためリトライ不可能と判定すると、リトライ可否判定部137は、宛先となるHome−CPUが固定故障したことを固定故障通知部138に伝達する。リトライ可否判定部137はリトライ可能と判定すると、制御情報格納部にリトライフラグをセットし、パケット再発行制御を開始する。固定故障通知部138は、リトライ不可能の場合、Home−CPUが固定故障したものと判定し、Home−CPUが固定故障したことをエラー制御部3−Lへ通知する。   The retry availability determination unit 137 refers to retry availability determination information when a timeout is detected. The retry possibility determination information is, for example, a register indicating a fixed failure for each CPU, an external notification signal indicating that a failure has occurred between CPUs, or the like. If it is determined that a retry is impossible due to a fixed failure of the destination Home-CPU or a fixed failure of the route, the retry possibility determination unit 137 notifies the fixed failure notification unit 138 that the destination Home-CPU has a fixed failure. . When the retry possibility determination unit 137 determines that retry is possible, it sets a retry flag in the control information storage unit and starts packet reissue control. If the retry failure is impossible, the fixed failure notification unit 138 determines that the Home-CPU has a fixed failure, and notifies the error control unit 3-L that the Home-CPU has a fixed failure.

エラー制御部3−Lは、キャッシュ制御部13を含むLocal−CPU内全体でハードウェアが検出したエラーを収集し、エラー制御を行う。例えば、エラー制御部3―Lは、複数のCPU1を含む情報処理装置を管理する管理装置にエラーの発生、エラーの発生箇所、エラーの種別、エラーの原因等を通知する。   The error control unit 3-L collects errors detected by hardware in the entire Local-CPU including the cache control unit 13, and performs error control. For example, the error control unit 3-L notifies the management apparatus that manages the information processing apparatus including the plurality of CPUs 1 of the occurrence of an error, the location where the error has occurred, the type of error, the cause of the error, and the like.

図16では、Home−CPUのメモリ制御部14とエラー制御部3―Hが例示されている。メモリ制御部14は、リクエストパケット受信部141、管理情報格納部142、プロトコルチェック部143、管理情報更新部144、メインメモリデータ更新部145、および応答パケット送信部146を有する。   In FIG. 16, the memory control unit 14 and the error control unit 3-H of the Home-CPU are illustrated. The memory control unit 14 includes a request packet reception unit 141, a management information storage unit 142, a protocol check unit 143, a management information update unit 144, a main memory data update unit 145, and a response packet transmission unit 146.

リクエストパケット受信部141は、Local−CPUが送信したリクエストパケット(WRBK/FLBK)を受信する。リクエストパケット受信部141は、管理情報の更新を要求する更新要求を受信する受信部の一例である。管理情報格納部142は、メインメモリ2のデータの持ち出しに関する管理情報を格納する。管理情報格納部142は、第2の演算処理装置に持ち出されたデータの変更の有無を含む管理状態を示す管理情報を保持する管理情報格納部の一例である。プロトコルチェック部143は、Local−CPUから受信したリクエストパケット(WRBK/FLBK)と管理情報格納部142の管理情報を比較してプロトコルチェックを行う。プロトコルチェック部143は、プロトコルチェックにより、Fatalエラー、リトライパケットにおける疑似エラー、エラー無し、のいずれかを判定する。プロトコルチェック部143は、管理情報が示す管理状態
と前記受信した更新要求とが所定の関係を満たすか否かを判定するチェック部の一例である。
The request packet receiving unit 141 receives a request packet (WRBK / FLBK) transmitted by the Local-CPU. The request packet receiving unit 141 is an example of a receiving unit that receives an update request for requesting an update of management information. The management information storage unit 142 stores management information related to taking out data from the main memory 2. The management information storage unit 142 is an example of a management information storage unit that holds management information indicating a management state including whether or not the data taken out to the second arithmetic processing unit is changed. The protocol check unit 143 compares the request packet (WRBK / FLBK) received from the Local-CPU with the management information in the management information storage unit 142 to perform a protocol check. The protocol check unit 143 determines one of a fatal error, a pseudo error in the retry packet, and no error by the protocol check. The protocol check unit 143 is an example of a check unit that determines whether or not the management state indicated by the management information and the received update request satisfy a predetermined relationship.

管理情報更新部144は、リクエストパケット(WRBK/FLBK)がプロトコルチェック部143でエラー無しの場合、管理情報を更新する。メインメモリデータ更新部145は、データ付きのリクエストパケット(WRBK)がプロトコルチェック部143でエラー無しの場合、メインメモリ上のデータを更新する。管理情報更新部144は、「所定の基準により整合する関係にある前記更新要求が前記主記憶装置のデータ書き換え指示(WRBK)を含むときに、前記主記憶装置のデータを書き換えるデータ更新部」の一例である。応答パケット送信部146は、リクエストパケット(WRBK/FLBK)がプロトコルチェック部143でエラー無し、またはリトライパケットでの疑似エラーの場合、リトライフラグを含む応答パケット(WRBK/FLBK−CPLT)を生成し、Local−CPUへ送信する。応答パケット送信部146は、第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する応答パケット送信部の一例である。   The management information update unit 144 updates the management information when the request packet (WRBK / FLBK) has no error in the protocol check unit 143. The main memory data update unit 145 updates the data on the main memory when the request packet with data (WRBK) has no error in the protocol check unit 143. The management information updating unit 144 is configured as follows: “A data updating unit that rewrites data in the main storage device when the update request having a matching relationship according to a predetermined standard includes a data rewrite instruction (WRBK) of the main storage device”. It is an example. The response packet transmission unit 146 generates a response packet (WRBK / FLBK-CPLT) including a retry flag when the request packet (WRBK / FLBK) has no error in the protocol check unit 143 or is a pseudo error in the retry packet. Transmit to Local-CPU. The response packet transmission unit 146 is an example of a response packet transmission unit that transmits a completion response indicating that the update request has been normally completed to the second arithmetic processing unit.

エラー制御部3−Hは、メモリ制御部14を含むHome−CPU内全体でハードウェアが検出したエラーを収集し、エラー制御を行う。エラー制御部3−Hの処理は、図14のエラー制御部3−Lと同様である。   The error control unit 3-H collects errors detected by hardware in the entire Home-CPU including the memory control unit 14, and performs error control. The process of the error control unit 3-H is the same as that of the error control unit 3-L in FIG.

なお、図8に例示のように、複数のCPU1間には、クロスバLSI等のインターコネクトが設けられている。すなわち、Local−CPUとHome−CPUとはインターコネクトで接続することが想定されている。この場合に、Local−CPUとHome−CPUとは、別の筐体内に実装されてもよいし、同一の筐体に実装されてもよい。すなわち、Local−CPUとHome−CPUとが、別の筐体内に実装された場合で、同一の筐体に実装された場合にも、図15、図16の構成により、情報処理装置は、本実施形態によるプロトコルチェックおよび疑似エラーの検出を実行できる。   As illustrated in FIG. 8, an interconnect such as a crossbar LSI is provided between the plurality of CPUs 1. That is, it is assumed that the Local-CPU and the Home-CPU are connected by an interconnect. In this case, the Local-CPU and the Home-CPU may be mounted in different housings, or may be mounted in the same housing. That is, even when the Local-CPU and the Home-CPU are mounted in different housings and are mounted in the same housing, the information processing apparatus has the configuration shown in FIGS. Protocol checking and pseudo-error detection according to embodiments can be performed.

以上のような機構とすることで、本情報処理装置は、応答パケット(WRBK/FLBK−CPLT)ロストケースにおいても、管理情報の制御矛盾やデータ消失を生じさせる可能性を低減し、疑似エラーを検出できる。すなわち、Local−CPUのキャッシュ12に持ち出されたデータのメインメモリへの書き戻し制御(WRBK/FLBK)において、本情報処理装置は、CPU間の間欠故障等によりリクエストパケットを正しく転送できなかった場合に、制御矛盾やデータ消失を生じさせることなく正常動作に復帰する可能性を高めることができる。   By adopting the mechanism as described above, this information processing apparatus reduces the possibility of management information contradiction and data loss even in the response packet (WRBK / FLBK-CPLT) lost case, and generates a pseudo error. It can be detected. That is, in the write-back control (WRBK / FLBK) of the data taken out to the cache 12 of the Local-CPU to the main memory, the information processing apparatus cannot correctly transfer the request packet due to an intermittent failure between the CPUs. In addition, it is possible to increase the possibility of returning to normal operation without causing control contradiction or data loss.

また、本情報処理装置は、図11または図13のH2の判定において、管理情報に基づく従来のプロトコルチェックでエラーがない場合には、リトライフラグの示す状態によらず、正常と判断することで、WRBK/FLBKロストケースにおいて、Home−CPUは、処理を正常終了することができる(図11のH4、図13のH9)。   In addition, when there is no error in the conventional protocol check based on the management information in the determination of H2 in FIG. 11 or FIG. 13, the information processing apparatus determines that it is normal regardless of the state indicated by the retry flag. In the WRBK / FLBK lost case, the Home-CPU can complete the processing normally (H4 in FIG. 11, H9 in FIG. 13).

また、本情報処理装置は、図11または図13のH2の判定において、管理情報に基づく従来のプロトコルチェックでエラーがあり、かつ、リトライフラグがリトライでないことを示す場合には、Fatalエラーが発生したと判定できる。   In addition, in this information processing apparatus, in the determination of H2 in FIG. 11 or FIG. 13, if there is an error in the conventional protocol check based on the management information and the retry flag indicates that it is not a retry, a fatal error occurs. Can be determined.

また、本情報処理装置は、図11または図13のH2の判定において、管理情報に基づく従来のプロトコルチェックでエラーがあり、かつ、リトライフラグがリトライを示す場合で、初回のパケット受信による処理が処理済みでない場合には(H6でNO)、Fatalエラーが発生したと判定できる。   Further, in the information processing apparatus, in the determination of H2 in FIG. 11 or FIG. 13, when there is an error in the conventional protocol check based on the management information and the retry flag indicates retry, the process by the first packet reception is performed. If it has not been processed (NO in H6), it can be determined that a Fatal error has occurred.

また、本情報処理装置で、Local−CPUは、図12のL15のように、パケットロストの原因を判定することで、適正にリトライを実施できる。また、Local−CPUは、リトライ処理を所定の限度まで繰り返すことができる。   Further, in this information processing apparatus, the Local-CPU can appropriately perform the retry by determining the cause of the packet lost as indicated by L15 in FIG. Further, the Local-CPU can repeat the retry process up to a predetermined limit.

また、本情報処理装置のLocal−CPUは、図12のL15のように、新規にエラー検出時、リトライ回数が閾値に達するまでの間、あるいは、CPU間経路が冗長化されている等が判断できた場合には、適正にリトライを実施できる。   Also, the Local-CPU of this information processing apparatus determines whether a new error is detected, the number of retries reaches the threshold, or the path between CPUs is made redundant, as indicated by L15 in FIG. If you can, you can retry properly.

1 CPU
2 メインメモリ
11 コア
12 キャッシュ
13 キャッシュ制御部
14 メモリ制御部
131 制御情報格納部
132 データ格納部
133 リクエストパケット送信部
134 応答パケット送信部
135 タイムアウト検出部
136 プロトコルチェック部
137 リトライ可否判定部
138 固定故障検知部
141 リクエストパケット受信部
142 管理情報格納部
143 プロトコルチェック部
144 管理情報更新部
145 メインメモリデータ更新部
146 応答パケット送信部
1 CPU
2 Main memory 11 Core 12 Cache 13 Cache control unit 14 Memory control unit 131 Control information storage unit 132 Data storage unit 133 Request packet transmission unit 134 Response packet transmission unit 135 Timeout detection unit 136 Protocol check unit 137 Retry availability determination unit 138 Fixed failure Detection unit 141 Request packet reception unit 142 Management information storage unit 143 Protocol check unit 144 Management information update unit 145 Main memory data update unit 146 Response packet transmission unit

Claims (8)

主記憶装置を制御する主記憶制御装置を有する第1の演算処理装置と、前記第1の演算処理装置と接続される第2の演算処理装置とを備える情報処理装置において、
前記第1の演算処理装置は
前記主記憶装置から前記第2の演算処理装置に持ち出されたデータの変更の有無を含む管理状態を示す管理情報を保持する管理情報格納部と、
前記管理情報の更新を要求する更新要求を受信する受信部と、
前記管理情報が示す管理状態と前記受信した更新要求とが所定の関係を満たすか否かを判定するチェック部と、
前記更新要求にリトライを示す情報が付与され、前記受信した更新要求が前記管理状態を第1の状態から第2の状態に更新し、かつ、前記管理情報が既に第2の状態に更新済みを表す場合、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する応答パケット送信部と、
を有する情報処理装置。
In an information processing apparatus comprising: a first arithmetic processing device having a main memory control device that controls a main storage device; and a second arithmetic processing device connected to the first arithmetic processing device.
The first arithmetic processing unit includes a management information storage unit that holds management information indicating a management state including presence / absence of change of data taken out from the main storage unit to the second arithmetic processing unit;
A receiving unit for receiving an update request for requesting an update of the management information;
A check unit that determines whether the management state indicated by the management information and the received update request satisfy a predetermined relationship;
Information indicating retry is added to the update request, the received update request updates the management state from the first state to the second state, and the management information has already been updated to the second state. A response packet transmitter that transmits a completion response indicating that the update request has been normally completed to the second arithmetic processing unit,
An information processing apparatus.
前記チェック部によるチェックの結果、前記管理状態と前記受信した更新要求とが所定の基準により整合する関係にある場合、前記応答パケット送信部は、前記更新要求にリトライを示す情報が付与されているか否かに拘わらず、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する請求項1に記載の情報処理装置。   As a result of the check by the check unit, if the management state and the received update request are in a matching relationship based on a predetermined criterion, is the response packet transmission unit given information indicating retry to the update request? 2. The information processing apparatus according to claim 1, wherein the information processing apparatus transmits a completion response indicating that the update request has ended normally to the second arithmetic processing apparatus regardless of whether or not. 前記チェック部によるチェックの結果、前記管理状態と前記受信した更新要求とが前記所定の基準により整合する関係になく、かつ、前記受信した更新要求にリトライを示す情報が付与されていない場合には、前記応答パケット送信部は、所定の通知先にエラーを通知する請求項2に記載の情報処理装置。   As a result of checking by the check unit, when the management state and the received update request are not in a relationship that matches the predetermined criteria, and information indicating retry is not given to the received update request The information processing apparatus according to claim 2, wherein the response packet transmission unit notifies an error to a predetermined notification destination. 前記チェック部によるチェックの結果、前記管理状態と前記受信した更新要求とが前記所定の基準により整合する関係になく、前記更新要求にリトライを示す情報が付与されており、かつ、前記管理情報がすでに第2の状態に更新済みとなっていない場合には、前記応答パケット送信部は、所定の通知先にエラーを通知する請求項2または3に記載の情報処理装置。   As a result of the check by the check unit, the management state and the received update request are not in a relationship that matches with the predetermined criterion, information indicating retry is given to the update request, and the management information is The information processing apparatus according to claim 2 or 3, wherein the response packet transmission unit notifies an error to a predetermined notification destination when it has not been updated to the second state. 第2の演算処理装置と接続される第1の演算処理装置として動作する演算処理装置において、
主記憶装置を制御する主記憶制御装置と、
前記主記憶装置から前記第2の演算処理装置に持ち出されたデータの変更の有無を含む管理状態を示す管理情報を保持する管理情報格納部と、
前記管理情報の更新を要求する更新要求を受信する受信部と、
前記管理情報が示す管理状態と前記受信した更新要求とが所定の関係を満たすか否かを判定するチェック部と、
前記更新要求にリトライを示す情報が付与され、前記受信した更新要求が前記管理状態を第1の状態から第2の状態に更新し、かつ、前記管理情報がすでに第2の状態に更新済みを表す場合、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する応答パケット送信部と、
を有する演算処理装置。
In the arithmetic processing device that operates as the first arithmetic processing device connected to the second arithmetic processing device,
A main memory control device for controlling the main memory device;
A management information storage unit for holding management information indicating a management state including the presence / absence of change of data taken out from the main storage device to the second arithmetic processing unit;
A receiving unit for receiving an update request for requesting an update of the management information;
A check unit that determines whether the management state indicated by the management information and the received update request satisfy a predetermined relationship;
Information indicating retry is given to the update request, the received update request updates the management state from the first state to the second state, and the management information has already been updated to the second state. A response packet transmitter that transmits a completion response indicating that the update request has been normally completed to the second arithmetic processing unit,
An arithmetic processing unit having
主記憶装置を制御する主記憶制御装置を有する第1の演算処理装置と、前記第1の演算処理装置と接続される第2の演算処理装置とを備える情報処理装置の制御方法において、前記第1の演算処理装置が、
前記主記憶装置から前記第2の演算処理装置に持ち出されたデータの変更の有無を含む
管理状態を示す管理情報を保持し、
前記管理情報の更新を要求する更新要求を受信し、
前記管理情報が示す管理状態と前記受信した更新要求とが所定の関係を満たすか否かを判定し、
前記更新要求にリトライを示す情報が付与され、前記受信した更新要求が前記管理状態を第1の状態から第2の状態に更新し、かつ、前記管理情報がすでに第2の状態に更新済みを表す場合、前記第2の演算処理装置に前記更新要求が正常に終了したことを示す完了応答を送信する情報処理装置の制御方法。
In a method for controlling an information processing apparatus, comprising: a first arithmetic processing device having a main memory control device that controls a main storage device; and a second arithmetic processing device connected to the first arithmetic processing device. 1 arithmetic processing unit,
Holding management information indicating a management state including whether or not the data taken out from the main storage device to the second arithmetic processing unit is changed;
Receiving an update request for updating the management information;
Determining whether the management state indicated by the management information and the received update request satisfy a predetermined relationship;
Information indicating retry is given to the update request, the received update request updates the management state from the first state to the second state, and the management information has already been updated to the second state. If so, a control method for the information processing apparatus that transmits a completion response indicating that the update request has been normally completed to the second arithmetic processing apparatus.
前記第2の演算処理装置は、前記状態情報を更新するための更新要求を前記第1の演算処理装置に送信し、前記送信した更新要求に対する完了応答が前記第1の演算処理から得られない場合、リトライを示す情報を設定した次の更新要求を前記第1の演算処理に送信するリトライ処理を所定の限度まで繰り返す請求項6に記載の情報処理装置の制御方法。   The second arithmetic processing unit transmits an update request for updating the state information to the first arithmetic processing unit, and a completion response to the transmitted update request is not obtained from the first arithmetic processing. 7. The information processing apparatus control method according to claim 6, wherein a retry process for transmitting a next update request in which information indicating retry is set to the first arithmetic process is repeated up to a predetermined limit. 前記所定の限度は、前記リトライの回数、および前記第1の演算処理装置と前記第2の演算処理装置との接続状態を含む前記情報処理装置の稼働状態の少なくとも一方により判定される請求項7に記載の情報処理装置の制御方法。   8. The predetermined limit is determined by at least one of the number of retries and an operating state of the information processing apparatus including a connection state between the first arithmetic processing apparatus and the second arithmetic processing apparatus. A method for controlling the information processing apparatus according to claim 1.
JP2015244428A 2015-12-15 2015-12-15 Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method Active JP6493193B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015244428A JP6493193B2 (en) 2015-12-15 2015-12-15 Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015244428A JP6493193B2 (en) 2015-12-15 2015-12-15 Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method

Publications (2)

Publication Number Publication Date
JP2017111569A true JP2017111569A (en) 2017-06-22
JP6493193B2 JP6493193B2 (en) 2019-04-03

Family

ID=59080788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244428A Active JP6493193B2 (en) 2015-12-15 2015-12-15 Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method

Country Status (1)

Country Link
JP (1) JP6493193B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314239A (en) * 1993-04-28 1994-11-08 Hitachi Ltd Processor system
WO2010103602A1 (en) * 2009-03-09 2010-09-16 富士通株式会社 Transmission data error check device and method thereof
JP2013140445A (en) * 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus, control method and control program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314239A (en) * 1993-04-28 1994-11-08 Hitachi Ltd Processor system
WO2010103602A1 (en) * 2009-03-09 2010-09-16 富士通株式会社 Transmission data error check device and method thereof
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
JP6493193B2 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
US9208091B2 (en) Coherent attached processor proxy having hybrid directory
US6192452B1 (en) Method and system for avoiding data loss due to cancelled transactions within a non-uniform memory access system
US7343515B1 (en) System and method for performing error recovery in a data processing system having multiple processing partitions
EP2634696B1 (en) Information processing apparatus, control method, and control program
US7502893B2 (en) System and method for reporting cache coherency state retained within a cache hierarchy of a processing node
US8423736B2 (en) Maintaining cache coherence in a multi-node, symmetric multiprocessing computer
US9977742B2 (en) Cache coherency
KR20010101193A (en) Non-uniform memory access(numa) data processing system that speculatively forwards a read request to a remote processing node
JP2008027435A (en) Exclusive ownership snoop filter
US9256537B2 (en) Coherent attached processor proxy supporting coherence state update in presence of dispatched master
US10949292B1 (en) Memory interface having data signal path and tag signal path
US9086975B2 (en) Coherent proxy for attached processor
US9442852B2 (en) Programmable coherent proxy for attached processor
US9146872B2 (en) Coherent attached processor proxy supporting master parking
US20190188138A1 (en) Coherence protocol providing speculative coherence response to directory probe
US7343454B2 (en) Methods to maintain triangle ordering of coherence messages
JP5021978B2 (en) Multiprocessor system and operation method thereof
US7769959B2 (en) System and method to facilitate ordering point migration to memory
JP6493193B2 (en) Information processing apparatus, arithmetic processing apparatus, and information processing apparatus control method
US10713169B2 (en) Remote node broadcast of requests in a multinode data processing system
US20090006712A1 (en) Data ordering in a multi-node system
US8706974B2 (en) Snoop request management in a data processing system
JP6583046B2 (en) Control device, information processing device, and information processing device control method
JP6631317B2 (en) Arithmetic processing device, information processing device, and control method for information processing device

Legal Events

Date Code Title Description
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: 6493193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150