JP2005285042A - Data batch transfer method and apparatus - Google Patents

Data batch transfer method and apparatus Download PDF

Info

Publication number
JP2005285042A
JP2005285042A JP2004101887A JP2004101887A JP2005285042A JP 2005285042 A JP2005285042 A JP 2005285042A JP 2004101887 A JP2004101887 A JP 2004101887A JP 2004101887 A JP2004101887 A JP 2004101887A JP 2005285042 A JP2005285042 A JP 2005285042A
Authority
JP
Japan
Prior art keywords
data
transfer
nodes
node
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004101887A
Other languages
Japanese (ja)
Other versions
JP4117621B2 (en
Inventor
Katsuhiko Okada
克彦 岡田
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2004101887A priority Critical patent/JP4117621B2/en
Publication of JP2005285042A publication Critical patent/JP2005285042A/en
Application granted granted Critical
Publication of JP4117621B2 publication Critical patent/JP4117621B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data batch transfer method and apparatus for attaining efficiency improvement and acceleration by reducing a competition arbitration time with a data batch transfer between clusters in a large-scale computer system or the like comprised of a plurality of clusters each including a plurality of CPUs and memories. <P>SOLUTION: The data batch transfer method is composed of a plurality of nodes each including a plurality of CPUs 12 and memories 14. The plurality of memories 14 of the plurality of nodes are connected to a cluster switch via a common RCU (node transfer control unit) 20. The RCU 20 comprises a transfer instruction information notification section 21 from a CPU, a data load section 22, a data store section 23, an address translation section 24, a data storage buffer 25, an address instruction information buffer 26, an inter-cluster data sending section 27 and an inter-cluster data receiving section 28. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明はデータ一括転送方法および装置に関し、特に複数のコンピュータ(ノード)を接続して高速データ転送を行いながら計算すると共に1つの命令でノード間の大容量転送を実行可能にする、計算システム又はディスタンス転送によるクラスタ内データを一括転送するデータ一括転送方法および装置に関する。   The present invention relates to a data batch transfer method and apparatus, and more particularly to a calculation system or a computer system that performs calculation while performing high-speed data transfer by connecting a plurality of computers (nodes) and enables execution of large-capacity transfer between nodes with one command. The present invention relates to a data batch transfer method and apparatus for batch transfer of intra-cluster data by distance transfer.

複数のノードに跨る大型計算システムにおいて、処理速度の高速化等のために、並列処理が行われる。ノード間に跨る平行実行プログラムは、主に各ノードの計算フェーズと、ノード間で同期転送する転送フェーズに処理が別れる。急速に向上する計算性能に対して、この転送フェーズの転送時間を軽減することが重要である。   In a large-scale computing system spanning a plurality of nodes, parallel processing is performed in order to increase processing speed. The parallel execution program that spans between nodes is mainly divided into a calculation phase for each node and a transfer phase for synchronous transfer between nodes. It is important to reduce the transfer time of this transfer phase for rapidly increasing computing performance.

特に、科学計算分野(例えば、各種のシミュレーション)においては、主として、
(1)各ノードでの計算に先立ち、あるノードで大配列データを構築し、これを分割して書くノードへ割り当ててデータを各ノードに転送する作業、また最後に逆に転送しデータを統合する作業および
(2)計算フェーズの間の転送フェーズでの転送(隣接する計算領域の境界のデータの加算演算等をするため、各ノード間で転送しあう)
の2種類の転送が発生する。そこで、これらの転送時間を軽減することが求められる。
In particular, in the field of scientific calculation (for example, various simulations)
(1) Prior to the calculation at each node, large array data is constructed at a certain node, this is divided and assigned to the nodes to be written, and the data is transferred to each node. (2) Transfer in the transfer phase during the calculation phase (transfer between each node to perform addition operation of data at the boundary of adjacent calculation areas)
Two types of transfers occur. Therefore, it is required to reduce these transfer times.

斯かる技術分野における従来技術は、種々の技術文献に開示されている。各々ローカルエリアネットワークに接続された複数のCPU(演算処理装置)、データ転送装置および共有メモリを備える複数のクラスタをクラスタ間ネットワークで相互接続するデータ処理装置およびそのデータ処理方法が開示されている(例えば、特許文献1参照。)。また、二次元配列データ内のサブアレイデータ全体をアクセスする場合に、サブアレイデータの要素数に拘らず、総転送用素数をサブアレイデータの要素数で割った分だけデータ転送命令を発行することを不要とし、データ転送時の転送効率を改善する情報処理装置および情報処理システムが開示されている(例えば、特許文献2参照。)。   Conventional techniques in such technical fields are disclosed in various technical documents. A data processing apparatus and a data processing method for interconnecting a plurality of clusters each including a plurality of CPUs (arithmetic processing apparatuses), data transfer apparatuses, and a shared memory connected to a local area network through an inter-cluster network are disclosed ( For example, see Patent Document 1.) In addition, when accessing the entire subarray data in the two-dimensional array data, it is not necessary to issue a data transfer instruction for the total number of primes divided by the number of subarray data elements, regardless of the number of subarray data elements. An information processing apparatus and an information processing system that improve transfer efficiency during data transfer are disclosed (for example, see Patent Document 2).

特開2000−322392号公報(第4頁、第1図)JP 2000-322392 A (page 4, FIG. 1) 特開平11−134310号公報(第2−3頁、第2図)JP-A-11-134310 (page 2-3, FIG. 2)

上述の如き従来技術を、図8を参照して説明する。従来技術のデータ(又は情報)処理装置100は、図8の左上に示す如く、それぞれ複数のCPU(図中ではCPと略記する)110、これら複数のCPU110に共通のメモリ120およびRCU(ノード間転送制御ユニット)130を含むノード0乃至ノードnの複数のノードを有する。そして、これら複数のノードを、ノード間スイッチ140により切替選択するように構成され、RCU130単位でノード間転送を実施している。この際の、RCU130から見たメモリ120のメモリアドレスのイメージを、図8中に左下に図示している。   The prior art as described above will be described with reference to FIG. As shown in the upper left of FIG. 8, the prior art data (or information) processing apparatus 100 includes a plurality of CPUs (abbreviated as CP in the figure) 110, a memory 120 and an RCU (between nodes) common to the plurality of CPUs 110. A plurality of nodes 0 to n including a transfer control unit 130. The plurality of nodes are configured to be switched and selected by the inter-node switch 140, and inter-node transfer is performed in units of RCUs 130. The image of the memory address of the memory 120 viewed from the RCU 130 at this time is shown in the lower left in FIG.

次に、図9乃至図11を参照して従来のディスタンス転送を説明する。
図9は ディスタンス転送のイメージ図であり、メモリーメモリ間転送時に各要素のアドレスをルールに従って変更して転送する。図中、BLはローカルノード内主記憶転送開始アドレスを、BLはローカルノード内主記憶転送開始アドレスを、BRはリモートノード内主記憶転送開始アドレスを、FL1は第1ディスタンス転送要素数、FL2は第2ディスタンス転送ブロック数、TLは総転送要素数、DL1はローカルノード第1ディスタンス、DL2はローカルノード第2ディスタンス、DL3はローカルノード第3ディスタンス、DR1はリモートノード第1ディスタンス、DR2はリモートノード第2ディスタンス、DR3はリモートノード第3ディスタンスをそれぞれ示す。
Next, conventional distance transfer will be described with reference to FIGS.
FIG. 9 is an image diagram of distance transfer. When transferring between memories, the address of each element is changed according to a rule and transferred. In the figure, BL is the local node main memory transfer start address, BL is the local node main memory transfer start address, BR is the remote node main memory transfer start address, FL1 is the number of first distance transfer elements, and FL2 is Number of second distance transfer blocks, TL is the total number of transfer elements, DL1 is the first distance of the local node, DL2 is the second distance of the local node, DL3 is the third distance of the local node, DR1 is the first distance of the remote node, and DR2 is the remote node The second distance and DR3 indicate the remote node third distance, respectively.

図10はディスタンス転送の仕組みを説明する原理図であり、連続するアドレスに格納された配列に対して演算を実施し、規則的に点在(アドレスが飛ぶ)する配列を、別の規則に並べ直して転送先に格納するものである。転送元メモリ内の状態と転送先ノードのメモリ内の状態が示されている。ここで、配列の開始アドレスを0x80000として表示している。   FIG. 10 is a principle diagram for explaining the mechanism of distance transfer. An operation is performed on arrays stored at consecutive addresses, and arrays that are regularly scattered (addresses fly) are arranged in another rule. It is corrected and stored in the transfer destination. The state in the transfer source memory and the state in the transfer destination node memory are shown. Here, the start address of the array is displayed as 0x80000.

図11はディスタンス転送の利用方法の説明図である。図9において、各情報が転送指示情報である。このうちローカルノード側の情報が転送元配置情報であり、リモートノード側情報が転送先情報である。図10は、配列の構成とメモリ内の配置イメージを示す。大配列を分割して各ノードで演算するためには、配列中を点在するデータを一定のルールを持ってかき集めて転送し、1つの配列として集めて計算を行う。また、図11に示す如く、上述した分割・転送(図11(A)参照)のみならず、逆方向の転送・統合(図11(B)参照)、圧縮・拡大(図(C11)参照)および転置転送(変形)(図11(D)参照)等の種々の利用が行われる。   FIG. 11 is an explanatory diagram of a method of using distance transfer. In FIG. 9, each piece of information is transfer instruction information. Among these, information on the local node side is transfer source arrangement information, and remote node side information is transfer destination information. FIG. 10 shows a configuration of the array and an arrangement image in the memory. In order to divide a large array and perform calculation at each node, data scattered in the array is collected and transferred with a certain rule, and is collected as one array for calculation. Further, as shown in FIG. 11, not only the above-described division / transfer (see FIG. 11A), but also reverse transfer / integration (see FIG. 11B), compression / enlargement (see FIG. C11). In addition, various uses such as transposition transfer (deformation) (see FIG. 11D) are performed.

図8に示す従来例において、CPU110からもRCU130からもメモリ120には自ノードのメモリ120にしかアクセスすることができない。この条件の中で、並列実行プログラムの転送では、ノードごとの転送の際に競合調停が入ることで、転送時間に該当ノードへの転送待ち時間が加わることになる。特に、複数ノードへの転送を行うノードは、初めに競合調停で転送待ちになってしまうと、後続の転送も一緒に転送待ちとすることになり(所謂ヘッドブロッキング現象)、この競合調停時間が増加するという課題を有する。   In the conventional example shown in FIG. 8, both the CPU 110 and the RCU 130 can access only the memory 120 of the own node. Under these conditions, in the parallel execution program transfer, contention arbitration occurs at the time of transfer for each node, so that a transfer waiting time to the corresponding node is added to the transfer time. In particular, when a node that performs transfer to a plurality of nodes first waits for transfer due to contention arbitration, the subsequent transfer also waits for transfer together (so-called head blocking phenomenon). It has the problem of increasing.

本発明は、従来技術の上述の如き課題に鑑みなされたものであり、クラスタ内の一括転送の機構を持つことにより、並列実行プログラム等でもこの競合調停時間を1回以下に低減し、転送時間を短縮する計算システム、即ちデータ一括転送方法および装置を提供することを主目的とする。また、ディスタンス転送の原理を変更することなく、ソフトウェア制御として実現され、新たな複雑な制御を行うことなく効率的且つ高速でプログラム実行可能にするデータ一括転送方法および装置を提供することを付加的な目的とする。   The present invention has been made in view of the above-described problems of the prior art, and by having a batch transfer mechanism in a cluster, this contention arbitration time can be reduced to one time or less even in a parallel execution program or the like. It is a main object of the present invention to provide a calculation system, that is, a data batch transfer method and apparatus. Further, it is additionally provided to provide a data batch transfer method and apparatus that can be realized as software control without changing the principle of distance transfer and that can execute programs efficiently and at high speed without performing new complicated control. With a purpose.

前述の課題を解決するため、本発明によるデータ一括転送方法および装置は次のような特徴的な構成を採用している。   In order to solve the above-described problems, the data batch transfer method and apparatus according to the present invention employs the following characteristic configuration.

(1)各々複数のCPUおよびメモリを有する複数のノード(コンピュータ)により構成され、前記ノードの前記メモリのデータを一括転送するデータ一括転送方法において、
前記複数のノードの前記全てのメモリのデータをデータストア部の連続したアドレスに一括ストアして一元管理するデータ一括転送方法。
(1) In a data batch transfer method comprising a plurality of nodes (computers) each having a plurality of CPUs and memories, and batch transferring the memory data of the nodes,
A data batch transfer method in which the data of all the memories of the plurality of nodes are collectively stored at consecutive addresses in a data store unit and managed in an integrated manner.

(2)前記ノードを跨るディスタンスが前記ノード内のメモリサイズと定義してディスタンスアクセスを行う上記(1)のデータ一括転送方法。   (2) The data batch transfer method according to (1) above, wherein the distance across the nodes is defined as a memory size in the nodes and distance access is performed.

(3)前記各ノードのデータは、アドレス変換テーブルに基づいて前記データストア部に一括ストアする上記(1)又は(2)のデータ一括転送方法。   (3) The data batch transfer method according to (1) or (2), wherein the data of each node is stored in the data store unit in a batch based on an address conversion table.

(4)各々複数のCPUと該複数のCPUに共通のメモリを有する複数のノード(コンピュータ)を備え、該複数のノードの前記メモリのデータを一括して転送するデータ一括転送装置において、
前記複数のノードの全てのメモリに共通接続された単一のノード間転送制御ユニット(RCU)を備え、該RCUは、前記各ノードのメモリのデータをストアするデータストア部および該データストア部のアドレスを決定するアドレス変換部を備え、前記複数のノードの前記メモリの全てのデータを一括転送するデータ一括転送装置。
(4) In a data batch transfer apparatus that includes a plurality of CPUs and a plurality of nodes (computers) each having a common memory for the plurality of CPUs, and collectively transfers the data in the memories of the plurality of nodes.
A single inter-node transfer control unit (RCU) commonly connected to all the memories of the plurality of nodes, the RCU including a data store unit that stores data of the memory of each node, and the data store unit A data batch transfer device comprising an address conversion unit for determining an address, and batch transferring all data in the memory of the plurality of nodes.

(5)前記アドレス変換部は、前記CPUからの転送指示情報通知部に接続され、それぞれ転送元ノードとアドレスおよび転送先ノードとアドレスが供給されるデータロード部およびデータストア部を備える上記(4)のデータ一括転送装置。   (5) The address conversion unit is connected to the transfer instruction information notification unit from the CPU, and includes a data load unit and a data store unit to which a transfer source node and an address and a transfer destination node and an address are supplied, respectively (4 ) Data batch transfer device.

(6)前記複数のノードを纏めたクラスタを複数設け、該各クラスタの前記RCUに接続されるクラスタ間スイッチを介して前記複数のクラスタが相互接続される上記(4)又は(5)のデータ一括転送装置。   (6) The data according to (4) or (5), wherein a plurality of clusters each including the plurality of nodes are provided, and the plurality of clusters are interconnected via an inter-cluster switch connected to the RCU of each cluster. Batch transfer device.

(7)前記RCUの前記データストア部およびデータロード部は、それぞれデータ蓄積バッファとクラスタ間データ受信部およびデータ蓄積バッファとクラスタ間データ送信部を介して前記クラスタ間スイッチに接続される上記(6)のデータ一括転送装置。   (7) The data store unit and data load unit of the RCU are connected to the intercluster switch via the data storage buffer, the intercluster data receiving unit, the data storage buffer, and the intercluster data transmitting unit, respectively (6 ) Data batch transfer device.

本発明のデータ一括転送方法および装置によると、次の如き実用上の顕著な効果が得られる。即ち、アドレス変換手段を備えて一括転送することにより、クラスタ内又は指定クラスタのノード転送毎に発生する転送競合調停時間を、クラスタ内全ノード転送で1回に時間短縮可能である。また、ソフトウェア命令のインタフェースを変更せずに実現するので、ソフトウェア制御を複雑化せず、転送手続きのソフトウェア制御が複雑化することなくハードウェアの本来の性能を引き出すことが可能である。   According to the data batch transfer method and apparatus of the present invention, the following significant effects can be obtained. In other words, by carrying out batch transfer with the address conversion means, it is possible to reduce the transfer contention arbitration time that occurs for each node transfer within a cluster or for a designated cluster to one time for all node transfers within the cluster. Further, since the software instruction interface is realized without changing, it is possible to bring out the original performance of the hardware without complicating the software control and without complicating the software control of the transfer procedure.

以下、本発明によるデータ一括転送方法および装置の好適実施例の構成および動作を、添付図面を参照して詳細に説明する。   Hereinafter, the configuration and operation of a preferred embodiment of a data batch transfer method and apparatus according to the present invention will be described in detail with reference to the accompanying drawings.

先ず、本発明は、以下の説明から明らかな如く、次に3点に集約できる。第1に、従来は、ノード(コンピュータ)1つ毎に保有するノード間転送制御ユニット(以下、RCUという)を複数のノードに対して1つ持つ(以下、その固まりをクラスタという)構成にし、且つそのRCUにおいて、個々のクラスタ内ノードのメモリ領域を連続アドレスとして、RCUからアクセスできるためのノード間クラスタ内のアドレス変換機構を有する。尚、本明細書中で『クラスタ』とは、各クラスタ内のノードのメモリは、ノード内の各CPUからはアクセス可能であるが、他のノードのCPUからはRCUを介してノード間転送を行い、自ノード内のメモリ上にデータを転送しないとデータを参照不可能な構成とし、各ノードが他のノードのメモリをダイレクトに参照(および更新)することが不可なノードを複数構成させたものを意味する。   First, the present invention can be summarized into three points as will be apparent from the following description. First, conventionally, each node (computer) has a node-to-node transfer control unit (hereinafter referred to as RCU) for a plurality of nodes (hereinafter referred to as a cluster). In addition, the RCU has an address translation mechanism in the inter-node cluster that can be accessed from the RCU using the memory area of each intra-cluster node as a continuous address. In this specification, “cluster” means that the memory of a node in each cluster can be accessed from each CPU in the node, but transfer from one node to another is performed from the CPU of another node via the RCU. Configured so that the data cannot be referred to unless the data is transferred to the memory in the own node, and a plurality of nodes in which each node cannot directly refer to (and update) the memory of the other node are configured. Means things.

第2に、ある1ノードの1CPUから転送命令(1命令)が発行されたときに、上述したアドレス変換機構を介し、CPUの指定するアドレスを変換し、各メモリからデータをロードして連続したデータとしてRCU内に取り込むデータロード機構を有する。そして、このデータロード機能により1カ所に集められたデータを、連続したデータとして一括してCPUの転送指示に従ってアドレスを変換し、各ノードに分かれている各メモリへデータをストア(蓄積)するデータストア機構を有する。   Second, when a transfer instruction (one instruction) is issued from one CPU of a certain node, the address designated by the CPU is converted through the above-described address conversion mechanism, and data is continuously loaded by loading data from each memory. It has a data load mechanism that takes it into the RCU as data. Then, the data collected in one place by this data load function is converted into continuous data in accordance with the transfer instruction of the CPU, and the data is stored (accumulated) in each memory divided into each node. Has a store mechanism.

更に第3に、CPUからの命令である転送指示をディスタンス命令(メモリ上に規則的に点在する配列データをそのアドレス飛びルール〔転送元配列の配置ルールと転送先配列の配置ルール〕で指定することにより、一括ノード間転送する命令)で発行することである。これにより、クラスタ内のノード間に跨るアドレスの飛び幅を新たなディスタンスとして加えた単一ノード間ディスタンス転送のソフトウェア制御でありながら、クラスタ内の全ノード間の転送を一括転送可能にする。   Thirdly, a transfer instruction, which is an instruction from the CPU, is specified by a distance instruction (array data regularly scattered on the memory is specified by its address skip rule [placement rule for transfer source array and placement rule for transfer destination array]). Is issued by a batch command between nodes). As a result, it is possible to perform batch transfer of all nodes in the cluster while performing software control of distance transfer between single nodes in which a jump distance of addresses across nodes in the cluster is added as a new distance.

図1は、本発明のデータ一括転送装置の好適実施例の基本構成を示すブロック図である。図1に示すデータ一括転送装置10は、それぞれ複数のCPU12を含む複数のノート(ノード0〜ノードn)、ノード毎に設けられ、CPUに接続されたメモリ14およびこれら複数のノードの全てのメモリ14に接続されたRCU20により構成される。   FIG. 1 is a block diagram showing the basic configuration of a preferred embodiment of the data batch transfer apparatus of the present invention. The data batch transfer apparatus 10 shown in FIG. 1 includes a plurality of notes (nodes 0 to n) each including a plurality of CPUs 12, a memory 14 provided for each node, and a memory 14 connected to the CPU and all memories of the plurality of nodes. 14 and the RCU 20 connected to 14.

そして、RCU20は、図1の右側に示す如く、CPU12からの転送指示情報通知部21、データロード部22、データストア部23、アドレス変換部24およびデータ蓄積バッファ25を含んでいる。ここで、CPUからの転送指示情報通知部21、データロード部22およびデータストア部23は、バスを介して相互接続されている。アドレス変換部24は、CPUからの転送指示情報通知部21から出力を得て、データロード部22およびデータストア部23に出力する。また、データ蓄積バッファ25は、データロード部22およびデータストア部23間に接続されている。   The RCU 20 includes a transfer instruction information notification unit 21, a data load unit 22, a data store unit 23, an address conversion unit 24, and a data storage buffer 25 from the CPU 12, as shown on the right side of FIG. Here, the transfer instruction information notification unit 21, the data load unit 22, and the data store unit 23 from the CPU are interconnected via a bus. The address conversion unit 24 obtains an output from the transfer instruction information notification unit 21 from the CPU, and outputs it to the data load unit 22 and the data store unit 23. The data storage buffer 25 is connected between the data load unit 22 and the data store unit 23.

このように、データ一括転送装置10は、複数のノードに接続されたRCU20を備え、このRCU20は、アドレス変換部24を有し、複数のノードに接続された複数のCPU12のうちの1ノードに内在するCPUから転送命令(メモリ上に規則的に点在する配列データを、そのアドレス飛びルール〔転送元配列の配置ルールと転送先配列の配置ルール〕で指定することにより、一括ノード間転送する命令)による転送指示情報を受け取る。ノード間転送制御ユニット20の内部では、CPU12からの転送指示情報(転送元配置情報および転送先配置情報が含まれる)により、転送元データを複数のノードから並行して取り込み、またこれを各ノードのメモリ14に配置する。   As described above, the data batch transfer apparatus 10 includes the RCU 20 connected to a plurality of nodes. The RCU 20 includes the address conversion unit 24 and is connected to one node among the plurality of CPUs 12 connected to the plurality of nodes. Transfer between batch nodes by specifying transfer instructions from the underlying CPU (array data regularly scattered in the memory by the address skip rule [placement rule for the transfer source array and placement rule for the transfer destination array]) The transfer instruction information by the instruction) is received. Inside the inter-node transfer control unit 20, transfer source data is fetched in parallel from a plurality of nodes in accordance with transfer instruction information (including transfer source arrangement information and transfer destination arrangement information) from the CPU 12, and each node receives this data. Arranged in the memory 14.

次に、上述したデータ一括転送装置10を構成する各部の主要機能を説明する。アドレス変換部24は、CPU12からの転送指示情報の転送元情報に示されたアドレス開始位置およびアドレスの飛び幅等のデータの点在するルールに基づき、これを連続したデータの塊に分解する。更に、実際にどのデータをどのノードのどのアドレスから持ってくるのか示したアドレス変換テーブル(後述する図5参照)により一意に変換し、これを通知する。また、同様にCPU12からの転送指示情報の転送先情報に示されたアドレス開始位置およびアドレスの飛び幅等のデータの点在するルールに基づき、実際にどのデータをどのノードのどのアドレスへ書き込むか一意に変換する機能を有する。これにより、アドレス変換部24は、実際にメモリアクセスするノードおよびそのメモリアドレス(一塊のブロック毎)を特定し、この情報をデータロード部22に伝える。   Next, main functions of each unit constituting the data batch transfer apparatus 10 described above will be described. The address conversion unit 24 disassembles the data into continuous data chunks based on data dotted rules such as the address start position and address jump width indicated in the transfer source information of the transfer instruction information from the CPU 12. Further, it is uniquely converted by an address conversion table (see FIG. 5 described later) indicating which data is actually brought from which address of which node, and this is notified. Similarly, which data is actually written to which address of which node based on the data interspersed rules such as the address start position and address jump width indicated in the transfer destination information of the transfer instruction information from the CPU 12 It has a function to convert uniquely. As a result, the address conversion unit 24 specifies the node that actually accesses the memory and its memory address (for each block), and transmits this information to the data load unit 22.

データロード部22は、指定されたノードの指定されたメモリアドレス(開始アドレス)にアクセスし、ブロック毎のデータを一括ロードする。データロード部22は、ロードする際にアドレス変換部24で変換されたアドレスの順序を保持し、各ノードから非同期に返却されるデータを、要求したアドレスの順序が保障されるようにデータ蓄積バッファ25への格納を指示する。具体的には、順序のためのシーケンスIDを有し、これをデータ蓄積バッファ25の書き込みアドレスにする等して順序を保障する。データストア部23は、データ蓄積バッファ25からデータを取り出し、通知された転送先配置情報を元にアドレス変換部24が変換した転送先ノードおよび転送先アドレスに従い、指定するノードの指定するアドレス(開始アドレス)にブロック毎のデータを一括ストアする。   The data load unit 22 accesses the specified memory address (start address) of the specified node, and loads the data for each block at once. The data load unit 22 holds the order of addresses converted by the address conversion unit 24 when loading, and stores data returned asynchronously from each node in a data storage buffer so that the requested order of addresses is guaranteed. 25 is instructed. Specifically, a sequence ID for order is provided, and this is guaranteed by using this as a write address of the data storage buffer 25. The data store unit 23 retrieves data from the data storage buffer 25, and designates the address (start) designated by the designated node according to the transfer destination node and the transfer destination address converted by the address conversion unit 24 based on the notified transfer destination arrangement information. Store the data for each block at the same time.

このようにして、本発明のデータ一括転送方法および装置では、ディスタンス命令1命令で複数のノードに点在する配列をクラスタ毎に処理するアドレス変換部24、データロード部22およびデータストア部23を有している。従って、ノード単位の転送に発生する競合調停が、クラスタ単位の1回になるため競合調停時間が減少でき且つディスタンス転送命令に基づき転送を実現することでSW制御を複雑にすることなく一括転送が実現できる。   In this way, in the data batch transfer method and apparatus according to the present invention, the address conversion unit 24, the data load unit 22 and the data store unit 23 which process an array scattered in a plurality of nodes by a distance instruction for each cluster. Have. Therefore, the contention arbitration that occurs in the node unit transfer becomes one time in the cluster unit, so the contention arbitration time can be reduced, and the transfer is realized based on the distance transfer command, so that the batch control can be performed without complicating the SW control. realizable.

次に、図2は、図1の具体例としてのノード0〜ノード3の合計4個のノードを束ねたクラスタ構成のブロック図が示されている。図2に示す具体例において、RCU(ノード間転送制御ユニット)20は、複数のノード(ノード0〜ノード3)と接続される。各ノードは、メモリ14および1以上のCPU12で構成される。RCU20は、複数のノードとの接続で各メモリ14とのデータの送受を行う。また、各ノードは、CPU12からメモリ14を経路としてRCU20に情報の通知を行う。ここで、RCU20は、CPUからの転送指示情報通知部21、データロード部22、データストア部23、アドレス変換部24a、24b、データ蓄積バッファ25a、25b、アドレス指示情報バッファ26a、26b、クラスタ間データ送出部27およびクラスタ間データ受信部28を含んでいる。   Next, FIG. 2 shows a block diagram of a cluster configuration in which a total of four nodes of node 0 to node 3 as a specific example of FIG. 1 are bundled. In the specific example shown in FIG. 2, the RCU (internode transfer control unit) 20 is connected to a plurality of nodes (node 0 to node 3). Each node includes a memory 14 and one or more CPUs 12. The RCU 20 transmits / receives data to / from each memory 14 by connecting to a plurality of nodes. Each node notifies the RCU 20 of information from the CPU 12 through the memory 14 as a route. Here, the RCU 20 includes a transfer instruction information notification unit 21 from the CPU, a data load unit 22, a data store unit 23, address conversion units 24a and 24b, data storage buffers 25a and 25b, address instruction information buffers 26a and 26b, and between clusters. A data sending unit 27 and an intercluster data receiving unit 28 are included.

複数のノードのうちの1ノードに内在するCPU12が、転送命令(メモリ上に規則的に点在する配列データをそのアドレス飛びルールを指定することにより、一括転送命令(図3参照))による転送指示情報を受け取る。CPU12からの転送指示情報通知部21は、転送指示を複数個保持(キューイング)しながら一番古い指示情報から随時、転送元データ配置情報をアドレス変換部24に、転送先データ配置情報をアドレス指示情報バッファ26に通知する。   CPU 12 that resides in one of a plurality of nodes transfers a transfer command (a batch transfer command (see FIG. 3) by specifying an address skip rule for array data regularly scattered in memory). Receive instruction information. The transfer instruction information notification unit 21 from the CPU 12 retains (queues) a plurality of transfer instructions and, from time to time, from the oldest instruction information, transfers the transfer source data arrangement information to the address conversion unit 24 and transfers the transfer destination data arrangement information to the address. The instruction information buffer 26 is notified.

アドレス変換部24は、予め内部にデータをロードしておき、これを保持するアドレス変換テーブル(図5参照)を持ち、CPU12からの転送指示情報通知部21から通知された転送元データ配置情報をノードとデータの固まり(ブロックという)毎のアドレスに分解し、これをデータロード部22に通知する。データロード部22は、ブロック毎に各ノードのメモリ14内の指定アドレスよりデータをロードし、データをアドレス変換部24からアドレスを通知された順序になるようにデータ蓄積バッファ25に格納する。   The address conversion unit 24 loads data in advance and has an address conversion table (see FIG. 5) for holding the data. The transfer unit data arrangement information notified from the transfer instruction information notification unit 21 from the CPU 12 is stored in the address conversion unit 24. It is broken down into addresses for each node and data block (referred to as a block), and this is notified to the data load unit 22. The data load unit 22 loads data from the designated address in the memory 14 of each node for each block, and stores the data in the data accumulation buffer 25 in the order in which the addresses are notified from the address conversion unit 24.

クラスタ間データ送出部27は、クラスタ間のデータ転送の競合調停を行い、データ転送の制御を行う。データの転送が可能な場合には、アドレス指示情報バッファ26とデータ蓄積バッファ25から各情報およびデータを取り出し、これを転送する。クラスタ内への自クラスタから自クラスタへ転送の場合には、クラスタ間データ受信部28にデータを送信する。クラスタ間データ受信部28は、アドレス指示情報バッファ26とデータ蓄積バッファ25に転送先データ配置情報とデータを格納する。アドレス指示情報バッファ26は、アドレス変換部24に転送先データ配置情報を通知する。アドレス変換部24bは、予め内部にデータをロードしておき、これを保持するアドレス変換テーブル(図5参照)を有し、アドレス指示情報バッファ26から通知された転送先データ配置情報をノードとデータの固まり(ブロック)毎のアドレスに分解し、これをデータストア部23に通知する。データストア部23は、ブロック毎に各ノードのメモリ14内の指定アドレスにデータをストアする。   The inter-cluster data sending unit 27 performs contention arbitration of data transfer between clusters and controls data transfer. If data transfer is possible, each information and data is taken out from the address indication information buffer 26 and the data storage buffer 25 and transferred. In the case of transfer from the own cluster to the own cluster in the cluster, the data is transmitted to the inter-cluster data receiving unit 28. The intercluster data receiving unit 28 stores the transfer destination data arrangement information and data in the address instruction information buffer 26 and the data storage buffer 25. The address instruction information buffer 26 notifies the address conversion unit 24 of transfer destination data arrangement information. The address conversion unit 24b has an address conversion table (refer to FIG. 5) which loads data therein in advance and holds the data, and transfers the transfer destination data arrangement information notified from the address instruction information buffer 26 to the node and the data Are divided into addresses for each block (block) and notified to the data store unit 23. The data store unit 23 stores data at a designated address in the memory 14 of each node for each block.

以上、本発明の実施例の構成および各部の機能を詳述したが、図2のCPU12、メモリ14およびクラスタ間スイッチ30は、当業者に周知であり、また本発明とは直接関係しないので、その詳細構成は省略する。尚、上述の実施例では、クラスタは単一であってもよく、複数個存在してもよい。また、CPU12の数も特に制限はない。また、アドレス変換テーブル(図6)は、ページサイズ64MB、主記憶1TB、クラスタ内ノード数4の場合の具体例であるが、これらは1例に過ぎず、これらの数に特に制限はない。主記憶のページ管理については、当業者に周知であり、また本発明とは直接関係しないので、その詳細な構成は省略する。   The configuration of the embodiment of the present invention and the function of each unit have been described in detail. However, the CPU 12, the memory 14, and the intercluster switch 30 in FIG. 2 are well known to those skilled in the art and are not directly related to the present invention. The detailed configuration is omitted. In the above embodiment, there may be a single cluster or a plurality of clusters. Further, the number of CPUs 12 is not particularly limited. Further, the address conversion table (FIG. 6) is a specific example in the case of a page size of 64 MB, a main memory of 1 TB, and the number of nodes in the cluster of 4, but these are only examples, and these numbers are not particularly limited. The page management of the main memory is well known to those skilled in the art and is not directly related to the present invention, so that the detailed configuration is omitted.

次に、本発明による新ディスタンス転送の原理を、図3を参照して説明する。従来のディスタンス転送において、ノード内メモリのサイズを1つのディスタンスとして定義して、大きな1枚のメモリの中の一部分が1ノードに割り当てられるイメージで指定ディスタンス毎(即ち、各ノードへの同時アクセス)に一括してデータを転送する。図3では、ノードを跨るディスタンス=ノード内メモリサイズ(1TBと想定)と定義してディスタンスアクセスを行っている。本例では、複数ノードに分散したデータを1ノードに統合している。ここでは、AsubとAは簡単のため一次元配列として説明している。   Next, the principle of the new distance transfer according to the present invention will be described with reference to FIG. In the conventional distance transfer, the size of the memory in the node is defined as one distance, and an image in which a part of one large memory is allocated to one node for each designated distance (ie, simultaneous access to each node) Transfer data in batches. In FIG. 3, distance access is performed by defining distance across nodes = in-node memory size (assuming 1 TB). In this example, data distributed to a plurality of nodes is integrated into one node. Here, Sub and A are described as one-dimensional arrays for simplicity.

図5は、図2中のアドレス変換部24の説明図である。アドレス変換部24は、図5(A)に示す如く、複数の加算器等を含む従来構成のディスタンスアドレス分解回路241およびその出力側に設けられるアドレス変換テーブル242により構成される。図5(B)は、このアドレス変換テーブル242の具体例の説明である。   FIG. 5 is an explanatory diagram of the address conversion unit 24 in FIG. As shown in FIG. 5A, the address conversion unit 24 includes a conventional structure of a distance address decomposition circuit 241 including a plurality of adders and an address conversion table 242 provided on the output side thereof. FIG. 5B is a description of a specific example of the address conversion table 242.

次に、図4におけるデータ転送について、図2のシステムの動作を、図6(A)、(B)に示すタイミングチャートを参照して説明する。先ず、ノードのシステム立ち上げ時に、アドレス変換部24にアドレステーブルの書き込みを行う。これは、RCU20の一部へのデータ書き込みという形でCPU12等から値を設定する。このようにして、予め実際の転送に先立って設定される。その後、(1)のタイミングで、CPU12が、ディスタンス転送命令を発行する。この転送命令は、転送指示情報をメモリ14に対して通知する。メモリ14は、これをRCU20に受け渡す。次に、(2)のタイミングで、転送指示情報がRCU20内のCPUからの転送指示情報通知部21に到着する。図4では、Asub_nが隣接する配列Aのサブ空間(Asub_n+1等)のAsub_nに隣接する配列部分を1〜3命令(3次元配列ならば3命令)で一括して隣接ノードに転送することができる。   Next, regarding the data transfer in FIG. 4, the operation of the system in FIG. 2 will be described with reference to timing charts shown in FIGS. First, the address table is written to the address conversion unit 24 when the node system is started up. This is a value set by the CPU 12 or the like in the form of data writing to a part of the RCU 20. In this way, it is set in advance prior to actual transfer. Thereafter, at the timing (1), the CPU 12 issues a distance transfer instruction. This transfer instruction notifies the memory 14 of transfer instruction information. The memory 14 passes this to the RCU 20. Next, the transfer instruction information arrives at the transfer instruction information notification unit 21 from the CPU in the RCU 20 at the timing (2). In FIG. 4, the array portion adjacent to Asb_n in the subspace (Asub_n + 1, etc.) of array A adjacent to Asb_n is transferred to the adjacent nodes all at once with 1 to 3 instructions (3 instructions for a three-dimensional array). Can do.

CPUからの転送指示情報通知部21では、転送指示を複数個保持(キューイング)しながら一番古い指示情報から随時、転送指示情報内の転送元データ配置情報をアドレス変換部24に、転送先データ配置情報をアドレス指示情報バッファ26に、(3)のタイミングで通知する。アドレス変換部24は、CPUからの転送指示情報通知部21から通知された転送元データ配置情報を、ディスタンス転送でのアドレス分解回路を動作させることでデータの固まり(ブロック)毎のアドレスに分解し(タイミング4〜7)、これをアドレス変換テーブルで変換することにより、RCU20のポート番号と送出するメモリアクセスリクエストのメモリアドレスおよびデータ長に変換する。変換後は、これをデータロード部22に通知する(タイミング8〜11)。   In the transfer instruction information notification unit 21 from the CPU, the transfer source data arrangement information in the transfer instruction information is transferred to the address conversion unit 24 from the oldest instruction information as needed while holding (queueing) a plurality of transfer instructions. The data arrangement information is notified to the address instruction information buffer 26 at the timing (3). The address conversion unit 24 decomposes the transfer source data arrangement information notified from the transfer instruction information notification unit 21 from the CPU into addresses for each data block (block) by operating an address decomposition circuit in distance transfer. (Timing 4 to 7), this is converted into the port number of the RCU 20 and the memory address and data length of the memory access request to be sent out by converting this with the address conversion table. After the conversion, this is notified to the data load unit 22 (timing 8 to 11).

データロード部22は、ブロック毎に指定されたポートに出力する(タイミング12〜15)。これら各タイミングで戻ってきたデータ(各ノードのメモリ内指定アドレスからのデータ)をそれぞれロードする(タイミング16〜19)。データをアドレス変換部24からアドレスを通知された順序になるようにデータ蓄積バッファ25aに格納する(タイミング20)。データが全て来たか否かを、データ蓄積バッファ25はロードしたデータの個数により判別する。   The data load unit 22 outputs to the port designated for each block (timing 12 to 15). Data returned at each timing (data from the designated address in the memory of each node) is loaded (timing 16 to 19). Data is stored in the data storage buffer 25a in the order in which the addresses are notified from the address conversion unit 24 (timing 20). The data storage buffer 25 determines whether or not all data has been received based on the number of loaded data.

次に、データ蓄積バッファ25aにデータが全て揃うと、クラスタ間データ送出部27に転送可能通知が発行される(タイミング21)。これにより、クラスタ間データ送出部27は、クラスタ間のデータ転送の競合調停を行い、データ転送の制御を行う(タイミング22)。データの転送が可能な場合には、アドレス指示情報バッファ26aおよびデータ蓄積バッファ25aから各情報およびデータを取り出し、これを転送する(タイミング23)。クラスタ内への自クラスタから自クラスタへ転送の場合には、クラスタ間データ受信部28にデータを送信する(タイミング24)。   Next, when all the data is collected in the data storage buffer 25a, a transfer enable notification is issued to the inter-cluster data sending unit 27 (timing 21). As a result, the inter-cluster data sending unit 27 performs contention arbitration for inter-cluster data transfer and controls data transfer (timing 22). If data transfer is possible, each information and data is taken out from the address indication information buffer 26a and the data storage buffer 25a and transferred (timing 23). In the case of transfer from the own cluster to the own cluster in the cluster, the data is transmitted to the inter-cluster data receiving unit 28 (timing 24).

クラスタ間データ受信部28は、アドレス指示情報バッファ26bおよびデータ蓄積バッファ25bに転送先データ配置情報およびデータを格納する(タイミング25)。アドレス指示情報バッファ26bは、アドレス変換部24bに転送先データ配置情報を通知する(タイミング26)。アドレス変換部24bは、アドレス指示情報バッファ26bから通知された転送先データ配置情報をディスタンス転送でのアドレス分解回路を動作させることでデータの固まり(ブロック)毎のアドレスに分解する(タイミング27〜30)。そして、これをアドレス変換テーブルで変換することにより、RCU20のポート番号と送出するメモリアクセスリクエストのメモリアドレスおよびデータ長に変換する。この変換後は、これをデータストア部23に通知する。データストア部23は、ブロック毎に各ノードのメモリ14内の指定アドレスにデータをそれぞれストアする(タイミング31〜34)。これにより、図4に示す如く、各ノードから転送データが複数ノードから複数ノードに一括して転送される。   The inter-cluster data receiving unit 28 stores the transfer destination data arrangement information and data in the address instruction information buffer 26b and the data storage buffer 25b (timing 25). The address instruction information buffer 26b notifies the address conversion unit 24b of the transfer destination data arrangement information (timing 26). The address conversion unit 24b decomposes the transfer destination data arrangement information notified from the address instruction information buffer 26b into addresses for each data block (block) by operating an address decomposition circuit in distance transfer (timing 27 to 30). ). Then, by converting this using the address conversion table, the port number of the RCU 20 and the memory address and data length of the memory access request to be transmitted are converted. After this conversion, this is notified to the data store unit 23. The data store unit 23 stores data in the designated address in the memory 14 of each node for each block (timing 31 to 34). As a result, as shown in FIG. 4, transfer data from each node is transferred from a plurality of nodes to a plurality of nodes at once.

次に、図7を参照して本発明の第2実施例について説明する。この基本構成は、図2を参照して上述した通りであるが、ディスタンス命令の通知について更に工夫している。実施例として、今まで説明した事例は基本的に転送元クラスタから転送先クラスタ(自クラスタを含む)にデータを転送する形をとり、転送元クラスタのCPU12からの通知で転送を開始する。図7において、CPU12からの転送指示情報通知部21は、別クラスタのCPUからのリクエストを通知するリクエスト転送手段とリクエスト受信手段を持ち、リクエスト受信手段が転送指示情報を受け取ったとき、これをCPU12からの転送指示情報通知部21に通知する。以後、CPU12からの転送指示情報通知部21からの処理は、上述した第1実施例と同様である。   Next, a second embodiment of the present invention will be described with reference to FIG. This basic configuration is as described above with reference to FIG. 2, but further devised for the notification of the distance command. As an embodiment, the examples described so far basically take the form of transferring data from a transfer source cluster to a transfer destination cluster (including its own cluster), and transfer is started by a notification from the CPU 12 of the transfer source cluster. In FIG. 7, the transfer instruction information notification unit 21 from the CPU 12 has a request transfer unit and a request reception unit that notify a request from a CPU of another cluster, and when the request reception unit receives the transfer instruction information, the CPU 12 Is notified to the transfer instruction information notification unit 21. Thereafter, the processing from the transfer instruction information notification unit 21 from the CPU 12 is the same as in the first embodiment described above.

このように、第2実施例では、他クラスタに対してもクラスタ内の一括転送が可能なため、複数のクラスタで構成されるシステムについて、動作を統括する1ノードの1CPUから、全てのクラスタで並列してクラスタ内の一括転送処理を行うことにより、実行時間を更に短縮することが可能である。   As described above, in the second embodiment, batch transfer within a cluster is possible with respect to other clusters. Therefore, in a system composed of a plurality of clusters, from one CPU of one node that supervises operation to all clusters. The execution time can be further shortened by performing batch transfer processing in the cluster in parallel.

図8に、本発明によるデータ一括転送装置10および従来のデータ一括転送装置100を、RCU側から見たメモリアドレスのイメージと共に対比して示す。図8に右側に示す本発明によるデータ一括転送装置10によると、各々複数のCPU12とメモリ14を含む複数のノードの複数のメモリ14に共通のRCU20を使用し、このRCU20からクラスタ間スイッチ30を介して他のクラスタと接続される。従って、クラスタ内をグローバルアドレス化してRCU20から見たメモリアドレスは、点在するアドレスのデータを一定のルールでかき集めて1回の一括転送が可能であることが分かる。   FIG. 8 shows the data batch transfer device 10 according to the present invention and the conventional data batch transfer device 100 together with the image of the memory address as seen from the RCU side. According to the data batch transfer device 10 according to the present invention shown on the right side in FIG. 8, a common RCU 20 is used for a plurality of memories 14 of a plurality of nodes each including a plurality of CPUs 12 and memories 14, and the inter-cluster switch 30 is connected from this RCU 20. Connected to other clusters via Therefore, it can be seen that the memory address viewed from the RCU 20 by making the cluster global address can collect data of scattered addresses according to a certain rule and perform batch transfer once.

以上、本発明の好適実施例の構成および動作を詳述した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。   The configuration and operation of the preferred embodiment of the present invention have been described in detail above. However, it should be noted that such examples are merely illustrative of the invention and do not limit the invention in any way. Those skilled in the art will readily understand that various modifications and changes can be made according to a specific application without departing from the gist of the present invention.

本発明によるデータ一括転送装置の第1実施例の基本構成を示すブロック図である。It is a block diagram which shows the basic composition of 1st Example of the data batch transfer apparatus by this invention. 図1に示すデータ一括転送装置の具体例を示すブロック図である。It is a block diagram which shows the specific example of the data batch transfer apparatus shown in FIG. 本発明による新ディスタンス転送を説明する概念図である。It is a conceptual diagram explaining the new distance transfer by this invention. 本発明による転送フェーズでの隣接領域のデータ転送の説明図である。It is explanatory drawing of the data transfer of the adjacent area | region in the transfer phase by this invention. 図2中のアドレス変換部の1例の内部構成を示すブロック図である。FIG. 3 is a block diagram illustrating an internal configuration of an example of an address conversion unit in FIG. 2. 図2中のドレス変換テーブルの説明図である。It is explanatory drawing of the dress conversion table in FIG. 本発明の動作を説明するためのタイミングチャートである。3 is a timing chart for explaining the operation of the present invention. 本発明の動作を説明するためのタイミングチャートである。3 is a timing chart for explaining the operation of the present invention. 本発明の第2実施例の説明図である。It is explanatory drawing of 2nd Example of this invention. データ一括転送装置の従来例(左側)および本発明(右側)を対比する説明図である。It is explanatory drawing which contrasts the prior art example (left side) of a data batch transfer apparatus, and this invention (right side). 従来のディスタンス転送命令の仕様を説明する図である。It is a figure explaining the specification of the conventional distance transfer instruction. 分割の際のディスタンス転送と演算の仕組みの説明図である。It is explanatory drawing of the mechanism of the distance transfer in the case of a division | segmentation, and a calculation. ディスタンス転送の主な利用方法の説明図である。It is explanatory drawing of the main usage method of distance transfer.

符号の説明Explanation of symbols

10 データ一括転送装置
12 CPU
14 メモリ
20 RCU(ノード間転送制御ユニット)
21 CPUからの転送指示情報通知部
22 データロード部
23 データストア部
24 アドレス変換部
25 データ蓄積バッファ
26 アドレス指示情報バッファ
27 クラスタ間データ送出部
28 クラスタ間データ受信部
30 クラスタ間スイッチ
10 Data batch transfer device 12 CPU
14 Memory 20 RCU (Internode Transfer Control Unit)
21 Transfer instruction information notification unit 22 from CPU CPU 22 Data load unit 23 Data store unit 24 Address conversion unit 25 Data storage buffer 26 Address instruction information buffer 27 Intercluster data transmission unit 28 Intercluster data reception unit 30 Intercluster switch

Claims (7)

各々複数のCPUおよびメモリを有する複数のノード(コンピュータ)により構成され、前記ノードの前記メモリのデータを一括転送するデータ一括転送方法において、
前記複数のノードの前記全てのメモリのデータをデータストア部の連続したアドレスに一括ストアして一元管理することを特徴するデータ一括転送方法。
In a data batch transfer method comprising a plurality of nodes (computers) each having a plurality of CPUs and memories, and batch transferring the memory data of the nodes,
A data batch transfer method characterized in that the data in all the memories of the plurality of nodes are collectively stored in a continuous address of a data store unit and integratedly managed.
前記ノードを跨るディスタンスが前記ノード内のメモリサイズと定義してディスタンスアクセスを行うことを特徴とする請求項1に記載のデータ一括転送方法。   2. The data batch transfer method according to claim 1, wherein a distance access is performed by defining a distance across the nodes as a memory size in the node. 前記各ノードのデータは、アドレス変換テーブルに基づいて前記データストア部に一括ストアすることを特徴とする請求項1又は2に記載のデータ一括転送方法。   3. The data batch transfer method according to claim 1, wherein the data of each node is stored in the data store unit in a batch based on an address conversion table. 各々複数のCPUと該複数のCPUに共通のメモリを有する複数のノード(コンピュータ)を備え、該複数のノードの前記メモリのデータを一括して転送するデータ一括転送装置において、
前記複数のノードの全てのメモリに共通接続された単一のノード間転送制御ユニット(RCU)を備え、該RCUは、前記各ノードのメモリのデータをストアするデータストア部および該データストア部のアドレスを決定するアドレス変換部を備え、前記複数のノードの前記メモリの全てのデータを一括転送することを特徴とするデータ一括転送装置。
In a data batch transfer device comprising a plurality of CPUs and a plurality of nodes (computers) each having a memory common to the plurality of CPUs, and collectively transferring the data of the memories of the plurality of nodes,
A single inter-node transfer control unit (RCU) commonly connected to all the memories of the plurality of nodes, the RCU including a data store unit that stores data of the memory of each node, and the data store unit A data batch transfer apparatus comprising: an address conversion unit for determining an address; and batch transferring all data in the memory of the plurality of nodes.
前記アドレス変換部は、前記CPUからの転送指示情報通知部に接続され、それぞれ転送元ノードとアドレスおよび転送先ノードとアドレスが供給されるデータロード部およびデータストア部を備えることを特徴とする請求項4に記載のデータ一括転送装置。   The address conversion unit is connected to a transfer instruction information notification unit from the CPU, and includes a data load unit and a data store unit to which a transfer source node and an address and a transfer destination node and an address are supplied, respectively. Item 5. The data batch transfer device according to Item 4. 前記複数のノードを纏めたクラスタを複数設け、該各クラスタの前記RCUに接続されるクラスタ間スイッチを介して前記複数のクラスタが相互接続されることを特徴とする請求項4又は5に記載のデータ一括転送装置。   The cluster according to claim 4 or 5, wherein a plurality of clusters each including the plurality of nodes are provided, and the plurality of clusters are interconnected via an inter-cluster switch connected to the RCU of each cluster. Data batch transfer device. 前記RCUの前記データストア部およびデータロード部は、それぞれデータ蓄積バッファとクラスタ間データ受信部およびデータ蓄積バッファとクラスタ間データ送信部を介して前記クラスタ間スイッチに接続されることを特徴とする請求項6に記載のデータ一括転送装置。   The data store unit and data load unit of the RCU are connected to the intercluster switch via a data storage buffer, an intercluster data receiving unit, and a data storage buffer and an intercluster data transmitting unit, respectively. Item 7. The data batch transfer device according to Item 6.
JP2004101887A 2004-03-31 2004-03-31 Data batch transfer device Expired - Fee Related JP4117621B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004101887A JP4117621B2 (en) 2004-03-31 2004-03-31 Data batch transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004101887A JP4117621B2 (en) 2004-03-31 2004-03-31 Data batch transfer device

Publications (2)

Publication Number Publication Date
JP2005285042A true JP2005285042A (en) 2005-10-13
JP4117621B2 JP4117621B2 (en) 2008-07-16

Family

ID=35183311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004101887A Expired - Fee Related JP4117621B2 (en) 2004-03-31 2004-03-31 Data batch transfer device

Country Status (1)

Country Link
JP (1) JP4117621B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116075A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Copy message from application buffer to send buffer within kernel
EP3021210A1 (en) 2014-11-12 2016-05-18 Fujitsu Limited Information processing apparatus, communication method, communication program and information processing system
JP2017126237A (en) * 2016-01-15 2017-07-20 日本電気株式会社 Processor and data transfer method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0737182U (en) * 1993-12-03 1995-07-11 一郎 栗原 Portable medicine box

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116075A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Copy message from application buffer to send buffer within kernel
US10042682B2 (en) 2014-01-30 2018-08-07 Hewlett Packard Enterprise Development Lp Copy message from application buffer to send buffer within kernel
EP3021210A1 (en) 2014-11-12 2016-05-18 Fujitsu Limited Information processing apparatus, communication method, communication program and information processing system
US9841919B2 (en) 2014-11-12 2017-12-12 Fujitsu Limited Information processing apparatus, communication method and information processing system for communication of global data shared by information processing apparatuses
JP2017126237A (en) * 2016-01-15 2017-07-20 日本電気株式会社 Processor and data transfer method
US10733128B2 (en) 2016-01-15 2020-08-04 Nec Corporation Processor and data transfer method

Also Published As

Publication number Publication date
JP4117621B2 (en) 2008-07-16

Similar Documents

Publication Publication Date Title
US7039914B2 (en) Message processing in network forwarding engine by tracking order of assigned thread in order group
US9952975B2 (en) Memory network to route memory traffic and I/O traffic
CN102446158B (en) Multi-core processor and multi-core processor set
EP2159694B1 (en) Method and device for barrier synchronization, and multicore processor
US7802025B2 (en) DMA engine for repeating communication patterns
JPH0581216A (en) Parallel processor
JP2010218364A (en) Information processing system, and communication control apparatus and method
KR102539571B1 (en) Network-on-chip data processing method and device
EP3788493B1 (en) Data processing network with flow compaction for streaming data transfer
CN102446159A (en) Method and device for managing data of multi-core processor
US6092136A (en) Multi-processor central processing unit
EP1508100B1 (en) Inter-chip processor control plane
KR102539572B1 (en) Network-on-chip data processing method and device
JP2731742B2 (en) Parallel computer with cluster configuration
JP4117621B2 (en) Data batch transfer device
KR102539573B1 (en) Network-on-chip data processing method and device
JP2008065478A (en) Information processor, data transfer method, and program
US20090307463A1 (en) Inter-processor, communication system, processor, inter-processor communication method, and communication method
US5860026A (en) Information processing system for controlling operations of input/output devices of another clusters according to control instructions issued from a cluster
KR102539574B1 (en) Network-on-chip data processing method and device
CN114237717A (en) Multi-core heterogeneous processor on-chip temporary storage dynamic scheduling manager
JP2001236335A (en) Decentralized memory type parallel computer and its data transfer end confirming method
JP2006139766A (en) Information processor
KR100978083B1 (en) Procedure calling method in shared memory multiprocessor and computer-redable recording medium recorded procedure calling program
JP2000112912A (en) Processing system for test and copy against remote memory in distributed memory-type parallel computer

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070730

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees