JP5645253B2 - Node controller, request output order determination method, and inter-node communication system - Google Patents

Node controller, request output order determination method, and inter-node communication system Download PDF

Info

Publication number
JP5645253B2
JP5645253B2 JP2010240448A JP2010240448A JP5645253B2 JP 5645253 B2 JP5645253 B2 JP 5645253B2 JP 2010240448 A JP2010240448 A JP 2010240448A JP 2010240448 A JP2010240448 A JP 2010240448A JP 5645253 B2 JP5645253 B2 JP 5645253B2
Authority
JP
Japan
Prior art keywords
request
priority
node
requests
determination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010240448A
Other languages
Japanese (ja)
Other versions
JP2012093945A (en
Inventor
真章 北野
真章 北野
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2010240448A priority Critical patent/JP5645253B2/en
Publication of JP2012093945A publication Critical patent/JP2012093945A/en
Application granted granted Critical
Publication of JP5645253B2 publication Critical patent/JP5645253B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、ノードコントローラ、リクエストの出力順序決定方法及びノード間通信システムに関し、特に、ノード間通信により他のノードへのアクセスする際のリクエストの送信順序を調停するためのノードコントローラ、リクエストの出力順序決定方法及びノード間通信システムに関する。   The present invention relates to a node controller, a request output order determination method, and an inter-node communication system, and in particular, a node controller for arbitrating a request transmission order when accessing another node by inter-node communication, and a request output. The present invention relates to an order determination method and an inter-node communication system.

大規模なコンピュータシステムは、複数の処理を並列して実行するために複数のプロセッサを有する。そして、複数のプロセッサを一つのノードとして管理する。さらに、このようなノードを複数有し、ノード間を接続し、各ノードの処理及びノード間通信により所定の処理を実現する。このような大規模なコンピュータシステムでは、ノード間でのデータ通信が頻繁に発生する。例えば、あるプロセッサにおける処理を完了するために、他のプロセッサへ処理を行わせてその結果を必要とする場合がある。その際、要求元のプロセッサは、要求先のプロセッサへのリクエストを送信し、レスポンスを受信する。そして、要求元と要求先が異なるノードに属する場合、ノード間通信が発生する。   A large-scale computer system has a plurality of processors in order to execute a plurality of processes in parallel. A plurality of processors are managed as one node. Furthermore, a plurality of such nodes are provided, the nodes are connected, and predetermined processing is realized by processing of each node and inter-node communication. In such a large-scale computer system, data communication frequently occurs between nodes. For example, in order to complete the processing in a certain processor, the processing may be performed on another processor and the result may be required. At that time, the requesting processor transmits a request to the requesting processor and receives a response. When the request source and the request destination belong to different nodes, inter-node communication occurs.

特許文献1には、1つのメモリに対する複数のアクセスマスタの競合に対して柔軟、かつ、確実にレイテンシを保証するためのメモリアクセス制御回路に関する技術が開示されている。特許文献1に開示されるメモリアクセス制御回路は、複数のアクセスマスタとメモリとの間に設けられる。優先度比較回路は。優先度レジスタに保持される優先度を比較する。セレクタは、最も優先度の高いアクセスマスタにアクセスを許可する。優先度レジスタに保持される優先度は、アクセスが待たされるごとに減算値レジスタの値が減算されることによって上昇する。これにより、アクセスされやすくなる。連続アクセス回数レジスタは、連続アクセス回数を保持する。そして、連続アクセス回数がアクセス上限回数レジスタの値に達すると、次のアクセス要求があったときに優先度レジスタに保持される初期値の優先度が低く抑えられる。   Patent Document 1 discloses a technology related to a memory access control circuit for guaranteeing latency in a flexible and reliable manner with respect to competition between a plurality of access masters for one memory. The memory access control circuit disclosed in Patent Document 1 is provided between a plurality of access masters and a memory. Priority comparison circuit. Compare the priorities held in the priority registers. The selector permits access to the access master with the highest priority. The priority held in the priority register increases by subtracting the value of the subtraction value register every time access is waited. This facilitates access. The continuous access number register holds the number of continuous accesses. When the continuous access count reaches the value of the access upper limit count register, the priority of the initial value held in the priority register when the next access request is made is kept low.

また、一般に、ノード間通信におけるリクエストの処理性能を向上させるためには、特定のリクエストに優先度をつけ、優先度の高いリクエストを先に送信し、当該リクエストを優先して処理させることにより性能を向上してきた。例えば、複数のリクエストに依存関係がある場合には、先に処理すべきリクエストの優先度を予め高く設定しておくことで、後続のリクエストを効率的に処理することができる。このような複数のリクエストに依存関係は、論理的に定まるものであるため、事前に優先度を設定することが可能である。   In general, in order to improve the request processing performance in inter-node communication, a priority is given to a specific request, a request with a higher priority is sent first, and the request is processed with priority. Has improved. For example, when there are dependencies among a plurality of requests, the subsequent requests can be efficiently processed by setting the priority of the request to be processed first in advance. Since the dependency relationship between such a plurality of requests is logically determined, priority can be set in advance.

特開2005−173859号公報JP 2005-173859 A

しかしながら、近年の複数のノードを用いた大規模なコンピュータシステムでは、ノード数が多数であり、ノード間の接続関係が複雑である。そして、ノード間の接続関係は、基本的に、複数のリクエストにおいて論理的に定まる依存関係とは無関係である。例えば、ノード間の接続関係は、全体の処理パフォーマンスやハードウェアに費やすことができるコスト等により変動するものである。そのため、同じリクエストであっても、ノードの配置や数によっては、経由するノード数つまり当該リクエストが要求先に到達するために要する時間に大きな差が出る場合がある。その場合、同じリクエストについての全体の処理時間に差が出る。よって、上述した依存関係に基づいて予めリクエストの優先度を設定することには限界があるという問題点がある。   However, in recent large-scale computer systems using a plurality of nodes, the number of nodes is large, and the connection relationship between the nodes is complicated. The connection relationship between the nodes is basically irrelevant to the dependency relationship logically determined in a plurality of requests. For example, the connection relationship between nodes varies depending on the overall processing performance and the cost that can be spent on hardware. Therefore, even for the same request, depending on the arrangement and number of nodes, there may be a large difference in the number of nodes that pass through, that is, the time required for the request to reach the request destination. In that case, there is a difference in the overall processing time for the same request. Therefore, there is a problem that there is a limit in setting the priority of the request in advance based on the dependency relationship described above.

例えば、後続のリクエストのHOP数がより大きい場合、優先度に従ってHOP数の小さいリクエストを先に送信してしまう場合がありえる。その場合、例え、優先度の高いリクエストの処理が完了したとしても、後続のリクエストが完了しないために、さらに後のリクエストが実行できないこととなる。そのため、リクエストの送信順序の調停に参加するタイミングによっては、処理を開始するまでに時間がかかってしまい、性能が低下してしまうことがあった。   For example, if the number of HOPs of subsequent requests is larger, a request with a smaller number of HOPs may be transmitted first according to the priority. In that case, even if processing of a request with a high priority is completed, subsequent requests are not completed, so that further subsequent requests cannot be executed. For this reason, depending on the timing of participating in the arbitration of the request transmission order, it may take time to start the processing, and the performance may deteriorate.

尚、特許文献1は、ノード間通信における上述した課題を解決するためのものではない。   Note that Patent Document 1 is not intended to solve the above-described problem in inter-node communication.

本発明は、このような問題点を解決するためになされたものであり、ノード間通信により他のノードへのアクセスする際の複数のリクエスト全体の処理性能を向上するためのノードコントローラ、リクエストの出力順序決定方法及びノード間通信システムを提供することを目的とする。   The present invention has been made in order to solve such a problem. A node controller for improving the overall processing performance of a plurality of requests when accessing other nodes by inter-node communication, An object is to provide an output order determination method and an inter-node communication system.

本発明の第1の態様にかかるノードコントローラは、複数のノードと接続され、自己のノード内の複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じた優先度を算出する優先度算出回路と、前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定する決定回路と、前記決定されたリクエストを選択して前記要求先のノードへ出力する選択回路と、を備える。   The node controller according to the first aspect of the present invention is connected to a plurality of nodes, receives a plurality of requests from a plurality of processors in its own node to a processor belonging to any of the plurality of nodes, and For each request, a priority calculation circuit that calculates a priority according to a request destination node of the request, and a request to be output among the plurality of received requests is determined based on the calculated priority. A determination circuit; and a selection circuit that selects the determined request and outputs the selected request to the requested node.

本発明の第2の態様にかかるリクエストの出力順序決定方法は、第1のノード内の第1のプロセッサから第2のノード内のプロセッサへの第1のリクエストと、当該第1のノード内の第2のプロセッサから第3のノード内のプロセッサへの第2のリクエストとを同時に受け付け、前記第1のリクエスト及び前記第2のリクエストの要求元に応じた第1の優先度と第2の優先度を算出し、前記第1の優先度と前記第2の優先度に基づいて、前記第1のリクエスト及び前記第2のリクエストのいずれを出力すべきかを決定し、前記決定されたリクエストを選択して前記要求先のノードへ出力する。   The method for determining the output order of requests according to the second aspect of the present invention includes: a first request from a first processor in a first node to a processor in a second node; The second request from the second processor to the processor in the third node is received at the same time, and the first priority and the second priority according to the request source of the first request and the second request Calculating a degree, determining whether to output the first request or the second request based on the first priority and the second priority, and selecting the determined request To the requested node.

本発明の第3の態様にかかるノード間通信システムは、複数のノードと接続され、複数のプロセッサと、当該複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じた優先度を算出する優先度算出手段と、前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定する決定手段と、前記決定されたリクエストを選択して前記要求先のノードへ出力する選択手段と、を備えるノードコントローラとを有するノードを含む。   The inter-node communication system according to the third aspect of the present invention is connected to a plurality of nodes, receives a plurality of processors, and a plurality of requests from the plurality of processors to a processor belonging to any of the plurality of nodes, For each of the plurality of requests, priority calculation means for calculating a priority according to the request destination node of the request, and a request to be output among the plurality of received requests based on the calculated priority A node controller comprising: a determining unit that determines a request; and a selecting unit that selects the determined request and outputs the selected request to the requested node.

本発明により、ノード間通信により他のノードへのアクセスする際の複数のリクエスト全体の処理性能を向上するためのノードコントローラ、リクエストの出力順序決定方法及びノード間通信システムを提供することができる。   According to the present invention, it is possible to provide a node controller, a request output order determination method, and an inter-node communication system for improving overall processing performance of a plurality of requests when accessing other nodes by inter-node communication.

本発明の実施の形態1にかかるノード間通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system between nodes concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるアクセス調停方法の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the access arbitration method concerning Embodiment 1 of this invention. 本発明の実施の形態2にかかるコンピュータシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the computer system concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるノードコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the node controller concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるテーブルの例を示す図である。It is a figure which shows the example of the table concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるアクセス調停方法の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the access arbitration method concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるセレクト係数の再設定処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the reset process of the selection coefficient concerning Embodiment 2 of this invention. ラウンドロビンを適用した場合のリクエストの処理速度を説明するための図である。It is a figure for demonstrating the processing speed of a request at the time of applying a round robin. 本発明の実施の形態2にかかるリクエストの処理速度を説明するための図である。It is a figure for demonstrating the processing speed of the request concerning Embodiment 2 of this invention.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.

<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるノード間通信システム100の構成を示すブロック図である。ノード間通信システム100は、少なくともノード1と、ノード2と、ノード3とを備える。ノード1乃至3は、それぞれ、複数のプロセッサを搭載した汎用的なコンピュータ装置である。そして、ノード1乃至3は、それぞれ信号線等により接続されている。これにより、各ノードに含まれるプロセッサが他のノードに含まれるプロセッサに対する処理要求を送受信することができる。
<Embodiment 1 of the Invention>
FIG. 1 is a block diagram showing a configuration of an inter-node communication system 100 according to the first exemplary embodiment of the present invention. The inter-node communication system 100 includes at least a node 1, a node 2, and a node 3. Each of the nodes 1 to 3 is a general-purpose computer device equipped with a plurality of processors. The nodes 1 to 3 are connected by signal lines or the like. Thereby, the processor contained in each node can transmit / receive the processing request with respect to the processor contained in another node.

ノード1は、プロセッサ11a、11b、・・・及び11nと、ノードコントローラ12とを備える。プロセッサ11a、11b、・・・及び11nは、例えば、CPU(Central Processing Unit)である。また、各プロセッサは、相互に接続されている。そして、各プロセッサは、それぞれ独立して所定の処理を行う。その際、各プロセッサは、必要に応じてプロセッサ間通信を行う。例えば、プロセッサ11aは、プロセッサ11bに対して処理要求すなわちリクエスト)を送信する。そして、プロセッサ11bは、当該リクエストに応じた処理を実行し、リクエスト結果をプロセッサ11aへ返信する。その後、プロセッサ11aは、プロセッサ11bから受信したリクエスト結果に応じて後続の処理を実行する。   The node 1 includes processors 11a, 11b,... And 11n, and a node controller 12. The processors 11a, 11b,... And 11n are, for example, CPUs (Central Processing Units). Each processor is connected to each other. Each processor performs a predetermined process independently. At that time, each processor performs inter-processor communication as necessary. For example, the processor 11a transmits a processing request (request) to the processor 11b. Then, the processor 11b executes processing according to the request and returns a request result to the processor 11a. Thereafter, the processor 11a executes subsequent processing in accordance with the request result received from the processor 11b.

また、プロセッサ11a、11b、・・・及び11nは、ノードコントローラ12とそれぞれ接続されている。そして、各プロセッサは、リクエストを他のノードつまりノード2または3のいずれかに属するプロセッサへ送信する場合がある。その場合、各プロセッサは、ノードコントローラ12を介して他のノードに属するプロセッサとの通信を行う。   The processors 11a, 11b,..., And 11n are connected to the node controller 12, respectively. Each processor may transmit the request to another node, that is, a processor belonging to either node 2 or 3. In that case, each processor communicates with a processor belonging to another node via the node controller 12.

ノードコントローラ12は、各プロセッサからノード2又は3を要求先とした複数のリクエストを受け付け、受け付けた複数のリクエストの出力を制御する。また、ノードコントローラ12は、ノード2又は3からリクエストを受け付け、プロセッサ11a、11b、・・・及び11nのいずれかへ当該リクエストを出力する。   The node controller 12 receives a plurality of requests for which the node 2 or 3 is a request destination from each processor, and controls output of the received plurality of requests. Further, the node controller 12 receives a request from the node 2 or 3, and outputs the request to any of the processors 11a, 11b,.

ノードコントローラ12は、優先度算出回路13と、決定回路14と、選択回路15とを備える。優先度算出回路13は、自己のノード内の複数のプロセッサから複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じた優先度を算出する。決定回路14は、算出された優先度に基づいて、受け付けた複数のリクエストのうち出力すべきリクエストを決定する。選択回路15は、決定されたリクエストを選択して前記要求先のノードへ出力する。尚、実際には、ノードコントローラ12は、選択回路15により出力されたリクエストについて、所定の処理を行った上でノード1の外部へ出力するが、当該所定の処理は、一般的なものであるため、詳細な説明を省略する。   The node controller 12 includes a priority calculation circuit 13, a determination circuit 14, and a selection circuit 15. The priority calculation circuit 13 receives a plurality of requests from a plurality of processors in its own node to a processor belonging to any of the plurality of nodes, and for each of the plurality of requests, it corresponds to a request destination node of the request. Calculate the priority. The determination circuit 14 determines a request to be output from among the plurality of received requests based on the calculated priority. The selection circuit 15 selects the determined request and outputs it to the requested node. In practice, the node controller 12 performs a predetermined process on the request output from the selection circuit 15 and then outputs the request to the outside of the node 1. The predetermined process is general. Therefore, detailed description is omitted.

ノード2は、複数のプロセッサ21と、ノードコントローラ22とを備える。また、ノード3は、複数のプロセッサ31と、ノードコントローラ32とを備える。尚、ノード2及び3は、ノード1と同等の機能を有するため、詳細な説明を省略する。つまり、プロセッサ21及び31は、プロセッサ11a等と同等である。また、ノードコントローラ22及び32は、ノードコントローラ12と同等である。   The node 2 includes a plurality of processors 21 and a node controller 22. The node 3 includes a plurality of processors 31 and a node controller 32. Since the nodes 2 and 3 have the same function as the node 1, detailed description thereof is omitted. That is, the processors 21 and 31 are equivalent to the processor 11a and the like. The node controllers 22 and 32 are equivalent to the node controller 12.

尚、ノード1乃至3が搭載するプロセッサの数は、図示したものに限定されない。例えば、ノード1には、プロセッサを1以上搭載していればよい。   Note that the number of processors mounted on the nodes 1 to 3 is not limited to the illustrated one. For example, the node 1 may be equipped with one or more processors.

図2は、本発明の実施の形態1にかかるアクセス調停方法の処理の流れを示すフローチャートである。まず、ノードコントローラ12は、プロセッサ11a〜11nから複数のリクエストを受け付ける(S11)。次に、優先度算出回路13は、各リクエストの優先度を算出する(S12)。そして、決定回路14は、優先度に基づいて出力すべきリクエストを決定する(S13)。その後、選択回路15は、決定されたリクエストを選択して出力する(S14)。   FIG. 2 is a flowchart showing a process flow of the access arbitration method according to the first exemplary embodiment of the present invention. First, the node controller 12 receives a plurality of requests from the processors 11a to 11n (S11). Next, the priority calculation circuit 13 calculates the priority of each request (S12). Then, the determination circuit 14 determines a request to be output based on the priority (S13). Thereafter, the selection circuit 15 selects and outputs the determined request (S14).

また、本発明の実施の形態1にかかるアクセス調停方法は、ノード間通信システム100が3つのノードを有する場合に、少なくとも以下のように言い換えることができる。まず、第1のノード内の第1のプロセッサから第2のノード内のプロセッサへの第1のリクエストと、当該第1のノード内の第2のプロセッサから第3のノード内のプロセッサへの第2のリクエストとを同時に受け付ける。次に、第1のリクエスト及び第2のリクエストの要求元に応じた第1の優先度と第2の優先度を算出する。そして、第1の優先度と第2の優先度に基づいて、第1のリクエスト及び第2のリクエストのいずれを出力すべきかを決定する。その後、決定されたリクエストを選択して前記要求先のノードへ出力することを特徴とするリクエストの出力順序決定方法。   In addition, the access arbitration method according to the first exemplary embodiment of the present invention can be paraphrased as follows at least when the inter-node communication system 100 includes three nodes. First, a first request from a first processor in a first node to a processor in a second node, and a second request from a second processor in the first node to a processor in a third node. 2 requests are accepted at the same time. Next, the first priority and the second priority corresponding to the request sources of the first request and the second request are calculated. Then, based on the first priority and the second priority, it is determined which of the first request and the second request should be output. Then, a request output order determination method, wherein the determined request is selected and output to the request destination node.

例えば、複数のリクエストの要求先のノードが異なる場合に、優先度を単にリクエストの種別により定めるのではなく、要求先のノードに応じて算出する。これにより、ノードの配置や接続状態によって、リクエストの送信時間に差が出る場合等を考慮して優先度を求めることができる。そのため、本発明の実施の形態1により、ノードの位置関係が無視された場合に比べて、ノード間通信により他のノードへのアクセスする際の複数のリクエスト全体の処理性能を向上することができる。   For example, when the request destination nodes of a plurality of requests are different, the priority is calculated not according to the request type but according to the request destination node. Accordingly, the priority can be obtained in consideration of a case where a difference occurs in the request transmission time depending on the arrangement and connection state of the nodes. Therefore, according to the first embodiment of the present invention, it is possible to improve the overall processing performance of a plurality of requests when accessing other nodes by inter-node communication, compared to the case where the positional relationship of the nodes is ignored. .

<発明の実施の形態2>
図3は、本発明の実施の形態2にかかるコンピュータシステム100aの構成を示すブロック図である。コンピュータシステム100aは、上述した実施の形態1にかかるノード間通信システム100の一実施例である。コンピュータシステム100aは、ノード101乃至108を備える。尚、コンピュータシステム100aが備えるノード数はこれに限定されない。
<Embodiment 2 of the Invention>
FIG. 3 is a block diagram showing a configuration of a computer system 100a according to the second embodiment of the present invention. The computer system 100a is an example of the inter-node communication system 100 according to the first embodiment described above. The computer system 100a includes nodes 101 to 108. Note that the number of nodes included in the computer system 100a is not limited to this.

ノード101は、ノードコントローラ111と、プロセッサ112乃至115とを備える。すなわち、ノードコントローラ111と、プロセッサ112乃至115とを一つの単位とし、それらを纏めたものをノード101と呼ぶ。ノードコントローラ111と、プロセッサ112乃至115とは、それぞれ一対一で信号線により接続されている。同様に、ノード102は、ノードコントローラ121と、プロセッサ122乃至125とを備える。そして、ノードコントローラ121と、プロセッサ122乃至125とは、それぞれ一対一で信号線により接続されている。   The node 101 includes a node controller 111 and processors 112 to 115. That is, the node controller 111 and the processors 112 to 115 are regarded as one unit, and a combination of them is called a node 101. The node controller 111 and the processors 112 to 115 are connected one by one with signal lines. Similarly, the node 102 includes a node controller 121 and processors 122 to 125. The node controller 121 and the processors 122 to 125 are connected one by one with signal lines.

その他、ノード103、104、105、106、107及び108は、それぞれノードコントローラ131、141、151、161、171及び181を備え、プロセッサも複数備えているが、図示を省略する。   In addition, the nodes 103, 104, 105, 106, 107, and 108 include node controllers 131, 141, 151, 161, 171 and 181 and a plurality of processors, but they are not shown.

ここで、図3にかかるノード間の接続関係ついて以下に説明する。図3では、各ノードは、隣接するノード間のノードコントローラ同士が信号線で一対一に接続されている。これにより、ノード間のアクセスを実現する。   Here, the connection relationship between the nodes according to FIG. 3 will be described below. In FIG. 3, in each node, node controllers between adjacent nodes are connected one-to-one by signal lines. Thereby, access between nodes is realized.

具体的には、ノードコントローラ111は、隣接するノードコントローラ121、131、141、171及び181と、信号線305、306、307、301及び302を介して一対一に接続されている。同様に、ノードコントローラ121は、隣接するノードコントローラ111、131、141、171及び181と、信号線305、308、309、303及び304を介して一対一に接続されている。ノードコントローラ131は、隣接するノードコントローラ111、121、141、151及び161と、信号線306、308、310、311及び312を介して一対一に接続されている。ノードコントローラ141は、隣接するノードコントローラ111、121、131、151及び161と、信号線307、308、310、313及び314を介して一対一に接続されている。ノードコントローラ151は、隣接するノードコントローラ131、141及び161と、信号線311、313及び315を介して一対一に接続されている。ノードコントローラ161は、隣接するノードコントローラ131、141及び151と、信号線312、314及び315を介して一対一に接続されている。ノードコントローラ171は、隣接するノードコントローラ111、121及び181と、信号線301、303及び316を介して一対一に接続されている。ノードコントローラ181は、隣接するノードコントローラ111、121及び171と、信号線302、304及び316を介して一対一に接続されている。その他、ノード105、106、107及び108の接続関係は、図示及び説明を省略する。   Specifically, the node controller 111 is connected to adjacent node controllers 121, 131, 141, 171 and 181 on a one-to-one basis via signal lines 305, 306, 307, 301 and 302. Similarly, the node controller 121 is connected to the adjacent node controllers 111, 131, 141, 171 and 181 on a one-to-one basis via signal lines 305, 308, 309, 303 and 304. The node controller 131 is connected to the adjacent node controllers 111, 121, 141, 151 and 161 in a one-to-one manner via signal lines 306, 308, 310, 311 and 312. The node controller 141 is connected to the adjacent node controllers 111, 121, 131, 151 and 161 on a one-to-one basis via signal lines 307, 308, 310, 313 and 314. The node controller 151 is connected to the adjacent node controllers 131, 141, and 161 via signal lines 311, 313, and 315 on a one-to-one basis. The node controller 161 is connected to adjacent node controllers 131, 141, and 151 in a one-to-one manner via signal lines 312, 314, and 315. The node controller 171 is connected to the adjacent node controllers 111, 121, and 181 on a one-to-one basis through signal lines 301, 303, and 316. The node controller 181 is connected to the adjacent node controllers 111, 121, and 171 on a one-to-one basis through signal lines 302, 304, and 316. In addition, illustration and description of the connection relationship between the nodes 105, 106, 107, and 108 are omitted.

ノードコントローラ同士が接続されていないものとの間のアクセスは、間に別のノードコントローラを挟んでアクセスする。つまり、図3では、ノード101及び102とノード105及び106とは直接接続されておらず、ノード103又は104を介してノード間通信を行う必要があることを示す。例えば、ノードコントローラ111からノードコントローラ161へアクセスする場合には、ノードコントローラ131を経由し、信号線306及び312を介してアクセスするか、ノードコントローラ141を経由し、信号線307及び314を介してアクセスする。この際のアクセスする経路の決定は、公知の技術を用いることができるため、詳細な説明を省略する。   Access between node controllers that are not connected to each other is performed with another node controller in between. That is, FIG. 3 shows that the nodes 101 and 102 and the nodes 105 and 106 are not directly connected, and it is necessary to perform inter-node communication via the node 103 or 104. For example, when accessing the node controller 161 from the node controller 111, access is made via the node controller 131 via the signal lines 306 and 312 or via the node controller 141 via the signal lines 307 and 314. to access. Since a known technique can be used to determine the route to be accessed at this time, detailed description thereof is omitted.

図4は、本発明の実施の形態2にかかるノードコントローラ111の構成を示すブロック図である。特に、図4では、ノードコントローラ111の構成のうち、プロセッサ112乃至115から受け付けたリクエストを出力する際の出力順序を決定するための構成について示している。そのため、ノードコントローラ111における他の構成については、図示及び説明を省略する。   FIG. 4 is a block diagram showing a configuration of the node controller 111 according to the second exemplary embodiment of the present invention. In particular, FIG. 4 illustrates a configuration for determining an output order when outputting requests received from the processors 112 to 115 among the configurations of the node controller 111. Therefore, illustration and description of other configurations in the node controller 111 are omitted.

ノードコントローラ111は、テーブル201と、リクエスト格納バッファ202乃至205と、セレクト係数格納レジスタ206乃至209と、セレクト係数生成回路210乃至213と、リクエスト保持レジスタ214乃至217と、セレクト係数保持レジスタ218乃至221と、セレクト係数調停回路222乃至225と、リクエスト調停回路226と、セレクタ227とを備える。   The node controller 111 includes a table 201, request storage buffers 202 to 205, select coefficient storage registers 206 to 209, select coefficient generation circuits 210 to 213, request holding registers 214 to 217, and select coefficient holding registers 218 to 221. And select coefficient arbitration circuits 222 to 225, a request arbitration circuit 226, and a selector 227.

テーブル201は、プロセッサから発行されるリクエストに含まれる要求先のノードと、ホップ数とを対応付けて格納する記憶部である。ここで、ホップ数とは、リクエストが自己のノードから要求先のノードへ到達するために経由するノード数である。または、ホップ数は、現在のリクエストの位置からリクエストの送信先までにかかる時間の単位を示すものということもできる。   The table 201 is a storage unit that stores a request destination node included in a request issued from a processor and the number of hops in association with each other. Here, the number of hops is the number of nodes through which the request passes to reach the requested node from its own node. Alternatively, the number of hops may indicate a unit of time taken from the current request position to the request transmission destination.

図5は、本発明の実施の形態2にかかるテーブルの例を示す図である。ここでは、例として、テーブル201に#401〜#405の5つのレコードが予め登録されているものとする。"DIND"は、リクエストに含まれる要求先を2進数で表現した値である。"HOP数"は、上述したホップ数を示す。尚、図5に示した値は、図3に示した各ノードやその接続関係とは対応しないものとする。また、テーブル201に登録された値は、コンピュータシステム100aにおけるノードの接続関係を変更した場合に、適宜、設定変更されるものとする。   FIG. 5 is a diagram illustrating an example of a table according to the second embodiment of the present invention. Here, as an example, it is assumed that five records # 401 to # 405 are registered in the table 201 in advance. “DIND” is a value representing the request destination included in the request in binary. “HOP number” indicates the number of hops described above. Note that the values shown in FIG. 5 do not correspond to the nodes shown in FIG. 3 and their connection relationships. In addition, the values registered in the table 201 are appropriately changed when the node connection relationship in the computer system 100a is changed.

ここで、リクエスト格納バッファ202、リクエスト保持レジスタ214、セレクト係数生成回路210、セレクト係数格納レジスタ206、セレクト係数調停回路222及びセレクト係数保持レジスタ218は、プロセッサ112から出力されるリクエストに対する処理を行う。同様に、リクエスト格納バッファ203、リクエスト保持レジスタ215、セレクト係数生成回路211、セレクト係数格納レジスタ207、セレクト係数調停回路223及びセレクト係数保持レジスタ219は、プロセッサ113から出力されるリクエストに対する処理を行う。リクエスト格納バッファ204、リクエスト保持レジスタ216、セレクト係数生成回路212、セレクト係数格納レジスタ208、セレクト係数調停回路224及びセレクト係数保持レジスタ220は、プロセッサ114から出力されるリクエストに対する処理を行う。リクエスト格納バッファ205、リクエスト保持レジスタ217、セレクト係数生成回路213、セレクト係数格納レジスタ209、セレクト係数調停回路225及びセレクト係数保持レジスタ221は、プロセッサ115から出力されるリクエストに対する処理を行う。そのため、以下では、プロセッサ112に対応する構成を中心に説明し、プロセッサ113乃至115に対応する構成については、適宜、説明を省略する。   Here, the request storage buffer 202, the request holding register 214, the select coefficient generation circuit 210, the select coefficient storage register 206, the select coefficient arbitration circuit 222, and the select coefficient holding register 218 perform processing on the request output from the processor 112. Similarly, the request storage buffer 203, the request holding register 215, the select coefficient generation circuit 211, the select coefficient storage register 207, the select coefficient arbitration circuit 223, and the select coefficient holding register 219 perform processing for the request output from the processor 113. The request storage buffer 204, the request holding register 216, the select coefficient generation circuit 212, the select coefficient storage register 208, the select coefficient arbitration circuit 224, and the select coefficient holding register 220 perform processing on the request output from the processor 114. The request storage buffer 205, request holding register 217, select coefficient generation circuit 213, select coefficient storage register 209, select coefficient arbitration circuit 225, and select coefficient holding register 221 perform processing on the request output from the processor 115. Therefore, in the following description, the configuration corresponding to the processor 112 will be mainly described, and the description corresponding to the configuration corresponding to the processors 113 to 115 will be omitted as appropriate.

リクエスト格納バッファ202は、プロセッサ112から出力されたリクエストを格納するバッファである。リクエスト格納バッファ202は、複数のリクエストを格納することが可能であり、FIFO(First In First Out)方式により後段のリクエスト保持レジスタ214へリクエストを出力する。   The request storage buffer 202 is a buffer that stores a request output from the processor 112. The request storage buffer 202 can store a plurality of requests, and outputs a request to the subsequent request holding register 214 by a FIFO (First In First Out) method.

セレクト係数格納レジスタ206は、後述するリクエスト調停回路226において複数のリクエストを調停する際の優先度を示した値であるセレクト係数を格納するレジスタである。セレクト係数格納レジスタ206に格納できる値の数は、リクエスト格納バッファ202に格納できるリクエスト数と同数である。   The select coefficient storage register 206 is a register that stores a select coefficient that is a value indicating a priority when a request arbitration circuit 226 described later arbitrates a plurality of requests. The number of values that can be stored in the select coefficient storage register 206 is the same as the number of requests that can be stored in the request storage buffer 202.

セレクト係数生成回路210は、プロセッサから出力されたリクエストから要求先を抽出する。そして、セレクト係数生成回路210は、抽出した要求先に対応するホップ数をテーブル201から取得する。その後、セレクト係数生成回路210乃至213は、取得したホップ数をデコードする。つまり、セレクト係数生成回路210は、プロセッサ112から受け付けたリクエストについて、リクエストの要求先のノードに対応付けられたホップ数をテーブル201から取得して、セレクト係数を算出する。   The select coefficient generation circuit 210 extracts a request destination from the request output from the processor. Then, the select coefficient generation circuit 210 acquires the number of hops corresponding to the extracted request destination from the table 201. Thereafter, the select coefficient generation circuits 210 to 213 decode the acquired number of hops. That is, for the request received from the processor 112, the select coefficient generation circuit 210 obtains the number of hops associated with the request destination node from the table 201, and calculates the select coefficient.

そのため、セレクト係数生成回路210乃至213は、プロセッサ112乃至115から外部のノードに属するプロセッサを要求先とした複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じたセレクト係数を算出するといえる。また、セレクト係数生成回路210乃至213は、ホップ数が大きいほどセレクト係数をより高く算出するといえる。   For this reason, the select coefficient generation circuits 210 to 213 accept a plurality of requests from processors 112 to 115 that request processors belonging to external nodes as request destinations, and each of the plurality of requests corresponds to the request destination node of the request. It can be said that the selection coefficient is calculated. Further, it can be said that the select coefficient generation circuits 210 to 213 calculate the select coefficient higher as the number of hops is larger.

また、セレクト係数生成回路210は、リクエスト保持レジスタ214に保持しているリクエストがリクエスト調停回路226における調停により出力すべきリクエストとして決定されなかった場合に、セレクト係数格納レジスタ206に格納されている各セレクト係数に1を加算する。すなわち、セレクト係数生成回路210は、リクエスト格納バッファ202にリクエストが格納されており、かつ、当該リクエストがリクエスト保持レジスタ214へ出力されなかったときに、調停の対象外となったリクエストにおけるセレクト係数についてより優先度が高くなるように更新する。よって、   The select coefficient generation circuit 210 also stores each of the requests stored in the select coefficient storage register 206 when the request held in the request holding register 214 is not determined as a request to be output by arbitration in the request arbitration circuit 226. Add 1 to the select coefficient. That is, the select coefficient generation circuit 210 selects a select coefficient in a request that is not subject to arbitration when the request is stored in the request storage buffer 202 and the request is not output to the request holding register 214. Update to a higher priority. Therefore,

そのため、セレクト係数格納レジスタ206には、セレクト係数生成回路210により算出された値をセレクト係数として格納する。   Therefore, the value calculated by the select coefficient generation circuit 210 is stored in the select coefficient storage register 206 as a select coefficient.

リクエスト保持レジスタ214乃至217は、リクエスト調停回路226における調停の対象となるリクエストを保持するレジスタである。例えば、リクエスト保持レジスタ214には、リクエスト格納バッファ202にリクエストが格納されている順番に格納される。また、リクエスト格納バッファ202にリクエストが格納されていない場合、リクエスト保持レジスタ214には、プロセッサ112から出力されたリクエストがリクエスト格納バッファ202を経由せずに、直接、格納される。   The request holding registers 214 to 217 are registers that hold requests that are subject to arbitration in the request arbitration circuit 226. For example, the request holding register 214 stores the requests in the order in which the requests are stored in the request storage buffer 202. When no request is stored in the request storage buffer 202, the request output from the processor 112 is directly stored in the request holding register 214 without going through the request storage buffer 202.

セレクト係数保持レジスタ218は、リクエスト調停回路226における調停対象のリクエストに対応するセレクト係数を格納するレジスタである。具体的には、セレクト係数保持レジスタ218には、後述するセレクト係数調停回路222において出力されたセレクト係数が格納される。つまり、セレクト係数保持レジスタ218乃至221は、それぞれリクエスト保持レジスタ214乃至217に対応する。   The select coefficient holding register 218 is a register that stores a select coefficient corresponding to a request to be arbitrated in the request arbitration circuit 226. Specifically, the select coefficient output in the select coefficient arbitration circuit 222 described later is stored in the select coefficient holding register 218. That is, the select coefficient holding registers 218 to 221 correspond to the request holding registers 214 to 217, respectively.

セレクト係数調停回路222は、セレクト係数生成回路210、セレクト係数格納レジスタ206及びリクエスト調停回路226から出力される3つのセレクト係数とを調停する。つまり、セレクト係数調停回路222は、上述した3つのセレクト係数のいずれかを選択してセレクト係数保持レジスタ218へ出力する。例えば、リクエスト調停回路226によりリクエスト保持レジスタ214に格納されたリクエストが出力すべきリクエストとして決定された場合、セレクト係数調停回路222は、セレクト係数生成回路210又はセレクト係数格納レジスタ206から出力されるセレクト係数を出力する。このとき、リクエスト格納バッファ202にリクエストが格納済みである場合には、セレクト係数格納レジスタ206から出力されるセレクト係数を選択し、リクエスト格納バッファ202にリクエストが格納されていない場合には、セレクト係数生成回路210から出力されるセレクト係数を選択する。また、リクエスト調停回路226によりリクエスト保持レジスタ214に格納されたリクエストが出力すべきリクエストとして決定されなかった場合、リクエスト調停回路226から出力されるセレクト係数を選択する。   The select coefficient arbitration circuit 222 arbitrates between the select coefficient generation circuit 210, the select coefficient storage register 206, and the three select coefficients output from the request arbitration circuit 226. That is, the select coefficient arbitration circuit 222 selects any one of the above-described three select coefficients and outputs it to the select coefficient holding register 218. For example, when the request arbitration circuit 226 determines that the request stored in the request holding register 214 is to be output, the select coefficient arbitration circuit 222 selects the select coefficient output from the select coefficient generation circuit 210 or the select coefficient storage register 206. Output coefficients. At this time, if the request has been stored in the request storage buffer 202, the select coefficient output from the select coefficient storage register 206 is selected. If the request is not stored in the request storage buffer 202, the select coefficient is selected. A select coefficient output from the generation circuit 210 is selected. If the request arbitration circuit 226 determines that the request stored in the request holding register 214 is not a request to be output, the selection coefficient output from the request arbitration circuit 226 is selected.

リクエスト調停回路226は、セレクト係数保持レジスタ218乃至221に格納されたセレクト係数に基づき調停して、出力すべきリクエストを決定し、セレクタ227へ通知する。すなわち、リクエスト調停回路226は、リクエスト保持レジスタ214乃至217に格納された複数のリクエスト、つまり調停対象のリクエストのうち出力すべきリクエストを決定し、リクエスト保持レジスタ214乃至217のいずれを選択すべきかをセレクタ227に通知する。   The request arbitration circuit 226 arbitrates based on the select coefficient stored in the select coefficient holding registers 218 to 221, determines a request to be output, and notifies the selector 227. That is, the request arbitration circuit 226 determines a request to be output from among a plurality of requests stored in the request holding registers 214 to 217, that is, requests to be arbitrated, and determines which of the request holding registers 214 to 217 should be selected. Notify the selector 227.

また、リクエスト調停回路226は、調停により出力対象から漏れたリクエストに対し、決められたルールを基にセレクト係数を再設定し、セレクト係数調停回路222乃至225へ出力する。つまり、リクエスト調停回路226は、調停対象のリクエストのうち出力すべきリクエストとして決定されなかった未決定リクエストについて、所定の基準に基づいてセレクト係数をより高く更新する。このとき、セレクト係数生成回路210乃至213は、調停対象のリクエストの後に受け付けた後続リクエストについてセレクト係数を算出する。その後、リクエスト調停回路226は、未決定リクエストについて更新されたセレクト係数と、後続リクエストについて算出されたセレクト係数とに基づいて、出力すべきリクエストを決定する。   Further, the request arbitration circuit 226 resets the select coefficient based on the determined rule for the request leaked from the output target due to the arbitration, and outputs it to the select coefficient arbitration circuits 222 to 225. In other words, the request arbitration circuit 226 updates the select coefficient higher for the undecided requests that have not been determined as requests to be output among the requests to be arbitrated based on the predetermined criteria. At this time, the select coefficient generation circuits 210 to 213 calculate select coefficients for subsequent requests received after the request to be arbitrated. Thereafter, the request arbitration circuit 226 determines a request to be output based on the select coefficient updated for the undecided request and the select coefficient calculated for the subsequent request.

さらに、リクエスト調停回路226は、後続リクエストの要求元と未決定リクエストの要求元とが同一のプロセッサである場合、当該後続リクエストを調停の対象外とする。そしてセレクト係数生成回路210乃至213は、対象外とされた後続リクエストのセレクト係数をより高く更新する。   Furthermore, when the request source of the subsequent request and the request source of the undetermined request are the same processor, the request arbitration circuit 226 excludes the subsequent request from the arbitration target. Then, the select coefficient generation circuits 210 to 213 update the select coefficient of the subsequent request that has been excluded from higher.

セレクタ227は、リクエスト調停回路226から通知を受けたリクエストを選択して出力する。つまり、セレクタ227は、リクエスト調停回路226により出力すべきと決定されたリクエストを選択して要求先のノードへ出力する。   The selector 227 selects and outputs the request received from the request arbitration circuit 226. That is, the selector 227 selects a request that has been determined to be output by the request arbitration circuit 226 and outputs the request to the requested node.

ここで、第1のリクエストと第2のリクエストを受け付け、第1のリクエストについて算出されるセレクト係数を第1の優先度、第2のリクエストについて算出されるセレクト係数を第2の優先度とした場合について、本発明の実施の形態2に係る動作を説明する。セレクト係数生成回路は、第1のリクエストにおけるホップ数が、第2のリクエストにおけるホップ数より大きい場合に、第1の優先度を第2の優先度より高く算出する。そして、リクエスト調停回路226は、第1のリクエストを出力すべきリクエストとして決定する。   Here, the first request and the second request are accepted, the select coefficient calculated for the first request is the first priority, and the select coefficient calculated for the second request is the second priority. An operation according to the second embodiment of the present invention will be described. The select coefficient generation circuit calculates the first priority higher than the second priority when the number of hops in the first request is larger than the number of hops in the second request. Then, the request arbitration circuit 226 determines the first request as a request to be output.

図6は、本発明の実施の形態2にかかるアクセス調停方法の流れを説明するためのフローチャートである。まず、前提として、テーブル201には、予め自己のノードから各リクエストの要求先に応じたホップ数を格納済みであるものとする。   FIG. 6 is a flowchart for explaining the flow of the access arbitration method according to the second exemplary embodiment of the present invention. First, as a premise, it is assumed that the number of hops corresponding to the request destination of each request is already stored in the table 201 from its own node.

そして、ノードコントローラ111は、プロセッサ112乃至115からリクエストを受け付け、それぞれをリクエスト格納バッファ202乃至205に格納する(S21)。そして、調停対象となるリクエストは、リクエスト保持レジスタ214乃至217に保持される。次に、セレクト係数生成回路210乃至213は、受け付けたリクエストについて、テーブル201を参照してセレクト係数を算出し、セレクト係数格納レジスタ206乃至209に格納する(S22)。図5の例では、リクエストの要求先のDNIDが"000"の場合、ホップ数は"10"となる(#401)。   Then, the node controller 111 receives requests from the processors 112 to 115 and stores them in the request storage buffers 202 to 205 (S21). The request to be arbitrated is held in the request holding registers 214 to 217. Next, the select coefficient generation circuits 210 to 213 calculate a select coefficient for the received request with reference to the table 201 and store them in the select coefficient storage registers 206 to 209 (S22). In the example of FIG. 5, when the DNID of the request destination of the request is “000”, the hop count is “10” (# 401).

その後、リクエスト調停回路226は、調停する(S23)。つまり、リクエスト調停回路226は、リセレクト係数保持レジスタ218乃至221に格納済みのセレクト係数を比較して、対応するリクエスト保持レジスタ214乃至217に格納済みのリクエストのいずれを出力すべきかを決定する。そして、リクエスト調停回路226は、決定したリクエストをセレクタ227に通知する。   Thereafter, the request arbitration circuit 226 arbitrates (S23). In other words, the request arbitration circuit 226 compares the select coefficients stored in the reselect coefficient holding registers 218 to 221 to determine which of the requests stored in the corresponding request holding registers 214 to 217 should be output. Then, the request arbitration circuit 226 notifies the selector 227 of the determined request.

このとき、リクエスト調停回路226の決定の基準としては、第一にセレクト係数が大きいほうから調停が優先され、第二にセレクト係数が同じ値であった場合にはセレクタの番号が小さい番号から調停していくものとする。但し、リクエスト調停回路226による決定の基準はこれに限定されない。   At this time, as a criterion for determination of the request arbitration circuit 226, arbitration is given priority from the one with the larger select coefficient, and second, when the select coefficient has the same value, the arbitration is started from the smaller selector number. Shall be. However, the criterion for determination by the request arbitration circuit 226 is not limited to this.

その後、セレクタ227は、リクエスト調停回路226により決定されたリクエストを選択して出力する(S24)。また、リクエスト調停回路226は、未決定リクエストのセレクト係数を更新する(S25)。また、この間、ステップS21において、後続のリクエストを受け付けた場合、ステップS22において、セレクト係数生成回路210乃至213は、後続リクエストにおけるセレクト係数を算出する。また、ステップS25と併せて、セレクト係数生成回路210乃至213は、未決定リクエストの後続リクエストのセレクト係数について上述したように更新する。   Thereafter, the selector 227 selects and outputs the request determined by the request arbitration circuit 226 (S24). Further, the request arbitration circuit 226 updates the selection coefficient of the undetermined request (S25). During this time, when a subsequent request is accepted in step S21, in step S22, the select coefficient generation circuits 210 to 213 calculate a select coefficient in the subsequent request. In addition to the step S25, the select coefficient generation circuits 210 to 213 update the select coefficient of the subsequent request of the undetermined request as described above.

そして、ステップS23に戻り、リクエスト調停回路226は、出力されたリクエストの後続リクエストと、未決定リクエストのいずれを出力すべきかを決定する。以後、リクエストの受け付けがなくなるまで繰り返し実行される。   Then, returning to step S23, the request arbitration circuit 226 determines which of the subsequent request of the output request and the undecided request should be output. Thereafter, it is repeatedly executed until the request is not accepted.

ここで、リクエスト調停回路226におけるセレクト係数の再設定方法の一例を説明する。尚、本発明の実施の形態2にかかるセレクト係数の再設定方法はこれに限定されない。リクエスト調停回路226は、未決定リクエストについてセレクト係数を更新する際の所定の基準として、出力すべきリクエストとして決定されたリクエストのセレクト係数と、未決定のリクエストのセレクト係数と、複数のノードのうち自己のノードから要求先のノードへリクエストが到達するために経由するノード数の最大値とを用いる。   Here, an example of a selection coefficient resetting method in the request arbitration circuit 226 will be described. Note that the method of resetting the select coefficient according to the second embodiment of the present invention is not limited to this. The request arbitration circuit 226 uses a request selection coefficient determined as a request to be output, a selection coefficient of an undetermined request, and a plurality of nodes as predetermined criteria when updating the selection coefficient for an undetermined request. The maximum value of the number of nodes through which a request reaches the request destination node from its own node is used.

図7は、本発明の実施の形態2にかかるセレクト係数の再設定処理の流れを説明するためのフローチャートである。まず、リクエスト調停回路226は、決定リクエストと未決定リクエストとのセレクト係数の差分を算出する(S31)。決定リクエストとは、調停により出力すべきと決定されたリクエストである。また、未決定リクエストとは、調停により次点だったリクエストである。   FIG. 7 is a flowchart for explaining a flow of the selection coefficient resetting process according to the second embodiment of the present invention. First, the request arbitration circuit 226 calculates the difference between the selection coefficients of the decision request and the undecided request (S31). A decision request is a request that is determined to be output by arbitration. An undecided request is a request that was the next point due to arbitration.

次に、リクエスト調停回路226は、ステップS31により算出された差分がテーブル201に格納されたホップ数のうち最大値である最大ホップ数の1/2以上であるか否かを判定する(S32)。すなわち、以下の(1)式を満たすか否かを判定する。
差分 ≧ 最大ホップ数×1/2・・・(1)
Next, the request arbitration circuit 226 determines whether or not the difference calculated in step S31 is greater than or equal to ½ of the maximum hop count that is the maximum value among the hop counts stored in the table 201 (S32). . That is, it is determined whether or not the following expression (1) is satisfied.
Difference ≥ Maximum number of hops x 1/2 (1)

ステップS32において、1/2以上であると判定した場合、リクエスト調停回路226は、差分の1/2の値に、調停待ち分の1を足した値を、セレクト係数に足す(S33)。すなわち、以下の(2)式によりセレクト係数を更新する。
セレクト係数= セレクト係数 + 差分×1/2 + 1 ・・・(2)
If it is determined in step S32 that it is equal to or greater than 1/2, the request arbitration circuit 226 adds a value obtained by adding 1 of the arbitration wait time to the value of 1/2 of the difference to the select coefficient (S33). That is, the select coefficient is updated by the following equation (2).
Select coefficient = Select coefficient + Difference x 1/2 + 1 (2)

ステップS32において、1/2未満であると判定した場合、リクエスト調停回路226は、差分に調停待ち分の1を足した値をセレクト係数に足す(S34)。つまり、以下の(3)式によりセレクト係数を更新する。
セレクト係数= セレクト係数 + 差分 + 1 ・・・(3)
If it is determined in step S32 that the value is less than ½, the request arbitration circuit 226 adds a value obtained by adding 1 for the arbitration waiting to the difference to the select coefficient (S34). That is, the select coefficient is updated by the following equation (3).
Select coefficient = Select coefficient + Difference + 1 (3)

尚、セレクト係数の小数点が発生した場合には切り上げて計算する。そして、リクエスト調停回路226は、図7の処理を未決定リクエストの全てについて実行する。   When the decimal point of the select coefficient is generated, it is rounded up and calculated. Then, the request arbitration circuit 226 executes the process of FIG. 7 for all the undecided requests.

以下に、具体例を示して説明する。まず、図5の例では、最大ホップ数が"25"である。そのため、ステップS32の比較に用いる比較値は、最大ホップ数の1/2である"12.5"となる。また、以下では、リクエストA、B、C及びDを対象とする。そして、リクエストA、B、C及びDのDINDは、"010"、"100"、"011"及び"001"であるものとする。そして、リクエストDは、システム内でアクセスネックとなりうるリクエストであるものとする。以下、図6及び図7に沿って説明する。   Below, a specific example is shown and demonstrated. First, in the example of FIG. 5, the maximum number of hops is “25”. Therefore, the comparison value used for the comparison in step S32 is “12.5”, which is ½ of the maximum hop count. In the following, requests A, B, C, and D are targeted. The DINDs of the requests A, B, C, and D are “010”, “100”, “011”, and “001”. The request D is a request that can become an access bottleneck in the system. Hereinafter, a description will be given with reference to FIGS. 6 and 7.

まず、ノードコントローラ111は、プロセッサ112乃至114からリクエストA、B及びCを同時に受け付け、それぞれをリクエスト格納バッファ202乃至204に格納する(S21)。そして、リクエストA、B及びCは、リクエスト保持レジスタ214乃至216に格納されたものとする。つまり、3つのリクエストA、B及びCが同時に調停対象となったものとする。   First, the node controller 111 simultaneously receives requests A, B, and C from the processors 112 to 114 and stores them in the request storage buffers 202 to 204 (S21). The requests A, B, and C are stored in the request holding registers 214 to 216. That is, it is assumed that three requests A, B, and C are subject to arbitration at the same time.

次に、セレクト係数生成回路210乃至212は、リクエストA、B及びCのDINDに基づきテーブル201からホップ数"5"、"5"及び"20"を取得し、セレクタ係数としてセレクト係数格納レジスタ206乃至208に格納する(S22)。併せて、当該セレクト係数がセレクト係数保持レジスタ218乃至220にも格納される。   Next, the select coefficient generation circuits 210 to 212 obtain the hop numbers “5”, “5”, and “20” from the table 201 based on the DINDs of the requests A, B, and C, and select coefficient storage registers 206 as selector coefficients. To 208 (S22). In addition, the select coefficient is also stored in the select coefficient holding registers 218 to 220.

そして、リクエスト調停回路226は、3つのセレクタ係数を比較し、最大値である"20"に対応するリクエストCを出力すべきリクエストとして決定する(S23)。そして、リクエスト調停回路226は、リクエストCが決定した旨をセレクタ227に通知する(S24)。   Then, the request arbitration circuit 226 compares the three selector coefficients, and determines that the request C corresponding to the maximum value “20” is to be output (S23). Then, the request arbitration circuit 226 notifies the selector 227 that the request C has been determined (S24).

併せて、リクエスト調停回路226は、調停の勝者であるリクエストCのセレクト数"20"と調停の次点であるリクエストA及びBのセレクト係数"5"との差分"15"を算出する(S31)。そして、リクエスト調停回路226は、差分"15"と上述した比較値"12.5"とを比較する(S32)。ここでは、差分"15"が比較値"12.5"以上であるため、リクエスト調停回路226は、リクエストA及びBのセレクト係数"5"に、差分"15"の1/2である"8"と"1"とを加算してセレクト係数"14"を算出(S33)し、セレクト係数調停回路222及び223へ出力する。そのため、セレクト係数保持レジスタ218及び219には、それぞれ"14"が格納される。   At the same time, the request arbitration circuit 226 calculates the difference “15” between the selection number “20” of the request C that is the arbitration winner and the selection coefficient “5” of the requests A and B that are the next points of the arbitration (S31). ). Then, the request arbitration circuit 226 compares the difference “15” with the above-described comparison value “12.5” (S32). Here, since the difference “15” is equal to or greater than the comparison value “12.5”, the request arbitration circuit 226 adds “8” that is ½ of the difference “15” to the select coefficient “5” of the requests A and B. The selection coefficient “14” is calculated by adding “1” and “1” (S33), and is output to the selection coefficient arbitration circuits 222 and 223. Therefore, “14” is stored in the select coefficient holding registers 218 and 219, respectively.

ここで、上述のステップS21以後に、ノードコントローラ111は、プロセッサ115から後続リクエストとしてリクエストDを受け付けたものとする(S21)。そのため、ノードコントローラ111は、リクエストDをリクエスト格納バッファ205、続いて、リクエスト保持レジスタ217に格納する。また、セレクト係数生成回路213は、リクエストDのDINDに基づきテーブル201からホップ数"25"を取得し、セレクタ係数としてセレクト係数格納レジスタ209に格納する(S22)。併せて、当該セレクト係数がセレクト係数保持レジスタ221にも格納される。   Here, it is assumed that the node controller 111 receives the request D as a subsequent request from the processor 115 after step S21 described above (S21). Therefore, the node controller 111 stores the request D in the request storage buffer 205 and then in the request holding register 217. The select coefficient generation circuit 213 acquires the hop count “25” from the table 201 based on the DIND of the request D, and stores it in the select coefficient storage register 209 as a selector coefficient (S22). In addition, the select coefficient is also stored in the select coefficient holding register 221.

続いて、ステップS23により次の調停が行われる。このとき、調停対象のリクエストは、リクエスト保持レジスタ214、215及び217に格納されたリクエストA、B及びDとなる。そのため、リクエスト調停回路226は、セレクト係数保持レジスタ218、219及び221に格納されたセレクト係数に基づいて決定を行う。   Subsequently, the next arbitration is performed in step S23. At this time, arbitration target requests are requests A, B, and D stored in the request holding registers 214, 215, and 217. Therefore, the request arbitration circuit 226 makes a determination based on the select coefficients stored in the select coefficient holding registers 218, 219, and 221.

ここでは、リクエストA、B及びDのセレクト係数が"14"、"14"、"25"であるため、リクエスト調停回路226は、最大値である"25"に対応するリクエストDを出力すべきリクエストとして決定する(S23)。そして、リクエスト調停回路226は、リクエストDが決定した旨をセレクタ227に通知する(S24)。   Here, since the selection coefficients of the requests A, B and D are “14”, “14” and “25”, the request arbitration circuit 226 should output the request D corresponding to the maximum value “25”. The request is determined (S23). Then, the request arbitration circuit 226 notifies the selector 227 that the request D has been determined (S24).

また、併せて、リクエスト調停回路226は、調停の勝者であるリクエストDのセレクト数"25"と調停の次点であるリクエストA及びBのセレクト係数"14"との差分"11"を算出する(S31)。そして、リクエスト調停回路226は、差分"11"と上述した比較値"12.5"とを比較する(S32)。ここでは、差分"11"が比較値"12.5"未満であるため、リクエスト調停回路226は、リクエストA及びBのセレクト係数"14"に、差分"11"と"1"とを加算してセレクト係数"26"を算出(S34)し、セレクト係数調停回路222及び223へ出力する。そのため、セレクト係数保持レジスタ218及び219には、それぞれ"26"が格納される。   In addition, the request arbitration circuit 226 calculates a difference “11” between the selection number “25” of the request D that is the winner of the arbitration and the selection coefficients “14” of the requests A and B that are the next points of the arbitration. (S31). Then, the request arbitration circuit 226 compares the difference “11” with the above-described comparison value “12.5” (S32). Here, since the difference “11” is less than the comparison value “12.5”, the request arbitration circuit 226 adds the differences “11” and “1” to the select coefficients “14” of the requests A and B. The select coefficient “26” is calculated (S34) and output to the select coefficient arbitration circuits 222 and 223. Therefore, “26” is stored in the select coefficient holding registers 218 and 219, respectively.

その後、ステップS23により3回目の調停が行われる。このとき、調停対象のリクエストは、リクエスト保持レジスタ214及び215に格納されたリクエストA及びBとなる。そのため、リクエスト調停回路226は、セレクト係数保持レジスタ218及び219に格納されたセレクト係数に基づいて決定を行う。   Thereafter, the third arbitration is performed in step S23. At this time, the arbitration target requests are requests A and B stored in the request holding registers 214 and 215. Therefore, the request arbitration circuit 226 makes a determination based on the select coefficients stored in the select coefficient holding registers 218 and 219.

ここでは、リクエストA及びBのセレクト係数が"26"、"26"であるため、リクエスト調停回路226は、セレクタの番号が小さい番号であるリクエストAを出力すべきリクエストとして決定する(S23)。そして、リクエスト調停回路226は、リクエストAが決定した旨をセレクタ227に通知する(S24)。   Here, since the selection coefficients of the requests A and B are “26” and “26”, the request arbitration circuit 226 determines that the request A having a smaller selector number is to be output (S23). Then, the request arbitration circuit 226 notifies the selector 227 that the request A has been determined (S24).

また、併せて、リクエスト調停回路226は、調停の勝者であるリクエストAのセレクト数"26"と調停の次点であるリクエストBのセレクト係数"26"との差分"0"を算出する(S31)。そして、リクエスト調停回路226は、差分"0"と上述した比較値"12.5"とを比較する(S32)。ここでは、差分"0"が比較値"12.5"未満であるため、リクエスト調停回路226は、リクエストBのセレクト係数"26"に、差分"0"と"1"とを加算してセレクト係数"27"を算出(S34)し、セレクト係数調停回路223へ出力する。そのため、セレクト係数保持レジスタ219には、"27"が格納される。   In addition, the request arbitration circuit 226 calculates a difference “0” between the selection number “26” of the request A that is the winner of the arbitration and the selection coefficient “26” of the request B that is the next point of the arbitration (S31). ). Then, the request arbitration circuit 226 compares the difference “0” with the above-described comparison value “12.5” (S32). Here, since the difference “0” is less than the comparison value “12.5”, the request arbitration circuit 226 adds the differences “0” and “1” to the select coefficient “26” of the request B and selects it. The coefficient “27” is calculated (S 34) and output to the select coefficient arbitration circuit 223. Therefore, “27” is stored in the select coefficient holding register 219.

その後、ステップS23により4回目の調停が行われる。このとき、調停対象のリクエストは、リクエスト保持レジスタ215に格納されたリクエストBのみとなる。そのため、リクエスト調停回路226は、単独での調停であるため、リクエストBを出力すべきリクエストとして決定する(S23)。そして、リクエスト調停回路226は、リクエストBが決定した旨をセレクタ227に通知する(S24)。   Thereafter, a fourth arbitration is performed in step S23. At this time, the request to be arbitrated is only the request B stored in the request holding register 215. Therefore, the request arbitration circuit 226 determines the request B as a request to be output because it is a single arbitration (S23). Then, the request arbitration circuit 226 notifies the selector 227 that the request B has been determined (S24).

続いて、本発明の実施の形態2により解決される課題及び効果について説明する。外部のノードへリクエストを送信する場合の調停方法としては、課題で上述した優先度を付ける方法の他、ラウンドロビンを用いることもできる。しかし、これらの方法を使用した場合、リクエストが処理される送信先までのホップ数に関係なく、調停が行われる。そのため、セレクタの調停タイミングによってはホップ数の大きいリクエストが後回しにされてしまう。よって、リクエストの処理を開始するまでの時間がかかってしまうことがあった。その際、あるメモリへのアクセスに対し、最初に処理されるべきホップ数が大きいリクエストがネックとなってしまう。それに伴い、処理速度が落ち、性能が低下してしまうことがあった。   Subsequently, problems and effects solved by the second embodiment of the present invention will be described. As an arbitration method in the case of transmitting a request to an external node, round robin can be used in addition to the method of assigning the priority described above in the problem. However, when these methods are used, arbitration is performed regardless of the number of hops to the transmission destination where the request is processed. Therefore, depending on the arbitration timing of the selector, a request with a large number of hops is postponed. Therefore, it may take time to start processing the request. At that time, a request with a large number of hops to be processed first becomes a bottleneck for accessing a certain memory. Along with this, the processing speed is lowered, and the performance may be lowered.

ここで、ラウンドロビンによる調停方式を適用した場合について説明する。上述した例と同様に、3つのリクエストA、B及びCが同時に調停に参加し、次の調停時にはリクエストDが調停に参加するような場合を想定するものとする。また、リクエストA、B、C及びDのDNIDも同様に、"010"、"100"、"011"及び"001"であるものとし、その際のホップ数が図5に示した値であるものとする。また、システム内でアクセスネックとなりうるリクエストをリクエストDとする。   Here, the case where the arbitration method by round robin is applied will be described. As in the example described above, it is assumed that three requests A, B, and C participate in arbitration at the same time, and request D participates in arbitration at the next arbitration. Similarly, the DNIDs of the requests A, B, C, and D are also “010”, “100”, “011”, and “001”, and the number of hops at that time is the value shown in FIG. Shall. A request that can become an access bottleneck in the system is referred to as request D.

図8は、ラウンドロビンを適用した場合のリクエストの処理速度を説明するための図である。まず、現在の優先権が最も小さい番号にある場合、ラウンドロビンを適用して調停による勝者を決める際は、当該小さい番号から調停権を与えられる。そのため、図8に示すように、調停順は、リクエストA、リクエストB、リクエストC、リクエストDの順になる。そして、調停順に従って、各リクエストが要求先のノードへ出力される。その際、経過する時間がリクエストごとの網掛け部分となる。つまり、リクエストAが時刻1から時刻5まで経過した後、目的の要求先に到達し、要求先にてリクエストAの処理が開始される。同様に、リクエストB及びCが出力され、最後に時刻4にて、リクエストDが出力される。そのため、システム内でのアクセスネックとなりうるリクエストDは、セレクタ227がリクエストを受け取ってから、最速でも28ホップ後に要求先に到達することになる。   FIG. 8 is a diagram for explaining the request processing speed when round robin is applied. First, when the current priority is at the lowest number, when applying a round robin to determine the winner by arbitration, the arbitration right is given from the lower number. Therefore, as shown in FIG. 8, the arbitration order is the order of request A, request B, request C, and request D. Each request is output to the requested node according to the arbitration order. At that time, the elapsed time is shaded for each request. That is, after the request A has elapsed from time 1 to time 5, the target request destination is reached, and processing of the request A is started at the request destination. Similarly, requests B and C are output, and finally, request D is output at time 4. Therefore, the request D that can be an access bottleneck in the system reaches the request destination after 28 hops at the fastest after the selector 227 receives the request.

また、単位時間当たりのリクエストの送信処理数の最大値は"4"であるが、最大値で送信処理されている時間は、2ホップ間のみである。つまり、2ホップ間において、ノード間通信が最も効率的に利用されていることとなる。そのため、処理が横長になっており、全てのリクエストについて、要求先で処理が開始されるまでに28ホップかかっている。   Further, the maximum value of the number of request transmission processes per unit time is “4”, but the time during which transmission processing is performed at the maximum value is only between two hops. That is, communication between nodes is most efficiently used between two hops. Therefore, the processing is horizontally long, and it takes 28 hops for all requests to start processing at the request destination.

ここで、近年の複数のノードを用いた大規模なコンピュータシステムでは、さらなるリクエストの処理性能の向上が求められている。そこで、本発明の実施の形態2により、さらなるリクエストの処理性能の向上を実現することを説明する。   Here, in a large-scale computer system using a plurality of nodes in recent years, further improvement in request processing performance is required. Thus, it will be described that the request processing performance is further improved according to the second embodiment of the present invention.

図9は、本発明の実施の形態2にかかるリクエストの処理速度を説明するための図である。本発明の実施の形態2において、調停により勝者を決定すると、その調停順は、リクエストC、リクエストD、リクエストA、リクエストBとなる。ここで、システム内でのアクセスネックとなりうるリクエストDは、セレクタ227がリクエストを受け取ってから最速で25ホップ後に要求先が受信することになる。   FIG. 9 is a diagram for explaining the request processing speed according to the second embodiment of the present invention. In the second embodiment of the present invention, when a winner is determined by arbitration, the arbitration order is request C, request D, request A, and request B. Here, the request D that can be an access bottleneck in the system is received by the request destination 25 hops after the selector 227 receives the request.

また、単位時間当たりのリクエストの送信処理数の最大値は"4"であるが、最大値で送信処理されている時間は、4ホップ間である。そのため、ラウンドロビンで処理しているときよりも送信処理期間が短くなっており、全てのリクエストについて、要求先で処理が開始されるまでに26ホップとなる。   Further, the maximum value of the number of request transmission processes per unit time is “4”, but the time during which transmission processing is performed at the maximum value is between four hops. For this reason, the transmission processing period is shorter than when round robin processing is performed, and all requests have 26 hops before processing is started at the request destination.

以上のことから、本発明の実施の形態2における効果を説明する。まず、同一メモリなどへのアクセスが多発したときに、全体的な性能が一番遅いリクエストに引っ張られることがある。そこで、本発明の実施の形態2では、ホップ数の大きいリクエストを先に処理することで、全体的なリクエストの処理速度が向上できる。   From the above, the effect in the second embodiment of the present invention will be described. First, when access to the same memory or the like occurs frequently, a request with the slowest overall performance may be pulled. Therefore, in the second embodiment of the present invention, by processing a request with a large number of hops first, the overall request processing speed can be improved.

また、セレクタからリクエストの要求先までの到達にかかる時間が長いリクエストを優先させることで、システム全体における単位時間あたりのリクエストの送信処理数が増大し、全リクエストの処理時間が平均、短縮化できる。   In addition, by giving priority to requests that take a long time to reach the request destination from the selector, the number of request transmission processes per unit time in the entire system increases, and the processing time for all requests can be shortened on average. .

<その他の発明の実施の形態>
本発明の実施の形態2は、大規模なシステムにおいて、あるセレクタにおけるホップ数の大きなリクエストの調停を優先させることで、全体的な処理速度の向上を図ることができる。
また、本発明の実施の形態2により、ノードコントローラ111に、セレクタ227からリクエストの要求先までのホップ数を基に、優先度を決定する機構であるリクエスト調停回路226を設けた。そして、ホップ数が大きいリクエストほど調停を優先的に調停させることで、アクセスネックとなる可能性のあるホップ数の大きいリクエストを先に処理することで局所的な性能低下を抑えることができる。
<Other embodiments of the invention>
Embodiment 2 of the present invention can improve the overall processing speed in a large-scale system by prioritizing arbitration of a request with a large number of hops in a selector.
Further, according to the second embodiment of the present invention, the request arbitration circuit 226 that is a mechanism for determining the priority based on the number of hops from the selector 227 to the request destination of the request is provided in the node controller 111. Further, by arbitrating arbitration preferentially for requests with a larger hop count, local performance degradation can be suppressed by processing a request with a larger hop count that may become an access neck first.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.

(付記1) 複数のノードと接続され、
自己のノード内の複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じた優先度を算出する優先度算出回路と、
前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定する決定回路と、
前記決定されたリクエストを選択して前記要求先のノードへ出力する選択回路と、
を備えるノードコントローラ。
(Appendix 1) Connected to multiple nodes,
Priority that receives a plurality of requests from a plurality of processors in its own node to a processor belonging to any of the plurality of nodes, and calculates a priority according to the request destination node for each of the plurality of requests. A degree calculation circuit;
A determination circuit for determining a request to be output among the plurality of received requests based on the calculated priority;
A selection circuit that selects the determined request and outputs the selected request to the requested node;
A node controller comprising:

(付記2) 前記優先度算出回路は、各リクエストが自己のノードから要求先のノードへ到達するために経由するノード数であるホップ数が大きいほど、前記優先度をより高く算出することを特徴とする付記1に記載のノードコントローラ。   (Supplementary Note 2) The priority calculation circuit calculates the priority higher as the number of hops, which is the number of nodes through which each request passes from its own node to reach the request destination node, is larger. The node controller according to Supplementary Note 1.

(付記3) 前記リクエストの要求先のノードと、前記ホップ数とを対応付けて格納する記憶部をさらに備え、
前記優先度算出回路は、前記受け付けた複数のリクエストのそれぞれについて、リクエストの要求先のノードに対応付けられた前記ホップ数を前記記憶部から取得して、前記優先度を算出する
ことを特徴とする付記2に記載のノードコントローラ。
(Supplementary Note 3) A storage unit that stores the request destination node of the request and the number of hops in association with each other,
The priority calculation circuit, for each of the plurality of received requests, acquires the number of hops associated with a request destination node of the request from the storage unit, and calculates the priority. The node controller according to appendix 2.

(付記4) 前記決定回路は、前記受け付けた複数のリクエストのうち、前記出力すべきリクエストとして決定されなかった未決定リクエストについて、所定の基準に基づいて前記優先度をより高く更新し、
前記優先度算出回路は、前記複数のリクエストを受け付けた後に受け付けた後続リクエストについて前記優先度を算出し、
前記決定回路は、前記未決定リクエストの前記更新された優先度と、前記後続リクエストの前記算出された優先度とに基づいて、前記出力すべきリクエストを決定する
ことを特徴とする付記1乃至3のいずれか1項に記載のノードコントローラ。
(Additional remark 4) The said determination circuit updates the said priority higher based on a predetermined | prescribed reference | standard about the undecided request which was not determined as the said request which should be output among the said some received requests,
The priority calculation circuit calculates the priority for subsequent requests received after receiving the plurality of requests,
The determination circuit determines the request to be output based on the updated priority of the undecided request and the calculated priority of the subsequent request. The node controller according to any one of the above.

(付記5) 前記決定回路は、前記未決定リクエストについて前記優先度を更新する際の前記所定の基準として、前記出力すべきリクエストとして決定されたリクエストの優先度と、前記未決定のリクエストの優先度と、前記複数のノードのうち自己のノードから要求先のノードへリクエストが到達するために経由するノード数の最大値とを用いることを特徴とする付記4に記載のノードコントローラ。   (Additional remark 5) The said determination circuit, as the said predetermined reference | standard at the time of updating the said priority regarding the said undetermined request, the priority of the request determined as the said request which should be output, and the priority of the said undetermined request The node controller according to appendix 4, wherein the node controller uses a degree and a maximum value of the number of nodes through which a request reaches a request destination node from the self node among the plurality of nodes.

(付記6) 前記決定回路は、前記後続リクエストの要求元と前記未決定リクエストの要求元とが同一のプロセッサである場合、当該後続リクエストを前記決定の対象外とし、
前記優先度算出回路は、前記対象外とされた後続リクエストの前記優先度をより高く更新する
ことを特徴とする付記4又は5に記載のノードコントローラ。
(Supplementary Note 6) When the request source of the subsequent request and the request source of the undecided request are the same processor, the determination circuit excludes the subsequent request from the determination target.
The node controller according to appendix 4 or 5, wherein the priority calculation circuit updates the priority of the subsequent request that is excluded from the target higher.

(付記7) 第1のノード内の第1のプロセッサから第2のノード内のプロセッサへの第1のリクエストと、当該第1のノード内の第2のプロセッサから第3のノード内のプロセッサへの第2のリクエストとを同時に受け付け、
前記第1のリクエスト及び前記第2のリクエストの要求元に応じた第1の優先度と第2の優先度を算出し、
前記第1の優先度と前記第2の優先度に基づいて、前記第1のリクエスト及び前記第2のリクエストのいずれを出力すべきかを決定し、
前記決定されたリクエストを選択して前記要求先のノードへ出力する
ことを特徴とするリクエストの出力順序決定方法。
(Supplementary note 7) A first request from a first processor in a first node to a processor in a second node, and a second processor in the first node to a processor in a third node Simultaneously with the second request for
Calculating a first priority and a second priority according to a request source of the first request and the second request;
Determining whether to output the first request or the second request based on the first priority and the second priority;
A request output order determination method comprising: selecting the determined requests and outputting the selected requests to the request destination node.

(付記8) 前記第1のリクエストが前記第2のノードへ到達するために経由するノード数であるホップ数が、前記第2のリクエストが前記第3のノードへ到達するために経由するノード数より大きい場合、前記第1の優先度を前記第2の優先度より高く算出し、
前記出力すべきリクエストとして前記第1のリクエストを決定する
ことを特徴とする付記7に記載の出力順序決定方法。
(Supplementary Note 8) The number of hops, which is the number of nodes through which the first request passes to reach the second node, is the number of nodes through which the second request passes through to reach the third node. If greater, calculate the first priority higher than the second priority;
The output order determination method according to appendix 7, wherein the first request is determined as the request to be output.

(付記9) 前記出力すべきリクエストとして決定されなかった前記第2のリクエストについて、所定の基準に基づいて前記第2の優先度をより高く更新し、
前記第1のリクエスト及び前記第2のリクエストを受け付けた後に受け付けた第3のリクエストについて第3の優先度を算出し、
前記更新された第2の優先度と、前記算出された第3の優先度とに基づいて、前記出力すべきリクエストを決定する
ことを特徴とする付記8に記載の出力順序決定方法。
(Supplementary Note 9) For the second request that has not been determined as the request to be output, update the second priority higher based on a predetermined criterion,
Calculating a third priority for a third request received after receiving the first request and the second request;
The output order determination method according to appendix 8, wherein the request to be output is determined based on the updated second priority and the calculated third priority.

(付記10) 前記第2の優先度を更新する際の前記所定の基準として、前記第1の優先度と、前記第2の優先度と、前記第1のノードから要求先のノードへリクエストが到達するために経由するノード数の最大値とを用いることを特徴とする付記9に記載の出力順序決定方法。   (Supplementary Note 10) As the predetermined reference when the second priority is updated, the first priority, the second priority, and a request from the first node to the requesting node The output order determination method according to appendix 9, wherein a maximum value of the number of nodes that are passed through in order to reach is used.

(付記11) 前記第3のリクエストの要求元と前記第2のリクエストの要求元とが同一のプロセッサである場合、当該第3のリクエストを前記決定の対象外とし、
前記第3の優先度をより高く更新する
ことを特徴とする付記9又は10に記載の出力順序決定方法。
(Supplementary Note 11) When the request source of the third request and the request source of the second request are the same processor, the third request is excluded from the determination target,
The output order determination method according to appendix 9 or 10, wherein the third priority is updated higher.

(付記12) 複数のノードと接続され、
複数のプロセッサと、
当該複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、リクエストの要求先のノードに応じた優先度を算出する優先度算出手段と、
前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定する決定手段と、
前記決定されたリクエストを選択して前記要求先のノードへ出力する選択手段と、
を備えるノードコントローラとを有するノード
を含むノード間通信システム。
(Supplementary Note 12) Connected to multiple nodes,
Multiple processors,
Priority calculating means for receiving a plurality of requests from the plurality of processors to a processor belonging to any of the plurality of nodes, and calculating a priority according to a request destination node for each of the plurality of requests; ,
Determining means for determining a request to be output among the plurality of received requests based on the calculated priority;
Selecting means for selecting the determined request and outputting it to the requested node;
An inter-node communication system including a node having a node controller.

(付記13) 前記優先度算出手段は、各リクエストが自己のノードから要求先のノードへ到達するために経由するノード数であるホップ数が大きいほど、前記優先度をより高く算出することを特徴とする付記12に記載のノード間通信システム。   (Additional remark 13) The said priority calculation means calculates the said priority higher, so that the number of hops which are the number of nodes through which each request | requirement passes from its own node to a request destination node is large. The inter-node communication system according to appendix 12.

(付記14) 前記ノードコントローラは、前記リクエストの要求先のノードと、前記ホップ数とを対応付けて格納する記憶手段をさらに備え、
前記優先度算出手段は、前記受け付けた複数のリクエストのそれぞれについて、リクエストの要求先のノードに対応付けられた前記ホップ数を前記記憶手段から取得して、前記優先度を算出する
ことを特徴とする付記13に記載のノード間通信システム。
(Supplementary Note 14) The node controller further includes storage means for storing the request destination node of the request in association with the hop count,
The priority calculation means acquires the number of hops associated with a request destination node of the request from each of the plurality of received requests from the storage means, and calculates the priority. The inter-node communication system according to Supplementary Note 13.

(付記15) 前記決定手段は、前記受け付けた複数のリクエストのうち、前記出力すべきリクエストとして決定されなかった未決定リクエストについて、所定の基準に基づいて前記優先度をより高く更新し、
前記優先度算出手段は、前記複数のリクエストを受け付けた後に受け付けた後続リクエストについて前記優先度を算出し、
前記決定手段は、前記未決定リクエストの前記更新された優先度と、前記後続リクエストの前記算出された優先度とに基づいて、前記出力すべきリクエストを決定する
ことを特徴とする付記12乃至14のいずれか1項に記載のノード間通信システム。
(Additional remark 15) The said determination means updates the said priority higher based on a predetermined | prescribed reference | standard about the undetermined request which was not determined as the said request which should be output among the received several requests,
The priority calculation means calculates the priority for subsequent requests received after receiving the plurality of requests,
The determination means determines the request to be output based on the updated priority of the undecided request and the calculated priority of the subsequent request. The inter-node communication system according to any one of the above.

(付記16) 前記決定手段は、前記未決定リクエストについて前記優先度を更新する際の前記所定の基準として、前記出力すべきリクエストとして決定されたリクエストの優先度と、前記未決定のリクエストの優先度と、前記複数のノードのうち自己のノードから要求先のノードへリクエストが到達するために経由するノード数の最大値とを用いることを特徴とする付記15に記載のノード間通信システム。   (Additional remark 16) The said determination means, as the said predetermined reference | standard at the time of updating the said priority about the said undetermined request, the priority of the request determined as the said request which should be output, and the priority of the said undetermined request 16. The inter-node communication system according to supplementary note 15, wherein a maximum number of nodes through which a request reaches a request destination node from its own node among the plurality of nodes is used.

(付記17) 前記決定手段は、前記後続リクエストの要求元と前記未決定リクエストの要求元とが同一のプロセッサである場合、当該後続リクエストを前記決定の対象外とし、
前記優先度算出手段は、前記対象外とされた後続リクエストの前記優先度をより高く更新する
ことを特徴とする付記15又は16に記載のノード間通信システム。
(Supplementary Note 17) When the request source of the subsequent request and the request source of the undecided request are the same processor, the determination unit excludes the subsequent request from the determination target.
The inter-node communication system according to appendix 15 or 16, wherein the priority calculation means updates the priority of the subsequent request that is excluded from the target higher.

100 ノード間通信システム
1 ノード
11a プロセッサ
11b プロセッサ
11n プロセッサ
12 ノードコントローラ
13 優先度算出回路
14 決定回路
15 選択回路
2 ノード
21 プロセッサ
22 ノードコントローラ
3 ノード
31 プロセッサ
32 ノードコントローラ
100a コンピュータシステム
101 ノード
102 ノード
103 ノード
104 ノード
105 ノード
106 ノード
107 ノード
108 ノード
111 ノードコントローラ
112 プロセッサ
113 プロセッサ
114 プロセッサ
115 プロセッサ
121 ノードコントローラ
122 プロセッサ
123 プロセッサ
124 プロセッサ
125 プロセッサ
131 ノードコントローラ
141 ノードコントローラ
151 ノードコントローラ
161 ノードコントローラ
171 ノードコントローラ
181 ノードコントローラ
301 信号線
302 信号線
303 信号線
304 信号線
305 信号線
306 信号線
307 信号線
308 信号線
309 信号線
310 信号線
311 信号線
312 信号線
313 信号線
314 信号線
315 信号線
316 信号線
201 テーブル
202 リクエスト格納バッファ
203 リクエスト格納バッファ
204 リクエスト格納バッファ
205 リクエスト格納バッファ
206 セレクト係数格納レジスタ
207 セレクト係数格納レジスタ
208 セレクト係数格納レジスタ
209 セレクト係数格納レジスタ
210 セレクト係数生成回路
211 セレクト係数生成回路
212 セレクト係数生成回路
213 セレクト係数生成回路
214 リクエスト保持レジスタ
215 リクエスト保持レジスタ
216 リクエスト保持レジスタ
217 リクエスト保持レジスタ
218 セレクト係数保持レジスタ
219 セレクト係数保持レジスタ
220 セレクト係数保持レジスタ
221 セレクト係数保持レジスタ
222 セレクト係数調停回路
223 セレクト係数調停回路
224 セレクト係数調停回路
225 セレクト係数調停回路
226 リクエスト調停回路
227 セレクタ
100 node communication system 1 node 11a processor 11b processor 11n processor 12 node controller 13 priority calculation circuit 14 decision circuit 15 selection circuit 2 node 21 processor 22 node controller 3 node 31 processor 32 node controller 100a computer system 101 node 102 node 103 node 104 node 105 node 106 node 107 node 108 node 111 node controller 112 processor 113 processor 114 processor 115 processor 121 node controller 122 processor 123 processor 124 processor 125 processor 131 node controller 141 node controller 151 node controller 161 no Controller 171 Node controller 181 Node controller 301 Signal line 302 Signal line 303 Signal line 304 Signal line 305 Signal line 306 Signal line 307 Signal line 308 Signal line 309 Signal line 310 Signal line 311 Signal line 312 Signal line 313 Signal line 314 Signal line 315 Signal line 316 Signal line 201 Table 202 Request storage buffer 203 Request storage buffer 204 Request storage buffer 205 Request storage buffer 206 Select coefficient storage register 207 Select coefficient storage register 208 Select coefficient storage register 209 Select coefficient storage register 210 Select coefficient generation circuit 211 Select Coefficient generation circuit 212 Select coefficient generation circuit 213 Select coefficient generation circuit 214 Request holding Register 215 Request holding register 216 Request holding register 217 Request holding register 218 Select coefficient holding register 219 Select coefficient holding register 220 Select coefficient holding register 221 Select coefficient holding register 222 Select coefficient arbitration circuit 223 Select coefficient arbitration circuit 224 Select coefficient arbitration circuit 225 Select Coefficient Arbitration Circuit 226 Request Arbitration Circuit 227 Selector

Claims (5)

複数のノードと接続され、
自己のノード内の複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、自己のノードから要求先のノードへ到達するために経由するノード数であるホップ数に基づいて優先度を算出する優先度算出回路と、
前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定リクエストとして決定する決定回路と、
前記決定クエストを選択して前記要求先のノードへ出力する選択回路と、
を備え、
前記優先度算出回路は、前記ホップ数が大きいほど、前記優先度をより高く算出し、
前記決定回路は、
前記受け付けた複数のリクエストのうち、前記決定における調停において次点となったリクエストである未決定リクエストの優先度と当該決定リクエストの優先度との差分を算出し、
当該差分が所定値以上である場合には、当該差分が所定値未満である場合に比べて、より小さな値を加算して当該未決定リクエストの優先度を更新し、
前記優先度算出回路は、前記複数のリクエストを受け付けた後に受け付けた後続リクエストについて前記優先度を算出し、
前記決定回路は、前記未決定リクエストの前記更新された優先度と、前記後続リクエストの前記算出された優先度とに基づいて、前記決定リクエストの次に出力すべきリクエストを決定する
るノードコントローラ。
Connected to multiple nodes,
Accepts a plurality of requests from a plurality of processors in its own node to a processor belonging to any of the plurality of nodes, and passes through each of the plurality of requests to reach the requested node from its own node a priority calculating circuit for calculating the Sakido excellent based on the number of hops is the number of nodes,
A determination circuit that determines, as a determination request, a request to be output among the plurality of received requests based on the calculated priority;
A selection circuit for outputting to the request destination node by selecting the determined requests,
With
The priority calculation circuit calculates the priority higher as the number of hops is larger,
The determination circuit includes:
Of the plurality of received requests, calculate the difference between the priority of the undecided request that is the next request in the arbitration in the determination and the priority of the determination request,
If the difference is greater than or equal to a predetermined value, the priority of the undecided request is updated by adding a smaller value than when the difference is less than the predetermined value,
The priority calculation circuit calculates the priority for subsequent requests received after receiving the plurality of requests,
The determination circuit determines a request to be output next to the determination request based on the updated priority of the undecided request and the calculated priority of the subsequent request. Node controller.
前記リクエストの要求先のノードと、前記ホップ数とを対応付けて格納する記憶部をさらに備え、
前記優先度算出回路は、前記受け付けた複数のリクエストのそれぞれについて、リクエストの要求先のノードに対応付けられた前記ホップ数を前記記憶部から取得して、前記優先度を算出する
ことを特徴とする請求項に記載のノードコントローラ。
A storage unit that stores the request destination node of the request in association with the hop count;
The priority calculation circuit, for each of the plurality of received requests, acquires the number of hops associated with a request destination node of the request from the storage unit, and calculates the priority. The node controller according to claim 1 .
前記決定回路は、前記後続リクエストの要求元と前記未決定リクエストの要求元とが同一のプロセッサである場合、当該後続リクエストを前記決定の対象外とし、
前記優先度算出回路は、前記対象外とされた後続リクエストの前記優先度をより高く更新する
ことを特徴とする請求項1又は2に記載のノードコントローラ。
If the request source of the subsequent request and the request source of the undecided request are the same processor, the determination circuit excludes the subsequent request from the determination target,
The priority calculating circuit node controller according to claim 1 or 2, characterized in that a higher updating the priority of the subsequent request is with the excluded.
第1のノード内の第1のプロセッサから第2のノード内のプロセッサへの第1のリクエストと、当該第1のノード内の第2のプロセッサから第3のノード内のプロセッサへの第2のリクエストとを同時に受け付け、
前記第1のリクエスト及び前記第2のリクエストのそれぞれについて、自己のノードから要求先のノードへ到達するために経由するノード数であるホップ数に基づいて第1の優先度と第2の優先度を算出し、
前記第1の優先度と前記第2の優先度に基づいて、前記第1のリクエスト及び前記第2のリクエストのいずれを出力すべき決定リクエストとして決定し、
前記決定リクエストを選択して前記要求先のノードへ出力し、
前記第1の優先度と前記第2の優先度は、前記ホップ数がより大きいほどより高く算出され、
前記受け付けた複数のリクエストのうち、前記決定における調停において次点となったリクエストである未決定リクエストの優先度と当該決定リクエストの優先度との差分を算出し、
当該差分が所定値以上である場合には、当該差分が所定値未満である場合に比べて、より小さな値を加算して当該未決定リクエストの優先度を更新し、
前記複数のリクエストを受け付けた後に受け付けた後続リクエストについて前記優先度を算出し、
前記未決定リクエストの前記更新された優先度と、前記後続リクエストの前記算出された優先度とに基づいて、前記決定リクエストの次に出力すべきリクエストを決定する
ことを特徴とするリクエストの出力順序決定方法。
A first request from a first processor in a first node to a processor in a second node and a second request from a second processor in the first node to a processor in a third node; Accept requests at the same time,
For each of the first request and the second request, the first priority and the second priority are based on the number of hops that are the number of nodes that pass through to reach the request destination node from its own node. To calculate
Based on the second priority as the first priority, to determine as said first request and determine the request should be output either of the second request,
Output to the request destination node by selecting the determined requests,
The first priority and the second priority are calculated higher as the hop number is larger,
Of the plurality of received requests, calculate the difference between the priority of the undecided request that is the next request in the arbitration in the determination and the priority of the determination request,
If the difference is greater than or equal to a predetermined value, the priority of the undecided request is updated by adding a smaller value than when the difference is less than the predetermined value,
Calculating the priority for subsequent requests received after receiving the plurality of requests;
A request output order which determines a request to be output next to the determination request based on the updated priority of the undecided request and the calculated priority of the subsequent request. Decision method.
複数のノードと接続され、
複数のプロセッサと、
当該複数のプロセッサから前記複数のノードのいずれかに属するプロセッサへの複数のリクエストを受け付け、当該複数のリクエストのそれぞれについて、自己のノードから要求先のノードへ到達するために経由するノード数であるホップ数に基づいて優先度を算出する優先度算出手段と、
前記算出された優先度に基づいて、前記受け付けた複数のリクエストのうち出力すべきリクエストを決定リクエストとして決定する決定手段と、
前記決定クエストを選択して前記要求先のノードへ出力する選択手段と、
を備えるノードコントローラとを有するノード
を含み、
前記優先度算出手段は、前記ホップ数が大きいほど、前記優先度をより高く算出し、
前記決定手段は、
前記受け付けた複数のリクエストのうち、前記決定における調停において次点となったリクエストである未決定リクエストの優先度と当該決定リクエストの優先度との差分を算出し、
当該差分が所定値以上である場合には、当該差分が所定値未満である場合に比べて、より小さな値を加算して当該未決定リクエストの優先度を更新し、
前記優先度算出手段は、前記複数のリクエストを受け付けた後に受け付けた後続リクエストについて前記優先度を算出し、
前記決定手段は、前記未決定リクエストの前記更新された優先度と、前記後続リクエストの前記算出された優先度とに基づいて、前記決定リクエストの次に出力すべきリクエストを決定する、
ノード間通信システム。
Connected to multiple nodes,
Multiple processors,
The number of nodes through which a plurality of requests are received from the plurality of processors to a processor belonging to any of the plurality of nodes, and each of the plurality of requests passes from the own node to the requested node. a priority calculating means for calculating a Sakido excellent based on the number of hops,
Determining means for determining, as a determination request, a request to be output among the plurality of received requests based on the calculated priority;
A selection means for outputting to the request destination node by selecting the determined requests,
A node controller comprising:
Including
The priority calculation means calculates the priority higher as the number of hops is larger,
The determining means includes
Of the plurality of received requests, calculate the difference between the priority of the undecided request that is the next request in the arbitration in the determination and the priority of the determination request,
If the difference is greater than or equal to a predetermined value, the priority of the undecided request is updated by adding a smaller value than when the difference is less than the predetermined value,
The priority calculation means calculates the priority for subsequent requests received after receiving the plurality of requests,
The determination unit determines a request to be output next to the determination request based on the updated priority of the undecided request and the calculated priority of the subsequent request.
Inter-node communication system.
JP2010240448A 2010-10-27 2010-10-27 Node controller, request output order determination method, and inter-node communication system Active JP5645253B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010240448A JP5645253B2 (en) 2010-10-27 2010-10-27 Node controller, request output order determination method, and inter-node communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010240448A JP5645253B2 (en) 2010-10-27 2010-10-27 Node controller, request output order determination method, and inter-node communication system

Publications (2)

Publication Number Publication Date
JP2012093945A JP2012093945A (en) 2012-05-17
JP5645253B2 true JP5645253B2 (en) 2014-12-24

Family

ID=46387204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010240448A Active JP5645253B2 (en) 2010-10-27 2010-10-27 Node controller, request output order determination method, and inter-node communication system

Country Status (1)

Country Link
JP (1) JP5645253B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4535661B2 (en) * 2002-03-18 2010-09-01 日本電気株式会社 Transmission node, relay node and communication system in wireless multi-hop network
JP2004086304A (en) * 2002-08-23 2004-03-18 Nec Computertechno Ltd Information processing system having matrix switch with arbitration circuit
JP4687925B2 (en) * 2008-02-13 2011-05-25 エヌイーシーコンピュータテクノ株式会社 Priority arbitration system and priority arbitration method

Also Published As

Publication number Publication date
JP2012093945A (en) 2012-05-17

Similar Documents

Publication Publication Date Title
KR101426461B1 (en) Bus arbitration techniques to reduce access latency
US7551564B2 (en) Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect
JP5498505B2 (en) Resolving contention between data bursts
US8688881B2 (en) Arbitration in multiprocessor device
JP6481427B2 (en) Arithmetic processing device, information processing device, and control method for information processing device
JP3492852B2 (en) Waiting time reduction and route arbitration method for network message routing device
JP2004318876A (en) Method and system for managing distributed arbitration for multi-cycle data transfer request
US11941528B2 (en) Neural network training in a distributed system
CN116664377A (en) Data transmission method and related device
JP5650441B2 (en) Arithmetic device, cache device, control method thereof, and computer program
JP5645253B2 (en) Node controller, request output order determination method, and inter-node communication system
JP7089530B2 (en) Data processing
US10067889B2 (en) Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
CN115580572A (en) Routing method, routing node, routing device and computer readable storage medium
US7782780B1 (en) System and method for arbitration of multicast data packets using holds
US8289989B1 (en) System and method for arbitration using availability signals
US9977751B1 (en) Method and apparatus for arbitrating access to shared resources
JP4604794B2 (en) Internode connection device
JP5949312B2 (en) Parallel computer system, data transfer apparatus, and parallel computer system control method
JP7292044B2 (en) Control device and control method
US11093436B2 (en) Arithmetic processing device, information processing apparatus, and control method of the arithmetic processing device
US8688880B2 (en) Centralized serialization of requests in a multiprocessor system
KR20220009848A (en) Systems and methods for arbitrating access to a shared resource
JP2019139406A (en) Data processing apparatus
JP6350098B2 (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: 20130906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140723

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140807

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141030

R150 Certificate of patent or registration of utility model

Ref document number: 5645253

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150