JP2002207648A - 並列計算機の識別番号変換方法 - Google Patents

並列計算機の識別番号変換方法

Info

Publication number
JP2002207648A
JP2002207648A JP2001003516A JP2001003516A JP2002207648A JP 2002207648 A JP2002207648 A JP 2002207648A JP 2001003516 A JP2001003516 A JP 2001003516A JP 2001003516 A JP2001003516 A JP 2001003516A JP 2002207648 A JP2002207648 A JP 2002207648A
Authority
JP
Japan
Prior art keywords
computer
rank
data
computers
size
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.)
Pending
Application number
JP2001003516A
Other languages
English (en)
Inventor
Kimihide Kureya
公英 呉屋
Kenji Matsui
謙治 松井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001003516A priority Critical patent/JP2002207648A/ja
Publication of JP2002207648A publication Critical patent/JP2002207648A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 二分木アルゴリズムによる通信方式により、
ルート計算機のランクが0でない場合にも、直接、ルー
ト計算機にデータを正しい順番で収集する。 【解決手段】 各計算機が保有するデータを識別番号が
0でない計算機(ルート計算機)に転送し、転送された
データを各識別番号の順番に格納する場合、各計算機が
保有するデータが転送される計算機の識別番号を0に変
換し、他の各計算機の識別番号を、該各計算機からデー
タが該識別番号0の計算機に転送されたとき該転送され
たデータが識別番号の順番に格納されるように変換す
る。例えば、計算機が10台で、計算機9をルート計算
機とした場合、二分木の左部分木を6,7,8,9と
し、右部分木を2,3,4,5とし、余りを0,1と
し、左部分木の9が一番左になるように左部分木を9,
8,6,7に変更し、左から順番に0,1,2,3,
4,5,6,7,8,9のように識別番号を変換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算機を含む
ネットワークで接続された複数の計算機間でのデータ通
信方式に関わり、特に計算機間のデータ通信の標準的な
インタフェースであるメッセージパッシングMPIにおけ
る配列の収集を高速化する方法に関する。
【0002】
【従来の技術】並列計算機には大きく分けて分散メモリ
型並列計算機と共有メモリ型並列計算機の2種類が存在
するが、現在ではスケーラビリティが容易に達成できる
などの理由で分散メモリ型並列計算機が主流になってい
る。分散メモリ型並列計算機上でのプログラミングモデ
ルとして一般的にはメッセージパッシングモデルが使用
されることが多い。メッセージパッシングモデルでは、
プログラム中に明示的に通信関数を記述する必要があ
る。すなわち、計算に必要なデータが自要素計算機上に
ない場合、データを保持している要素計算機側で送信関
数を発行し、自要素計算機側で受信関数を発行すること
でデータ転送が行われる。上記通信関数のインタフェー
スの標準化を行うことを目的として、近年MPI Forumに
よりMPI(Message Passing Interface)と呼ばれるメッセ
ージパッシングのための関数仕様がまとめられている。
MPIでは一対の計算機間で通信を行う一対一通信の他に
全計算機間で通信を行う集団通信が規定されている。集
団通信の中で、配列要素の収集を行う通信形態がある。
配列要素の収集とは、全ての計算機が、ルートと呼ばれ
るある一つの計算機に異データを送信する通信処理であ
る。このデータを収集する計算機をルート計算機と呼ぶ
ことにする。MPIにおいて配列要素の収集を行う関数と
してGatherがある。
【0003】以下にGatherの関数インタフェースを説明
するが、説明を簡単にするために引き数を一部簡略化し
て記述する。Gather(sendbuf, sendcount, sendtype, r
ecvbuf, recvcount, recvtype, root) ここで、sendbuf、sendcount、sendtypeはそれぞれ、送
信すべき配列データが格納された自計算機の送信領域の
先頭アドレス、ルート計算機に送信する要素データの個
数、およびデータ型である。また、recvbuf、recvcoun
t、recvtypeはそれぞれ、受信すべきデータが格納され
るルート計算機の受信領域の先頭アドレス、各計算機か
ら受信する要素データの個数、およびデータ型である。
また、rootはrootプロセスであり、データを集めるプロ
セスである。Gatherでは、ルート計算機のみがデータを
受信するため、recvbuf、recvcount、recvtypeはルート
計算機のみにおいて意味を持つ。また、データ型として
はINTEGERやREAL、COMPLEXなどが指定可能である。MPI
では通信相手を明確に示すために各計算機にランクと呼
ばれる識別番号を割り当て、このランクを用いて通信相
手の特定を行う。以下では、ランクnが割り当てられた
計算機のことを計算機nと表記する。
【0004】図4は10台の計算機(402から411
はそれぞれ計算機0から計算機9を表す)がネットワー
ク(401)によって結合された並列計算機を示してお
り、412は計算機0のメモリ領域の拡大図である。4
13、414はそれぞれGatherの引数として指定される
送信領域sendbufに格納されている配列データと受信領
域recvbufである。ここでデータを受信するルート計算
機を、計算機0とした場合、Gatherの結果により、例え
ば計算機3のデータは414の先頭から第3番目の要素
に格納される。一般的に、計算機iのデータは先頭から
第i番目の要素として格納される(iは0から9ま
で)。このような配列要素を一つの配列として格納する
通信は、二分木アルゴリズムと呼ばれる通信方式の利用
により、短時間の処理時間において実現可能である。4
15は計算機i(iは0から9)のメモリ領域の拡大図で
あり、416は計算機i(iは0から9)の送信領域であ
る。ルート計算機以外は受信領域を用意する必要はない
が、配列要素の収集において二分木アルゴリズムを行う
ためには、各計算機はルート計算機の受信領域と同じ長
さを持った一時的な配列領域が必要となる。417はル
ート計算機の受信領域と同じ長さを持った一時的な配列
領域である。各計算機は同様のメモリ領域を持っている
とする。
【0005】図2(A)〜(D)はデータを収集するルート計
算機のランクが0の場合の二分木アルゴリズムによる通
信方式を表す図である。なお、以下の説明において、b
(i)とは各計算機の持つ一時的配列領域の先頭からi(i
は0から9)番目の配列要素を表し、またb(2)b(3)とは
各計算機の持つ一時配列領域の先頭から2番目の配列要
素と3番目の配列要素を連結した領域を表すものとす
る。また、はじめに各計算機i(iは0から9)は自送信領
域のデータを自計算機内の一時的配列領域のb(i)に移動
しておく。
【0006】以下、次のステップにより通信が行われ
る。なお、図2(A)の下部に示す0〜9は計算機0〜計
算機9を示す。ステップ1の処理を図2(A)を参照し
て説明する。計算機1はb(1)を計算機0のb(1)に送信す
る。これは、図2(A)の下部に示す計算機1から計算機
0へ向かう太い矢印で示している。計算機3はb(3)を計
算機2のb(3)に送信する。これは、図2(A)の下部に示
す計算機3から計算機2へ向かう太い矢印で示してい
る。計算機5はb(5)を計算機4のb(5)に送信する。これ
は、図2(A)の下部に示す計算機5から計算機4へ向か
う太い矢印で示している。計算機7はb(7)を計算機6の
b(7)に送信する。これは、図2(A)の下部に示す計算機
7から計算機6へ向かう太い矢印で示している。計算機
9はb(9)を計算機8のb(9)に送信する。これは、図2
(A)の下部に示す計算機7から計算機6へ向かう太い矢
印で示している。
【0007】ステップ2の処理を図2(B)を参照して説
明する。計算機2はb(2)b(3)を計算機0のb(2)b(3)に送
信する。これは、図2(B)の下部に示す計算機2から計
算機0へ向かう太い矢印で示している。計算機6はb(6)
b(7)を計算機4のb(6)b(7)に送信する。これは、図2
(B)の下部に示す計算機6から計算機4へ向かう太い矢
印で示している。
【0008】ステップ3の処理を図2(C)を参照して説
明する。計算機4はb(4)b(5)b(6)b(7)を計算機0のb(4)
b(5)b(6)b(7)に送信する。これは、図2(C)の下部に示
す計算機4から計算機0へ向かう太い矢印で示してい
る。ステップ4の処理を図2(D)を参照して説明する。
計算機8はb(8)b(9)を計算機0のb(8)b(9)に送信する。
これは、図2(D)の下部に示す計算機8から計算機0へ
向かう太い矢印で示している。最後に、計算機0は自計
算機内のメモリ上にある一時的配列領域b(0)b(1)b(2)b
(3)b(4)b(5)b(6)b(7)b(8)b(9)を受信領域に移動してGat
herが完結する。このようにしてルート計算機を木の根
の位置に配置し、一つの枝において送信元計算機を枝の
下側の節に、また受信元の計算機を枝の上側の節に配置
したものが図2(A)〜(D)である。
【0009】計算機の数が一般の場合の二分木アルゴリ
ズムをフローチャートで表すと図3のようになる。図3
において、size、rankはそれぞれ計算機の合計数及び自
計算機のランクを表す。各種変数の初期化として、mask
= 0、shift = 1とする(301)。maskにshiftを加え
たものを新しいmaskとし、受信相手(送信元)のランク
を表すsrcをsrc = rank + shiftとして求める(30
2)。なお、図の(302)における mask+=shift はm
ask = mask + shiftを表す。rankとmaskのビットごとの
論理積を取った結果が0であり、かつ、srcがsize未満
の場合(303)は受信関数Recv(buffer + rank, src)
を発行する。ただし、ここで、Recv(buffer + rank, sr
c)とは、配列領域bufferの先頭からrankだけ隔たった位
置に、ランクsrcを持つ計算機からデータを受信する関
数を意味する(304)。(303)が満たされなかっ
た場合は、送信相手(送信先)のランクを表すdestを、
dest = rank − shiftとして求め、destとmaskのビット
ごとの論理積を取った結果が0であれば(305)、送
信関数Send(buffer + rank, dest)を発行し(30
6)、処理を中断する(307)。ただし、ここで、Se
nd(buffer + rank, dest)とは、配列領域bufferの先頭
からrankだけ隔たった位置に格納されているデータを、
ランクdestを持った計算機に送信する関数を意味する。
(305)が満たされない場合は、shiftを2倍したも
のを新しいshiftとして(308)、shiftがsize未満な
らば(309)、処理(302)から繰り返し、(30
9)が満たされない場合は処理を終了する。このような
ルート計算機のランクが0の場合の二分木アルゴリズム
において各ステップでの通信相手のランクを決定する方
法として、M. J. Quinn, ParallelComputing, 2nd ed.,
McGraw-Hill, Inc., 1994の32ページ記載のSUMアル
ゴリズムがあり、一般的に広く知られた事実である。
【0010】
【発明が解決しようとする課題】上述した従来の方法に
よれば、ルート計算機のランクが0の場合は、各計算機
からのデータを二分木アルゴリズムにより、ルート計算
機に収集できるが、ルート計算機のランクが0でない場
合は、直接ルート計算機の受信領域に各計算機のデータ
を収集する一般的な方法がなく、各計算機からのデータ
を二分木アルゴリズムによって一度計算機0の一時配列
領域に格納し、最後に該当データをルート計算機の受信
領域に転送するという方法を取るため、計算機個数が多
い場合や、送信個数sendcountまたは受信個数recvcount
が大きくなる程、計算機0からルート計算機への転送処
理に時間が掛かってしまうという問題点がある。
【0011】この問題の素直な解決策として、図1のよ
うに、ルート計算機のランクを0に変更し、その他の計
算機のランクをシフトすることにより、二分木通信を行
うという方法がある(101)。図1では、計算機のラ
ンクを、変更後のランクではなく、変更前のランクで示
している。しかしこの方法では、図1の場合に、例え
ば、前記のステップ2(図2(B)、但し、図2(B)におい
て、‘4’は‘7’に、‘6’は‘9’に変更される)
における計算機9から計算機7へのデータ転送の場合の
ように、転送データが連続なデータにならないことがあ
る。また、以降のステップにおいても不連続データの転
送が行われることになる。(102)はこの場合の不連
続データを表している。一般的に不連続データの転送は
連続データの転送に比較して処理時間が掛かってしまう
ことが多い。従って素朴にルート計算機のランクを0と
し、その他の計算機のランクをシフトしただけでは、ル
ート計算機のランクが0でない場合の有効な解決策とは
ならない。本発明の目的は、MPIにおいてルート計算機
への配列の収集を行う関数であるGatherについて、二分
木アルゴリズムによる通信方式によりルート計算機のラ
ンクが0でない場合にも、直接、ルート計算機にデータ
を収集し、Gather通信の処理時間の短縮を図ることにあ
る。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、各計算機が保有するデータを0でない
識別番号を持った計算機に転送し、該データを該識別番
号の順番に格納する場合に、各計算機が保有するデータ
が転送される計算機の識別番号を0に変換し、他の各計
算機の識別番号を、該各計算機からデータが該識別番号
0の計算機に転送されたとき該転送されたデータが識別
番号の順番に格納されるように変換するようにしてい
る。
【0013】
【発明の実施の形態】以下、本発明によるGatherの通信
方式を説明する。本発明は、従来の二分木の部分木を組
替えることによって、通信相手計算機及び自計算機のラ
ンクの変更を行い、ルート計算機のランクが0でない場
合の、計算機0からルート計算機への転送の省略を実現
するものである。なお、以下では簡単のため全計算機に
おいてsendcount、recvcountを共に1としている。ルー
ト計算機が計算機0である場合は、図2のように計算機
0は二分木上、一番左側に配置されているが、本発明が
採用する方法においてもルート計算機を一番左側に配置
した部分木を作成する。図2のように、計算機台数が2
のべきでない場合には、計算機0から計算機3までを左
部分木とし、また計算機4から計算機7までを右部分木
とし、また計算機8から計算機9までを余りと呼ぶこと
にする。図2では、図2(C)において右部分木の根の
位置にある計算機4がルート計算機0にデータを転送
し、図2(D)において余りの根の位置にある計算機8
がルート計算機0にデータを転送している。本発明にお
いては、ルート計算機を一番左側に配置し、左部分木、
右部分木それぞれの根の位置にある計算機がルート計算
機にデータを転送することでデータ転送を行うことを特
徴とする。
【0014】以下、sizeを全計算機台数(=10)、ま
たN(=8)をsizeを超えない最大の2のべきとする。
計算機台数が2のべきでない一般の場合を考慮し、各計
算機を左部分木、右部分木、余りの3つのグループに振
り分け、ルート計算機を含む部分木が左部分木になるよ
うに各計算機を配置する。そのため、どの計算機がルー
ト計算機となるかによって大きく3つの場合に場合分け
を行う。図12のように計算機台数が2のべきでない一
般の場合を考慮し、計算機台数size(=10)の計算機
達を計算機台数がN/2(=4)の2つの部分木と計算機
台数がsize − N(=2)の余りに分割する。該分割方
法として、ルート計算機の識別番号によって3つの場合
わけを行う。ルート計算機の識別番号が0からN/2 − 1
(=3)の場合を第一の場合、ルート計算機の識別番号
がN/2(=4)からsize − N/2 − 1(=5)の場合を
第二の場合、ルート計算機の識別番号がsize − N/2
(=6)からsize − 1(=9)の場合を第三の場合と
する(図12(A))。第一の場合は、ルート計算機を
含む計算機0から計算機N/2 − 1(=3)は左側に配置
されているため、該当計算機群をそのまま左部分木と
し、右部分木を計算機N/2(=4)から計算機N − 1
(=7)までとし、余りを計算機N(=8)からsize −
1(=9)とする(図12(B))。第二の場合は、ル
ート計算機を含む計算機群の数はsize − N(=2)で
あり、部分木を成す計算機の数であるN(=8)ではな
い。そこで識別番号が最大の計算機からN個の計算機を
含む計算機群、すなわち計算機size − N/2(=6)か
ら計算機size − 1(=9)までを新たに右部分木と
し、ルート計算機を含む計算機size − N(=2)から
計算機size − N/2 − 1(=5)までを左部分木とし、
計算機0から計算機size − N − 1(=1)までを余り
とする(図12(C))。第三の場合は、ルート計算機
を含む部分木が右側に存在するため、計算機size− N/2
(=6)から計算機size − 1(=9)までの該当部分
木を左部分木とし、計算機size − N(=2)から計算
機size − N/2 − 1(=5)までを右部分木とし、計算
機0から計算機size − N − 1(=1)までを余りとす
る(図12(D))。
【0015】以下、上記3つの場合をそれぞれ説明す
る。第一の場合として、計算機台数が同じ10台であ
り、ルート計算機のランクが3の場合を例とする。ここ
で、rankを各計算機の変更前のランク、vrankを各計算
機の変更後のランクとする。0からN/2-1(=3)まで
のランクを持つ計算機を左部分木を構成する計算機群と
し、vrank = rankとおく。N/2(=4)からN − 1(=
7)までのランクを持つ計算機を右部分木を構成する計
算機群とし、vrank = rankとおく。また、N(=8)か
らsize − 1(=9)までのランクを持つ計算機を余り
を構成する計算機群とし、vrank = rankとおく。上記計
算によって求めたvrankによって各計算機を二分木上に
配置したものが図10である。しかし、計算機3は二分
木上の最左の葉にないため、ルート計算機3を含む左部
分木において、該当左部分木を全体木と見做し、上記組
み替え処理を行う。更に該当の組み替え処理を、計算機
3が最左の葉の位置に配置されるまで再帰的に繰り返
す。これにより最終的に、ルート計算機3が最左の葉に
配置された図11の二分木が完成する。図10、図11
では、計算機のランクを、変更後のランクではなく、変
更前のランクで示している。
【0016】次に第二の場合を説明する。計算機台数は
第一の場合と同じく、10台であり、ルート計算機のラ
ンクが5とする。この場合は、size − N(=2)からs
ize − N/2 − 1(=5)までのランクを持つ計算機を
左部分木を構成する計算機群とし、vrank = rank − (s
ize − N)とおく。size − N/2(=6)からsize − 1
(=9)までのランクを持つ計算機を右部分木を構成す
る計算機群とし、vrank = rank − (size − N)とお
く。また、0からsize − N − 1(=1)までのランク
を持つ計算機を余りを構成する計算機群とし、vrank =
rank + Nとする。上記計算によって求めたvrankによっ
て各計算機を二分木上に配置したものが図8である。し
かし、計算機5は二分木上の最左の葉にないため、ルー
ト計算機5を含む左部分木において、該当左部分木を全
体木と見做し、上記組み替え処理を行う。更に該当の組
み替え処理を、計算機5が最左の葉の位置に来るまで再
帰的に繰り返す。これにより最終的に、ルート計算機5
が最左の葉に配置された図9の二分木が完成する。図
8、図9では、計算機のランクを、変更後のランクでは
なく、変更前のランクで示している。
【0017】最後に第三の場合を説明する。図5はルー
ト計算機が9の場合の二分木の組替えのために、各計算
機をどの部分木に割り振るかを示すものである。size
− N/2(=6)からsize − 1(=9)までのランクを持
つ計算機を左部分木を構成する計算機群とし、vrank =
rank − (size − N/2)とおく。size − N(=2)から
size − N/2 − 1(=5)までのランクを持つ計算機を
右部分木を構成する計算機群とし、vrank = rank + (si
ze − N) とする。また、0からsize − N − 1(=1)
までのランクを持つ計算機を余りを構成する計算機群と
し、vrank = rank + Nとする。上記計算によって求めた
vrankによって各計算機を二分木上に配置したものが図
5である。しかし計算機9は二分木上の最左の葉にない
ため、ルート計算機9を含む左部分木において、該当左
部分木を全体木と見做し、上記組替え処理を再帰的に行
う。更に該当の組み替え処理を、計算機9が最左の葉の
位置に来るまで繰り返す。これにより最終的に、ルート
計算機9が最左の葉に配置された図6の二分木が完成す
る。図5、図6では、計算機のランクを、変更後のラン
クではなく、変更前のランクで示している。すなわち、
ルート計算機のランクが0である従来の方法におけるra
nkに、上記計算機によって求めたvrankを指定すること
により、通信の各ステップおいて連続データのみを転送
し、ルート計算機に直接データを収集する二分木通信方
式が実現される。
【0018】次に、計算機個数が10台の場合に示した
例を一般化して、計算機台数およびルート計算機のラン
クが任意の場合に、直接ルート計算機に各計算機からの
データを収集するGather通信を行う方法を図7のフロー
チャートによって説明する。ここで全計算機台数をsiz
e、また各計算機のランクをrankとする。自計算機が左
部分木に含まれるか否かを判定するフラグflagの値を0
とする(701)。Nをsizeを超えない最大の2のべき
とする(702)。ルート計算機のランクをrootとし
て、rootの値により、二分木の組替え方法を下記の3つ
から選択する(703)。
【0019】(A) root < N/2の時、0からN/2 − 1
までのランクを持つ計算機を左部分木とし、vrank = ra
nkとする。またflagの値を1とする(705)。N/2か
らN − 1までのランクを持つ計算機の右部分木として、
vrank = rankとする。また、Nからsize − 1までのラン
クを持つ計算機の余りとして、vrank = rankとする(7
06)。
【0020】(B) N/2≦ root < size − N/2の時、s
ize − Nからsize − N/2 − 1までのランクを持つ計算
機を左部分木として、vrank = rank − (size − N)と
し、flagの値を1とする(708)。size − N/2からs
ize − 1までのランクを持つ計算機を右部分木として、
vrank = rank − (size − N)とする(709)。ま
た、0からsize − N − 1までのランクを持つ計算機を
余りとして、vrank= rank + Nとする(710)。
【0021】(C) size − N/2 ≦ rootの時、size
− N/2からsize − 1までのランクを持つ計算機を左部
分木として、vrank = rank − (size − N/2)とし、fla
gの値を1とする(712)。size − Nからsize − N/
2 − 1までのランクを持つ計算機を右部分木として、vr
ank = rank + (size − N)とする(713)。また0か
らsize − N − 1までのランクを持つ計算機を余りとし
て、vrank =rank + Nとする(714)。
【0022】rootの値によって各計算機のランクの変更
によって二分木の組替えを行った後で、ルート計算機の
vrankが0になった場合は処理を終了し、ルート計算機
のvrankが0でない場合は、ルート計算機を含む左部分
木のみにおいて、すなわちflagの値が1である計算機の
みにおいてN/2をsizeとして上記の二分木の組替えを再
帰的に行う(715、716)。ルート計算機のvrank
が0となった時点において、ルート計算機のランクが0
である従来の方法におけるrankに、vrankを指定し、二
分木通信によりデータの収集を行う。
【0023】
【発明の効果】以上説明したように、本発明によれば、
データを収集する計算機の識別番号が0でない場合にお
いて、一旦計算機0でデータを収集後に、計算機0から
データを収集する計算機へデータを転送するという無駄
なデータ転送を省略し、ルート計算機のランクが0でな
い場合にも、直接、ルート計算機にデータを収集するこ
とができ、処理時間の短縮を図ることが可能である。
【図面の簡単な説明】
【図1】ルート計算機のランクを0に変更し、他の計算
機のランクをシフトした場合の二分木通信を説明するた
めの図である。
【図2】二分木アルゴリズムの概念図を示す図である。
【図3】二分木アルゴリズムのフローチャートを示す図
である。
【図4】実施例を説明するための並列計算機システムの
概略構成を示す図である。
【図5】実施例を説明するためのアルゴリズムの中間状
態を説明するための図である。
【図6】実施例を説明するためのアルゴリズムの最終状
態を説明するための図である。
【図7】実施例のフローチャートを示す図である。
【図8】実施例を説明するためのアルゴリズムの中間状
態を説明するための図である。
【図9】実施例を説明するためのアルゴリズムの最終状
態を説明するための図である。
【図10】実施例を説明するためのアルゴリズムの中間
状態を説明するための図である。
【図11】実施例を説明するためのアルゴリズムの最終
状態を説明するための図である。
【図12】計算機を各部分木に分配する実施例を説明す
るための図である。
【符号の説明】
401 ネットワーク 402〜411 計算機

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 0からsize − 1(sizeは正の整数)ま
    での固有の識別番号を持ったsize台の計算機がネットワ
    ークで結合された並列計算機における二分木アルゴリズ
    ムによる通信方式において、 各計算機が保有するデータを0でない識別番号を持った
    計算機に転送し、該データを該識別番号の順番に格納す
    る場合に、各計算機が保有するデータが転送される計算
    機の識別番号を0に変換し、他の各計算機の識別番号
    を、該各計算機からデータが該識別番号0の計算機に転
    送されたとき該転送されたデータが識別番号の順番に格
    納されるように変換することを特徴とする並列計算機の
    識別番号変換方法。
JP2001003516A 2001-01-11 2001-01-11 並列計算機の識別番号変換方法 Pending JP2002207648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001003516A JP2002207648A (ja) 2001-01-11 2001-01-11 並列計算機の識別番号変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001003516A JP2002207648A (ja) 2001-01-11 2001-01-11 並列計算機の識別番号変換方法

Publications (1)

Publication Number Publication Date
JP2002207648A true JP2002207648A (ja) 2002-07-26

Family

ID=18871846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001003516A Pending JP2002207648A (ja) 2001-01-11 2001-01-11 並列計算機の識別番号変換方法

Country Status (1)

Country Link
JP (1) JP2002207648A (ja)

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
JP2988972B2 (ja) メッセージルーチング方法、コンピュータネットワーク及びルーチングスイッチ
US7602790B2 (en) Two-dimensional pipelined scheduling technique
JP3174046B2 (ja) メッセージルーチング方法、コンピュータネットワーク、ルーチングスイッチ
US7023797B2 (en) Flexible aggregation of output links
US4623996A (en) Packet switched multiple queue NXM switch node and processing method
US4933933A (en) Torus routing chip
US20050243850A1 (en) Network switch and components and method of operation
US20030033500A1 (en) Method and apparatus for interleaved exchange in a network mesh
JPH0685819A (ja) コンピュータシステム
JPH07321841A (ja) 並列ネットワークを介してデータを送受信するための変換アダプタ装置及びコンピュータ・システム
EP0817437A2 (en) Message transfer in computer networks
US4794594A (en) Method and system of routing data blocks in data communication networks
US7124231B1 (en) Split transaction reordering circuit
CN118282927A (zh) 一种路由路径规划方法、装置、设备、介质
CN117176638A (zh) 一种路由路径确定方法及相关组件
EP4675446A1 (en) Acceleration device, heterogeneous computing architecture, and data processing method
JP2002207648A (ja) 並列計算機の識別番号変換方法
US7382721B2 (en) Nodal computer network
US6745233B1 (en) Data transfer technique for distributed memory type parallel computer
EP4580160A1 (en) Node control method and apparatus, and processing system
US20240086265A1 (en) Selective aggregation of messages in collective operations
JP2789671B2 (ja) 階層的ループ式データ伝送システム
JP3099325B2 (ja) クロスバスイッチ装置及びその制御方法
JPH0954762A (ja) ネットワーク構成

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040318