JP4304379B2 - Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system - Google Patents

Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system Download PDF

Info

Publication number
JP4304379B2
JP4304379B2 JP2005104016A JP2005104016A JP4304379B2 JP 4304379 B2 JP4304379 B2 JP 4304379B2 JP 2005104016 A JP2005104016 A JP 2005104016A JP 2005104016 A JP2005104016 A JP 2005104016A JP 4304379 B2 JP4304379 B2 JP 4304379B2
Authority
JP
Japan
Prior art keywords
communication schedule
shift
shift communication
dimension
communication
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.)
Expired - Fee Related
Application number
JP2005104016A
Other languages
Japanese (ja)
Other versions
JP2006285588A (en
Inventor
康晴 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC 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 JP2005104016A priority Critical patent/JP4304379B2/en
Publication of JP2006285588A publication Critical patent/JP2006285588A/en
Application granted granted Critical
Publication of JP4304379B2 publication Critical patent/JP4304379B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、分散メモリ型マルチプロセッサシステムのシフト通信方法およびそのシフト通信方法を実行可能な分散メモリ型マルチプロセッサシステムに関する。   The present invention relates to a shift communication method for a distributed memory type multiprocessor system and a distributed memory type multiprocessor system capable of executing the shift communication method.

分散メモリ型マルチプロセッサシステムの性能向上のために重要なことは、プロセッサ間でデータを送受信する際に、どのような通信手順で通信を実行するかということである。プロセッサ間の通信速度は、プロセッサの演算速度と比べてかなり遅いため、非効率的な通信を行っていては、システムのパフォーマンスの向上は望めない。分散マルチプロセッサシステムを構成するプロセッサ間でデータの送受信を行う場合において、最適な通信スケジュールを生成する技術が知られている(例えば、特許文献1参照。)。   What is important for improving the performance of a distributed memory multiprocessor system is what communication procedure is used when data is transmitted and received between processors. Since the communication speed between processors is considerably slower than the calculation speed of the processor, it is not possible to improve the system performance if inefficient communication is performed. A technique is known that generates an optimal communication schedule when data is transmitted and received between processors constituting a distributed multiprocessor system (see, for example, Patent Document 1).

一般的な並列計算機において、プログラムを実行する際に発生する複数のプロセッサ間の通信は、非同期通信の通信ライブラリに基づいて実行される。例えば、MPIやEUIといった通信ライブラリは、送信(send)や受信(receive)といった通常の命令以外にも、頻繁に利用される比較的単純な通信パターンを複数用意している。   In a general parallel computer, communication between a plurality of processors generated when executing a program is executed based on a communication library for asynchronous communication. For example, a communication library such as MPI or EUI prepares a plurality of relatively simple communication patterns that are frequently used, in addition to normal commands such as send and receive.

この複数の通信パターンの中に、シフト通信という通信パターンがある。シフト通信とは、各プロセッサが隣接するプロセッサに対して、一定の方向にデータを送信するような通信形態をいう。   Among these communication patterns, there is a communication pattern called shift communication. Shift communication refers to a communication mode in which each processor transmits data in a certain direction to an adjacent processor.

特開平9−330304号公報JP-A-9-330304

分散メモリ型マルチプロセッサシステムにおいて、同一のシフト通信が行われる場合、そのときの通信スケジュールを保存し、保存された通信スケジュールを再利用することで、通信を高速化する技術がある。しかしながら、シフト通信が行われる次元や方向が変化する場合には、通信スケジュールの再利用が行えず、保存してあった通信スケジュールを破棄して、新たに再生成しなければならなかった。   In the distributed memory type multiprocessor system, when the same shift communication is performed, there is a technique for speeding up communication by storing the communication schedule at that time and reusing the stored communication schedule. However, when the dimension or direction in which shift communication is performed changes, the communication schedule cannot be reused, and the stored communication schedule must be discarded and newly regenerated.

本発明が解決しようとする課題は、シフト通信の対象配列、対象次元や方向が変化したり、異なる手続きにまたがっていても、高速にシフト通信を行うことができる技術を提供することにある。   The problem to be solved by the present invention is to provide a technology capable of performing shift communication at high speed even if the target array, target dimension, and direction of shift communication change or straddle different procedures.

以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   The means for solving the problem will be described below using the numbers used in [Best Mode for Carrying Out the Invention]. These numbers are added to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].

上記課題を解決するために、以下の方法で分散メモリ型マルチプロセッサシステムのシフト通信方法を実行する。その方法は、[a]シフト通信を行う配列の分割配置方法を解析するステップと、 [b]その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在するかどうかを検索するステップと、[c]前記シフト通信スケジュールテーブル(7)の検索の結果、前記同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在する場合、必要な次元の必要な方向に対するシフト通信スケジュール(7〜7)が既に生成されているかどうかを検索するステップと、[d]前記シフト通信スケジュール(7〜7)の検索の結果、生成されていないシフト通信スケジュール(7〜7)が存在する場合、必要な分割配置方法、次元、方向に対応したシフト通信スケジュール(7〜7)を新たに生成し、前記新たなシフト通信スケジュール(7〜7)を含む新たなシフト通信スケジュールテーブル(7)を生成するステップと、[e]前記新たなシフト通信スケジュールテーブル(7)を参照して、シフト通信を実行するステップを具備するシフト通信方法である。 In order to solve the above problems, a shift communication method of a distributed memory multiprocessor system is executed by the following method. The method includes: [a] a step of analyzing an array arrangement method for performing shift communication; and [b] a shift communication schedule table (7) for the same division arrangement based on an analysis result obtained by the analysis. [C] If there is a shift communication schedule table (7) for the same divided arrangement as a result of the search of the shift communication schedule table (7), [c] A step of searching whether or not the shift communication schedule (7 1 to 7 n ) for the direction has already been generated; and [d] shift communication that has not been generated as a result of the search of the shift communication schedule (7 1 to 7 n ). When there is a schedule (7 1 to 7 n ), the shift communication schedule corresponding to the necessary divided arrangement method, dimension, and direction Joules (7 1 to 7-n) generates a new, and generating a new shift communication schedule table (7) containing the new shift communication schedule (7 1 ~7 n), [ e] the new The shift communication method includes a step of executing shift communication with reference to the shift communication schedule table (7).

その、シフト通信方法において、前記[c]ステップは、さらに、前記シフト通信スケジュール(7〜7)が存在しない場合に、新規のシフト通信スケジュールテーブル(7)を生成するステップを具備することが好ましい。 In the shift communication method, the step [c] further includes a step of generating a new shift communication schedule table (7) when the shift communication schedule (7 1 to 7 n ) does not exist. Is preferred.

また、そのシフト通信方法において、前記[e]ステップは、さらに、必要なシフト通信スケジュール(7〜7)が全て生成済の場合、前記シフト通信スケジュールテーブル(7)または前記新規のシフト通信スケジュールテーブル(7)を参照して、シフト通信を実行するようなシフト通信方法であってもよい。 In the shift communication method, the [e] step further includes the shift communication schedule table (7) or the new shift communication when all necessary shift communication schedules (7 1 to 7 n ) have been generated. A shift communication method in which shift communication is executed with reference to the schedule table (7) may be used.

また、上記課題を解決するために、下記のような分散メモリ型マルチプロセッサシステムを構築する。そのシステムは、シフト通信を行う配列の分割配置方法を解析するマッピング解析手段(6−1)と、その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在するかどうかを検索し、存在しない場合、シフト通信スケジュールテーブル(7)を生成する通信スケジュール再利用手段(6−2)とを含んで構成されることが好ましい。ここで、前記通信スケジュール再利用手段(6−2)は、同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在する場合、必要な次元の必要な方向に対するシフト通信スケジュール(7〜7)が既に生成されているかどうかを検索し、生成されていないシフト通信スケジュール(7〜7)が存在する場合、新たな通信スケジュールの生成を要求するものである。そしてさらに、上記の分散メモリ型マルチプロセッサシステムを、前記新たな通信スケジュールの生成の要求に応答して、必要な分割配置方法、次元、方向に対応したシフト通信スケジュール(7〜7)を生成し、前記シフト通信スケジュールテーブル(7)を更新して新たなシフト通信スケジュールテーブル(7)を生成するシフト通信スケジュール生成手段(6−3)と、前記新たなシフト通信スケジュールテーブル(7)を参照して、実際のシフト通信を行うシフト通信実行手段(6−4)とを含んで構成する。 In order to solve the above problems, the following distributed memory type multiprocessor system is constructed. The system includes a mapping analysis unit (6-1) for analyzing a divided arrangement method of an array for performing shift communication, and a shift communication schedule table (7) for the same divided arrangement based on an analysis result obtained by the analysis. It is preferable to include a communication schedule reusing means (6-2) for searching whether or not exists and, if not, generating a shift communication schedule table (7). Here, when there is a shift communication schedule table (7) for the same divided arrangement, the communication schedule reusing means (6-2) is configured to use the shift communication schedule (7 1 to 7 n for the required direction of the required dimension. ) Is already generated, and if there is a shift communication schedule (7 1 to 7 n ) that has not been generated, a new communication schedule is requested to be generated. In addition, the distributed memory multiprocessor system described above is shifted in response to the request for generating the new communication schedule, and the shift communication schedule (7 1 to 7 n ) corresponding to the necessary divided arrangement method, dimension, and direction is set. A shift communication schedule generating means (6-3) for generating and updating the shift communication schedule table (7) to generate a new shift communication schedule table (7); and the new shift communication schedule table (7). Reference is made to include shift communication execution means (6-4) for performing actual shift communication.

その分散メモリ型マルチプロセッサシステムにおいて、前記シフト通信スケジュール生成手段(6−3)は、前記同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在しない場合には、新規のシフト通信スケジュールテーブル(7)を生成する構成であることが好ましい。   In the distributed memory multiprocessor system, the shift communication schedule generation means (6-3), when there is no shift communication schedule table (7) for the same divided arrangement, creates a new shift communication schedule table (7 ) Is preferably generated.

さらにその分散メモリ型マルチプロセッサシステムにおいて、前記シフト通信スケジュール生成手段(6−3)は、前記シフト通信実行手段(6−4)に、現在のシフト通信スケジュールテーブル(7)を用いてシフト通信を実行するように指示し、前記シフト通信実行手段(6−4)は、前記指示に応答して前記シフト通信スケジュールテーブル(7)または、前記新規のシフト通信スケジュールテーブル(7)を参照して実際のシフト通信を実行するような分散メモリ型マルチプロセッサシステムを構成する。   Further, in the distributed memory multiprocessor system, the shift communication schedule generation means (6-3) performs shift communication to the shift communication execution means (6-4) using the current shift communication schedule table (7). The shift communication execution means (6-4) actually refers to the shift communication schedule table (7) or the new shift communication schedule table (7) in response to the instruction. The distributed memory type multiprocessor system is configured to execute the shift communication.

また、下記プログラムをコンピュータに実行させることで上記課題を解決することが可能である。そのプログラムは、分散メモリ型マルチプロセッサシステムのシフト通信を実行可能なプログラムであって、
コンピュータを、
シフト通信を行う配列の分割配置方法を解析するマッピング解析手段(6−1)と、その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在するかどうかを検索し、存在しない場合、シフト通信スケジュールテーブル(7)を生成する通信スケジュール再利用手段(6−2)と、前記新たな通信スケジュールの生成の要求に応答して、必要な分割配置方法、次元、方向に対応したシフト通信スケジュール(7〜7)を生成し、前記シフト通信スケジュールテーブル(7)を更新して新たなシフト通信スケジュールテーブル(7)を生成するシフト通信スケジュール生成手段(6−3)と、前記新たなシフト通信スケジュールテーブル(7)を参照して、実際のシフト通信を行うシフト通信実行手段(6−4)として機能させるためのプログラムである。
ここで、前記通信スケジュール再利用手段(6−2)は、同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在する場合、必要な次元の必要な方向に対するシフト通信スケジュール(7〜7)が既に生成されているかどうかを検索し、生成されていないシフト通信スケジュール(7〜7)が存在する場合、新たな通信スケジュールの生成を要求することが好ましい。
Moreover, it is possible to solve the above problems by causing a computer to execute the following program. The program is a program capable of executing shift communication of a distributed memory multiprocessor system,
Computer
Whether there is a mapping analysis means (6-1) for analyzing the divided arrangement method of the array for performing the shift communication and the shift communication schedule table (7) for the same divided arrangement based on the analysis result obtained by the analysis If it does not exist, the communication schedule reuse means (6-2) for generating the shift communication schedule table (7) and the necessary divided arrangement method in response to the request for generation of the new communication schedule Shift communication schedule generating means for generating a shift communication schedule (7 1 to 7 n ) corresponding to the dimension, direction, and updating the shift communication schedule table (7) to generate a new shift communication schedule table (7) (6-3) and the new shift communication schedule table (7) with reference to the actual shift communication It is a program for functioning as shift communication execution means (6-4) for performing.
Here, when there is a shift communication schedule table (7) for the same divided arrangement, the communication schedule reusing means (6-2) is configured to use the shift communication schedule (7 1 to 7 n for the required direction of the required dimension. ) Is already generated, and if there is a shift communication schedule (7 1 to 7 n ) that has not been generated, it is preferable to request generation of a new communication schedule.

そのプログラムにおいて、さらに、前記シフト通信スケジュール生成手段(6−3)を、前記同一の分割配置に対するシフト通信スケジュールテーブル(7)が存在しない場合には、新規のシフト通信スケジュールテーブル(7)を生成する手段として機能させるためのプログラムであってもよい。   In the program, the shift communication schedule generation means (6-3) further generates a new shift communication schedule table (7) when there is no shift communication schedule table (7) for the same divided arrangement. It may be a program for causing it to function as a means to do this.

また、そのプログラムにおいて、前記シフト通信スケジュール生成手段(6−3)を、前記シフト通信実行手段(6−4)に、現在のシフト通信スケジュールテーブル(7)を用いてシフト通信を実行するように指示する手段として機能させ、前記シフト通信実行手段(6−4)を、前記指示に応答して前記シフト通信スケジュールテーブル(7)または、前記新規のシフト通信スケジュールテーブル(7)を参照して実際のシフト通信を実行する手段として機能させるためのプログラムであってもよい。   Further, in the program, the shift communication schedule generation means (6-3) performs shift communication using the current shift communication schedule table (7) to the shift communication execution means (6-4). The shift communication execution means (6-4) is actually operated with reference to the shift communication schedule table (7) or the new shift communication schedule table (7) in response to the instruction. It may be a program for functioning as means for executing the shift communication.

上記解決手段を実行することによって、配列の分割配置方法に一対一に対応する通信スケジュールテーブル中に、通信スケジュールを各次元、各方向独立に生成、保存することにより、通信スケジュールが部分的に独立に再利用可能となる。   By executing the above solution, the communication schedule is partially independent by generating and storing the communication schedule in each dimension and in each direction independently in the communication schedule table corresponding one-to-one with the array arrangement method. Can be reused.

本発明によると、シフト通信の対象配列、対象次元や方向が変化する場合や、異なる手続きにまたがっていても、分割配置方法が同じであれば、シフト通信を高速化することが可能になる。特に、シフト通信の対象配列、対象次元や方向が毎回変化する場合であってもシフト通信を高速化することが可能となる。   According to the present invention, it is possible to increase the speed of shift communication if the target arrangement, the target dimension, and direction of shift communication are changed, or if the split arrangement method is the same even if the procedure is different. In particular, it is possible to speed up shift communication even when the target array, target dimension, and direction of shift communication change each time.

また、本発明によると、配列の分割配置方法に一対一に対応する通信スケジュールテーブル中に、通信スケジュールを各次元、各方向独立に生成、保存することにより、通信スケジュールが部分的に独立に再利用可能となり、通信スケジュール生成のコストを削減できる。   In addition, according to the present invention, the communication schedule is partially re-created independently by generating and storing the communication schedule in each dimension and each direction independently in the communication schedule table corresponding to the one-to-one layout arrangement method. This makes it possible to reduce the cost of communication schedule generation.

本発明の実施の形態の概要を説明する。本実施の形態の分散メモリ型マルチプロセッサシステム1において、配列データは、並列演算処理ノード2の記憶装置群4上に分割配置されており、そのような配列データを利用・定義するプログラムが計算装置群3上で実行される。その際に、分散メモリ型マルチプロセッサシステム1は、配列の隣接する要素が分割配置されている複数の演算処理ノード(2-n:nは任意の自然数)間で、演算処理ノード間通信部5を経由したシフト通信が繰り返し行われるような場合、シフト通信に必要な情報を、シフト通信スケジュールテーブル7に、各次元、方向毎に独立に保存し、後に再利用する。これにより、本発明の分散メモリ型マルチプロセッサシステム1は、毎回シフト通信次元やシフト通信方向、シフト通信対象の配列が変化したり、シフト通信が異なる手続中で発生したりする場合でも、高速な通信を行うものである。以下の実施の形態において、演算処理ノードがパーソナルコンピュータやサーバ装置に代表される情報処理装置であることが好ましい。また、計算装置(3−1〜3−n)は、そのパーソナルコンピュータに備えられたCPUであることが好ましい。さらに、記憶装置(4−1〜4−n)は、そのパーソナルコンピュータに備えられたRAMであることが好ましい。   An outline of an embodiment of the present invention will be described. In the distributed memory multiprocessor system 1 of the present embodiment, array data is divided and arranged on the storage device group 4 of the parallel processing node 2, and a program for using / defining such array data is a computing device. Run on group 3 At that time, the distributed memory type multiprocessor system 1 includes an arithmetic processing node communication unit 5 between a plurality of arithmetic processing nodes (2-n: n is an arbitrary natural number) in which adjacent elements of the array are divided and arranged. When the shift communication via is repeatedly performed, information necessary for the shift communication is stored in the shift communication schedule table 7 independently for each dimension and direction, and reused later. As a result, the distributed memory multiprocessor system 1 of the present invention has a high-speed operation even when the shift communication dimension, the shift communication direction, the shift communication target array changes, or the shift communication occurs in different procedures. It communicates. In the following embodiments, the arithmetic processing node is preferably an information processing device represented by a personal computer or a server device. Further, the computing device (3-1 to 3-n) is preferably a CPU provided in the personal computer. Furthermore, it is preferable that the storage device (4-1 to 4-n) is a RAM provided in the personal computer.

[実施の形態の構成]
以下に、図面を参照して本発明の実施の形態の構成について詳細な説明を行う。図1は、本実施の形態の分散メモリ型マルチプロセッサシステム1の構成を例示するブロック図である。図1に示されているように、分散メモリ型マルチプロセッサシステム1上で、配列データが、並列演算処理ノード2の記憶装置群4上に分割配置されており、そのような配列データを利用・定義するプログラムが計算装置群3上で実行される際に、配列の隣接する要素が分割配置されている並列演算処理ノード2間で、演算処理ノード間通信部5を経由したシフト通信が行われる。
[Configuration of the embodiment]
The configuration of the embodiment of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration of a distributed memory multiprocessor system 1 according to the present embodiment. As shown in FIG. 1, array data is divided and arranged on the storage device group 4 of the parallel processing node 2 on the distributed memory multiprocessor system 1, and such array data is used. When the program to be defined is executed on the computing device group 3, shift communication via the inter-processing node communication unit 5 is performed between the parallel processing nodes 2 in which adjacent elements of the array are divided and arranged. .

換言すると、本実施の形態の分散メモリ型マルチプロセッサシステム1は、並列演算処理ノード2を備えて構成されている。図1に示されているように、並列演算処理ノード2は、複数の演算処理ノード(2−1〜2−n:nは任意の自然数)で構成されている。それぞれの演算処理ノード(2−1〜2−n)は、計算装置(3−1〜3−n)と記憶装置(4−1〜4−n)を含んで構成されている。また、図1に示されているように、複数の演算処理ノード(2−1〜2−n)は、演算処理ノード間通信部5を介して互いに通信可能に接続されている。本実施の形態の分散メモリ型マルチプロセッサシステム1は、互いに接続される複数の演算処理ノード(2−1〜2−n)によって並列演算処理ノード2を構成し、また、その並列演算処理ノード2は、計算装置群3と記憶装置群4とによって、連携して情報処理を実行している。   In other words, the distributed memory type multiprocessor system 1 of the present embodiment is configured to include the parallel operation processing node 2. As shown in FIG. 1, the parallel processing node 2 is composed of a plurality of processing nodes (2-1 to 2-n: n is an arbitrary natural number). Each arithmetic processing node (2-1 to 2-n) includes a computing device (3-1 to 3-n) and a storage device (4-1 to 4-n). Further, as shown in FIG. 1, the plurality of arithmetic processing nodes (2-1 to 2-n) are connected to be communicable with each other via the inter-processing node communication unit 5. In the distributed memory multiprocessor system 1 of the present embodiment, a plurality of operation processing nodes (2-1 to 2-n) connected to each other constitute a parallel operation processing node 2, and the parallel operation processing node 2 Performs information processing in cooperation with the computing device group 3 and the storage device group 4.

以下に、本実施の形態におけるシフト通信を実行するための構成について説明を行う。図2は、本実施の形態におけるシフト通信実行部6の構成を例示するブロック図である。本実施の形態において、演算処理ノード(2−1〜2−n)間で実行されるシフト通信は、各演算処理ノード(2−1〜2−n)のそれぞれに備えられた通信インターフェース(図示されず)を介して実行されることが好ましい。その演算処理ノード(2−1〜2−n)間での通信スケジュールは、シフト通信実行部6によって決定される。この通信スケジュール決定の動作は、実行時に呼び出される通信ライブラリが行うことが好ましい。   A configuration for executing shift communication in the present embodiment will be described below. FIG. 2 is a block diagram illustrating the configuration of the shift communication execution unit 6 in the present embodiment. In the present embodiment, the shift communication executed between the operation processing nodes (2-1 to 2-n) is a communication interface (illustrated) provided in each of the operation processing nodes (2-1 to 2-n). Preferably). The communication schedule between the arithmetic processing nodes (2-1 to 2-n) is determined by the shift communication execution unit 6. This communication schedule determination operation is preferably performed by a communication library called at the time of execution.

図2を参照すると、シフト通信部6は、マッピング解析部6−1と、通信スケジュール再利用部6−2と、通信スケジュール生成部6−3と、シフト通信実行部6−4とを含んで構成されている。マッピング解析部6−1は、シフト通信を行う配列の分割配置方法を解析する情報処理機能ブロックである。通信スケジュール再利用部6−2は、同一の分割配置に対するシフト通信スケジュールテーブル7が存在するかどうかを検索する情報検索機能ブロックである。また通信スケジュール再利用部6−2は、その検索の結果、所定のシフト通信スケジュールテーブル7が存在しない場合、新規にシフト通信スケジュールテーブル7を生成する。さらに、同一の分割配置に対するシフト通信スケジュールテーブル7が存在する場合、必要な次元の必要な方向に対するシフト通信スケジュールが既に生成されているかどうかを検索する。その検索の結果、生成されるべきシフト通信スケジュールが生成されていない場合、通信スケジュール生成部6−3に生成指示をする。また、必要なシフト通信スケジュールが全て生成済の場合、シフト通信実行部6−4にシフト通信の実行を指示する。   Referring to FIG. 2, the shift communication unit 6 includes a mapping analysis unit 6-1, a communication schedule reuse unit 6-2, a communication schedule generation unit 6-3, and a shift communication execution unit 6-4. It is configured. The mapping analysis unit 6-1 is an information processing function block that analyzes an array arrangement method for performing shift communication. The communication schedule reuse unit 6-2 is an information search function block that searches whether there is a shift communication schedule table 7 for the same divided arrangement. In addition, if the predetermined shift communication schedule table 7 does not exist as a result of the search, the communication schedule reuse unit 6-2 newly generates the shift communication schedule table 7. Further, if there is a shift communication schedule table 7 for the same divided arrangement, it is searched whether a shift communication schedule for a required direction of a required dimension has already been generated. As a result of the search, if the shift communication schedule to be generated is not generated, the communication schedule generating unit 6-3 is instructed to generate. When all necessary shift communication schedules have been generated, the shift communication execution unit 6-4 is instructed to execute shift communication.

通信スケジュール生成部6−3は、新たに生成が必要なシフト通信スケジュールがある場合に、そのシフト通信スケジュールを生成する情報処理機能ブロックである。通信スケジュール生成部6−3は、必要な分割配置方法、次元、方向に対応したシフト通信スケジュールを生成し、シフト通信スケジュールテーブル7の該当する次元、方向のシフト通信スケジュールとして保存する。   The communication schedule generation unit 6-3 is an information processing function block that generates a shift communication schedule when there is a shift communication schedule that needs to be newly generated. The communication schedule generation unit 6-3 generates a shift communication schedule corresponding to a necessary division arrangement method, dimension, and direction, and stores the shift communication schedule as a corresponding dimension and direction in the shift communication schedule table 7.

シフト通信実行部6−4は、シフト通信スケジュールテーブル7を参照して、実際のシフト通信を行う通信処理部である。   The shift communication execution unit 6-4 is a communication processing unit that performs actual shift communication with reference to the shift communication schedule table 7.

図3は、シフト通信実行部6によって生成されるシフト通信スケジュールテーブル7の構成を例示するテーブルである。図3を参照すると、シフト通信スケジュールテーブル7は、第1通信スケジュール7〜第m通信スケジュール7を含んで構成されている。 FIG. 3 is a table illustrating the configuration of the shift communication schedule table 7 generated by the shift communication execution unit 6. Referring to FIG. 3, the shift communication schedule table 7 includes a first communication schedule 7 1 to an m-th communication schedule 7 n .

第1通信スケジュール7は、シフト通信における1次元目下方向のシフト通信スケジュールを保持している。第2通信スケジュール7は、シフト通信における1次元目上方向のシフト通信スケジュールを保持している。第3通信スケジュール7は、シフト通信における2次元目下方向のシフト通信スケジュールを保持している。第4通信スケジュール7は、シフト通信における2次元目上方向のシフト通信スケジュールを保持している。このように、シフト通信スケジュールテーブル7を構成する各テーブルには、各次元と方向とが関連付けられたスケジュールが保持されている。そして、第m−1通信スケジュール7n−1は、シフト通信におけるn次元目下方向のシフト通信スケジュールを保持し、最終的にテーブルを構成する第m通信スケジュール7は、シフト通信におけるn次元目上方向のシフト通信スケジュールを保持する(mは任意の自然数に対応する)。 The first communication schedule 71 retains the one-dimensional instantaneous direction of the shift communication schedule in the shift communication. Second communication schedule 7 2 holds a one-dimensional superior direction of the shift communication schedule in the shift communication. Third communication schedule 7 3 holds the 2-dimensional instantaneous direction of the shift communication schedule in the shift communication. Fourth communication schedule 7 4 holds a 2-dimensional superior direction of the shift communication schedule in the shift communication. Thus, each table constituting the shift communication schedule table 7 holds a schedule in which each dimension and direction are associated with each other. The (m-1) th communication schedule 7 n-1 holds the shift communication schedule in the n-dimensional down direction in the shift communication, and the m- th communication schedule 7 n that finally forms the table is the n-th communication schedule in the shift communication. Holds the upward shift communication schedule (m corresponds to an arbitrary natural number).

[実施の形態の動作]
以下に、本実施の形態の動作の概要を説明する。例えば、図4のHPF言語によるプログラム例を参照すると、4要素のプロセッサ構成P(2,2)の各要素が、それぞれ1つの演算処理ノード(例えば、演算処理ノード2−1)に対応しているとすると、配列A、B、Cは、図5のように、並列演算処理ノード2の記憶装置群4上に分割配置されている。
[Operation of the embodiment]
Below, the outline | summary of operation | movement of this Embodiment is demonstrated. For example, referring to the example of the program in the HPF language shown in FIG. 4, each element of the four-element processor configuration P (2, 2) corresponds to one arithmetic processing node (for example, the arithmetic processing node 2-1). If so, the arrays A, B, and C are divided and arranged on the storage device group 4 of the parallel processing node 2 as shown in FIG.

時間発展ループ中で起動されるサブルーチンSUB1中のループを並列演算処理ノード2上で配列Aに対するオーナーコンピュートルール(配列Aの要素が配置されている演算処理ノード上で演算を行う)により並列計算する場合、配列Aに対して、配列Bの2次元目の添字が下方向に1要素、上方向に2要素分ずれているため、配列Bの隣接する要素が分割配置されている並列演算処理ノード2間で、配列Bの2次元目の下方向に1要素、上方向に2要素の通信が必要となる。なお、このような配列データの隣接要素間の通信をシフト通信という。   The loop in the subroutine SUB1 activated in the time evolution loop is calculated in parallel on the parallel processing node 2 by the owner compute rule for the array A (the operation is performed on the processing node where the elements of the array A are arranged). In this case, since the subscript of the second dimension of the array B is shifted by one element in the downward direction and two elements in the upward direction with respect to the array A, the parallel processing node in which the adjacent elements of the array B are divided and arranged Between the two elements, it is necessary to communicate one element downward in the second dimension of the array B and two elements upward. Such communication between adjacent elements of array data is called shift communication.

同様に、時間発展ループ中で起動されるサブルーチンSUB2中のループを並列演算処理ノード2上で配列Aに対するオーナーコンピュートルール(配列Aの要素が配置されている演算処理ノード上で演算を行う)により並列計算する場合、配列Aに対して、配列Cの1次元目の添字が下方向に1要素、上方向に1要素、2次元目の添字が下方向に1要素分ずれているため、配列Cの隣接する要素が分割配置されている並列演算処理ノード2間で、配列Cの1次元目の下方向に1要素、上方向に1要素、2次元目の下方向に1要素の通信が必要となる。   Similarly, the loop in the subroutine SUB2 that is activated in the time evolution loop is changed by the owner compute rule for the array A on the parallel operation processing node 2 (the operation is performed on the operation processing node in which the elements of the array A are arranged). When performing parallel calculation, the first dimension subscript of array C is shifted one element downward, one element upward, and the second dimension subscript is shifted one element downward relative to array A. Between the parallel processing nodes 2 in which adjacent elements of C are divided and arranged, it is necessary to communicate one element downward in the first dimension of the array C, one element upward, and one element downward in the second dimension.

このように、必要なシフト通信の対象配列、対象次元や方向が毎回変化したり、異なる手続にまたがっていたりしても、配列の分割配置方法が同じであれば、分割配置方法と一対一に対応するシフト通信スケジュールテーブル7中に、通信スケジュールを各次元、各方向独立に生成し、後に再利用する。これにより通信スケジュール生成のコストを削減し、高速化を行う。   In this way, even if the target array, the target dimension and the direction of the required shift communication change each time, or if the array split layout method is the same even if the procedure is different, it is one-to-one with the split layout method. In the corresponding shift communication schedule table 7, a communication schedule is generated independently for each dimension and each direction, and is reused later. This reduces the cost of communication schedule generation and speeds up.

以下に本実施の形態の動作について詳細に説明する。以下の動作の説明において、上述の分散メモリ型マルチプロセッサシステム1に対応して動作の説明を行う。分散メモリ型マルチプロセッサシステム1において、配列データは、並列演算処理ノード2の記憶装置群4上に分割配置されており、そのような配列データを利用・定義するプログラムは、計算装置群3上で実行される場合を例示し、その配列の隣接する要素が分割配置されている並列演算処理ノード2間で、演算処理ノード間通信部5を経由したシフト通信が行われる場合に対応して動作を説明する。また、以下の述べる動作は、図4に例示されているHPF言語によるプログラムに対応して実行されるものとする。   The operation of this embodiment will be described in detail below. In the following description of the operation, the operation will be described corresponding to the distributed memory multiprocessor system 1 described above. In the distributed memory multiprocessor system 1, the array data is divided and arranged on the storage device group 4 of the parallel processing node 2, and a program for using / defining such array data is executed on the computer device group 3. An example of the execution is performed, and the operation corresponding to the case where shift communication is performed between the parallel processing nodes 2 in which adjacent elements of the array are divided and arranged via the inter-processing node communication unit 5 is performed. explain. Further, the operation described below is executed corresponding to the program in the HPF language exemplified in FIG.

図4のプログラム例を参照すると、時間発展ループ中で、シフト通信を含むサブルーチンSUB1、SUB2が繰り返し呼び出されている。ここで、図4に出現する配列A、B、Cは、4要素のプロセッサ構成P(2,2)の各要素が、それぞれ1つの演算処理ノードに対応しているものとし、図5のように、並列演算処理ノード2の記憶装置群4上に分割配置されているものとする。   Referring to the example program of FIG. 4, subroutines SUB1 and SUB2 including shift communication are repeatedly called in the time evolution loop. Here, in the arrays A, B, and C appearing in FIG. 4, it is assumed that each element of the four-element processor configuration P (2, 2) corresponds to one arithmetic processing node, as shown in FIG. Further, it is assumed that they are divided and arranged on the storage device group 4 of the parallel processing node 2.

図4のサブルーチンSUB1中のループを計算手段上で、配列Aに対するオーナーコンピュートルール(配列Aの要素が配置されている演算処理ノード上で演算を行う)により並列計算する場合、配列Aに対して、配列Bの2次元目の添字が下方向に1要素、上方向に2要素分ずれている。そのため、配列Bの隣接する要素が分割配置されている各演算処理ノード(2−1〜2−n)間で、配列Bの2次元目の下方向に1要素、上方向に2要素の通信が必要となる。   When the loop in the subroutine SUB1 in FIG. 4 is calculated in parallel on the calculation means by the owner compute rule for the array A (the operation is performed on the operation processing node in which the elements of the array A are arranged), The second dimension subscript of the array B is shifted by one element in the downward direction and by two elements in the upward direction. For this reason, communication is required between the processing nodes (2-1 to 2-n) in which the adjacent elements of the array B are divided and arranged, one element in the second dimension of the array B and two elements in the upward direction. It becomes.

同様に、時間発展ループ中で起動されるサブルーチンSUB2中のループを計算手段上で、配列Aに対するオーナーコンピュートルール(配列Aの要素が配置されている演算処理ノード上で演算を行う)により並列計算する場合、配列Aに対して、配列Cの1次元目の添字が下方向に1要素、上方向に1要素、2次元目の添字が下方向に1要素分ずれている。そのため、配列Cの隣接する要素が分割配置されている並列演算処理ノード2間で、配列Cの1次元目の下方向に1要素、上方向に1要素、2次元目の下方向に1要素の通信が必要となる。   Similarly, the loop in the subroutine SUB2 activated in the time evolution loop is calculated in parallel on the calculation means by the owner compute rule for the array A (the operation is performed on the operation processing node where the elements of the array A are arranged). In this case, the first dimension subscript of the array C is shifted by one element downward, one element upward, and the second dimension subscript is shifted downward by one element with respect to the array A. Therefore, communication is required between the parallel processing nodes 2 in which adjacent elements of the array C are divided and arranged, one element downward in the first dimension, one element upward, and one element downward in the second dimension. It becomes.

図4のサブルーチンSUB1が初めて起動された時、シフト通信部6のマッピング解析部6−1は、その中のループが並列実行される直前に起動される。このとき、マッピング解析部6−1は、シフト対象の配列データBの分割配置方法を解析する。   When the subroutine SUB1 in FIG. 4 is activated for the first time, the mapping analysis unit 6-1 of the shift communication unit 6 is activated immediately before the loops therein are executed in parallel. At this time, the mapping analysis unit 6-1 analyzes the division arrangement method of the array data B to be shifted.

通信スケジュール再利用部6−2は、マッピング解析部6−1の解析により、特定された配列データBの分割配置に対応するシフト通信スケジュールテーブル7が生成されていないことを認識する。従って、通信スケジュール再利用部6−2は、配列データBに対して必要な、2次元目の下方向1要素分、2次元目の上方向2要素分のシフト通信スケジュールも生成されていないことを認識する。通信スケジュール再利用部6−2は、この認識に基づいて、配列データBの分割配置方法と同一の分割配置方法を持つ配列に対応するシフト通信スケジュールテーブル7の生成を行う。換言すると、通信スケジュール再利用部6−2は、第3通信スケジュール7、第4通信スケジュール7を格納可能な新たなシフト通信スケジュールテーブル7を生成する。 The communication schedule reuse unit 6-2 recognizes that the shift communication schedule table 7 corresponding to the specified divided arrangement of the array data B has not been generated by the analysis of the mapping analysis unit 6-1. Therefore, the communication schedule reuse unit 6-2 recognizes that the shift communication schedule for the second element in the second dimension required for the array data B has not been generated for the second element in the second dimension. To do. Based on this recognition, the communication schedule reuse unit 6-2 generates the shift communication schedule table 7 corresponding to the array having the same divided arrangement method as the divided arrangement method of the array data B. In other words, communication schedule reuse unit 6-2, a third communication schedule 7 3, to generate a fourth communication schedule 7 4 capable of storing a new shift communication schedule table 7.

通信スケジュール生成部6−3は、配列データBに対して必要な、2次元目の下方向1要素分のシフト通信スケジュール、2次元目の上方向2要素分のシフト通信スケジュールをそれぞれ生成し、配列データBの分割配置方法と同一の分割配置方法を持つ配列に対するシフト通信スケジュールテーブル7(上述の新たなシフト通信スケジュールテーブル7)の、第3通信スケジュール7、第4通信スケジュール7に登録する。 The communication schedule generation unit 6-3 generates a shift communication schedule for the second element in the second dimension required for the array data B, and generates a shift communication schedule for the second element in the second dimension. Registered in the third communication schedule 7 3 and the fourth communication schedule 7 4 of the shift communication schedule table 7 (the above-described new shift communication schedule table 7) for an array having the same divided arrangement method as that of B.

次に、シフト通信実行部6−4は、生成されたシフト通信スケジュールテーブル7中の、第3通信スケジュール7、第4通信スケジュール7に基づいて、配列データBに対するシフト通信を実行する。 Next, the shift communication execution unit 6-4 in the shift communication schedule table 7 is generated, the third communication schedule 7 3, based on the fourth communication schedule 7 4 performs the shift communication to sequence data B.

図4のサブルーチンSUB2が初めて起動された時、ループが並列実行される直前にシフト通信部6のマッピング解析部6−1が起動される。このとき、マッピング解析部6−1は、シフト対象の配列データCの分割配置方法を解析する。   When the subroutine SUB2 in FIG. 4 is activated for the first time, the mapping analysis unit 6-1 of the shift communication unit 6 is activated immediately before the loop is executed in parallel. At this time, the mapping analysis unit 6-1 analyzes the division arrangement method of the array data C to be shifted.

通信スケジュール再利用部6−2は、マッピング解析部6−1により特定された配列データCの分割配置方法と同一の分割配置方法に対するシフト通信スケジュールテーブル7を検索する。通信スケジュール再利用部6−2は、この検索によって、図4のサブルーチンSUB1が初めて起動された時に生成されたシフト通信スケジュールテーブル7(新たなシフト通信スケジュールテーブル7)が、Cと同一の分割配置方法に対応するシフト通信スケジュールであることを検出する。さらに、通信スケジュール再利用部6−2は、サブルーチンSUB2のループで必要となる1次元目の下方向、1次元目の上方向のシフト通信スケジュールが未生成であることを検出し、2次元目の下方向の第3通信スケジュール7が生成済であることを検出する。 The communication schedule reuse unit 6-2 searches the shift communication schedule table 7 for the same divided arrangement method as the arrangement method of the array data C specified by the mapping analysis unit 6-1. As a result of this search, the communication schedule reuse unit 6-2 uses the same divided arrangement as C for the shift communication schedule table 7 (new shift communication schedule table 7) generated when the subroutine SUB1 of FIG. A shift communication schedule corresponding to the method is detected. Further, the communication schedule reusing unit 6-2 detects that the shift communication schedule in the first dimension downward and the first dimension upward required in the loop of the subroutine SUB2 has not been generated, and detects the second dimension downward. detecting that a third communication schedule 7 3 are already generated.

通信スケジュール生成部6−3は、サブルーチンSUB2のループで必要となる1次元目の下方向1要素分、1次元目の上方向1要素分のシフト通信スケジュールを生成し、シフト通信スケジュールテーブル7中の、1元目下方向第1通信スケジュール7、1元目上方向第2通信スケジュール7に登録する。 The communication schedule generation unit 6-3 generates a shift communication schedule for one element in the first dimension in the first direction and one element in the first direction in the first dimension, which is necessary in the loop of the subroutine SUB2. 1-way presently direction first communication schedule 71, is registered in the 1-way superior direction second communication schedule 7 2.

シフト通信実行部6−4は、シフト通信スケジュールテーブル7中の、1元目下方向第1通信スケジュール7、1元目上方向第2通信スケジュール7、2元目下方向第3通信スケジュール7、に基づいて、配列データBに対するシフト通信を実行する。 The shift communication execution unit 6-4 includes a first communication down direction first communication schedule 7 1 , a first element up direction second communication schedule 7 2 , and a second element down direction third communication schedule 7 3 in the shift communication schedule table 7. , Shift communication for the array data B is executed.

図4のサブルーチンSUB1が2回目以降起動され、ループが並列実行される際には、ループ直前に起動されるシフト通信部6のマッピング解析部6−1がシフト対象の配列データBの分割配置方法を解析する。通信スケジュール再利用部6−2は、マッピング解析部6−1により特定された配列データBの分割配置方法と同一の分割配置方法に対するシフト通信スケジュールテーブル7を検索し、対応するシフト通信スケジュールテーブル7には、必要となる2次元目の下方向1要素分の第3通信スケジュール7、2次元目の上方向2要素分の第4通信スケジュール7のシフト通信スケジュールが既に登録されていることを検出する。 When the subroutine SUB1 of FIG. 4 is started for the second time or later and the loop is executed in parallel, the mapping analysis unit 6-1 of the shift communication unit 6 started immediately before the loop performs the divisional arrangement method of the array data B to be shifted. Is analyzed. The communication schedule reuse unit 6-2 searches the shift communication schedule table 7 for the same divided arrangement method as the arrangement method of the array data B specified by the mapping analysis unit 6-1, and the corresponding shift communication schedule table 7 the detection that the 2-dimensional under the eyes direction one element of the third communication schedule 7 3, on the second dimension direction 2 element content fourth communication schedule 7 4 shift communication schedule required is already registered To do.

シフト通信実行部6−4は、シフト通信スケジュールテーブル7の2次元目の下方向の第3通信スケジュール7、2次元目の上方向の第4通信スケジュール7を参照して、必要なシフト通信を行う。 Shifting communication execution unit 6-4 refers to the fourth communication schedule 7 4 2D under the eye direction of the third communication schedule 7 3, second dimension upward shift communication schedule table 7, the required shift communication Do.

さらに、図4のサブルーチンSUB2が2回目以降起動され、ループが並列実行される際には、ループ直前に起動されるシフト通信部6のマッピング解析部6−1がシフト対象の配列データCの分割配置方法を解析する。通信スケジュール再利用部6−2は、マッピング解析部6−1により特定された配列データCの分割配置方法と同一の分割配置方法に対するシフト通信スケジュールテーブル7を検索し、対応するシフト通信スケジュールテーブル7には、1次元目下方向1要素分の第1通信スケジュール7、1次元目上方向1要素分の第2通信スケジュール7、2次元目下方向1要素分の第3通信スケジュール7が既に登録されていることを検出する。 Furthermore, when the subroutine SUB2 of FIG. 4 is started for the second time and the loop is executed in parallel, the mapping analysis unit 6-1 of the shift communication unit 6 started immediately before the loop splits the array data C to be shifted. Analyze the placement method. The communication schedule reuse unit 6-2 searches the shift communication schedule table 7 for the same divided arrangement method as the arrangement method of the array data C specified by the mapping analysis unit 6-1, and the corresponding shift communication schedule table 7 The first communication schedule 7 1 for one element in the first dimension down direction, the second communication schedule 7 2 for one element in the first dimension up direction, and the third communication schedule 7 3 for one element in the second dimension down direction are already present. Detect that it is registered.

シフト通信実行部6−4は、1次元目の下方向の第1通信スケジュール7、1次元目の上方向の第2通信スケジュール7、2次元目の下方向の第3通信スケジュール7を参照して、必要なシフト通信を行う。 Shifting communication execution unit 6-4 refers to the one-dimensional undereye first communication schedule 7 first direction, first dimension second communication schedule 7 on the direction of the 2, 2-dimensional under eye third communication schedule 7 3 directions Perform the necessary shift communication.

以後、図4のサブルーチンSUB1、サブルーチンSUB2が繰り返し起動された際、必要なシフト通信のスケジュールは既に生成されており、シフト通信スケジュールテーブル7に登録されている。そのため、同様に、スケジュール生成を行わずに、シフト通信を実行することができる。   Thereafter, when the subroutine SUB1 and subroutine SUB2 in FIG. 4 are repeatedly activated, the necessary shift communication schedule has already been generated and registered in the shift communication schedule table 7. Therefore, similarly, shift communication can be performed without performing schedule generation.

このように、必要なシフト通信の対象配列、対象次元や方向が毎回変化したり、異なる手続にまたがっていても、分割配置方法が同じであれば、1つのシフト通信スケジュールテーブル7中に、通信スケジュールを各次元、各方向独立に生成することにより通信スケジュール生成のコストを削減し、高速にシフト通信を行うことができる。   Thus, even if the target array, the target dimension and direction of the required shift communication change each time, or if the divided allocation method is the same even if the procedure is different, the communication is included in one shift communication schedule table 7. By generating the schedule independently in each dimension and in each direction, the cost of communication schedule generation can be reduced, and shift communication can be performed at high speed.

図1は、本実施の形態の分散メモリ型マルチプロセッサシステムの構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a configuration of a distributed memory multiprocessor system according to this embodiment. 図2は、本実施の形態におけるシフト通信実行部の構成を例示するブロック図である。FIG. 2 is a block diagram illustrating the configuration of the shift communication execution unit in the present embodiment. 図3は、シフト通信スケジュールテーブルの構成を例示するテーブルである。FIG. 3 is a table illustrating the configuration of the shift communication schedule table. 図4は、HPF言語によるプログラム例である。FIG. 4 shows a program example in the HPF language. 図5は、並列演算処理ノードの記憶装置に分割配置される配列の構成を例示している。FIG. 5 illustrates the configuration of an array that is divided and arranged in the storage device of the parallel processing node.

符号の説明Explanation of symbols

1…分散メモリ型マルチプロセッサシステム
2…並列演算処理ノード
2−1〜2−n…演算処理ノード
3…計算装置群
3−1〜3−n…計算装置
4…記憶装置群
4−1〜4−n…記憶装置
5…演算処理ノード間通信部
6…シフト通信部
6−1…マッピング解析部
6−2…通信スケジュール再利用部
6−3…通信スケジュール生成部
6−4…シフト通信実行部
7…シフト通信スケジュールテーブル
〜7…第1〜第m通信スケジュール
DESCRIPTION OF SYMBOLS 1 ... Distributed memory type multiprocessor system 2 ... Parallel operation processing node 2-1 to 2-n ... Operation processing node 3 ... Computing device group 3-1 to 3-n ... Computing device 4 ... Storage device group 4-1 to 4 -N ... Storage device 5 ... Inter-processing node communication unit 6 ... Shift communication unit 6-1 ... Mapping analysis unit 6-2 ... Communication schedule reuse unit 6-3 ... Communication schedule generation unit 6-4 ... Shift communication execution unit 7 ... Shift communication schedule table 7 1 to 7 n ... 1st to m-th communication schedule

Claims (3)

分散メモリ型マルチプロセッサシステムのシフト通信方法であって、
(a)マッピング解析手段が、シフト通信を行う配列の分割配置方法を解析するステップと、
(b)通信スケジュール再利用手段が、その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブルが存在するかどうかを検索するステップと、
(c)前記通信スケジュール再利用手段が、前記シフト通信スケジュールテーブルの検索の結果、
前記同一の分割配置に対するシフト通信スケジュールテーブルが存在しない場合、当該分割配置方法に対応する新規のシフト通信スケジュールテーブルを生成し、
前記同一の分割配置に対するシフト通信スケジュールテーブルが存在する場合必要な次元の必要な方向に対し、各次元、各方向独立のシフト通信スケジュールが既に登録されているかどうかを検索するステップと、
(d)シフト通信スケジュール生成手段が、前記シフト通信スケジュールテーブルに登録されていない、必要な分割配置方法、次元、方向に対応し、各次元、各方向独立のシフト通信スケジュールを新たに生成し、前記シフト通信スケジュールテーブルに登録するステップと、
(e)シフト通信実行手段がシフト通信スケジュールテーブルに登録されたシフト通信スケジュールを参照して、シフト通信を実行するステップ
を具備するシフト通信方法。
A shift communication method for a distributed memory multiprocessor system, comprising:
(A) a step in which the mapping analysis means analyzes a method for dividing and arranging the arrays for performing shift communication;
(B) a step of searching for whether or not there is a shift communication schedule table for the same divided arrangement, based on an analysis result obtained by the analysis;
(C) The communication schedule reuse means is a result of searching the shift communication schedule table,
If there is no shift communication schedule table for the same divided arrangement, generate a new shift communication schedule table corresponding to the divided arrangement method,
When the shift communication schedule table for the same division configuration are present, with respect to the direction of the required dimensions required, the steps of each dimension, each direction independent of the shift communication schedule is already find whether it is registered,
(D) The shift communication schedule generation means newly generates a shift communication schedule that is independent of each dimension and each direction, corresponding to the necessary divided arrangement method, dimension, and direction that are not registered in the shift communication schedule table, and registering to the shift communication schedule table,
(E) A shift communication method comprising: a step in which shift communication execution means refers to the shift communication schedule registered in the shift communication schedule table and executes shift communication.
シフト通信を行う配列の分割配置方法を解析するマッピング解析手段と、
その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブルが存在するかどうかを検索し、(1)同一の分割配置に対するシフト通信スケジュールテーブルが存在する場合、必要な次元の必要な方向に対し、各次元、各方向独立のシフト通信スケジュールが既に生成されているかどうかを検索し、生成されていないシフト通信スケジュールが存在する場合、新たな通信スケジュールの生成を要求し、(2)前記同一の分割配置に対するシフト通信スケジュールテーブルが存在しない場合、当該分割配置方法に対応する新規のシフト通信スケジュールテーブルを生成する通信スケジュール再利用手段と、
前記シフト通信スケジュールに必要な分割配置方法、次元、方向に対応するシフト通信スケジュールが登録されていない場合、必要な分割配置方法、次元、方向に対応し、各次元、各方向独立のシフト通信スケジュールを新たに生成し、前記シフト通信スケジュールテーブルに登録するシフト通信スケジュール生成手段と、
前記フト通信スケジュールテーブルに登録されたシフト通信スケジュールを参照して、シフト通信を行うシフト通信実行手段を具備する
分散メモリ型マルチプロセッサシステム。
Mapping analysis means for analyzing a split arrangement method of an array for performing shift communication;
Based on the analysis result obtained by the analysis, it is searched whether there is a shift communication schedule table for the same divided arrangement . (1) If there is a shift communication schedule table for the same divided arrangement, the required dimension Search for whether or not a shift communication schedule independent of each dimension and each direction has already been generated for the required direction, and if there is a shift communication schedule that has not been generated, request the generation of a new communication schedule , (2) If there is no shift communication schedule table for the same divided arrangement, communication schedule reuse means for generating a new shift communication schedule table corresponding to the divided arrangement method ;
When the shift communication schedule corresponding to the shift communication schedule, dimension, and direction is not registered, the shift communication schedule corresponding to the required division arrangement method, dimension, and direction is independent of each dimension and each direction. Shift communication schedule generating means for newly generating and registering in the shift communication schedule table ;
The shift with reference to the registered shifted communication schedule in the communication schedule table, distributed memory multiprocessor system comprising a shifting communication execution unit that performs a shift communication.
分散メモリ型マルチプロセッサシステムのシフト通信を実行可能なプログラムであって、
コンピュータを、
シフト通信を行う配列の分割配置方法を解析するマッピング解析手段と、
その解析によって得られた解析結果に基づいて、同一の分割配置に対するシフト通信スケジュールテーブルが存在するかどうかを検索し、(1)同一の分割配置に対するシフト通信スケジュールテーブルが存在する場合、必要な次元の必要な方向に対し、各次元、各方向独立のシフト通信スケジュールが既に生成されているかどうかを検索し、生成されていないシフト通信スケジュールが存在する場合、新たな通信スケジュールの生成を要求し、(2)前記同一の分割配置に対するシフト通信スケジュールテーブルが存在しない場合、当該分割配置方法に対応する新規のシフト通信スケジュールテーブルを生成する通信スケジュール再利用手段と、
前記シフト通信スケジュールに必要な分割配置方法、次元、方向に対応するシフト通信スケジュールが登録されていない場合、必要な分割配置方法、次元、方向に対応し、各次元、各方向独立のシフト通信スケジュールを新たに生成し、前記シフト通信スケジュールテーブルに登録するシフト通信スケジュール生成手段と、
前記フト通信スケジュールテーブルに登録されたシフト通信スケジュールを参照して、シフト通信を行うシフト通信実行手段として機能させるためのプログラム。
A program capable of executing shift communication of a distributed memory type multiprocessor system,
Computer
Mapping analysis means for analyzing a split arrangement method of an array for performing shift communication;
Based on the analysis result obtained by the analysis, it is searched whether there is a shift communication schedule table for the same divided arrangement . (1) If there is a shift communication schedule table for the same divided arrangement, the required dimension Search for whether or not a shift communication schedule independent of each dimension and each direction has already been generated for the required direction, and if there is a shift communication schedule that has not been generated, request the generation of a new communication schedule , (2) If there is no shift communication schedule table for the same divided arrangement, communication schedule reuse means for generating a new shift communication schedule table corresponding to the divided arrangement method ;
When the shift communication schedule corresponding to the shift communication schedule, dimension, and direction is not registered, the shift communication schedule corresponding to the required division arrangement method, dimension, and direction is independent of each dimension and each direction. Shift communication schedule generating means for newly generating and registering in the shift communication schedule table ;
The shift by referring to the communication schedule table registered shifted communication schedule, program for functioning as a shift communication execution unit that performs a shift communication.
JP2005104016A 2005-03-31 2005-03-31 Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system Expired - Fee Related JP4304379B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005104016A JP4304379B2 (en) 2005-03-31 2005-03-31 Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005104016A JP4304379B2 (en) 2005-03-31 2005-03-31 Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system

Publications (2)

Publication Number Publication Date
JP2006285588A JP2006285588A (en) 2006-10-19
JP4304379B2 true JP4304379B2 (en) 2009-07-29

Family

ID=37407460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005104016A Expired - Fee Related JP4304379B2 (en) 2005-03-31 2005-03-31 Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system

Country Status (1)

Country Link
JP (1) JP4304379B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4529188B2 (en) * 2007-01-25 2010-08-25 日本電気株式会社 Multi-dimensional shift communication speed-up device of distributed memory type multiprocessor system, method and program thereof

Also Published As

Publication number Publication date
JP2006285588A (en) 2006-10-19

Similar Documents

Publication Publication Date Title
JP5481570B2 (en) Search query processing
US10467232B2 (en) Searching documentation across interconnected nodes in a distributed network
US7634756B2 (en) Method and apparatus for dataflow creation and execution
CN106227671B (en) Program analysis of running performance method and device
US10776121B2 (en) System and method of execution map generation for schedule optimization of machine learning flows
US10338963B2 (en) System and method of schedule validation and optimization of machine learning flows for cloud computing
Benjamin et al. A strategy for efficient crawling of rich internet applications
US8495569B2 (en) Software analyzing apparatus for analyzing software components and correlations between software components
KR20130100261A (en) Dynamically loading graph-based computations
KR102013582B1 (en) Apparatus and method for detecting error and determining corresponding position in source code of mixed mode application program source code thereof
JP5950267B2 (en) Database management apparatus, database management method, and storage medium
Tan et al. Hadoop framework: impact of data organization on performance
CN110147476A (en) Data crawling method, terminal device and computer readable storage medium based on Scrapy
Cai et al. Fusion insight librA: huawei's enterprise cloud data analytics platform
CN114328470A (en) Data migration method and device for single source table
JP4304379B2 (en) Shift communication method for distributed memory type multiprocessor system and distributed memory type multiprocessor system
Ellingson et al. Accelerating virtual high‐throughput ligand docking: current technology and case study on a petascale supercomputer
AbdulRazzaq et al. Parallel implementation of maximum-shift algorithm using OpenMp
JP2019114043A (en) Software evaluation system
JP5790820B2 (en) Inconsistency detection apparatus, program and method, correction support apparatus, program and method
Ruberg et al. XCraft: Boosting the performance of active XML materialization
Stroulia et al. Reverse engineering interaction plans for legacy interface migration
JP4889953B2 (en) Information processing apparatus and method
JP6330490B2 (en) Test case generation program, test case generation apparatus, and test case generation method
JP4529188B2 (en) Multi-dimensional shift communication speed-up device of distributed memory type multiprocessor system, method and program thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080911

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080911

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081016

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090413

R150 Certificate of patent or registration of utility model

Ref document number: 4304379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees