JP5540609B2 - 並列計算システムおよび通信制御プログラム - Google Patents
並列計算システムおよび通信制御プログラム Download PDFInfo
- Publication number
- JP5540609B2 JP5540609B2 JP2009201560A JP2009201560A JP5540609B2 JP 5540609 B2 JP5540609 B2 JP 5540609B2 JP 2009201560 A JP2009201560 A JP 2009201560A JP 2009201560 A JP2009201560 A JP 2009201560A JP 5540609 B2 JP5540609 B2 JP 5540609B2
- Authority
- JP
- Japan
- Prior art keywords
- absolute value
- relative coordinates
- processor
- relative
- sign inversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/803—Three-dimensional arrays or hypercubes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
D. S. Scott, "Efficient all-to-all communication patterns in hypercube and mesh topologies," in 6th Distributed Memory Computing Conference, 1991, pp. 398-403. 堀江 健志, 林 憲一, "トーラスネットワークにおける最適全対全通信方式," 情報処理学会論文誌, vol.34, no.4, pp. 628-637, 1993. Y.-C. Tseng and S. K. S. Gupta, "All-to-all personalized communication in a wormhole-routed torus," IEEE Transactions on Parallel and Distributed Systems, vol.7, no.5, pp. 498-505, May 1996. N. R. Adiga, M. A. Blumrich, D. Chen, P. Coteus, A. Gara, M. E. Giampapa, P. Heidelberger, S. Singh, B. D. Steinmacher-Burow, T. Takken, M. Tsao, and P. Vranas, "Blue Gene/L torus interconnection network," IBM journal of Research and Development, vol.49, no. 2/3, pp. 265-276, 2005. G. Alamasi, P. Heidelberger, C. J. Archer, X. Martorell, C. C. Erway, J. E. Moreira, B. Steinmacher-Burow, and Y.Zheng, "Optimization of mpi collective communication on bluegene/l systems," in ICS '05: Proceedings of the 19th annual internationnal conference on Supercomputing. New York, NY, USA: ACM, 2005, pp. 253-262. S. Kumar, Y. Sabharwal, R. Garg, and P. Heidelberger, "Optimization of All-to-All Communication on the Blue Gene/L Supercomputer," in 37th International Conference on Parallel Processing, Sept 2008, pp. 320-329. J. Bruck, C.-T. Ho, S. Kipnis, D. Weathersby, "Efficient Algorithms for all-to-all communications in multi-port message-passing systems," in SPAA '94: Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures. New York, NY, USA: ACM, 1994, pp.298-309. V. Tipparaju and J. Nieplocha, "Optimizing all-to-all collective communication by exploiting concurrency in modern networks," in SC '05: Proceedings of the 2005 ACM/IEEE conference on Supercomputing. Washington, DC, USA: IEEE Computer Society, 2005, p. 46.
(実施形態1)
本発明の一実施形態による並列計算システムは、複数のプロセッサを相互接続ネットワークで接続したシステムである。本実施形態において、相互接続ネットワークは二次元トーラスであり、相互接続ネットワークの通信経路は次元オーダで決定されている。また、相互結合ネットワークの第1の次元の長さと第2の次元の長さは互いに等しい。
1)X1の絶対値とY1の絶対値とを異なる値とし、且つ
2)X1を0としてY1の絶対値をLの半分の値とは異なる値とする、あるいはY1を0としてX1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値をY1の絶対値と等しい値、且つ
2)X1の絶対値およびY1の絶対値がLの半分の値とは異なる値:
として設定し、各相対座標の相対座標値を以下のように決定する。
1)X1の絶対値をY1の絶対値と等しい値、且つ
2)X1の絶対値およびY1の絶対値をLの半分の値:
として設定し、各相対座標の相対座標値を以下のように決定する。
(実施形態2)
本発明の他の実施形態による並列計算システムは、複数のプロセッサを相互接続ネットワークで接続したシステムである。相互接続ネットワークは二次元トーラスであり、相互接続ネットワークの通信経路は次元オーダで決定されているものとする。また、相互結合ネットワークの第1の次元の長さと第2の次元の長さは異なるものとする。
1)X1の絶対値をY1の絶対値と異なる値、且つ
2)X1を0としてY1の絶対値をLの半分の値とは異なる値とする、あるいはY1を0としてX1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値をY1の絶対値と等しい値とし、且つ
2)X1の絶対値およびY1の絶対値がLの半分の値とは異なる値とする:
場合、各相対座標の相対座標値は以下のように決定される。
1)X1の絶対値をY1の絶対値と等しい値とし、且つ
2)X1の絶対値およびY1の絶対値をLの半分の値とする:
場合、各相対座標の相対座標値は以下のように決定する。
(実施形態3)
本発明の更に他の実施形態は、並列計算システムは複数のプロセッサを相互接続ネットワークで接続したシステムである。相互接続ネットワークは二次元メッシュであり、相互接続ネットワークの通信経路は次元オーダで決定されている。また、並列計算システム中の各プロセッサはそれぞれ、最大4つのプロセッサに対して同時にデータを送信する。ここで、任意のプロセッサから複数の送信先プロセッサへの相対座標は、並列計算システム中の全プロセッサで共通であるものとする。
1)X1の絶対値がY1の絶対値と異なる値とし、且つ;
2)X1を0としてY1の絶対値をLの半分の値とは異なる値とする、あるいはY1を0としてX1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値をY1の絶対値と等しい値とし、且つ
2)X1の絶対値およびY1の絶対値をLの半分の値とは異なる値とする:
場合、各相対座標値は以下のようにして決定する。
1)X1の絶対値をY1の絶対値と等しい値とし、且つ;
2)X1の絶対値およびY1の絶対値をLの半分の値とする:
場合、各相対座標値は以下のように決定する。
(実施形態4)
本発明の更に他の並列計算システムでは、相互接続ネットワークは三次元トーラスであり、相互接続ネットワークの通信経路は次元オーダで決定されている。また、相互結合ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さは等しいものとする。
1)X1を0、Y1の絶対値とZ1の絶対値のどちらかをLの半分の値とは異なる値とする;
2)Y1を0、X1の絶対値とZ1の絶対値のどちらかをLの半分の値とは異なる値とする;
3)Z1を0、X1の絶対値とY1の絶対値のどちらかをLの半分の値とは異なる値とする;
4)X1およびY1を0、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0、Y1の絶対値をLの半分の値とは異なる値とする;あるいは
6)Y1およびZ1を0、X1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つ
2)X1の絶対値、Y1の絶対値およびZ1の絶対値をそれぞれLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しくし、且つ:
2)X1の絶対値、Y1の絶対値およびZ1の絶対値をそれぞれLの半分の値とする。
(実施形態5)
本発明の更に他の実施形態による並列計算システムは、複数のプロセッサを相互接続ネットワークで接続しており、相互接続ネットワークは三次元トーラスであり、相互接続ネットワークの通信経路は次元オーダで決定されている。また、相互結合ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さの少なくとも一つの次元の長さが他の次元とは異なるものとする。更に、並列計算システム中の全プロセッサはそれぞれ最大6つのプロセッサに対して同時にデータを送信するものであり、任意のプロセッサから複数の送信先プロセッサへ同時にデータ送信する際の送信先プロセッサの相対座標は、並列計算システム中の全プロセッサで共通であるものとする。
1)X1を0、Y1の絶対値とZ1の絶対値とのどちらかとLの半分の値とは異なる値とする;
2)Y1を0、X1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
3)Z1を0、X1の絶対値とY1の絶対値とのどちらかをLの半分の値とは異なる値とする;
4)X1およびY1を0、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0、Y1の絶対値をLの半分の値とは異なる値とする;あるいは
6)Y1およびZ1を0、X1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つ
2)X1の絶対値、Y1の絶対値およびZ1の絶対値のそれぞれをLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つ:
2)X1の絶対値、Y1の絶対値およびZ1の絶対値をそれぞれLの半分の値とする。
(実施形態6)
本発明の更に他の実施形態による並列計算システムは、複数のプロセッサを相互接続ネットワークで接続したものである。相互接続ネットワークは三次元メッシュであり、相互接続ネットワークの通信経路は次元オーダで決定されている。また、並列計算システム中の全プロセッサは、それぞれ最大6つのプロセッサに対して同時にデータを送信し、各プロセッサから見た複数の送信先プロセッサへの相対座標は、並列計算システム中の全プロセッサで共通であるものとする。
1)X1を0、Y1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
2)Y1を0、X1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
3)Z1を0、X1の絶対値とY1の絶対値とのどちらかをLの半分の値とは異なる値とする;
4)X1およびY1を0、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0、Y1の絶対値をLの半分の値とは異なる値とする;あるいは
6)Y1およびZ1を0、X1の絶対値をLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つ:
2)X1の絶対値とY1の絶対値とZ1の絶対値とをLの半分の値とは異なる値とする。
1)X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つ
2)X1の絶対値とY1の絶対値とZ1の絶対値とをLの半分の値とする。
(実施例7)
本実施形態による全対全通信方法は、各々のプロセッサが、複数の通信コントローラにより並行して複数のメッセージを送受信する。本実施形態では、通信先となるプロセッサの順番を工夫することで、各ノードから見た送信先となるプロセッサの相対座標を全ノード間で同一とするともに、システムにおける全てのネットワークルータ間リンクを通過するプロセッサ間通信の数を均一にする。
(実施例8)
図2は、二辺の長さが等しく、かつ各辺の長さが偶数である2次元トーラス・トポロジーを示している。図2においても、星印は送信元プロセッサを示す。
(実施例9)
各プロセッサが6つの通信コントローラを持つ3次元トーラスの並列計算システムでは、以下のアルゴリズムにより、全リンクを通過するプロセッサ間通信の数を均一にする。
「(i,j,k)、(−i,−j,−k)、(k,i,j)、(−k,−i,−j)、(j,k,i)、(−j,−k,−i)」
「(i,j,−k)、(−i,−j,k)、(−k,i,j)、(k,−i,−j)、(j,−k,i)、(−j,k,−i)」
「(i,−j,k)、(−i,j,−k)、(k,i,−j)、(−k,−i,j)、(−j,k,i)、(j,−k,−i)」
「(i,−j,−k)、(−i,j,k)、(−k,i,−j)、(k,−i,j)、(−j,−k,i)、(j,k,−i)」
「(i,k,j)、(−i,−k,−j)、(j,i,k)、(−j,−i,−k)、(k,j,i)、(−k,−j,−i)」
「(i,k,−j)、(−i,−k,j)、(−j,i,k)、(j,−i,−k)、(k,−j,i)、(−k,j,−i)」
「(i,−k,j)、(−i,k,−j)、(j,i,−k)、(−j,−i,k)、(−k,j,i)、(k,−j,−i)」
「(i,−k,−j)、(−i,k,j)、(−j,i,−k)、(j,−i,k)、(−k,−j,i)、(k,j,−i)」
次に、各プロセッサは、0<j<i≦nとなる全ての自然数i,jについて、自身からの相対座標が以下の組合せとなる6プロセッサと同時に通信する。以下の例でも、6つの相対座標が1つの組みを構成する。
「(i,i,j)、(−i,−i,−j)、(j,i,i)、(−j,−i,−i)、(i,j,i)、(−i,−j,−i)」
「(i,i,−j)、(−i,−i,j)、(−j,i,i)、(j,−i,−i)、(i,−j,i)、(−i,j,−i)」
「(i,−i,j)、(−i,i,−j)、(j,i,−i)、(−j,−i,i)、(−i,j,i)、(i,−j,−i)」
「(i,−i,−j)、(−i,i,j)、(−j,i,−i)、(j,−i,i)、(−i,−j,i)、(i,j,−i)」
「(j,j,i)、(−j,−j,−i)、(i,j,j)、(−i,−j,−j)、(j,i,j)、(−j,−i,−j)」
「(j,j,−i)、(−j,−j,i)、(−i,j,j)、(i,−j,−j)、(j,−i,j)、(−j,i,−j)」
「(j,−j,i)、(−j,j,−i)、(i,j,−j)、(−i,−j,j)、(−j,i,j)、(j,−i,−j)」
「(j,−j,−i)、(−j,j,i)、(−i,j,−j)、(i,−j,j)、(−j,−i,j)、(j,i,−j)」
「(0,i,j)、(0,−i,−j)、(j,0, )、(−j,0,−i)、(i,j,0)、(−i,−j,0)」
「(0,i,−j)、(0,−i,j)、(−j,0,i)、(j,0,−i)、(i,−j,0)、(−i,j,0)」
「(0,j,i)、(0,−j,−i)、(i,0,j)、(−i,0,−j)、(j,i,0)、(−j,−i,0)」
「(0,j,−i)、(0,−j,i)、(−i,0,j)、(i,0,−j)、(j,−i,0)、(−j,i,0)」
さらに、各プロセッサは、0<i≦nとなる全ての自然数iについて、自身からの相対座標が以下の組合せとなるように、複数のプロセッサと同時に通信する。
「(0,i,i)、(0,−i,−i)、(i,0,i)、(−i,0,−i)、(i,i,0)、(−i,−i,0)」
「(i,0,0)、(−i,0,0)、(0,0,i)、(0,0,−i)、(0,i,0)、(0,−i,0)」
「(i,i,i)、(−i,−i,−i)、(i,i,−i)、(−i,−i,i)」
「(i,−i,i)、(−i,i,−i)、(i,−i,−i)、(−i,i,i)」
(実施例9)
続いて、三辺の長さが等しく、かつ各辺の長さが偶数である3次元トーラス・トポロジーについて説明する。この例では、各辺の長さを2n+2と表す。任意のプロセッサは、自身からの各座標軸(x軸、y軸、z軸)の3つとも相対座標が−n以上n以下となるプロセッサについては、三辺の長さが等しくかつ各変の長さが奇数である3次元トーラス・トポロジーの場合と同様に通信を行う。各プロセッサは続いて、残りのプロセッサのうち、3つの座標軸上の相対座標のうち少なくとも1つの座標軸の相対座標が−n−1またはn+1であるプロセッサと、以下の組合せで通信する。
「(n+1,i,j)、(−n−1,−i,−j)、(j,n+1,i)、(−j,−n−1,−i)、(i,j,n+1)、(−i,−j,−n−1)」
「(n+1,i,−j)、(−n−1,−i,j)、(−j,n+1,i)、(j,−n−1,−i)、(i,−j,n+1)、(−i,j,−n−1)」
「(n+1,j,i)、(−n−1,−j,−i)、(i,n+1,j)、(−i,−n−1,−j)、(j,i,n+1)、(−j,−i,−n−1)」
「(n+1,−j,i)、(−n−1,j,−i)、(i,n+1,−j)、(−i,−n−1,j)、(−j,i,n+1)、(j,−i,−n−1)」
各プロセッサはさらに、0<i≦nとなる全ての自然数iについて、自身からの相対座標が以下の組合せとなる6プロセッサと同時に通信する。
「(n+1,i,i)、(−n−1,−i,−i)、(i,n+1,i)、(−i,−n−1,−i)、(i,i,n+1)、(−i,−i,−n−1)」
「(n+1,i,−i)、(−n−1,−i,i)、(−i,n+1,i)、(i,−n−1,−i)、(i,−i,n+1)、(−i,i,−n−1)」
「(n+1,i,0)、(−n−1,−i,0)、(0,n+1,i)、(0,−n−1,−i)、(i,0,n+1)、(−i,0,−n−1)」
「(n+1,0,i)、(−n−1,0,−i)、(i,n+1,0)、(−i,−n−1,0)、(0,i,n+1)、(0,−i,−n−1)」
「(i,n+1,n+1)、(−i,−n−1,−n−1)、(n+1,i,n+1)、(−n−1,−i,−n−1)、(n+1,n+1,i)、(−n−1,−n−1,−i)」
最後に、各プロセッサは、自身からの相対座標が以下の組合せとなる複数のプロセッサと同時に通信する。
「(n+1,n+1,0)、(0,0,n+1)、(−n−1,0,−n−1)、(0,−n−1,0)」
「(0,n+1,n+1)、(n+1,0,0)、(−n−1,−n−1,−n−1)」
(付記1)
複数のプロセッサを相互接続ネットワークで多次元に接続した並列計算システムにおいて、
前記並列計算システムの各プロセッサから他のプロセッサへの前記相互接続ネットワークにおける通信経路は次元オーダで決定され、
前記各プロセッサは、同じタイミングで実行されるデータ通信における、各プロセッサから見た送信先プロセッサの相対座標として、前記全プロセッサで共通な相対座標が設定され、
前記設定された相対座標を持つ送信先プロセッサに対するデータ通信を行うことを特徴とする、並列計算システム。
(付記2)
付記1に記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサは、
X1の絶対値をY1の絶対値と異なる値とし、X1を0としてY1の絶対値をLの半分の値とは異なる値あるいはY1を0としてX1の絶対値をLの半分の値とは異なる値とした相対座標(X1、Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2、Y2)と、X3をY1、Y3をX1とした相対座標(X3、Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4、Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1、Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4、Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2を0とした相対座標(X2,Y2)と、X3を0、Y3をY1の符号反転とした相対座標(X3,Y3)との各位置にある3つの送信先プロセッサに対してデータを送信する第三の送信処理とを適宜実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標を持つ送信先プロセッサに対する同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記3)
付記1記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
前記相互接続ネットワークは二次元トーラスであり、前記相互結合ネットワークの第1の次元の長さと第2の次元の長さが異なり、前記相互結合ネットワークの第1の次元の長さおよび第2の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサが、
X1の絶対値をY1の絶対値と異なる値とし、X1を0としてY1の絶対値をLの半分の値とは異なる値、あるいはY1を0としてX1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とする相対座標(X2,Y2)と、X3をY1、Y3をX1とする相対座標(X3、Y3)と、X4をY1の符号反転、Y4をX1の符号反転とする相対座標(X4,Y4)との各位置にある4つのプロセッサに対しデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3、Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とした相対座標(X1、Y1)と、X2をX1の符号反転、Y2を0とする相対座標(X2,Y2)と、X3を0、Y3をY1の符号反転とする相対座標(X3,Y3)との各位置にある3つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記4)
付記1記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
前記相互接続ネットワークは二次元メッシュであり、前記相互結合ネットワークの第1の次元の長さおよび第2の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサが、
X1の絶対値をY1の絶対値と異なる値とし、X1を0としてY1の絶対値をLの半分の値とは異なる値、あるいはY1を0としX1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対しデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、X1の絶対値およびY1の絶対値をLの半分の値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2を0とした相対座標(X2、Y2)と、X3を0、Y3をY1の符号反転とした相対座標(X3,Y3)との各位置にある3つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記5)
付記2、付記3又は付記4記載の並列計算システムにおいて、
前記Lが奇数の場合、4つの送信先プロセッサに対する同時送信を、X1の絶対値とY1の絶対値とを異ならせた4つの送信先プロセッサに対する同時送信を(L−1)2/4回、X1の絶対値とY1の絶対値とを等しくした4つの送信先プロセッサに対する同時送信を(L−1)/2回、各々相対座標値を変えながら行なう一方、
前記Lが偶数の場合は、X1の絶対値とY1の絶対値とを異ならせた4つの送信先プロセッサに対する同時送信を(L−1)2 /4回、X1の絶対値とY1の絶対値を等しくした4つの送信先プロセッサに対する同時送信を(L/2−1)回、X1の絶対値をY1の絶対値とを等しい値とし且つX1の絶対値およびY1の絶対値をLの半分の値とした、3つの送信先プロセッサに対する同時送信を1回、各々相対座標値を変えながら行なう並列計算システム。
(付記6)
付記1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元トーラスであり、前記相互結合ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さは互いに等しく、前記相互結合ネットワークの各次元の長さをLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
前記各プロセッサは、
X1の絶対値とY1の絶対値とZ1の絶対値との少なくとも1つを異なる値とし、以下の1)〜6)のいずれかとに該当する相対座標(X1,Y1,Z1)と、
1)X1を0とし、Y1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
2)Y1を0とし、X1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
3)Z1を0とし、X1の絶対値とY1の絶対値とのどちらかをLの半分の値とは異なる値とする;
4)X1およびY1を0とし、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0とし、Y1の絶対値をLの半分の値とは異なる値とする;
6)Y1およびZ1を0とし、X1の絶対値をLの半分の値とは異なる値とする;
X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をZ1、Y3をX1、Z3をY1とする相対座標(X3、Y3,Z3)と、X4をZ1の符号反転、Y4をX1の符号反転、Z4をY1の符号反転とする相対座標(X4,Y4,Z4)と、X5をY1、Y5をZ1、Z5をX1とする相対座標(X5,Y5,Z5)と、X6をY1の符号反転、Y6をZ1の符号反転、Z6をX1の符号反転とする相対座標(X6,Y6,Z6)との位置にある6つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、X1の絶対値とY1の絶対値とZ1の絶対値とをそれぞれLの半分の値とは異なる値とした相対座標(X1,Y1、Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2、Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、X1の絶対値とY1の絶対値とZ1の絶対値とをLの半分の値とした相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2とをZ2とを0とする相対座標(X2,Y2,Z2)と、X3を0、Y3をY1の符号反転、Z3をZ1の符号反転とする相対座標(X3,Y3Z3)と、X4とZ4とを0、Y4をY1とする相対座標(X4,Y4,Z4)と、X5をX1、Y5を0、Z5をZ1とする相対座標(X5、Y5,Z5)と、X6とY6とを0、Z6をZ1の符号反転とする相対座標(X6,Y6、Z6)と、X7をX1の符号反転、Y7をY1の符号反転、Z7を0とする相対座標(X7,Y7,Z7)との各位置にある7つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記7)
付記1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元トーラスであり、前記相互結合ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さのいずれかは異なり、前記相互結合ネットワークの第1の次元の長さおよび第2の次元の長さおよび第3の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
X1の絶対値とY1の絶対値とZ1の絶対値とのうち少なくとも1つを異なる値とし、以下の1)〜6)のいずれかに該当する相対座標(X1,Y1,Z1)と、
1)X1を0とし、Y1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
2)Y1を0とし、X1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
3)Z1を0とし、X1の絶対値とY1の絶対値とのどちらかをLの半分の値とは異なる値とする:
4)X1およびY1を0とし、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0とし、Y1の絶対値をLの半分の値とは異なる値とする;
6)Y1およびZ1を0とし、X1の絶対値をLの半分の値とは異なる値とする;
X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2、Z2)と、X3をZ1、Y3をX1、Z3をY1とする相対座標(X3,Y3,Z3)と、X4をZ1の符号反転、Y4をX1の符号反転、Z4をY1の符号反転とする相対座標(X4,Y4Z4)と、X5をY1、Y5をZ1、Z5をX1とする相対座標(X5,Y5,Z5)と、X6をY1の符号反転、Y6をZ1の符号反転、Z6をX1の符号反転とする相対座標(X6,Y6,Z6)との各位置にある6つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、X1の絶対値とY1の絶対値とZ1の絶対値とがLの半分の値とを異なる値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3、Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、X1の絶対値とY1の絶対値とZ1の絶対値とをLの半分の値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2とZ2とを0とする相対座標(X2,Y2、Z2)と、X3を0、Y3をY1の符号反転、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4とZ4とを0、Y4をY1とする相対座標(X4,Y4,Z4)と、X5をX1、Y5を0、Z5をZ1とする相対座標(X5,Y5,Z5)と、X6とY6とを0、Z6をZ1の符号反転とする相対座標(X6,Y6,Z6)と、X7をX1の符号反転、Y7をY1の符号反転、Z7を0とする相対座標(X7,Y7,Z7)との各位置にある7つの送信先プロセッサに対しデータを送信する第三の送信処理をと実行するに動作し、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記8)
請求項1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元メッシュであり、前記相互結合ネットワークの第1の次元の長さおよび第2の次元の長さおよび第3の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
各プロセッサが、
X1の絶対値とY1の絶対値とZ1の絶対値のうち少なくとも1つを異なる値とし、且つ以下の1)から6)のいずれかに該当する相対座標(X1,Y1,Z1)と、
1)X1を0、Y1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;2)Y1を0、X1の絶対値とZ1の絶対値とのどちらかをLの半分の値とは異なる値とする;
3)Z1を0、X1の絶対値とY1の絶対値とのどちらかをLの半分の値とは異なる値とする;
4)X1およびY1を0、Z1の絶対値をLの半分の値とは異なる値とする;
5)X1およびZ1を0、Y1の絶対値をLの半分の値とは異なる値とする;あるいは
6)Y1およびZ1を0、X1の絶対値をLの半分の値とは異なる値とする。
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つX1の絶対値とY1の絶対値とZ1の絶対値とがLの半分の値とは異なる値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)とに位置する4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを等しい値とし、且つX1の絶対値とY1の絶対値とZ1の絶対値とをLの半分の値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2とZ2とを0とする相対座標(X2,Y2,Z2)と、X3を0、Y3をY1の符号反転、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4とZ4とを0、Y4をY1とする相対座標(X4,Y4,Z4)と、X5をX1、Y5を0、Z5をZ1とする相対座標(X5,Y5,Z5)と、X6とY6とを0、Z6をZ1の符号反転とする相対座標(X6,Y6,Z6)と、X7をX1の符号反転、Y7をY1の符号反転、Z7を0とする相対座標(X7.Y7.Z7)との各位置にある7つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行することを特徴とする、並列計算システム。
(付記9)
付記6、付記7または付記8に記載の並列計算システムにおいて、
前記Lが奇数の場合は、6つの送信先プロセッサに対する同時送信を(L3−4L+3)/4回、4つの送信先プロセッサに対する同時送信をL−1回、各々相対座標値を変えながら行なう一方、
前記Lが偶数の場合は、6つの送信先プロセッサに対する同時送信を(L3−4L+1)/4回、4つの送信先プロセッサに対する同時送信をL−2回、7つの送信先プロセッサに対する同時送信をそれぞれ1回、各々相対座標値を変えながら行なう並列計算システム。
(付記10)
付記1乃至付記9のいずれかに記載の並列計算システムにおいて、
同時送信と同時送信の間に前記並列計算システム中の全プロセッサ間で同期を取ることとを特徴とする、並列計算システム。
(付記11)
付記1乃至付記10のいずれかに記載された動作を、並列計算システムのプロセッサに実行させることを特徴とする、通信制御プログラム。
Claims (8)
- 複数のプロセッサを格子状のメッシュ・トポロジーまたはトーラス・トポロジーの相互接続ネットワークにより接続した並列計算システムにおいて、
前記並列計算システムの各プロセッサから他のプロセッサへの前記相互接続ネットワークにおける通信経路は次元オーダで決定され、
前記各プロセッサに対して、同じタイミングで実行されるデータ通信における、各プロセッサから見た送信先プロセッサの相対的位置を特定するための相対座標として、前記全ての各プロセッサで共通な相対座標が設定され、
前記各プロセッサは、前記各プロセッサから同じタイミングで実行されるデータ通信の宛先となる複数の相対座標値を前記設定された共通な相対座標に基づいて選択し、前記選択した複数の相対座標値に対応する複数の送信先プロセッサに対するデータ通信を同じタイミングで行う同時通信処理を、前記相互接続ネットワーク内の前記各プロセッサを除くすべてのプロセッサが一度だけ宛先となるように、宛先となる前記複数の相対座標値を適宜変更しながら繰り返し実行する
ことを特徴とする並列計算システム。 - 請求項1に記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
前記相互接続ネットワークは二次元トーラスであり、前記相互接続ネットワークの第1の次元の長さと第2の次元の長さをともにLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサは、
X1の絶対値をY1の絶対値と異なる値とし、且つX1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標 (X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とした相対座標(X1,Y1)と、X2をX1 の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をX1の符号反転、Y3をY1とした相対座標(X3,Y3)と、X4をX1、Y4をY1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、相対座標(X1,0)と、相対座標(0,Y1)と、X2をX1の符号反転とした相対座標(X2,0)と、Y2をY1の符号反転とした相対座標(0,Y2)との各位置にある4つの送信先プロセッサに対してデータを送信する第三の送信処理とを適宜実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標を持つ送信先プロセッサに対する同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 請求項1記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
前記相互接続ネットワークは二次元トーラスであり、前記相互接続ネットワークの第1の次元の長さと第2の次元の長さが異なり、前記相互接続ネットワークの第1の次元の長さおよび第2の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサが、
X1の絶対値をY1の絶対値と異なる値とし、且つX1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とする相対座標(X2,Y2)と、X3をY1、Y3をX1とする相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とする相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対しデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をX1の符号反転、Y3をY1とした相対座標(X3,Y3)と、X4をX1、Y4をY1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、相対座標(X1,0)と、相対座標(0,Y1)と、X2をX1の符号反転とした相対座標(X2,0)と、Y2をY1の符号反転とした相対座標(0,Y2)との各位置にある4つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 請求項1記載の並列計算システムにおいて、
前記並列計算システム中の各プロセッサは、最大4つのプロセッサに対して同時にデータを送信可能であり、
前記相互接続ネットワークは二次元メッシュであり、前記相互接続ネットワークの第1の次元の長さおよび第2の次元の長さの最大値をLとし、送信元プロセッサから第nの送 信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYnとした場合、
各プロセッサが、
X1の絶対値をY1の絶対値と異なる値とし、且つX1の絶対値およびY1の絶対値をLの半分の値とは異なる値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をY1、Y3をX1とした相対座標(X3,Y3)と、X4をY1の符号反転、Y4をX1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対しデータを送信する第一の送信処理と、
X1の絶対値をY1の絶対値と等しい値とした相対座標(X1,Y1)と、X2をX1の符号反転、Y2をY1の符号反転とした相対座標(X2,Y2)と、X3をX1の符号反転、Y3をY1とした相対座標(X3,Y3)と、X4をX1、Y4をY1の符号反転とした相対座標(X4,Y4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理と、
X1の絶対値をY1の絶対値と等しい値とし、相対座標(X1,0)と、相対座標(0,Y1)と、X2をX1の符号反転とした相対座標(X2,0)と、Y2をY1の符号反転とした相対座標(0,Y2)との各位置にある4つの送信先プロセッサに対してデータを送信する第三の送信処理とを実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 請求項1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元トーラスであり、前記相互接続ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さは互いに等しく、前記相互接続ネットワークの各次元の長さをLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
前記各プロセッサは、
X1の絶対値とY1の絶対値とZ1の絶対値との少なくとも1つを異なる値とし、且つ以下の1)〜3)のいずれかに該当する相対座標(X1,Y1,Z1)と、
1)X1の絶対値とY1の絶対値とZ1の絶対値はいずれも0およびLの半分の値とは異なる値とする;
2)X1を0とし、Y1の絶対値とZ1の絶対値はいずれもLの半分の値とは異なる値とする;
3)X1およびY1を0とし、Z1の絶対値をLの半分の値とは異なる値とする;
X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をZ1、Y3をX1、Z3をY1とする相対座標(X3,Y3,Z3)と、X4をZ1の符号反転、Y4をX1の符号反転、Z4をY1の符号反転とする相対座標(X4,Y4,Z4)と、X5をY1、Y5をZ1、Z5をX1とする相対座標(X5,Y5,Z5)と、X6をY1の符号反転、Y6をZ1の符号反転、Z6をX1の符号反転とする相対座標(X6,Y6,Z6)との位置にある6つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを0およびLの半分の値とは異なる等しい値とした相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理とを少なくとも実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 請求項1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元トーラスであり、前記相互接続ネットワークの第1の次元の長さと第2の次元の長さと第3の次元の長さのいずれかは異なり、前記相互接続ネットワークの第1の次元の長さおよび第2の次元の長さおよび第3の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
前記各プロセッサは、
X1の絶対値とY1の絶対値とZ1の絶対値とのうち少なくとも1つを異なる値とし、且つ以下の1)〜3)のいずれかに該当する相対座標(X1,Y1,Z1)と、
1)X1の絶対値とY1の絶対値とZ1の絶対値はいずれも0およびLの半分の値とは異なる値とする;
2)X1を0とし、Y1の絶対値とZ1の絶対値はいずれもLの半分の値とは異なる値とする;
3)X1およびY1を0とし、Z1の絶対値をLの半分の値とは異なる値とする;
X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をZ1、Y3をX1、Z3をY1とする相対座標(X3,Y3,Z3)と、X4をZ1の符号反転、Y4をX1の符号反転、Z4をY1の符号反転とする相対座標(X4,Y4,Z4)と、X5をY1、Y5をZ1、Z5をX1とする相対座標(X5,Y5,Z5)と、X6をY1の符号反転、Y6をZ1の符号反転、Z6をX1の符号反転とする相対座標(X6,Y6,Z6)との各位置にある6つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを0およびLの半分の値とは異なる等しい値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)との各位置にある4つの送信先プロセッサに対してデータを送信する第二の送信処理とを少なくとも適宜実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 請求項1記載の並列計算システムにおいて、
前記相互接続ネットワークは三次元メッシュであり、前記相互接続ネットワークの第1の次元の長さおよび第2の次元の長さおよび第3の次元の長さの最大値をLとし、送信元プロセッサから第nの送信先プロセッサへの相対座標の第1の次元の相対座標値をXn、第2の次元の相対座標値をYn、第3の次元の相対座標値をZnとした場合に、
各プロセッサが、
X1の絶対値とY1の絶対値とZ1の絶対値とのうち少なくとも1つを異なる値とし、且つ以下の1)〜3)のいずれかに該当する相対座標(X1,Y1,Z1)と、
1)X1の絶対値とY1の絶対値とZ1の絶対値はいずれも0およびLの半分の値とは異なる値とする;
2)X1を0とし、Y1の絶対値とZ1の絶対値はいずれもLの半分の値とは異なる値とする;
3)X1およびY1を0とし、Z1の絶対値をLの半分の値とは異なる値とする;
X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をZ1、Y3をX1、Z3をY1とする相対座標(X3,Y3,Z3)と、X4をZ1の符号反転、Y4をX1の符号反転、Z4をY1の符号反転とする相対座標(X4,Y4,Z4)と、X5をY1、Y5をZ1、Z5をX1とする相対座標(X5,Y5,Z5)と、X6をY1の符号反転、Y6をZ1の符号反転、Z6をX1の符号反転とする相対座標(X6,Y6,Z6)との各位置にある6つの送信先プロセッサに対してデータを送信する第一の送信処理と、
X1の絶対値とY1の絶対値とZ1の絶対値とを0およびLの半分の値とは異なる等しい値とする相対座標(X1,Y1,Z1)と、X2をX1の符号反転、Y2をY1の符号反転、Z2をZ1の符号反転とする相対座標(X2,Y2,Z2)と、X3をX1、Y3をY1、Z3をZ1の符号反転とする相対座標(X3,Y3,Z3)と、X4をX1の符号反転、Y4をY1の符号反転、Z4をZ1とする相対座標(X4,Y4,Z4)とに位置する4つの送信先プロセッサに対してデータを送信する第二の送信処理とを少なくとも実行するものであり、
前記並列計算システムの各プロセッサが、同一の相対座標の送信先プロセッサに対する、同一の送信処理を適用したデータ通信を、同じタイミングで実行する
ことを特徴とする並列計算システム。 - 複数のプロセッサを格子状のメッシュ・トポロジーまたはトーラス・トポロジーの相互 接続ネットワークにより接続した並列計算システムの各プロセッサに、
前記各プロセッサから同じタイミングで実行されるデータ通信における、各プロセッサから見た送信先プロセッサの相対的位置を特定するための相対座標として、前記全ての各プロセッサに共通な相対座標を設定し、
前記各プロセッサから同じタイミングで実行されるデータ通信の宛先となる複数の相対座標値を前記設定された共通な相対座標に基づいて選択し、前記選択した複数の相対座標値に対応する複数の送信先プロセッサに対するデータ通信を同じタイミングで行う同時通信処理を、前記相互接続ネットワーク内の前記各プロセッサを除くすべてのプロセッサが一度だけ宛先となるように、宛先となる前記複数の相対座標値を適宜変更しながら繰り返し実行させる
ことを特徴とする通信制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009201560A JP5540609B2 (ja) | 2009-09-01 | 2009-09-01 | 並列計算システムおよび通信制御プログラム |
US12/872,338 US10430375B2 (en) | 2009-09-01 | 2010-08-31 | Parallel computing system and communication control program |
EP10174920A EP2302525A1 (en) | 2009-09-01 | 2010-09-01 | Parallel computing system and communication control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009201560A JP5540609B2 (ja) | 2009-09-01 | 2009-09-01 | 並列計算システムおよび通信制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011053876A JP2011053876A (ja) | 2011-03-17 |
JP5540609B2 true JP5540609B2 (ja) | 2014-07-02 |
Family
ID=43500980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009201560A Active JP5540609B2 (ja) | 2009-09-01 | 2009-09-01 | 並列計算システムおよび通信制御プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10430375B2 (ja) |
EP (1) | EP2302525A1 (ja) |
JP (1) | JP5540609B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9624774B2 (en) | 2011-09-28 | 2017-04-18 | Toyota Jidosha Kabushiki Kaisha | Engine control apparatus |
US9442472B2 (en) | 2011-12-12 | 2016-09-13 | Toyota Jidosha Kabushiki Kaisha | Engine control device |
RU2486581C1 (ru) * | 2012-07-11 | 2013-06-27 | Открытое акционерное общество "Научно-исследовательский институт "Субмикрон" | Параллельная вычислительная система с программируемой архитектурой |
US9807152B2 (en) | 2012-07-30 | 2017-10-31 | Nec Corporation | Distributed processing device and distributed processing system as well as distributed processing method |
US9077616B2 (en) | 2012-08-08 | 2015-07-07 | International Business Machines Corporation | T-star interconnection network topology |
US9055078B2 (en) | 2013-01-10 | 2015-06-09 | International Business Machines Corporation | Token-based flow control of messages in a parallel computer |
JP2014137732A (ja) * | 2013-01-17 | 2014-07-28 | Fujitsu Ltd | 情報処理システム及び情報処理システムの制御方法 |
EP2811796A1 (en) * | 2013-06-07 | 2014-12-10 | Stichting Vu-Vumuc | Position-based broadcast protocol and time slot schedule for a wireless mesh network |
JP6499388B2 (ja) | 2013-08-14 | 2019-04-10 | 富士通株式会社 | 並列計算機システム、管理装置の制御プログラムおよび並列計算機システムの制御方法 |
US20150106589A1 (en) * | 2013-10-16 | 2015-04-16 | REMTCS, Inc. | Small form high performance computing mini hpc |
US9690734B2 (en) * | 2014-09-10 | 2017-06-27 | Arjun Kapoor | Quasi-optimized interconnection network for, and method of, interconnecting nodes in large-scale, parallel systems |
US11516087B2 (en) * | 2020-11-30 | 2022-11-29 | Google Llc | Connecting processors using twisted torus configurations |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814973A (en) * | 1983-05-31 | 1989-03-21 | Hillis W Daniel | Parallel processor |
US5152000A (en) | 1983-05-31 | 1992-09-29 | Thinking Machines Corporation | Array communications arrangement for parallel processor |
US4598400A (en) * | 1983-05-31 | 1986-07-01 | Thinking Machines Corporation | Method and apparatus for routing message packets |
US4805091A (en) * | 1985-06-04 | 1989-02-14 | Thinking Machines Corporation | Method and apparatus for interconnecting processors in a hyper-dimensional array |
US5175865A (en) | 1986-10-28 | 1992-12-29 | Thinking Machines Corporation | Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers |
JPH03116357A (ja) * | 1989-09-29 | 1991-05-17 | Fujitsu Ltd | 並列処理方式 |
US5247694A (en) | 1990-06-14 | 1993-09-21 | Thinking Machines Corporation | System and method for generating communications arrangements for routing data in a massively parallel processing system |
JPH04235654A (ja) | 1991-01-10 | 1992-08-24 | Fujitsu Ltd | ネットワーク制御方式 |
JP2601591B2 (ja) | 1991-11-26 | 1997-04-16 | 富士通株式会社 | 並列計算機およびその全対全通信方法 |
JPH09330304A (ja) * | 1996-06-05 | 1997-12-22 | Internatl Business Mach Corp <Ibm> | プロセッサ間の通信スケジュールを決定する方法 |
JP3709322B2 (ja) * | 2000-03-10 | 2005-10-26 | 株式会社日立製作所 | 多次元クロスバーネットワークおよび並列計算機システム |
IL157512A0 (en) | 2001-02-24 | 2004-03-28 | Ibm | A global tree network for computing structures |
US8495411B2 (en) | 2005-02-07 | 2013-07-23 | International Business Machines Corporation | All row, planar fault detection system |
JP5056844B2 (ja) * | 2007-03-20 | 2012-10-24 | 富士通株式会社 | 一意情報集団通信プログラム、計算ノード、および一意情報集団通信方法 |
JP5369775B2 (ja) * | 2009-03-11 | 2013-12-18 | 富士通株式会社 | n次元トーラス型分散処理システム、集団通信方法及び集団通信プログラム |
-
2009
- 2009-09-01 JP JP2009201560A patent/JP5540609B2/ja active Active
-
2010
- 2010-08-31 US US12/872,338 patent/US10430375B2/en active Active
- 2010-09-01 EP EP10174920A patent/EP2302525A1/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US10430375B2 (en) | 2019-10-01 |
JP2011053876A (ja) | 2011-03-17 |
US20110213946A1 (en) | 2011-09-01 |
EP2302525A1 (en) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5540609B2 (ja) | 並列計算システムおよび通信制御プログラム | |
JP4676463B2 (ja) | 並列計算機システム | |
Su et al. | Adaptive deadlock-free routing in multicomputers using only one extra virtual channel | |
CN1921437B (zh) | 内外连网络拓扑架构及自洽扩展该架构的并行计算*** | |
Wang et al. | NovaCube: A low latency Torus-based network architecture for data centers | |
JP2008516346A5 (ja) | ||
CN112188325B (zh) | 使用具有一对多光交换机的光网络的可重新配置的计算平台 | |
KR102583771B1 (ko) | 광학 네트워크들을 사용하는 재구성가능한 컴퓨팅 포드들 | |
Adda et al. | Routing and fault tolerance in Z-fat tree | |
US8504731B2 (en) | Network for interconnecting computers | |
JP2018185650A (ja) | 情報処理装置、情報処理方法及びプログラム | |
Zhang et al. | Fault-tolerant routing algorithm based on disjoint paths in 3-ary n-cube networks with structure faults | |
JP2019008648A (ja) | 情報処理システム及び情報処理方法 | |
Zhao et al. | On peer-assisted data dissemination in data center networks: Analysis and implementation | |
CN111262913B (zh) | 一种数据中心网络拓扑结构、确定方法及*** | |
Kashefi et al. | RP2: a high-performance data center network architecture using projective planes | |
Chen et al. | Wavelength assignment for realizing parallel FFT on regular optical networks | |
Souravlas et al. | Dynamic Load Balancing on All-to-All Personalized Communications Using the NNLB Principal | |
Shamaei et al. | Adaptive routing in hexagonal torus interconnection networks | |
JP3532102B2 (ja) | 間接ローテータグラフネットワーク及び間接ローテータグラフネットワークにおける伝送経路の設定方法 | |
CN1984011B (zh) | 数据传输网络和数据传输网络的运用方法 | |
Rashidi et al. | FRED: Flexible REduction-Distribution Interconnect and Communication Implementation for Wafer-Scale Distributed Training of DNN Models | |
Navaridas et al. | Indirect cube: A power-efficient topology for compute clusters | |
Romashikhin | Implementation of Regular Topologies for NoCs Based on schoolMIPS Soft-Processor Cores | |
Wu et al. | Efficient multiple multicast on heterogeneous network of workstations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140306 |
|
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: 20140408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5540609 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |