JP3653841B2 - Problem area division / allocation method - Google Patents
Problem area division / allocation method Download PDFInfo
- Publication number
- JP3653841B2 JP3653841B2 JP00895796A JP895796A JP3653841B2 JP 3653841 B2 JP3653841 B2 JP 3653841B2 JP 00895796 A JP00895796 A JP 00895796A JP 895796 A JP895796 A JP 895796A JP 3653841 B2 JP3653841 B2 JP 3653841B2
- Authority
- JP
- Japan
- Prior art keywords
- problem area
- area
- network
- dimensional
- divided
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は複数のプロセッサ間でネットワークを介してデータを転送する並列計算機に関する。
【0002】
【従来の技術】
複数のプロセッサをネットワークで接続した並列計算機の発展に伴い、自然現象を解析する数値シミュレーションが実用化されつつある。自然現象(物理現象)を支配している基本原理の一つは近接作用である。近接作用問題は、数値解法において隣りあった格子点の値のみを使用して計算を進める。並列計算機では、物理空間(問題領域)を分割して、分割したデータ領域をそれぞれプロセッサに割り当てた場合に、隣接するプロセッサ間でのみデータ転送が発生することを意味する。
【0003】
例えば、2次元格子状に配置されたプロセッサが座標PE[X,Y]で表されるとすると、PE[X,Y]は、PE[X+1,Y],PE[X−1,Y],PE[X,Y+1]およびPE[X,Y−1]に格納されたデータを用いて計算を進める。この隣接転送にもっとも適したネットワークとして、格子結合および格子の端と端を接続したトーラス結合のネットワークがある。格子トーラス結合は、隣接転送の高速処理を対象とした最も単純なネットワークであるため、ネットワークの直径(最も離れたプロセッサ間の距離)が大きく、隣接転送以外の転送パターンになると転送経路の競合が発生し性能が低下する。
【0004】
一方、ネットワークの直径を小さくし、隣接転送以外の転送パターンでも性能をだすことを目的としたハイパキューブネットワーク,N次元クロスバネットワークが提案されている。
【0005】
ハイパキューブネットワークは、2のm乗個のプロセッサを2×2×2×……×2とm個の因数に分解し、これらの因数の各々を一辺の格子点数とするm次元格子空間上にプロセッサを並べ、それらを直接結合してデータ転送経路を構成する。
【0006】
N次元クロスバネットワークは、特開平1−267763 号公報に開示されているように、n台のプロセッサをn=n1×n2×n3×……×nmと因数分解し、これらの因数の各々を一辺の格子点数とするm次元格子空間上にプロセッサを並べ、その各辺をクロスバスイッチからなる部分ネットワークで結合してデータ転送経路を構成する。
【0007】
ハイパキューブネットワーク,N次元クロスバネットワークとも格子トーラス結合を包含するネットワークであるため、隣接転送であれば経路の競合がなくデータを最高性能で転送できる。また、格子トーラス結合に比べてより多くの経路を持つため、隣接転送以外の転送パターンでも格子トーラス結合よりも転送経路の競合は少なくなる。
【0008】
従来、近接作用問題を扱う並列アプリケーションユーザは、プロセッサ間通信を高速にするために、並列計算機の台数,構成を意識し、データ転送で最も高い性能を得られるように(近接作用=隣接転送になるように)問題領域を分割し、各プロセッサに割り付けてきた。
【0009】
図9は、従来の分割・割り当て方式を示している。9−2は並列計算機であり、9−1は対象とする問題領域である。並列計算機9−2は2次元構成であり、各プロセッサは2次元座標のプロセッサ番号を有する。従来、ユーザは、図9に示すように対象とする問題領域9−1を並列計算機9−2と同じ次元構成に分割して、分割領域を対応するプロセッサにそのまま割り当てていた。並列計算機がl×mの2次元構成であれば、問題領域をl×mの2次元に分割して各プロセッサに割り当てる。並列計算機がl×m×n個のプロセッサを持つ3次元構成である場合には、問題領域をl×m×nの3次元に分割して、分割データ領域を対応するプロセッサにそのまま割り当てる。このように並列計算機の台数と構成を意識して問題領域を分割し、プロセッサに分割データ領域を割り当て、近接作用をそのまま隣接転送に対応させていた。
【0010】
【発明が解決しようとする課題】
従来の分割方法および割り当て方法では、物理空間における問題領域が並列計算機と同じ次元構成になるように分割し、プロセッサに割り当てている。そのため、使用する並列計算機のネットワークが格子トーラス結合より多くの転送経路を持っていても、隣接転送に使用する経路以外は使用していない。
【0011】
一方、実際の物理空間には1次元,2次元,3次元,4次元…といったようにさまざまな次元がありえる。一般に、並列計算機の次元構成は動的に変更できない。そのため、問題領域の次元構成が並列計算機の次元構成と異なると、ユーザの労力が増大するだけでなく、領域の分割方法および分割データ領域の割り当て方法によっては隣接転送以外のデータ転送が発生し、その結果、経路の競合が発生して通信性能が低下してしまう。
【0012】
本発明の目的は、格子トーラス結合を包含するネットワークを効率良く用いて、並列計算機の次元構成が、対象とする近接作用問題領域の次元構成と同じであるかのようにユーザにイメージさせ、そのイメージのままで近接作用問題においてデータ転送を行っても、経路の競合を発生することなく隣接転送を行った場合と同等の通信性能を得られるような問題領域分割方式と、各プロセッサへの領域割り当て方式とそれを備えるライブラリを提供することにある。
【0013】
【課題を解決するための手段】
上記の目的を達成するために、格子トーラス結合を包含するネットワークを有し、プロセッサ台数Nが素数x(≧2)のn乗で表せる並列計算機において、本願発明は、
(1)nを超えない範囲で問題領域の次元数mを決める手段
(2)物理空間の各次元の格子点数をn1,n2,n3,……,nm、としたとき、
【0014】
【数3】
logxN≧logx(n1×n2×n3×……×nm) …(式1)
n1,n2,n3,……,nm=x(≧2)の冪乗
を満たす領域分割方法候補の選択手段
(3)候補の中から使用する領域分割方法を決定する手段
(4)1次元表示した分割領域番号と同じ物理番号を有するプロセッサに分割領
域を割り当てる手段
を備える。これらの手段により、近接作用問題領域の次元を並列計算機の次元構成にあわせずに自由に領域を分割し、分割領域間でデータ転送をしても、ネットワーク中の転送経路の競合なしに高速データ転送を実現できる。
【0015】
【発明の実施の形態】
以下、本発明にかかわる問題領域分割・割り当て方式を図面を参照して説明する。
【0016】
本発明は、格子トーラス結合を包含するネットワーク(N次元クロスバネットワーク,ハイパキューブネットワーク,完全クロスバ結合,多段結合等)を有し、プロセッサ台数Nが素数x(≧2)のn乗で表せる並列計算機に適用できる。また、この並列計算機のネットワークは全2重の経路を持ち、ルーティング方式は固定ルーティングを用いることを前提としている。また、プロセッサは1からNまでの物理番号を持つ。
【0017】
図1は本発明の問題領域分割・割り当て方式を備えた計算機ライブラリの全体構成を示したものである。図中、1−1は問題領域次元決定手段、1−2は、領域分割方法候補選択手段、1−3は、分割方法決定手段、1−4は、分割領域割り当て手段である。
【0018】
問題領域次元決定手段1−1は、物理空間の問題領域の次元数を決定する。次の領域分割方法候補選択手段1−2では、問題領域の次元数とプロセッサ台数から問題領域の分割方法の候補をあげる。分割方法決定手段1−3では、候補の中から分割方法を一つ選び、問題領域を分割する。分割領域割り当て手段1−4では、分割した領域をプロセッサに割り当てる。
【0019】
図2に各手段の処理内容を示す。問題領域を割り当てるべきプロセッサ台数Nが素数x(≧2)のn乗で表せるとき(2−1)、問題領域次元決定手段1−1は、物理空間の問題領域の次元数mを入力とする(2−2)。決定にあたっては次元数mがnを超えないようにする(2−3)。もし、次元数mがnを超えた場合は、条件を満たすまで再入力を繰り返す。
【0020】
次に、領域分割方法候補選択手段1−2で、問題領域の各次元の格子点数を
n1,n2,n3,……,nm、としたとき、
【0021】
【数4】
logxN≧logx(n1×n2×n3×……×nm) …(式1)
n1,n2,n3,……,nm=x(≧2)の冪乗
を満たすn1,n2,n3,……,nmの組合せを求める(2−4)。
【0022】
分割方法決定手段1−3では、領域分割方法候補選択手段1−2で求めた組合せの中から最も適当と思われるものを選択し(2−5)、問題の分割方法とする。そして、分割方法に従い問題領域を分割する(2−6)。
【0023】
最後に、分割領域割り当て手段1−4で、1次元表示した分割領域番号と同じ物理番号を有するプロセッサに分割領域を割り当てる(2−7)。
【0024】
図3に問題領域を3次元に分割し、分割領域を29 個のプロセッサに割り当てる例を示す。
【0025】
3次元に分割する場合、m=3とする(3−2)。プロセッサ台数Nが29 であるため、領域の次元数mをm=1〜9まで9通り選択可能である(3−3)。分割方法候補を決めるために(n1,n2,n3)の組合せを求める(3−4)。組合せは、(27,21,21)(26,21,22)(23,23,23)(22,23,24)……のようになる。上述の例で、問題領域を立方体として扱う場合は(8,8,8)の組合せを選択し(3−5)、23×23×23にと分割する(3−6)。最後に、分割領域(Num=X+8×(Y−1)+64×(Z−1):1≦X≦8,1≦Y≦8,1≦Z≦8)をプロセッサ(Num)に割り当てる(3−7)。
【0026】
以上、四つの手段を用いることで、問題領域の次元構成が並列計算機の次元構成と異なる場合でも経路の競合を発生することなく隣接転送を行っている時と同等の通信性能を得られる。また、分割した領域を単純に同じ番号を持つプロセッサに割り当てればよいため、ユーザが問題領域と並列計算機の次元構成が異なることを意識する必要がない。この実施例では、これらの手段をライブラリとして提供しているが、ユーザ自身がプログラミングするときにこの手順に従い問題領域を分割し、プロセッサに分割領域を割りつけてもよい。
【0027】
次に、本発明の2次元クロスバネットワークへの具体的な適用例を示す。問題領域を3次元に分割して、2次元クロスバネットワークを有する64(8×8)プロセッサからなる並列計算機に分割領域を割り当てることを考える。
【0028】
図4は本実施例で用いる並列計算機の構成を示したものである。図4で4−1〜4−64はプロセッサ(以下PEと略する)である。4−65〜4−72までは、X方向のクロスバスイッチ(以下X−XBと略する)、4−73〜4−80は、Y方向のクロスバスイッチ(以下Y−XBと略する)である。これらのクロスバスイッチを区別しない場合には、単にXBと呼ぶことがある。4−81〜4−144は各X−XBと各Y−XBの交点に設けられた中継スイッチ(以下EXと略する)である。各XBおよびEXは、各入力ポートが全出力ポートに直接結合する完全クロスバスイッチである。XBとEXとの組合せをまとめて2次元クロスバネットワークと呼ぶ。
【0029】
各PEは、2次元座標空間の一つの格子点のX座標,Y座標と、その座標から求められる物理番号をあらかじめそのPE番号として与えられている。例えば、この例では、各PEは[X,Y],X+8×(Y−1)という値を番号として持っている。ルーティング方法は固定ルーティングを用いており、まず、データをX方向に転送し、次にY方向に転送する。
【0030】
まず、図1の問題領域次元決定手段1−1により、問題領域の次元数を決定する。本実施例では、PE数64は26 とも表せるため、問題領域の次元数は6次元以下であればいずれでもよい。ここでは問題領域の次元数を3次元にし、それを入力とする。
【0031】
次に、図1の領域分割方法候補選択手段1−2により条件を満たす分割方法の候補を選び、分割方法決定手段1−3により分割方法を決定する。問題領域の各次元の格子点数をn1,n2,n3(2の冪乗)としたとき、logx26≧logx(n1×n2×n3)を満たす問題領域分割方法は分割領域数がプロセッサ台数と等しい場合でも計10種類あり、X次元×Y次元×Z次元をそれぞれ16×2×2,2×16×2,2×2×16,8×4×2,8×2×4,4×8×2,4×2×8,2×8×4,2×4×8,4×4×4のように分割する。どの分割方法を選択するかは自由であるので、ここでは、複数の候補の中から問題領域を16×2×2に分割する方法を選択する。
【0032】
図5は問題領域を分割した様子を示す。この問題は、3次元であるので、X座標,Y座標,Z座標の三つをX+16×(Y−1)+32×(Z−1)に代入して1次元表示し、各分割領域に図5の5−1に示すように1次元の番号を付ける。
【0033】
最後に、図1の分割領域割り当て手段1−4により図4の同じ番号を持つプロセッサに図5の問題領域を割り当てる。例えば、問題領域[1]はPE[1]に問題領域[16]はPE[16]に割り当てる。
【0034】
上述の分割割り当て方式による近接作用問題のデータ転送の様子を図6,図7および図8に示す。ユーザは、並列計算機の次元構成が問題領域の次元構成と同じであるとイメージしたままで、データ転送を行う。問題領域が3次元構成であるため、通信は計6方向で発生する。
【0035】
図6は、16×2×2に分割した問題領域における3方向のデータ転送パターンを示している。6−1は、+X方向の近接作用であり、6−2は+Y方向の近接作用、6−3は+Z方向の近接作用を示す。端は反対側の端を隣としている。
【0036】
図7および図8は、この問題領域を、本発明の手段を用いてプロセッサに割り当てた場合のデータ転送の様子を示している。図7は、+X方向の近接作用の場合のデータ転送の様子、図8は、+Y方向の近接作用の場合のデータ転送の様子である。この二つの図を見てもわかるように、上述の分割・割り当て方式を用いたことで、2次元クロスバスイッチにおける隣接転送以外に使用する転送経路を用いて効率良くデータを転送することが可能になる。
【0037】
ここでは、問題領域を16×2×2に分割して、プロセッサに割り当てる例について説明したが、領域分割方法候補選択手段1−2から求まる候補であれば、隣接転送以外に使用する転送経路を用いて効率良く高速にデータを転送することが可能である。
【0038】
また、ここでは、3次元の問題領域を2次元クロスバネットワークに割り当てる例を示したが、同様な方法でm次元の問題領域をN次元クロスバネットワークに割り当てても、高速なデータ転送が可能である。
【0039】
以上の説明では、2次元クロスバネットワークを用いたが、これらに代えて図10に示すような多数の中継スイッチで構成されるハイパキューブネットワーク(10−1)や多段結合ネットワーク(10−2),完全クロスバ結合ネットワークに対しても適用できる。
【0040】
【発明の効果】
本発明によれば問題領域の次元構成が並列計算機の次元構成と異なる場合でも、次元構成を同一にした場合と同等の通信性能を得られる。
【図面の簡単な説明】
【図1】本発明の問題領域分割・割り当て方式のブロック図。
【図2】本発明の問題領域分割・割り当て方式の処理のフローチャート。
【図3】本発明の具体的なフローチャート。
【図4】本発明を適用する2次元クロスバネットワークのブロック図。
【図5】本発明の領域分割の説明図。
【図6】本発明のデータ転送パターンの説明図。
【図7】本発明の2次元クロスバネットワークにおけるデータのブロック図。
【図8】本発明の2次元クロスバネットワークにおけるデータのブロック図。
【図9】従来の問題領域分割・割り当て方式を示す説明図。
【図10】本発明を適用可能なネットワークの説明図。
【符号の説明】
1−1…問題領域次元決定手段、1−2…領域分割方法候補選択手段、1−3…分割方法決定手段、1−4…分割領域割り当て手段。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a parallel computer that transfers data between a plurality of processors via a network.
[0002]
[Prior art]
With the development of parallel computers in which multiple processors are connected via a network, numerical simulations that analyze natural phenomena are being put into practical use. One of the basic principles governing natural phenomena (physical phenomena) is proximity action. The proximity action problem is calculated using only the values of adjacent grid points in the numerical solution. In a parallel computer, when a physical space (problem area) is divided and each divided data area is assigned to a processor, this means that data transfer occurs only between adjacent processors.
[0003]
For example, if a processor arranged in a two-dimensional grid is represented by coordinates PE [X, Y], PE [X, Y] is represented by PE [X + 1, Y], PE [X-1, Y], The calculation proceeds using the data stored in PE [X, Y + 1] and PE [X, Y-1]. As a network most suitable for this adjacent transfer, there is a lattice coupling and a torus coupling network in which the ends of the lattice are connected. Lattice torus coupling is the simplest network for high-speed processing of adjacent transfers, so the diameter of the network (distance between the furthest processors) is large, and transfer patterns that are not adjacent transfer cause contention of transfer paths. Occurs and performance decreases.
[0004]
On the other hand, a hypercube network and an N-dimensional crossbar network have been proposed for the purpose of reducing the diameter of the network and achieving performance even in transfer patterns other than adjacent transfer.
[0005]
The hypercube network decomposes 2 m processors into 2 × 2 × 2 × …… × 2 and m factors, and each of these factors is on an m-dimensional lattice space with the number of lattice points on one side. The data transfer path is configured by arranging the processors and connecting them directly.
[0006]
As disclosed in JP-A-1-267763, the N-dimensional crossbar network factors n processors into n = n 1 × n 2 × n 3 × …… × n m, and these factors Processors are arranged in an m-dimensional lattice space with each of the number of lattice points on one side, and each side is connected by a partial network composed of crossbar switches to form a data transfer path.
[0007]
Since both the hypercube network and the N-dimensional crossbar network are networks that include lattice torus coupling, adjacent transfers can transfer data with the highest performance without path contention. In addition, since there are more paths than lattice torus coupling, there is less competition for transfer paths than lattice torus coupling even in transfer patterns other than adjacent transfer.
[0008]
Conventionally, parallel application users who handle the proximity action problem are conscious of the number and configuration of parallel computers in order to speed up communication between processors, so that the highest performance can be obtained in data transfer (proximity action = adjacent transfer). The problem area has been divided and assigned to each processor.
[0009]
FIG. 9 shows a conventional division / allocation method. 9-2 is a parallel computer, and 9-1 is a target problem area. The parallel computer 9-2 has a two-dimensional configuration, and each processor has a processor number of two-dimensional coordinates. Conventionally, as shown in FIG. 9, the user divides the target problem area 9-1 into the same dimensional configuration as the parallel computer 9-2 and assigns the divided areas to the corresponding processors as they are. If the parallel computer has a two-dimensional configuration of l × m, the problem area is divided into two dimensions of l × m and assigned to each processor. When the parallel computer has a three-dimensional configuration having l × m × n processors, the problem area is divided into three dimensions of l × m × n, and the divided data areas are assigned to the corresponding processors as they are. As described above, the problem area is divided in consideration of the number and configuration of the parallel computers, the divided data areas are allocated to the processors, and the proximity action is made to correspond to the adjacent transfer as it is.
[0010]
[Problems to be solved by the invention]
In the conventional dividing method and assigning method, the problem area in the physical space is divided so as to have the same dimensional configuration as that of the parallel computer, and assigned to the processor. For this reason, even if the network of parallel computers to be used has more transfer paths than the lattice torus connection, only the paths used for adjacent transfer are used.
[0011]
On the other hand, an actual physical space can have various dimensions such as one dimension, two dimensions, three dimensions, four dimensions, and so on. In general, the dimensional configuration of a parallel computer cannot be changed dynamically. Therefore, if the dimensional configuration of the problem area is different from the dimensional configuration of the parallel computer, not only will the user's labor increase, but data transfer other than adjacent transfer will occur depending on the region division method and divided data region allocation method, As a result, path contention occurs and communication performance deteriorates.
[0012]
The object of the present invention is to efficiently use a network including lattice torus coupling, and let the user image the dimensional configuration of the parallel computer as if it is the same as the dimensional configuration of the target proximity action problem region. Even if data transfer is performed in the proximity effect problem with the image as it is, the problem area division method that can obtain the same communication performance as when adjacent transfer is performed without causing path contention and the area to each processor It is to provide an allocation method and a library provided with the allocation method.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, a parallel computer having a network including lattice torus coupling and capable of expressing the number of processors N by the nth power of a prime number x (≧ 2),
(1) within a range that does not exceed the n determines the number of dimensions m problem areas means (2) each dimension of the lattice points of the physical space n 1, n 2, n 3, ......, when n m, a,
[0014]
[Equation 3]
log x N ≧ log x (n 1 × n 2 × n 3 × …… × n m ) (Formula 1)
n 1 , n 2 , n 3 ,..., n m = x (≧ 2) power of region division method candidate satisfying power (3) means for determining a region division method to be used from candidates (4 ) It is provided with means for allocating a divided area to a processor having the same physical number as the one-dimensionally displayed divided area number. By these means, the dimensions of the proximity action problem area can be freely divided without matching the dimension configuration of the parallel computer, and even if data is transferred between the divided areas, high-speed data can be transferred without competing for transfer paths in the network. Transfer can be realized.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a problem area division / allocation method according to the present invention will be described with reference to the drawings.
[0016]
The present invention has a network (N-dimensional crossbar network, hypercube network, complete crossbar connection, multistage connection, etc.) including a lattice torus connection, and a parallel computer in which the number of processors N can be expressed by the nth power of a prime number x (≧ 2) Applicable to. This parallel computer network has a full duplex path, and the routing method is based on the premise that fixed routing is used. The processor has physical numbers from 1 to N.
[0017]
FIG. 1 shows the overall configuration of a computer library provided with the problem area division / allocation method of the present invention. In the figure, 1-1 is a problem area dimension determining means, 1-2 is an area dividing method candidate selecting means, 1-3 is a dividing method determining means, and 1-4 is a divided area assigning means.
[0018]
The problem area dimension determining unit 1-1 determines the number of dimensions of the problem area in the physical space. In the next area division method candidate selection means 1-2, the problem area division method candidates are raised from the number of dimensions of the problem area and the number of processors. The division method determining means 1-3 selects one division method from the candidates and divides the problem area. The divided area assigning means 1-4 assigns the divided area to the processor.
[0019]
FIG. 2 shows the processing contents of each means. When the number N of processors to which a problem area should be assigned can be expressed by a prime number x (≧ 2) raised to the nth power (2-1), the problem area dimension determination means 1-1 receives the dimension number m of the problem area in the physical space as an input. (2-2). In the determination, the number of dimensions m should not exceed n (2-3). If the dimension number m exceeds n, re-input is repeated until the condition is satisfied.
[0020]
Then, the region division method candidates selecting unit 1-2, each dimension of the lattice points of problem areas n 1, n 2, n 3 , ......, when n m, a,
[0021]
[Expression 4]
log x N ≧ log x (n 1 × n 2 × n 3 × …… × n m ) (Formula 1)
n 1, n 2, n 3 , ......, n m =
[0022]
The dividing method determining means 1-3 selects the most appropriate combination from the combinations obtained by the area dividing method candidate selecting means 1-2 (2-5) and sets it as the problem dividing method. Then, the problem area is divided according to the dividing method (2-6).
[0023]
Finally, the divided area assigning means 1-4 assigns divided areas to the processors having the same physical numbers as the divided area numbers displayed one-dimensionally (2-7).
[0024]
Dividing the problem areas in the three-dimensional FIG. 3 shows an example of assigning the divided regions into two nine processors.
[0025]
When dividing into three dimensions, m = 3 is set (3-2). Since the number of processors N is 2 9, a number of dimensions m area m = 1 to 9 to nine selectable (3-3). In order to determine a division method candidate, a combination of (n 1 , n 2 , n 3 ) is obtained (3-4). The combinations are as follows: (2 7 , 2 1 , 2 1 ) (2 6 , 2 1 , 2 2 ) (2 3 , 2 3 , 2 3 ) (2 2 , 2 3 , 2 4 ). In the above example, when the problem area is handled as a cube, the combination of (8, 8, 8) is selected (3-5) and divided into 2 3 × 2 3 × 2 3 (3-6). Finally, the divided area (Num = X + 8 × (Y−1) + 64 × (Z−1): 1 ≦ X ≦ 8, 1 ≦ Y ≦ 8, 1 ≦ Z ≦ 8) is allocated to the processor (Num) (3 -7).
[0026]
As described above, by using the four means, even when the dimensional configuration of the problem area is different from the dimensional configuration of the parallel computer, it is possible to obtain communication performance equivalent to that when performing adjacent transfer without causing path contention. Further, since the divided areas may be simply assigned to processors having the same number, the user does not need to be aware that the dimensional configuration of the problem area is different from that of the parallel computer. In this embodiment, these means are provided as a library. However, when the user himself / herself performs programming, the problem area may be divided according to this procedure, and the divided area may be allocated to the processor.
[0027]
Next, a specific application example of the present invention to a two-dimensional crossbar network will be described. Consider a case where a problem area is divided into three dimensions and the divided areas are allocated to a parallel computer composed of 64 (8 × 8) processors having a two-dimensional crossbar network.
[0028]
FIG. 4 shows the configuration of the parallel computer used in this embodiment. In FIG. 4, reference numerals 4-1 to 4-64 denote processors (hereinafter abbreviated as PE). 4-65 to 4-72 are X-direction crossbar switches (hereinafter abbreviated as X-XB), and 4-73 to 4-80 are Y-direction crossbar switches (hereinafter abbreviated as Y-XB). . When these crossbar switches are not distinguished, they may be simply referred to as XB. 4-81 to 4-144 are relay switches (hereinafter abbreviated as EX) provided at the intersections of the respective X-XBs and the respective Y-XBs. Each XB and EX is a full crossbar switch with each input port directly coupled to all output ports. A combination of XB and EX is collectively called a two-dimensional crossbar network.
[0029]
Each PE is given in advance as its PE number the X and Y coordinates of one lattice point in the two-dimensional coordinate space and the physical number obtained from the coordinates. For example, in this example, each PE has a value of [X, Y], X + 8 × (Y−1) as a number. The routing method uses fixed routing. First, data is transferred in the X direction, and then transferred in the Y direction.
[0030]
First, the number of dimensions of the problem area is determined by the problem area dimension determination means 1-1 in FIG. In this embodiment, since the
[0031]
Next, candidate division methods satisfying the conditions are selected by the area division method candidate selection unit 1-2 in FIG. 1, and the division method is determined by the division method determination unit 1-3. Problem region dividing method
[0032]
FIG. 5 shows how the problem area is divided. Since this problem is three-dimensional, three of the X coordinate, Y coordinate, and Z coordinate are substituted into X + 16 × (Y−1) + 32 × (Z−1) and displayed one-dimensionally. A one-dimensional number is assigned as shown in 5-1.
[0033]
Finally, the problem area shown in FIG. 5 is assigned to the processors having the same numbers in FIG. 4 by the divided area assigning means 1-4 shown in FIG. For example, problem area [1] is assigned to PE [1] and problem area [16] is assigned to PE [16].
[0034]
FIG. 6, FIG. 7 and FIG. 8 show the state of data transfer of the proximity effect problem by the above-described division allocation method. The user performs data transfer while keeping the image that the dimensional configuration of the parallel computer is the same as the dimensional configuration of the problem area. Since the problem area has a three-dimensional configuration, communication occurs in a total of six directions.
[0035]
FIG. 6 shows data transfer patterns in three directions in the problem area divided into 16 × 2 × 2. 6-1 is a proximity action in the + X direction, 6-2 is a proximity action in the + Y direction, and 6-3 is a proximity action in the + Z direction. The end is adjacent to the opposite end.
[0036]
7 and 8 show the state of data transfer when this problem area is assigned to a processor using the means of the present invention. FIG. 7 shows the state of data transfer in the case of the proximity action in the + X direction, and FIG. 8 shows the state of data transfer in the case of the proximity action in the + Y direction. As can be seen from these two figures, by using the above-described division / allocation method, it is possible to efficiently transfer data using a transfer path used other than adjacent transfer in a two-dimensional crossbar switch. Become.
[0037]
Here, an example in which the problem area is divided into 16 × 2 × 2 and assigned to the processor has been described. However, if the candidate is obtained from the area division method candidate selection unit 1-2, a transfer path to be used other than the adjacent transfer is selected. It is possible to transfer data efficiently and at high speed.
[0038]
Also, here, an example is shown in which a three-dimensional problem area is assigned to a two-dimensional crossbar network, but high-speed data transfer is possible even if an m-dimensional problem area is assigned to an N-dimensional crossbar network in the same manner. .
[0039]
In the above description, a two-dimensional crossbar network is used. Instead of this, however, a hypercube network (10-1) or a multistage coupling network (10-2) composed of a large number of relay switches as shown in FIG. It can also be applied to a fully crossbar coupled network.
[0040]
【The invention's effect】
According to the present invention, even when the dimensional configuration of the problem area is different from the dimensional configuration of the parallel computer, it is possible to obtain the same communication performance as when the dimensional configuration is the same.
[Brief description of the drawings]
FIG. 1 is a block diagram of a problem area division / allocation method of the present invention.
FIG. 2 is a flowchart of processing of a problem area division / allocation method according to the present invention.
FIG. 3 is a specific flowchart of the present invention.
FIG. 4 is a block diagram of a two-dimensional crossbar network to which the present invention is applied.
FIG. 5 is an explanatory diagram of region division according to the present invention.
FIG. 6 is an explanatory diagram of a data transfer pattern according to the present invention.
FIG. 7 is a block diagram of data in the two-dimensional crossbar network of the present invention.
FIG. 8 is a block diagram of data in the two-dimensional crossbar network of the present invention.
FIG. 9 is an explanatory diagram showing a conventional problem area division / allocation method.
FIG. 10 is an explanatory diagram of a network to which the present invention is applicable.
[Explanation of symbols]
1-1: Problem area dimension determining means, 1-2: Area dividing method candidate selecting means, 1-3: Dividing method determining means, 1-4: Dividing area assigning means.
Claims (1)
nを超えない範囲で問題領域の次元数mの設定入力を受け付けて決定するステップと、
物理空間の各次元の格子点数をn1,n2,n3,……,nm、としたとき、
logxN≧logx(n1×n2×n3×……×nm)
n1,n2,n3,……,nm=x(≧2)の冪乗 … (式1)
を満たす領域分割方法候補を選択するステップと、
前記候補の中から使用する領域分割方法を決定するステップと、
1次元表示した分割領域番号と同じ物理番号を有するプロセッサに分割領域を割り当てるステップ
を備えたことを特徴とする問題領域分割・割り当て方法。A problem region division / allocation method in a parallel computer having a hypercube network or an N-dimensional crossbar network that includes a function of a lattice torus coupling network, and in which the number of processors N can be expressed by the nth power of a prime number x (≧ 2),
receiving and determining a setting input of the dimension number m of the problem area within a range not exceeding n;
When the number of grid points in each dimension of the physical space is n 1 , n 2 , n 3 ,..., N m ,
log x N ≧ log x (n 1 × n 2 × n 3 × …… × n m )
n 1 , n 2 , n 3 ,..., n m = power of x (≧ 2) (Equation 1)
Selecting a region segmentation method candidate that satisfies
Determining a region dividing method to be used from among the candidates;
A problem area dividing / allocating method comprising: assigning a divided area to a processor having the same physical number as the one-dimensionally displayed divided area number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00895796A JP3653841B2 (en) | 1996-01-23 | 1996-01-23 | Problem area division / allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00895796A JP3653841B2 (en) | 1996-01-23 | 1996-01-23 | Problem area division / allocation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09198358A JPH09198358A (en) | 1997-07-31 |
JP3653841B2 true JP3653841B2 (en) | 2005-06-02 |
Family
ID=11707160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00895796A Expired - Fee Related JP3653841B2 (en) | 1996-01-23 | 1996-01-23 | Problem area division / allocation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3653841B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032407B2 (en) * | 2009-05-25 | 2015-05-12 | Panasonic Intellectual Property Corporation Of America | Multiprocessor system, multiprocessor control method, and multiprocessor integrated circuit |
JP5429382B2 (en) | 2010-08-10 | 2014-02-26 | 富士通株式会社 | Job management apparatus and job management method |
US9624774B2 (en) | 2011-09-28 | 2017-04-18 | Toyota Jidosha Kabushiki Kaisha | Engine control apparatus |
WO2013088494A1 (en) * | 2011-12-12 | 2013-06-20 | トヨタ自動車株式会社 | Engine control device |
-
1996
- 1996-01-23 JP JP00895796A patent/JP3653841B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09198358A (en) | 1997-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dally | Performance analysis of k-ary n-cube interconnection networks | |
Greenberg | The fat-pyramid and universal parallel computation independent of wire delay | |
Choo et al. | Processor scheduling and allocation for 3D torus multicomputer systems | |
Martins et al. | A parallel GRASP for the Steiner problem in graphs | |
Das et al. | A new network topology with multiple meshes | |
CN112183015B (en) | Chip layout planning method for deep neural network | |
Sibai | A two-dimensional low-diameter scalable on-chip network for interconnecting thousands of cores | |
JP3653841B2 (en) | Problem area division / allocation method | |
Sun et al. | An efficient deadlock-free tree-based routing algorithm for irregular wormhole-routed networks based on the turn model | |
US7191311B2 (en) | Method and system of interconnecting processors of a parallel computer to facilitate torus partitioning | |
He et al. | A nearly optimal parallel algorithm for constructing depth first spanning trees in planar graphs | |
Greenberg et al. | Routing multiple paths in hypercubes | |
Suh et al. | Efficient all-to-all personalized exchange in multidimensional torus networks | |
Bani-Mohammad et al. | On the performance of non-contiguous allocation for common communication patterns in 2D mesh-connected multicomputers | |
Bay et al. | Deterministic on-line routing on area-universal networks | |
Greenberg et al. | A compact layout for the three-dimensional tree of meshes | |
Monien et al. | A realizable efficient parallel architecture | |
Tzeng et al. | Creating disjoint paths in gamma interconnection networks | |
US20170272327A1 (en) | Network topology system and method | |
KR20030009682A (en) | Embodiment method of neural-network for extracting adder-sharing property to implement adder-based distributed arithmetic | |
EP0594323A2 (en) | Method for multi-packet routing of datablocks on a parallel system | |
Wang et al. | A probabilistic approach to fault-tolerant routing algorithm on mesh networks | |
Monien et al. | The Construction of Large Scale Reconfigurable Parallel Computing Systems (The Architecture of the SC320) | |
JP2880880B2 (en) | Data mapping method | |
Sem-Jacobsen et al. | Efficient and contention-free virtualisation of fat-trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050117 |
|
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: 20050208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050221 |
|
LAPS | Cancellation because of no payment of annual fees |