JP2005242500A - Read request arbitration control system and its method - Google Patents

Read request arbitration control system and its method Download PDF

Info

Publication number
JP2005242500A
JP2005242500A JP2004048861A JP2004048861A JP2005242500A JP 2005242500 A JP2005242500 A JP 2005242500A JP 2004048861 A JP2004048861 A JP 2004048861A JP 2004048861 A JP2004048861 A JP 2004048861A JP 2005242500 A JP2005242500 A JP 2005242500A
Authority
JP
Japan
Prior art keywords
read request
request
latency
read
arbitration control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004048861A
Other languages
Japanese (ja)
Other versions
JP4019056B2 (en
Inventor
Shusaku Uchibori
修作 内堀
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2004048861A priority Critical patent/JP4019056B2/en
Publication of JP2005242500A publication Critical patent/JP2005242500A/en
Application granted granted Critical
Publication of JP4019056B2 publication Critical patent/JP4019056B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an NUMA distributed shared memory parallel computer system for obtaining a read request arbitration control system for improving the effective performance of data transfer. <P>SOLUTION: Generally, it is not necessary to secure ordering between read requests in data transfer in an NUMA type distributed shared memory parallel computer. The access latency of the request is calculated from a request destination physical address, and ordering is changed so that the request whose access latency to the request destination physical address is much more longer can be given priority, and a read request arbitrating unit 10 for issuing the read request is installed on a data transfer path. Thus, the efficiency of the transfer of the read request can be attained, and the performance improvement of the data transfer efficiency can be realized as a result. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明はリードリクエスト調停制御システム及びその方法に関し、特にNUMA(NonUniform Memory Access)型分散共有メモリ並列計算機におけるリードリクエスト調停制御方式に関するものである。   The present invention relates to a read request arbitration control system and method, and more particularly to a read request arbitration control system in a NUMA (Non Uniform Memory Access) type distributed shared memory parallel computer.

従来の共有メモリシステムの一例として、図17に示すようなUMA(Uniform Memory Access )システムがある。このシステムでは、物理アドレスに依存することなく、メモリアクセスレイテンシが同じであるとして、各プロセッサ801〜804の主記憶ユニット806に対するリードリクエストのリプライは、制御ユニット805によって、当該リードリクエストの発行順に返却されるようになっている。   As an example of a conventional shared memory system, there is a UMA (Uniform Memory Access) system as shown in FIG. In this system, it is assumed that the memory access latency is the same without depending on the physical address, and the reply of the read request to the main storage unit 806 of each processor 801 to 804 is returned by the control unit 805 in the order of issue of the read request. It has come to be.

よって、リードリクエスト間の調停は必要なく、図18に示すように、リードリクエスト調停ユニット11内において、リードリクエスト110をリードリクエスト登録テーブル102に登録しておき、登録した順番にリードリクエストを発行する、いわゆるFIFO(First In First Out:先入れ先出し)方式を採用することで、何等問題を生ずることはなかった。   Therefore, arbitration between read requests is not necessary, and as shown in FIG. 18, the read request 110 is registered in the read request registration table 102 in the read request arbitration unit 11, and the read requests are issued in the registered order. By adopting the so-called FIFO (First In First Out) method, no problem was caused.

近年、コストの面でのメリットのために、図19に示すようなNUMA(Non-Uniform Memory Access )システムがある。図を参照すると、本システムは、複数のプロセッサノード20,21と、これ等ノード間を接続するプロセッサ間接続装置40とを含んでいる。各プロセッサノード20,21は同一構成であり、例えば、プロセッサノード20は、複数のプロセッサ200a,200bと、プロセッサノード接続ユニット202と、主記憶ユニット201とを有している。   In recent years, there has been a NUMA (Non-Uniform Memory Access) system as shown in FIG. 19 because of cost advantages. Referring to the figure, this system includes a plurality of processor nodes 20 and 21 and an interprocessor connection device 40 for connecting these nodes. The processor nodes 20 and 21 have the same configuration. For example, the processor node 20 includes a plurality of processors 200a and 200b, a processor node connection unit 202, and a main storage unit 201.

このシステムでは、物理アドレスに依存してメモリアクセスレイテンシが異なるために、リードリクエストを、従来のように、リクエスト順に発行するFIFO方式では、リードリクエスト転送の効率が悪化し、ノード間データ転送の実効性能が低下する。   In this system, the memory access latency differs depending on the physical address. Therefore, in the conventional FIFO method in which read requests are issued in the order of requests, the efficiency of read request transfer deteriorates and the data transfer between nodes is effective. Performance decreases.

ここで、特許文献1を参照すると、各プロセッサのメモリアクセスタイムを均等化することを目的としたマルチプロセッサシステムが開示されており、デー転送経路上に、リクエスト間の調停を行う調停部を設け、この調停部で、リクエスト元からの蓄積された(リクエストに付加された)伝達時間を元に、最も長い伝達時間を有する(つまり、リクエスト元で発行されてから、最も長く待たされている)リクエストから、優先して発行するというものである。すなわち、この技術では、複数のリクエスト元から、一つのリクエスト先へのリクエストの性能向上を図るようになっている。   Here, referring to Patent Document 1, a multiprocessor system for the purpose of equalizing the memory access time of each processor is disclosed, and an arbitration unit that arbitrates between requests is provided on a data transfer path. In this arbitration unit, it has the longest transmission time based on the accumulated transmission time (added to the request) from the request source (that is, the longest waiting time since it was issued by the request source) The request is issued with priority. In other words, this technique is designed to improve the performance of requests from a plurality of request sources to one request destination.

特開平2−294867号公報JP-A-2-294867 特開2003−216489号公報JP 2003-21689A

上述した図4に示したNUMA型分散共有メモリ並列計算機では、物理アドレスに依存してメモリアクセスレイテンシが異なるために、リードリクエストを、従来のように、リクエスト順に発行するFIFO方式では、リードリクエスト転送の効率が悪化し、ノード間データ転送の実効性能が低下するという課題の他に、他社の既存のシステムを組み合わせて、一部を自社開発するということが行われ他社製品には変更が難しいので、汎用的な方法でないと、自社開発部分だけで性能を向上させることが難しいという課題もある。   In the NUMA type distributed shared memory parallel computer shown in FIG. 4 described above, the memory access latency differs depending on the physical address. Therefore, in the conventional FIFO method in which read requests are issued in the order of requests, read request transfer is performed. In addition to the problem that the effective performance of inter-node data transfer deteriorates, the existing systems of other companies are combined and some of them are developed in-house, so it is difficult to change to other companies' products. However, if it is not a general-purpose method, there is a problem that it is difficult to improve the performance only by the in-house developed part.

また、上述した特許文献1の技術では、複数のリクエスト元から、一つのリクエスト先へのリクエストの性能向上を図るものであって、一つのリクエスト元から複数のリクエスト先へのリクエストの場合の性能向上を図ることはできないという課題がある。また、この技術においては、リクエストに特殊なプライオリティ情報を付加することが必要であり、よってこの技術の実際の適用に当たっては、システム変更が必要になるという欠点があり、よってNUMA型分散共有メモリ並列計算機に汎用的に適用できないという課題がある。   Further, in the above-described technology of Patent Document 1, the performance of requests from a plurality of request sources to one request destination is improved, and the performance in the case of a request from one request source to a plurality of request destinations. There is a problem that improvement cannot be achieved. In this technique, it is necessary to add special priority information to the request. Therefore, in actual application of this technique, there is a disadvantage that a system change is required. Therefore, the NUMA type distributed shared memory parallel is required. There is a problem that it cannot be applied universally to computers.

本発明の目的は、NUMA型分散共有メモリ並列計算機に汎用的に適用でき、データ転送を効率化することにより、データ転送実効性能の向上を可能としたリードリクエスト調停制御システム及びその方法を提供することである。   SUMMARY OF THE INVENTION An object of the present invention is to provide a read request arbitration control system and method that can be applied universally to a NUMA type distributed shared memory parallel computer and can improve data transfer effective performance by improving data transfer efficiency. That is.

本発明によるリードリクエスト調停制御システムは、一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御システムであって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす制御手段を含むことを特徴とする。   A read request arbitration control system according to the present invention is a read request arbitration control system in a distributed shared memory parallel computer comprising a plurality of nodes having one or more processors and a main storage device, and a request destination address of a read request Control means for performing arbitration control of the read request in accordance with the access latency for.

本発明によるリードリクエスト調停制御方法は、一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御方法であって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす制御ステップを含むことを特徴とする。   A read request arbitration control method according to the present invention is a read request arbitration control method in a distributed shared memory parallel computer that forms a system with a plurality of nodes having one or more processors and a main storage device, and a request destination address of a read request And a control step of performing arbitration control of the read request in accordance with the access latency with respect to.

本発明によるプログラムは、一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御方法をコンピュータに実行させるためのプログラムであって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす処理を含むことを特徴とする。   A program according to the present invention is a program for causing a computer to execute a read request arbitration control method in a distributed shared memory parallel computer that forms a system with a plurality of nodes having one or more processors and a main storage device. Including a process for performing arbitration control of the read request in accordance with the access latency for the request destination address.

本発明の作用を述べる。一般に、NUMA型分散共有メモリ並列計算機内での、データ転送においては、リードリクエスト間では、オーダリングの保障は必要がないために、リクエスト先物理アドレスから当該リクエストのアクセスレイテンシを算出し、リクエスト先物理アドレスのレイテンシがより長いリクエストを優先するようにオーダリングを変更してリードリクエストを発行するよう構成する。これにより、リードリクエストの転送を効率化し、結果として、データ転送効率の性能向上を可能とする。   The operation of the present invention will be described. In general, in data transfer in a NUMA type distributed shared memory parallel computer, since it is not necessary to guarantee ordering between read requests, the access latency of the request is calculated from the request destination physical address, and the request destination physical A configuration is made such that a read request is issued by changing the ordering so that a request with a longer address latency is given priority. Thereby, the transfer of the read request is made efficient, and as a result, the performance of the data transfer efficiency can be improved.

本発明による第1の効果は、NUMA型分散共有メモリ並列計算機内のデータ転送の特徴であるリクエスト物理アドレスに依存したアクセスレイテンシに合わせて、リクエスト先物理アドレスへのアクセスレイテンシが長いリクエストを優先するように、オーダリングを変更して、リードリクエストを発行しているので、リードリクエスト転送が効率化されデータ転送実効性能を向上できるということである。   The first effect of the present invention is to give priority to a request having a long access latency to the request destination physical address in accordance with the access latency depending on the request physical address, which is a feature of data transfer in the NUMA type distributed shared memory parallel computer. As described above, since the read request is issued by changing the ordering, the read request transfer is made efficient and the data transfer effective performance can be improved.

本発明による第2の効果は、一般的に計算機内のデータ転送でオーダリング保証の必要の無いリードリクエスト間に対してオーダリングを変更しているので、特に何等の制約なく、NUMA型分散共有メモリ並列計算機に対して適用可能となって、データ転送実効性能を向上できるということである。   The second effect of the present invention is that, in general, the ordering is changed between read requests that do not require ordering guarantee in the data transfer in the computer. Therefore, the NUMA type distributed shared memory parallelism is not particularly limited. It can be applied to computers, and the data transfer effective performance can be improved.

本発明による第3の効果は、リードリクエスト調停ユニットを、データ転送系路上で、リードリクエスト間の調停が出来る任意の箇所に設けることができるので、NUMA型分散共有メモリ並列計算機のプロセッサノード、I/Oノード、または、ノード間接続装置内等、任意の箇所に設けることにより、データ転送実効性能を向上できるということである。   The third effect of the present invention is that the read request arbitration unit can be provided at any location where arbitration between read requests can be performed on the data transfer path, so that the processor node of the NUMA type distributed shared memory parallel computer, I This means that the data transfer effective performance can be improved by providing it at any location such as in the / O node or the inter-node connection device.

以下に、図面を参照しつつ本発明の実施の形態について説明する。図1は本発明の実施の形態を示すブロック図である。図1においては、本発明の一実施の形態としてのNUMA型分散共有メモリ並列計算機が示されている。同図に示すように、NUMA型分散共有メモリ並列計算機は、複数のプロセッサノード20〜23、複数のI/Oノード30〜33、およびこれらノード間を接続するノード間接続装置40からなる。本例では、プロセッサノード数およびI/Oノード数がそれぞれ4であるが、実際には任意の数で実現可能である。   Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the present invention. FIG. 1 shows a NUMA type distributed shared memory parallel computer as an embodiment of the present invention. As shown in the figure, the NUMA type distributed shared memory parallel computer includes a plurality of processor nodes 20 to 23, a plurality of I / O nodes 30 to 33, and an inter-node connection device 40 for connecting these nodes. In this example, the number of processor nodes and the number of I / O nodes are 4 respectively, but in practice, any number can be realized.

図2を参照すると、図1のブロックの各々の詳細な構成が示されている。プロセッサノード20は、一以上のプロセッサ200a〜200b、主記憶ユニット201、プロセッサノード制御ユニット202からなり、プロセッサ200およびプロセッサノード制御ユニット202は、システムバス210で接続されている。I/Oノード30は、I/Oノード制御ユニット300からなる。   Referring to FIG. 2, the detailed structure of each of the blocks of FIG. 1 is shown. The processor node 20 includes one or more processors 200 a to 200 b, a main storage unit 201, and a processor node control unit 202, and the processor 200 and the processor node control unit 202 are connected by a system bus 210. The I / O node 30 includes an I / O node control unit 300.

また、ノード間接続装置40は、ノード間接続制御ユニット400からなる。さらに本実施例では、データ転送経路上、つまりプロセッサノード20とノード間接続装置の間、およびI/Oノード制御30とノード間接続装置40の間に、本発明によるリードリクエスト調停ユニット10が接続される。リードリクエスト調停ユニット10は、データ転送経路上に備えるので、本実施例のように各ノード内に備えることも、図3に示すように、ノード間接続ユニット400内に備えることも、あるいは、その両方に備えることも可能である。   The inter-node connection device 40 includes an inter-node connection control unit 400. Furthermore, in this embodiment, the read request arbitration unit 10 according to the present invention is connected on the data transfer path, that is, between the processor node 20 and the internode connection apparatus, and between the I / O node control 30 and the internode connection apparatus 40. Is done. Since the read request arbitration unit 10 is provided on the data transfer path, it may be provided in each node as in the present embodiment, or may be provided in the inter-node connection unit 400 as shown in FIG. It is also possible to provide for both.

分散共有メモリは、各プロセッサノード20〜23の主記憶ユニット201に分散配置されている。分散配置の第一の例は、図4に示すように、各プロセッサノードの主記憶をスタックしてシステムの主記憶空間を形成するもの、つまりメモリアドレス上位ビットでプロセッサノードを指定する方式がある。   The distributed shared memory is distributed in the main storage unit 201 of each processor node 20-23. As shown in FIG. 4, the first example of the distributed arrangement is a system in which the main memory of each processor node is stacked to form the main memory space of the system, that is, the processor node is designated by the upper bits of the memory address. .

本実施例では、主記憶空間のアドレス000(16進数)から3FF番地がプロセッサノード20に、400から7FF番地がプロセッサノード21に、800からBFF番地がプロセッサノード22に、C00から最後のFFF番地までがプロセッサノード23にそれぞれ分散配置され、アドレス上位2ビットでプロセッサノードを指定する。   In this embodiment, from the address 000 (hexadecimal) of the main storage space, the 3FF address is the processor node 20, the 400-7FF address is the processor node 21, the 800-BFF address is the processor node 22, and the last FFF address is C00. Are distributed to the processor nodes 23, and the processor nodes are designated by the upper 2 bits of the address.

分散配置の第二の例は、特許文献2に開示の如く、すなわち、図5に示すように、各プロセッサノード20〜23に、ノード間インタリーブ制御ユニットを備え、各プロセッサノードの主記憶ユニット間でインタリーブを行う方式、つまりアドレス途中ビットでノードを指定する方式がある。   A second example of the distributed arrangement is disclosed in Patent Document 2, that is, as shown in FIG. 5, each of the processor nodes 20 to 23 includes an inter-node interleave control unit, and between the main storage units of each processor node. There is a method of performing interleaving, that is, a method of specifying a node by a bit in the middle of an address.

本例では、主記憶空間のアドレス000(16進数)から0FF番地と400から4FF番地と800から8FF番地とC00からCFF番地までがプロセッサノード20に、アドレス100から1FF番地と500から5FF番地と900から9FF番地とD00からDFF番地までがプロセッサノード21に、アドレス200から2FF番地と600から6FF番地とA00からAFF番地とE00からEFF番地までがプロセッサノード22に、アドレス300から3FF番地と700から7FF番地とB00からBFF番地とF00から最後のFFF番地までがプロセッサノード23に、それぞれ256バイト単位でインタリーブされて分散配置され、アドレス下位8ビットよりも上2ビットでプロセッサノードを指定する。   In this example, main memory space address 000 (hexadecimal) to address 0FF, address 400 to 4FF, address 800 to 8FF, address C00 to CFF are the processor node 20, address 100 to 1FF and address 500 to 5FF. Addresses 900 to 9FF, D00 to DFF are assigned to the processor node 21, addresses 200 to 2FF, 600 to 6FF, A00 to AFF, E00 to EFF are assigned to the processor node 22, and addresses 300 to 3FF are assigned to 700. To 7FF, B00 to BFF, and F00 to the last FFF are interleaved and distributed in the processor node 23 in units of 256 bytes, and the processor node is specified by 2 bits above the lower 8 bits of the address.

図6を参照すると、図2に示した本発明によるリードリクエスト調停ユニット10の詳細な構成が示されている。図において、物理アドレス別レイテンシ検索テーブル101は、物理アドレス毎のメモリアクセスレイテンシつまり、リクエストを発行してからリプライが返ってくるまでの時間を、予め保持しており、リクエスト物理アドレス111を入力するとアクセスレイテンシ112が出力される。   Referring to FIG. 6, there is shown a detailed configuration of the read request arbitration unit 10 according to the present invention shown in FIG. In the figure, the latency search table for each physical address 101 stores in advance the memory access latency for each physical address, that is, the time from when a request is issued until a reply is returned, and when the request physical address 111 is input. The access latency 112 is output.

本例では、例えば、図4に示したように、主記憶空間が各プロセッサノードに分散配置されている場合、図7に示すように、物理アドレス別レイテンシ検索テーブル101は、アクセスレイテンシを保持するエントリー120と、選択回路121とにより構成される。このとき、各プロセッサノードに対して1エントリー、全部で4エントリー必要であり、例えば、プロセッサノード20〜23の各々に対するアクセスレイテンシが、それぞれ200nS、400nS、600nS、800nSと、予め保持されている。また、選択回路121は、11ビットのリクエスト先物理アドレス111の上位2ビット、つまりビット11およびビット10で、エントリーが選択される。   In this example, for example, as shown in FIG. 4, when the main storage space is distributed in each processor node, as shown in FIG. 7, the latency search table 101 by physical address holds the access latency. An entry 120 and a selection circuit 121 are included. At this time, one entry is required for each processor node, for a total of four entries. For example, the access latencies for each of the processor nodes 20 to 23 are held in advance as 200 nS, 400 nS, 600 nS, and 800 nS, respectively. The selection circuit 121 selects an entry with the upper 2 bits of the 11-bit request destination physical address 111, that is, the bits 11 and 10.

また、例えば、図5に示したように、主記憶空間が各プロセッサノードにインタリーブされて分散配置されている場合も、図8に示すように、物理アドレス別レイテンシ検索テーブル101は、アクセスレイテンシを保持するエントリー120と、選択回路122とにより構成される。このときも、各プロセッサノードに対して1エントリー、全部で4エントリー必要であり、例えば、プロセッサノード20〜23の各アクセスレイテンシが、それぞれ200nS、400nS、600nS、800nSと、予め保持されている。また、選択回路122は、11ビットのリクエスト先物理アドレス111の下位8ビットより上位2ビット、つまりビット9およびビット8で、エントリーが選択される。   Also, for example, as shown in FIG. 5, even when the main storage space is interleaved and distributed in each processor node, as shown in FIG. 8, the latency search table 101 by physical address shows the access latency. An entry 120 to be held and a selection circuit 122 are included. At this time as well, one entry is required for each processor node, for a total of four entries. For example, the access latencies of the processor nodes 20 to 23 are previously held as 200 nS, 400 nS, 600 nS, and 800 nS, respectively. In addition, the selection circuit 122 selects an entry with the upper 2 bits, that is, the bit 9 and the bit 8 from the lower 8 bits of the 11-bit request destination physical address 111.

リードリクエスト登録テーブル102は、図9にその詳細が示されるように、複数のエントリーからなり、一つのエントリーには、リクエスト先物理アドレスおよびリクエストデータ長等の、通常のリードリクエスト110のリードリクエスト情報、物理アドレス別レイテンシ検索テーブル101によりリクエスト先物理アドレス111から得られたアクセスレイテンシ112、およびリードリクエスト登録時にタイマ103から出力される登録時刻113が格納される。   As shown in detail in FIG. 9, the read request registration table 102 includes a plurality of entries, and one entry includes read request information of a normal read request 110 such as a request destination physical address and a request data length. In addition, the access latency 112 obtained from the request destination physical address 111 by the latency search table 101 by physical address and the registration time 113 output from the timer 103 when registering the read request are stored.

調停手段100は、図10にその詳細を示すように、リードリクエスト登録テーブル102の各エントリーに対して、タイマ103が示す現在時刻115からリクエスト登録時刻130を引いた、登録されてからの待ち時間131を算出し、さらにアクセスレイテンシ132を加えて登録時刻からのレイテンシ133を算出し、その登録時刻からのレイテンシ133が最長であるリードリクエスト116を選択して発行する。タイマ103は現在時刻を保持する。   As shown in detail in FIG. 10, the arbitrating unit 100 waits for registration after subtracting the request registration time 130 from the current time 115 indicated by the timer 103 for each entry in the read request registration table 102. 131 is calculated, and the access latency 132 is further added to calculate the latency 133 from the registration time, and the read request 116 having the longest latency 133 from the registration time is selected and issued. The timer 103 holds the current time.

以上、詳細に実施例の構成を述べたが、図1のNUMA型分散共有メモリ並列計算機、図2のプロセッサノード20、I/Oノード30、ノード間接続装置40、および図4、図5の分散共有メモリの分散配置方式は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。   The configuration of the embodiment has been described in detail above. The NUMA type distributed shared memory parallel computer of FIG. 1, the processor node 20, the I / O node 30, the inter-node connection device 40 of FIG. 2, and the configurations of FIGS. The distributed arrangement method of the distributed shared memory is well known to those skilled in the art and is not directly related to the present invention, and thus the detailed configuration is omitted.

次に、図6に示したリードリクエスト調停ユニット10の動作を説明する。リードリクエスト調停ユニット10は、リードリクエスト110の発生からリードリクエスト登録テーブル102のエントリーへの登録動作および、調停手段100により、リードリクエスト登録テーブル102に登録されているリードリクエスト間で調停を行い、リクエスト116を発行する動作からなる。   Next, the operation of the read request arbitration unit 10 shown in FIG. 6 will be described. The read request arbitration unit 10 performs a registration operation from the generation of the read request 110 to the entry of the read request registration table 102, and arbitration between the read requests registered in the read request registration table 102 by the arbitration unit 100. 116 is issued.

まず、図11を使用してリードリクエスト110発生からリードリクエスト登録テーブル102のエントリーへの登録動作を説明する。図において、リードリクエスト110がリードリクエスト調停ユニット10に与えられると、リードリクエスト110のリクエスト先物理アドレス111およびリクエストデータ長等のリードリクエスト情報が、リードリクエスト登録テーブル102の空きエントリーに登録される(図11(a))。   First, the registration operation from the generation of the read request 110 to the entry of the read request registration table 102 will be described with reference to FIG. In the figure, when a read request 110 is given to the read request arbitration unit 10, read request information such as a request destination physical address 111 and a request data length of the read request 110 is registered in an empty entry of the read request registration table 102 ( FIG. 11 (a)).

また、このときの時刻113をタイマ103から得て、登録時刻として同エントリーに登録する(図11(b))。さらに、リードリクエスト110のリクエスト先物理アドレス111が物理アドレス別レイテンシ検索テーブル101に与えられ(図14(c))、その物理アドレスへのアクセスレイテンシ112つまり、リードリクエストを発行してからリプライが返ってくるまでの時間が出力されるので、アクセスレイテンシとして同エントリーに登録する(図11(d))。   Further, the time 113 at this time is obtained from the timer 103 and registered in the same entry as the registration time (FIG. 11B). Furthermore, the request destination physical address 111 of the read request 110 is given to the latency search table 101 by physical address (FIG. 14C), and the access latency 112 to the physical address, that is, a reply is returned after issuing the read request. Since the time until it comes is output, it is registered in the same entry as the access latency (FIG. 11 (d)).

なお、リードリクエスト登録テーブル102に空きエントリーがなくなると、リクエスト元に対してフロー制御等が行われるが、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。   When there is no empty entry in the read request registration table 102, flow control or the like is performed on the request source. This is well known to those skilled in the art and is not directly related to the present invention. Is omitted.

次に、図10を使用して、調停手段100により、リードリクエスト登録テーブル102に登録されているリードリクエスト間で調停を行い、リクエスト116を発行する動作を説明する。図10において、フローコントロール等の結果により、リードリクエスト116が発行可能となると、リードリクエスト登録テーブル102に登録されているエントリーに対して、タイマ103から得られる現在時刻115からリクエスト登録時刻130を引き算し、リクエストが登録されてから現在時刻までの待ち時間131を算出する(図10(a))。   Next, with reference to FIG. 10, description will be given of an operation in which the arbitration unit 100 performs arbitration between read requests registered in the read request registration table 102 and issues a request 116. In FIG. 10, when the read request 116 can be issued due to the result of flow control or the like, the request registration time 130 is subtracted from the current time 115 obtained from the timer 103 for the entry registered in the read request registration table 102. Then, the waiting time 131 from the registration of the request to the current time is calculated (FIG. 10A).

次に、この待ち時間131にアクセスレイテンシ132を加算して、登録時刻からリードリプライを受け取るまでのレイテンシ133を得る(図10(b))。調停手段100では、空きエントリ以外の全てのエントリーに対してこれら登録時間からのレイテンシ133を算出し、レイテンシ最長のリクエストを選択し、リードリクエスト116として発行する(図10(c))。発行したリードリクエスト116は、占めていたエントリーから削除される。   Next, the access latency 132 is added to the waiting time 131 to obtain a latency 133 from the registration time until the read reply is received (FIG. 10B). The arbitration unit 100 calculates the latency 133 from these registration times for all entries other than the empty entry, selects the request with the longest latency, and issues it as a read request 116 (FIG. 10C). The issued read request 116 is deleted from the occupied entry.

さらに、具体例を用いて実施例の動作を説明する。図3に示されるI/Oノード30において、I/Oノード制御ユニット300で4Kバイトのリードリクエストが発生し、調停ユニット10に対してI/Oノード制御ユニット300から256バイトに分割されたリードリクエストが16個発行されたとする。フロー制御により、調停ユニット10からは25nSに1回リクエストが発行されるものとする。   Further, the operation of the embodiment will be described using a specific example. In the I / O node 30 shown in FIG. 3, a read request of 4 Kbytes is generated in the I / O node control unit 300, and the read divided into 256 bytes from the I / O node control unit 300 to the arbitration unit 10 Assume that 16 requests are issued. It is assumed that a request is issued once every 25 nS from the arbitration unit 10 by flow control.

図4に示すように、主記憶空間が各プロセッサノードに分散配置されている場合、従来のようにリクエスト順に発行するFIFO方式では、図12に示すように、0nS後から25nS間隔でリードリクエストが発行され、最後のリクエストのリプライは、1275nS後に返る。   As shown in FIG. 4, when the main storage space is distributed to each processor node, in the conventional FIFO method in which requests are issued in the order of requests, read requests are sent at intervals of 25 nS after 0 nS, as shown in FIG. The reply of the last request issued is returned after 1275 nS.

一方、図7に示す物理アドレス別レイテンシ検索テーブルを持つ本発明による調停ユニット10を備えた場合は、図13に示すように、リクエスト先物理アドレスへのアクセスレイテンシが長いリクエストを優先するようにオーダリングを変更し、リードリクエストを発行しているので、0nS後から25nS間隔でリードリクエストが発行され、最後のリクエストのリプライは、875nS後に返る。つまり、従来よりも400nS早くリプライが返り、リードリクエスト転送が効率化されデータ転送実効性能が向上されていることがわかる。   On the other hand, when the arbitration unit 10 according to the present invention having the latency search table by physical address shown in FIG. 7 is provided, as shown in FIG. 13, ordering is performed so that a request with a long access latency to the request physical address is prioritized. Since the read request is issued, the read request is issued at intervals of 25 nS from 0 nS, and the reply of the last request is returned after 875 nS. That is, it can be seen that the reply is returned 400 nS earlier than before, the read request transfer is made more efficient, and the effective data transfer performance is improved.

また、図5に示すように、主記憶空間が各プロセッサノードにインタリーブ分散配置されている場合も、従来のようにリクエスト順に発行するFIFO方式では、図14に示すように、0nS後から25nS間隔でリードリクエストが発行され、最後のリクエストのリプライは、1275nS後に返る。   As shown in FIG. 5, even when the main storage space is distributed in an interleaved manner in each processor node, in the conventional FIFO method in which requests are issued in the order of requests, as shown in FIG. A read request is issued, and the reply of the last request is returned after 1275 nS.

一方、図8に示す物理アドレス別レイテンシ検索テーブルを持つ本発明による調停ユニット10を備えた場合は、図15に示すように、リクエスト先物理アドレスへのアクセスレイテンシが長いリクエストを優先するようにオーダリングを変更し、リードリクエストを発行しているので、0nS後から25nS間隔でリードリクエストが発行され、最後のリクエストのリプライは、875nS後に返る。つまり、従来よりも400nS早くリプライが返り、リードリクエスト転送が効率化されデータ転送実効性能が向上されていることがわかる。   On the other hand, when the arbitration unit 10 according to the present invention having the latency search table by physical address shown in FIG. 8 is provided, as shown in FIG. 15, ordering is performed so that a request with a long access latency to the request physical address is prioritized. Since the read request is issued, the read request is issued at intervals of 25 nS from 0 nS, and the reply of the last request is returned after 875 nS. That is, it can be seen that the reply is returned 400 nS earlier than before, the read request transfer is made more efficient, and the effective data transfer performance is improved.

本発明の他の実施の形態として、その基本的構成は上記の通りであるが、物理アドレス別レイテンシ検索テーブル101について、先の実施の形態では、予め設定されていた物理アドレスに依存したアクセスレイテンシを、実際のリードリクエストとそのリプライを元に、動的に設定するように、更に工夫している。   As another embodiment of the present invention, the basic configuration is as described above. With regard to the latency search table 101 for each physical address, in the previous embodiment, the access latency depending on the physical address set in advance is used. Is further devised so that it is dynamically set based on the actual read request and its reply.

その構成を図16に示す。本図において、調停手段100によりリードリクエスト116が発行されると、レイテンシ計算手段104にアクセス先物理アドレスおよびタイマ103から得られるリクエスト発行時刻140を登録する(図16(a))。リードリクエスト116に対するリードリプライ117が返却されると、タイマ103から得られるリプライ到着時刻141を登録する(図16(b))。更に、リプライ到着時刻141からリクエスト発行時刻140を引き算したアクセスレイテンシ118を計算する(図16(c))。最後に、物理アドレス別レイテンシ検索テーブル101の、物理アドレス119に対応するアクセスレイテンシをアクセスレイテンシ118で更新する(図16(d))。   The configuration is shown in FIG. In this figure, when the read request 116 is issued by the arbitration unit 100, the access destination physical address and the request issue time 140 obtained from the timer 103 are registered in the latency calculation unit 104 (FIG. 16A). When the read reply 117 for the read request 116 is returned, the reply arrival time 141 obtained from the timer 103 is registered (FIG. 16B). Further, the access latency 118 is calculated by subtracting the request issue time 140 from the reply arrival time 141 (FIG. 16C). Finally, the access latency corresponding to the physical address 119 in the latency search table 101 by physical address is updated with the access latency 118 (FIG. 16 (d)).

このように、本例では、先の実施の形態では予め設定されていた物理アドレスに依存したアクセスレイテンシを、実際のリードリクエストとそのリプライをもとに動的に更新するようにしているので、初期設定が必要なく、また、NUMA型分散共有メモリ並列計算機の動的な構成変更や実行ジョブの負荷に応じて、動的にデータ転送が最適化されデータ転送実効性能が向上するという効果が得られる。   As described above, in this example, the access latency depending on the physical address set in advance in the previous embodiment is dynamically updated based on the actual read request and its reply. There is no need for initialization, and the data transfer is dynamically optimized according to the dynamic configuration change of the NUMA-type distributed shared memory parallel computer and the load of the execution job, and the data transfer effective performance is improved. It is done.

本構成において、レイテンシ計算手段104を複数備え、複数のリードリクエストに対してアクセスレイテンシを動的に設定することできる。また、一回のリクエストだけでなく複数回のリクエストのレイテンシの平均を求め物理アドレス別レイテンシ検索テーブル101を更新する構成にしてもよい。   In this configuration, a plurality of latency calculation means 104 are provided, and the access latency can be dynamically set for a plurality of read requests. Further, the latency search table 101 for each physical address may be updated by calculating the average latency of not only a single request but also a plurality of requests.

なお、上述した各実施の形態の動作は、予めROMなどの記録媒体にその動作手順を記録しておき、これをコンピュータにより読み取らせて実行させるように構成することができることは明白である。   It is obvious that the operation of each of the above-described embodiments can be configured such that the operation procedure is recorded in advance on a recording medium such as a ROM and is read and executed by a computer.

本発明が適用されるNUMA型分散共有メモリ並列計算機システムの構成図である。It is a block diagram of a NUMA type distributed shared memory parallel computer system to which the present invention is applied. 図1の各部の具体例を示す図である。It is a figure which shows the specific example of each part of FIG. 図2の変形例を示す図である。It is a figure which shows the modification of FIG. 各プロセッサノードの主記憶をスタックしてシステムの主記憶空間を形成した例を示す図である。It is a figure which shows the example which stacked the main memory of each processor node, and formed the main memory space of the system. 各プロセッサノードの主記憶間でインタリーブしてシステムの主記憶空間を形成した例を示す図である。It is a figure which shows the example which formed the main memory space of the system by interleaving between the main memories of each processor node. 図1のリードリクエスト調停ユニット10の一例の詳細を示す図である。It is a figure which shows the detail of an example of the read request arbitration unit 10 of FIG. 物理アドレス別レイテンシ検索テーブル101の一例を説明する図である。It is a figure explaining an example of the latency search table 101 according to physical address. 物理アドレス別レイテンシ検索テーブル101の他の例を説明する図である。It is a figure explaining the other example of the latency search table 101 by physical address. リードリクエスト登録テーブル102の例を説明する図である。5 is a diagram for explaining an example of a read request registration table 102. FIG. 調停手段100の例を説明する図である。3 is a diagram for explaining an example of arbitration means 100. FIG. リードリクエスト調停ユニット10の動作を説明する図である。FIG. 6 is a diagram for explaining the operation of the read request arbitration unit 10. 従来の分散配置方式のFIFO方式によるリードリクエストとリードリプライとの時間関係を示す図である。It is a figure which shows the time relationship between the read request by the FIFO method of the conventional distributed arrangement method, and a read reply. 本発明の分散配置方式によるリードリクエストとリードリプライとの時間関係を示す図である。It is a figure which shows the time relationship between the read request and read reply by the distributed arrangement system of this invention. 従来のインタリーブ分散配置方式のFIFO方式によるリードリクエストとリードリプライとの時間関係を示す図である。It is a figure which shows the time relationship between the read request and read reply by the FIFO method of the conventional interleave distributed arrangement method. 本発明のインタリーブ分散配置方式によるリードリクエストとリードリプライとの時間関係を示す図である。It is a figure which shows the time relationship between the read request and read reply by the interleave distributed arrangement system of this invention. 図1のリードリクエスト調停ユニット10の他の例の詳細を示す図である。It is a figure which shows the detail of the other example of the read request arbitration unit 10 of FIG. 従来のUMAシステムの例を示す図である。It is a figure which shows the example of the conventional UMA system. 従来のFIFO方式によるリードリクエストの発行の例を示す図である。It is a figure which shows the example of issue of the read request by the conventional FIFO system. 従来のNUMAシステムの例を示す図である。It is a figure which shows the example of the conventional NUMA system.

符号の説明Explanation of symbols

10 ノードリクエスト調停ユニット
20〜23 プロセッサノード
30〜33 I/Oノード
40 ノード間接続装置
100 調停手段
101 物理アドレスレイテンシ検索テーブル
102 リードリクエスト登録テーブル
103 タイマ
200a,200b プロセッサ
201 主記憶ユニット
202 プロセッサノード制御ユニット
300 I/Oノード制御ユニット
10 Node request arbitration unit
20-23 processor node
30-33 I / O node
40 Internode connection device
100 Mediation means
101 Physical address latency search table
102 Read request registration table
103 timer 200a, 200b processor
201 Main memory unit
202 processor node control unit
300 I / O node control unit

Claims (9)

一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御システムであって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす制御手段を含むことを特徴とするリードリクエスト調停制御システム。   A read request arbitration control system in a distributed shared memory parallel computer comprising a plurality of nodes having one or more processors and a main storage device, the read request depending on an access latency for a request destination address of the read request A read request arbitration control system, comprising control means for performing arbitration control. 前記制御手段は、前記アクセスレイテンシがより長いリードリクエストを優先して発行するよににしたことを特徴とする請求項1記載のリードリクエスト調停制御システム。   2. The read request arbitration control system according to claim 1, wherein the control means preferentially issues a read request having a longer access latency. 前記制御手段は、前記リードリクエスト先の各アドレスとこれらアドレスにそれぞれ対応したレイテンシとを予め格納したテーブルと、前記リードリクエストの発生に応答して、そのリクエスト先により前記テーブルを参照して前記レイテンシを算出する手段とを有することを特徴とする請求項1または2記載のリードリクエスト調停制御システム。   The control means stores a table in which the addresses of the read request destinations and latencies corresponding to the addresses are stored in advance, and refers to the table by the request destination in response to the occurrence of the read request. The read request arbitration control system according to claim 1, further comprising: means for calculating 前記リードリクエストに対する実際の応答を元に、前記テーブルの前記レイテンシの更新をなす手段を、更に含むことを特徴とする請求項3記載のリードリクエスト調停制御システム。   4. The read request arbitration control system according to claim 3, further comprising means for updating the latency of the table based on an actual response to the read request. 一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御方法であって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす制御ステップを含むことを特徴とするリードリクエスト調停制御方法。   A read request arbitration control method in a distributed shared memory parallel computer comprising a plurality of nodes having one or more processors and a main storage device, the read request depending on an access latency for a request destination address of the read request A read request arbitration control method, comprising a control step for performing arbitration control. 前記制御ステップは、前記アクセスレイテンシがより長いリードリクエストを優先して発行するよににしたことを特徴とする請求項5記載のリードリクエスト調停制御方法。   6. The read request arbitration control method according to claim 5, wherein the control step preferentially issues a read request having a longer access latency. 前記制御ステップは、前記リードリクエストの発生に応答して、前記リードリクエスト先の各アドレスとこれらアドレスにそれぞれ対応したレイテンシとを予め格納したテーブルを、そのリクエスト先により参照して前記レイテンシを算出するステップを有することを特徴とする請求項5または6記載のリードリクエスト調停制御方法。   In response to the generation of the read request, the control step calculates the latency by referring to a table in which each address of the read request destination and a latency corresponding to each address are stored in advance. 7. The read request arbitration control method according to claim 5 or 6, further comprising steps. 前記リードリクエストに対する実際の応答を元に、前記テーブルの前記レイテンシの更新をなすステップを、更に含むことを特徴とする請求項7記載のリードリクエスト調停制御方法。   8. The read request arbitration control method according to claim 7, further comprising the step of updating the latency of the table based on an actual response to the read request. 一以上のプロセッサと主記憶装置を有する複数のノードでシステムを構成する分散型共有メモリ並列計算機におけるリードリクエスト調停制御方法をコンピュータに実行させるためのプログラムであって、リードリクエストのリクエスト先アドレスに対するアクセスレイテンシに応じて、前記リードリクエストの調停制御をなす処理を含むことを特徴とするコンピュータ読取り可能なプログラム。   A program for causing a computer to execute a read request arbitration control method in a distributed shared memory parallel computer comprising a plurality of nodes having one or more processors and a main storage device, and accessing a request destination address of a read request A computer-readable program comprising processing for arbitrating the read request according to latency.
JP2004048861A 2004-02-25 2004-02-25 Read request arbitration control system and method Expired - Fee Related JP4019056B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004048861A JP4019056B2 (en) 2004-02-25 2004-02-25 Read request arbitration control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004048861A JP4019056B2 (en) 2004-02-25 2004-02-25 Read request arbitration control system and method

Publications (2)

Publication Number Publication Date
JP2005242500A true JP2005242500A (en) 2005-09-08
JP4019056B2 JP4019056B2 (en) 2007-12-05

Family

ID=35024204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004048861A Expired - Fee Related JP4019056B2 (en) 2004-02-25 2004-02-25 Read request arbitration control system and method

Country Status (1)

Country Link
JP (1) JP4019056B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235761A (en) * 2005-02-22 2006-09-07 Nec Corp Distributed shared memory unit, and memory access method
JP2009064360A (en) * 2007-09-07 2009-03-26 Canon Inc Memory controller and its controlling method
KR101533405B1 (en) * 2014-02-21 2015-07-03 한국과학기술원 Shared memory management method for numa system
WO2016117190A1 (en) * 2015-01-22 2016-07-28 ソニー株式会社 Memory controller, storage device, information processing system, and method for controlling memory
CN116225346A (en) * 2023-05-09 2023-06-06 此芯科技(上海)有限公司 Memory data access method and electronic equipment

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235761A (en) * 2005-02-22 2006-09-07 Nec Corp Distributed shared memory unit, and memory access method
JP4725130B2 (en) * 2005-02-22 2011-07-13 日本電気株式会社 Distributed shared memory device and memory access method
JP2009064360A (en) * 2007-09-07 2009-03-26 Canon Inc Memory controller and its controlling method
KR101533405B1 (en) * 2014-02-21 2015-07-03 한국과학기술원 Shared memory management method for numa system
WO2016117190A1 (en) * 2015-01-22 2016-07-28 ソニー株式会社 Memory controller, storage device, information processing system, and method for controlling memory
US10318210B2 (en) 2015-01-22 2019-06-11 Sony Corporation Memory controller, storage device, information processing system, and method of controlling memory
CN116225346A (en) * 2023-05-09 2023-06-06 此芯科技(上海)有限公司 Memory data access method and electronic equipment

Also Published As

Publication number Publication date
JP4019056B2 (en) 2007-12-05

Similar Documents

Publication Publication Date Title
JP6542909B2 (en) File operation method and apparatus
US7380102B2 (en) Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response
JP4820566B2 (en) Memory access control circuit
JP4687729B2 (en) Cache memory, vector processing apparatus, and vector data alignment method
JP4085389B2 (en) Multiprocessor system, consistency control device and consistency control method in multiprocessor system
US8102855B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
JP2002373115A (en) Replacement control method for shared cache memory and device therefor
US8117392B2 (en) Method and apparatus for efficient ordered stores over an interconnection network
JP4019056B2 (en) Read request arbitration control system and method
JP2009015509A (en) Cache memory device
JP2005209206A (en) Data transfer method for multiprocessor system, multiprocessor system, and processor for executing the method
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
JP4729490B2 (en) Data processing system
JP7493311B2 (en) BUS SYSTEM AND CONTROL METHOD THEREOF
US20190042342A1 (en) Techniques for managing a hang condition in a data processing system with shared memory
JP2006235761A (en) Distributed shared memory unit, and memory access method
JP5549179B2 (en) Data access device, data access control method, and data access control program
JPH05290000A (en) Parallel computer and data exchange control device
JP4900381B2 (en) Memory control device and control method of memory control device
JP2006260395A (en) Program loading method and its device
JP2830780B2 (en) Multiprocessor system
JP2012093944A (en) Information processor and information processing method
JP2009301102A (en) Memory system for using cache memory, its method, and its program
JP2009088622A (en) Packet transfer device having buffer memory and method thereof
JP5338452B2 (en) Memory management system, memory management method and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070921

R150 Certificate of patent or registration of utility model

Ref document number: 4019056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130928

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees