JP3036489B2 - マルチプロセッサシステムにおける集団通信装置 - Google Patents

マルチプロセッサシステムにおける集団通信装置

Info

Publication number
JP3036489B2
JP3036489B2 JP9310028A JP31002897A JP3036489B2 JP 3036489 B2 JP3036489 B2 JP 3036489B2 JP 9310028 A JP9310028 A JP 9310028A JP 31002897 A JP31002897 A JP 31002897A JP 3036489 B2 JP3036489 B2 JP 3036489B2
Authority
JP
Japan
Prior art keywords
processor
communication
list
processors
performance
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
JP9310028A
Other languages
English (en)
Other versions
JPH11134311A (ja
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 JP9310028A priority Critical patent/JP3036489B2/ja
Priority to AU89479/98A priority patent/AU747897B2/en
Priority to US09/177,971 priority patent/US6275845B1/en
Publication of JPH11134311A publication Critical patent/JPH11134311A/ja
Application granted granted Critical
Publication of JP3036489B2 publication Critical patent/JP3036489B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、様々な性能レベル
の通信経路によって複数のプロセッサが接続されたマル
チプロセッサシステムにおける通信装置に関し、特に、
複数のプロセッサが通信に参加し、データを拡散(SC
ATTER)または収集(GATHER)するなどの集
団通信装置に関する。
【0002】
【従来の技術】以下、従来の技術について具体的に説明
する。
【0003】複数のプロセッサが参加して行う集団通信
は、親(「root」という)となる1つのプロセッサ
から他の全てのプロセッサに対してデータを拡散するS
CATTER(スキャタ)系集団通信と、全てのプロセ
ッサからrootとなる1つのプロセッサに対してデー
タを収集するGATHER(ギャザー)系集団通信とに
分けることができる。いずれの集団通信も、rootの
プロセッサと他の全てのプロセッサの間でデータの送受
信を行うものであり、単純にこれを実現するとすれば、
rootのプロセッサと他のプロセッサとの間で個別に
データを送受信すればよい。
【0004】しかし、現実にこのような処理を行うと、
それぞれのプロセッサに対する通信はシリアルに実行さ
れることになり、性能上、非常に劣ることになる。この
ため、一般には、集団通信は、バイナリツリー(bin
ary tree)方式を用いて、なるべく通信が並列
に処理されるようにしている。すなわち、SCATTE
R系集団通信のデータの拡散状態を模式的に示す図7を
参照すると、複数プロセッサへのデータの展開や収集
は、2の巾(べき)乗のステップで進み、高速な通信を
実現できることが知られている。図7を参照すると、1
6台のプロセッサからなり、黒丸はデータ所有プロセッ
サ、白丸はデータ待ちプロセッサを表している。ステッ
プ1では、左端のデータを所有する第1のプロセッサが
隣りの第2のプロセッサと通信してデータを渡し、ステ
ップ2では、既にデータを所有する第1、第2のプロセ
ッサがそれぞれ一つ飛び越えたデータ待ちの第3、第4
のプロセッサと通信することで第1から第4のプロセッ
サがデータを所有し、このようにして、ステップ4で
は、左側8台のプロセッサがそれぞれ右側の8台のプロ
セッサと通信を行うことで4つのステップに16台のプ
ロセッサ全てがデータ所有プロセッサとなる。
【0005】しかしながら、集団通信に参加する複数の
プロセッサ間の通信経路のデータ転送性能に差があると
すると、バイナリツリー方式に参加するプロセッサの配
置状態によっては、転送性能の低い通信経路に通信が集
中する場合があり、これが集団通信の性能低下を招く要
因となってしまう。
【0006】
【発明が解決しようとする課題】上記したように、従来
の技術においては、マルチプロセッサシステムの全ての
プロセッサを対象として、そのままバイナリツリー方式
を適用して集団通信を行うと、プロセッサ間の通信経路
の転送性能に差がある場合、データ転送性能の低い通信
経路に通信が集中する場合があり、この結果、集団通信
の性能を低下させる、という問題点を有している。
【0007】したがって本発明は、上記問題点に鑑みて
なされたものであって、その目的は、マルチプロセッサ
システムにおける集団通信において通信性能の低下を抑
止する集団通信装置を提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成するため
本発明に係るマルチプロセッサシステムにおける集団通
信装置は、様々な性能レベルの通信経路をもって繋がっ
た複数のプロセッサで構成されるマルチプロセッサシス
テムにおいて、集団通信を行う際、通信経路の性能レベ
ルに応じて均一な性能レベルの通信経路で繋がったプロ
グラム実行に参加するプロセッサまたは先に決定された
仮マスタプロセッサの集合をグループとして定義し、該
集合の中で仮マスタプロセッサを決定したうえで、性能
レベル単位のプロセッサグループリストを作成するプロ
セッサグループ定義手段と、作成されたプロセッサリス
トについて集団通信要求で指定されたルート(roo
t)プロセッサがマスタプロセッサとなるように更新を
行うマスタプロセッサ登録更新手段と、集団通信要求が
拡散(SCATTER)系であれば、性能の低いグルー
プリストから高いグループリストの順に、収集(GAT
HER)系であれば、性能の高いグループリストから低
いグループリストの順にリストを提示する集団通信実行
制御手段と、前記集団通信実行制御手段から渡された前
記リストを参照して、自プロセッサが前記リスト中に含
まれていれば、前記リスト中の全てのプロセッサ同士で
集団通信を行うリスト参照集団通信実行手段と、を備え
たことを特徴とする。
【0009】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明は、その好ましい実施の形態におい
て、様々な性能レベルの通信経路をもって繋がった複数
のプロセッサで構成されるマルチプロセッサシステムに
おいて、各プロセッサが、集団通信を行う際、通信経路
の性能レベルに応じて均一な性能レベルの通信経路で繋
がった集団通信に参加するプロセッサまたは予め定義さ
れた仮マスタプロセッサからなる集合をプロセッサグル
ープとして定義し、この処理を、システムに存在する性
能レベルの数だけ仮マスタプロセッサを決定しながら進
め、性能レベル毎のプロセッサグループリストをメモリ
上に作成するプロセッサグループ定義部(図2の21
1)と、メモリ上のプロセッサグループリストについ
て、集団通信要求で指定されたrootプロセッサが真
のマスタプロセッサとなるよう更新を行うマスタプロセ
ッサ登録更新部(図2の212)と、集団通信要求が拡
散(SCATTER)系であれば性能の低い通信経路で
接続したプロセッサグループリストから性能の高い通信
経路で接続したプロセッサグループリストの順に、収集
(GATHER)系であれば性能の高い通信経路で接続
したプロセッサグループリストから性能の低い通信経路
で接続したプロセッサグループリストの順に、リスト参
照集団通信実行部(図2の214)に対してリストを渡
す集団通信実行制御部(図2の213)と、渡されたリ
ストを参照して自プロセッサがそのリスト中に含まれて
いればリスト中の他のプロセッサ同士と集団通信を行う
リスト参照集団通信実行部(図2の214)と、を備え
て構成されている。
【0010】本発明の実施の形態においては、より均一
な通信性能の通信経路をもって接続されたプロセッサの
集合を単位に集団通信の実行を細分化させることによ
り、システム中でより低速な通信経路を使った通信を必
要最小限に抑え集団通信の性能向上を図ることができ
る。
【0011】本発明の実施の形態について図面を参照し
て以下に詳細に説明する。
【0012】図1および図2は本発明の実施の形態の原
理構成を示したものである。図1にを参照すると、複数
のプロセッサ11(図ではプロセッサa〜プロセッサp
の16台のプロセッサ)は、プロセッサ間の通信経路と
して、データ転送性能の異なる性能レベル1からレベル
3までの通信経路12をもって、それぞれ相互接続して
いる。図1に示す例では、プロセッサa〜dからなるグ
ループ、プロセッサe〜hからなるグループ、プロセッ
サi〜lからなるグループ、プロセッサm〜pからなる
グループは、各グループ内でそれぞれ性能レベル1の通
信経路を介して接続し、これら4つのプロセッサグルー
プについて、2つのグループにそれぞれ属する一つのプ
ロセッサ同士は性能レベル2の通信経路を介して接続し
て2つのグループを構成し、この2つのグループに属す
る一つのプロセッサ同士は性能レベル3の通信経路を介
して相互接続している。なお、通信経路の性能はレベル
1が高くレベル3が低い。
【0013】図2を参照すると、本発明の実施の形態に
おいて、それぞれのプロセッサ200は、メモリ201
を備え、集団通信装置210として、マルチプロセッサ
プログラムを実行する全プロセッサについて、プロセッ
サ間を相互接続する通信経路の性能レベル別に、プロセ
ッサをグループ分けしてプロセッサグループリストをメ
モリ201上に作成するプロセッサグループ定義部21
1と、実際に集団通信要求があった際、その要求でro
ot(親)プロセッサとして指定されたプロセッサをマ
スタプロセッサとしてプロセッサグループリストを更新
するマスタプロセッサ登録更新部212と、集団通信要
求がSCATTER系かGATHER系かによって、プ
ロセッサグループリストを性能の高い順または低い順に
渡す順序を決定する集団通信実行制御部213と、指示
されたリストをもってバイナリツリー方式を用いて集団
通信を行うリスト参照集団通信処理部214と、を備え
て構成されている。
【0014】図3は、本発明の実施の形態の動作を説明
するための図である。本発明の実施の動作の形態につい
て、図2および図3を参照して詳細に説明する。
【0015】プロセッサグループ定義部211は、プロ
グラムの実行に参加する全てのプロセッサについて、図
1に示したマルチプロセッサシステムの通信経路のうち
で一番高速な性能レベル1で繋がったプロセッサグルー
プとしてグループリストをメモリ上に作成し、次に、そ
のプロセッサグループ毎にマスタプロセッサを決定し
て、これらマスタプロセッサを対象として、2番目に高
速な性能レベル2で繋がったマスタプロセッサのグルー
プを作成し、そのグループで、さらにマスタプロセッサ
を決定して、性能レベル3に対応するグループリストを
作成する。
【0016】ここでのマスタプロセッサの決定は仮であ
り、後に実行されるマスタプロセッサ登録更新部212
によって更新されることがある。
【0017】このようにして、図1のマルチプロセッサ
システムにおいて作成されるプロセッサグループリスト
が図3に示すものであり、これは各プロセッサのメモリ
上に作成される。図3を参照すると、性能レベル1の通
信経路で繋がったプロセッサグループとして4つのグル
ープからなり、性能レベル1で繋がった各グループか
ら、マスタプロセッサとして、プロセッサa、e、i、
mがそれぞれ選択され、これらのマスタプロセッサa、
e、i、mを対象として、2番目に高速な性能レベル2
の通信経路で繋がったグループを作成し、そのグループ
で、さらにマスタプロセッサを決定する。すなわち、性
能レベル2で繋がった各グループから、マスタプロセッ
サとして、プロセッサa、iがそれぞれ選択され、この
マスタプロセッサa、iが性能レベル3の通信経路で相
互接続される。
【0018】このプロセッサグループリストの作成処理
は、マルチプロセッサプログラムから発行される通信要
求時に行うのでなく、プログラムの実行開始後、実行に
参加するプロセッサが確定した時点で行うことにより、
さらに集団通信の実行時間を削減することが出来る。
【0019】また任意の1つのプロセッサがプロセッサ
グループリストを作成し、他のプロセッサへ配布するよ
うにしてもよい。あるいは、全てのプロセッサがそれぞ
れプロセッサグループリストを作成するようにしてもよ
い。
【0020】例えば、メモリ201が共有メモリとして
機能し、複数のプロセッサから1つのプロセッサグルー
プリストを参照することが可能であれば、特定の1つの
プロセッサだけがプロセッサグループリストを作成すれ
ばよい。
【0021】次に、マルチプロセッサプログラムから集
団通信要求があった際、集団通信に参加する全てのプロ
セッサのマスタプロセッサ登録更新部212では、通信
要求中で指定されたrootプロセッサ指定から、プロ
セッサグループ定義部211において作成されたグルー
プリストのうち、性能レベル1のリスト中rootプロ
セッサの含まれるリストについて、仮決定されたマスタ
プロセッサがrootプロセッサと異なる場合には、性
能レベル2以降のリストについて、当該マルチプロセッ
サをrootプロセッサとなるよう更新を行う。
【0022】この更新は、プロセッサグループリスト
が、共有メモリ上におかれ、複数プロセッサで共有して
いる場合には、これを共有する複数プロセッサの中の任
意のプロセッサによって更新を行い、他のプロセッサ
は、更新が行われるのを監視し待ち合わせる。
【0023】プロセッサグループリスト更新後、集団通
信実行制御部213は、要求された集団通信についてS
CATTER系かGATHER系かを判断し、SCAT
TER系であれば、より性能の低いリストから、すなわ
ち性能レベル3、性能レベル2、性能レベル1の順序
で、GATHER系であればより性能の高いリストか
ら、すなわち性能レベル1、性能レベル2、性能レベル
3の順序で、リスト参照集団通信実行部214に対し
て、そのリストを渡し、集団通信を行うように指示す
る。
【0024】指示を受けたリスト参照集団通信実行部2
14では、自プロセッサが、リスト中に含まれていれ
ば、リスト中のプロセッサとの間で通信要求に沿った集
団通信を行い、リスト中に含まれていなければ次の指示
を待つ。
【0025】
【実施例】次に、上記した本発明の実施の形態について
さらに詳細に説明すべく、本発明の実施例について図面
を参照して説明する。
【0026】図4は、本発明のマルチプロセッサシステ
ムにおける集団通信装置の一実施例を説明するための図
である。図4を参照すると、性能レベル1から性能レベ
ル3までの通信経路によって繋がったプロセッサaから
プロセッサpまでの16個のプロセッサからなり、各プ
ロセッサは同一の構成とされ(図4ではプロセッサaの
構成のみを示し、他のプロセッサの内部構成は省略して
いる)、図2を参照して説明した構成の集団通信装置4
14とマルチプロセッサプログラム412とメモリ41
3とを備えている。
【0027】各プロセッサの集団通信装置414は、3
つの性能レベル(性能レベル1、2、3)によって繋が
ったプロセスのグループ分けを行い、メモリ413上に
プロセッサグループリストを生成するプロセッサグルー
プ定義部421と、通信要求時に決定するマスタプロセ
ッサをもってメモリ上のグループリストを更新するマス
タプロセッサ登録更新部422と、通信要求がSCAT
TER系かGATHER系かによってリストの処理順序
を決定する集団通信実行制御部423と、指示されたリ
ストをもって他のプロセッサの集団通信装置と集団通信
を行うリスト参照集団通信実行部424と、を備えて構
成されており、マルチプロセッサプログラム412は集
団通信装置に対して同一のrootプロセッサを指示す
る(集団通信の仕様として、この指示は全てのプロセッ
サで同一になっている)SCATTER系通信要求をも
つ。
【0028】次に、本発明の一実施例の動作について詳
細に説明する。
【0029】各プロセッサの集団通信装置414では、
マルチプロセッサプログラム412(rootをaと
し、データを拡散する命令Scatter(root,
data)を含む)の実行に対してプログラム実行に参
加する全てのプロセッサを対象としてメモリ413上に
プロセッサグループリストを生成する。このリストは、
それぞれのプロセッサが繋がっている通信経路の性能レ
ベル別にグループ分けする。図3及び図4を参照して、
その処理を詳しく説明する。
【0030】グループ分けは、マルチプロセッサシステ
ムのもつ通信経路で一番高速な性能レベルの通信経路に
繋がったプロセッサの集合として行い、メモリ上にリス
トを作成する。すなわち、図4に例示したシステムの場
合、性能レベル1が一番高速な通信経路とするとプロセ
ッサa、b、c、dを1つのグループとしてリストを生
成し、同様にプロセッサe、f、g、hを1グループ、
プロセッサi、j、k、lを1グループ、プロセッサ
m、n、o、pを1グループとして計4つのグループリ
ストを生成する。
【0031】次に、これらグループについて、マスタプ
ロセッサを選び出し、それぞれのプロセッサの接続経路
について、性能レベル1の次に高速な性能レベル2によ
って接続されたマスタプロセッサによるグループ分けを
行う。
【0032】この時のマスタプロセッサの決定は仮決定
とし、通信要求時に動作するマスタプロセッサ登録更新
部422によって書き換えられることがある。
【0033】図3に示す例では、性能レベル1のリスト
からそれぞれマスタプロセッサとしてプロセッサa、
e、i、mを選択し、それぞれのプロセッサが性能レベ
ル2の通信経路によって接続されていることからプロセ
ッサa、eと、プロセッサi、mの2つのグループとし
てリストを生成する。さらに性能レベル2のグループリ
ストからマスタプロセッサを選び出し、性能レベル3の
通信経路をもって接続されるグループとしてリストを生
成する。
【0034】図3に示す例では、プロセッサaとプロセ
ッサiをマスタプロセッサとして選び出し性能レベル3
の通信経路で接続するプロセッサのグループリストを作
成しているが、プロセッサeまたはプロセッサmを選択
しリストを生成してもよい。このマスタプロセッサの選
択も仮決定であり、マスタプロセッサ登録更新部422
によって通信要求の指示に応じて変更されることがあ
る。
【0035】以上が、プロセッサグループ定義部421
の動作であるが、このプロセッサグループ定義部421
は、マルチプロセッサプログラムの実行が開始されてか
らこの実行に参加するプロセッサが確定した後、一度だ
け処理が行われる。すなわち、集団通信の要求毎に動作
するわけではない。
【0036】マスタプロセッサ登録更新部422では、
マルチプロセッサプログラムからの通信要求に対して通
信要求中にあるrootプロセッサの指定について、プ
ロセッサグループ定義部421で作成したリストにおい
て、マルチプロセッサとして仮決定したプロセッサがr
ootプロセッサと異なる場合、リストの書き換えを行
う。
【0037】図4に示した例では、rootプロセッサ
の指定は、プロセッサaに相当することから、この場
合、図3のリストのように仮決定したプロセッサと一致
するため、書き換えを行わないが、例えば、rootプ
ロセッサとしてプロセッサgが指定されたことを考える
と、性能レベル1のグループにおいてプロセッサgが含
まれるグループからマスタプロセッサとしてプロセッサ
eが選択されており、したがって、性能レベル2のリス
トについてプロセッサeからプロセッサgへ書き換え
る。
【0038】さらに性能レベル2から作られる性能レベ
ル3のリストについても、マスタプロセッサの選定をr
ootプロセッサを優先して行うようにして、プロセッ
サaの登録をプロセッサgに書き換える。
【0039】マスタプロセッサ登録更新部422におい
て、rootとして指定されたプロセッサを優先してマ
スタプロセッサの更新を行った後、集団通信実行制御部
423では、集団通信の通信要求がSCATTER系か
GATHER系かによって、SCATTER系であれば
性能の低いレベルから高いレベルの順序でリスト参照集
団通信実行部424にリストを渡し、GATHER系で
あれば性能の高いレベルから低いレベルの順番でリスト
参照集団通信実行部424にリストを渡す。
【0040】リスト参照集団通信実行部424では、自
プロセッサがリスト内に含まれるならば、そのリスト内
のプロセッサ同士でバイナリツリー方式を適用して集団
通信を行う。
【0041】以上のようにして、マルチプロセッサプロ
グラムからのSCATTER系の集団通信要求によって
rootプロセッサであるプロセッサaのもつデータ
が、他のプロセッサに拡散される様子を、図5に示す。
【0042】図5から判るように、一番性能の低い通信
経路を使ったデータ転送は、ステップ1で行われる、プ
ロセッサaからプロセッサiの間だけで済み、次に性能
の低い通信経路を使ったデータ転送は、ステップ2で行
われる、プロセッサaとプロセッサeの間と、プロセッ
サiとプロセッサmの間の2回であるが、性能レベル2
の2つの通信経路はそれぞれ独立しているため、2回の
通信はそれぞれ干渉することなく、並行して行うことが
できる。すなわち、集団通信要求が拡散(SCATTE
R)系であることから、ステップ1では、性能の低いグ
ループリスト、すなわち図3の性能レベル3の通信経路
を用いたプロセッサa、i間の通信が行われ、ステップ
2では、図3の性能レベル2のグループリスト(プロセ
ッサa、e、プロセッサi、m間の集団通信が行われ、
ステップ3、4では、性能レベル1の通信経路を用いた
グループ内での集団通信が行われる。なお、収集(GA
THER)系では、性能の高いグループリストから低い
グループリストの順に、すなわち、図5のステップ4か
ら順に集団通信が行われる。
【0043】次に、比較例として、従来の技術において
マルチプロセッサシステムの全プロセッサを対象に単に
バイナリツリー方式の適用だけで、上記と同様のSCA
TTER系集団通信を行った際の1つのプロセッサから
全プロセッサにデータが拡散される様子を、図6に示
す。
【0044】図6からも判るように、従来方式において
は、性能レベル2の1つの通信経路を使ったプロセッサ
aとプロセッサeの間、プロセッサbとプロセッサfの
間、プロセッサcとプロセッサgの間およびプロセッサ
dとプロセッサhの間の4つのデータ転送が同時に発生
し、それぞれのデータ転送は、互いに干渉し合うため通
信時間は増加する。同様に、性能レベル3の通信経路を
使ったデータ転送も8つのプロセッサのペア(対)同士
において発生し、さらに通信時間の増加を招くことにな
る。
【0045】
【発明の効果】以上説明したように、本発明によれば、
様々な性能レベルが存在する通信経路をもってプロセッ
サが接続されたマルチプロセッサシステムにおいて集団
通信を行う場合、性能の低い通信経路を用いた通信を削
減させることができ、その結果、集団通信の性能を向上
させることができる、という効果を奏する。
【0046】その理由は、本発明においては、性能レベ
ル別にプロセッサグループを生成し、そのグループを単
位として集団通信を細分化することによって、性能の低
い通信経路を用いた通信を削減させることができるよう
にしたためである。
【図面の簡単な説明】
【図1】本発明の実施の形態のシステム構成を示すブロ
ック図である。
【図2】本発明の実施の形態における各プロセッサの構
成を示す図である。
【図3】本発明の実施の形態を説明するための図であ
り、メモリ上に作成されるプロセッサグループリストを
示す図である。
【図4】本発明の一実施例のシステム構成を示す図であ
る。
【図5】本発明を一実施例の動作を説明するための図で
あり、SCATTER系集団通信のデータの動きを模式
的に示す図である。
【図6】比較例として、従来方式を適用した場合のSC
ATTER系集団通信のデータの動きを模式的に示す図
である。
【図7】従来の技術を説明するための図であり、全プロ
セッサを対象としてバイナリツリー方式でデータを展開
した場合の状態をステップ毎に模式的に示す図である。
【符号の説明】
1 マルチプロセッサシステム 11 プロセッサ 12 通信経路 41 プロセッサ 411 集団通信装置 412 マルチプロセッサプログラム 413 メモリ 42 通信経路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 676 G06F 13/00 355 G06F 15/173 H04L 12/56 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】様々な性能レベルの通信経路をもって繋が
    った複数のプロセッサで構成されるマルチプロセッサシ
    ステムにおいて、 マルチプログラムを実行する際、通信経路の性能レベル
    に応じて均一な性能レベルの通信経路で繋がったプログ
    ラム実行に参加するプロセッサまたは先に決定された仮
    マスタプロセッサの集合をグループとして定義し、該集
    合の中で仮マスタプロセッサを決定したうえで、性能レ
    ベル単位のプロセッサグループリストを作成するプロセ
    ッサグループ定義手段と、 作成されたプロセッサグループリストについて集団通信
    要求で指定されたルート(root)プロセッサがマス
    タプロセッサとなるように更新を行うマスタプロセッサ
    登録更新手段と、 集団通信要求が拡散(SCATTER)系であれば、性
    能の低い通信経路で繋がったプロセッサグループリスト
    から性能の高い通信経路で繋がったプロセッサグループ
    リストの順に、一方、収集(GATHER)系であれ
    ば、性能の高い通信経路で繋がったプロセッサグループ
    リストから性能の低い通信経路で繋がったプロセッサグ
    ループリストの順にリストを提示する集団通信実行制御
    手段と、 前記集団通信実行制御手段から渡された前記リストを参
    照して、自プロセッサが前記リスト中に含まれていれ
    ば、前記リスト中の全てのプロセッサ同士で集団通信を
    行うリスト参照集団通信実行手段と、 を備えたことを特徴とするマルチプロセッサシステムに
    おける集団通信装置。
  2. 【請求項2】様々な性能レベルの通信経路をもって繋が
    った複数のプロセッサで構成されるマルチプロセッサシ
    ステムにおいて、 前記各プロセッサが、様々な性能レベルの通信経路で接
    続される複数のプロセッサについて、均一な性能レベル
    の通信経路でデータ転送を実現できるプロセッサ群から
    なるグループを定義し、通信経路の性能単位のプロセッ
    サグループのリストを作成するプロセッサグループ定義
    手段と、 集団通信の種類によって前記リストに基づき通信の実行
    順序を制御する集団通信実行制御手段と、 前記リストを参照し前記集団通信実行制御手段で決定さ
    れた前記実行順序に従いプロセッサの間での集団通信を
    行うリスト参照集団通信実行手段と、を備えたことを特
    徴とするマルチプロセッサシステムにおける集団通信装
    置。
  3. 【請求項3】前記集団通信実行制御手段が、集団通信要
    求が拡散(SCATTER)系であれば、性能の低い通
    信経路で接続したプロセッサグループリストから性能の
    高い通信経路で接続したプロセッサグループリストの順
    に、収集(GATHER)系であれば、性能の高い通信
    経路で接続したプロセッサグループリストから性能の低
    い通信経路で接続されたプロセッサグループリストの順
    に通信実行順序を制御する、ことを特徴とする請求項2
    記載のマルチプロセッサシステムにおける集団通信装
    置。
  4. 【請求項4】前記リスト参照集団通信実行部が、自プロ
    セッサがリスト内に含まれるならば前記リスト内のプロ
    セッサ同士でバイナリツリー方式を適用して集団通信を
    行う、ことを特徴とする請求項1又は2記載のマルチプ
    ロセッサシステムにおける集団通信装置。
  5. 【請求項5】前記プロセッサグループ定義手段が、性能
    が最も高い通信経路で接続された複数のプロセッサから
    なるグループについてグループ毎にそれぞれ一つのマス
    タプロセッサを選択し、前記マスタプロセッサは性能が
    次のランクの通信経路で相互接続するグループを形成
    し、該各グループからそれぞれ一つのマスタプロセッサ
    を選択して、選択したマスタプロセッサ同士を性能がさ
    らに次のランクの通信経路で相互接続する、という具合
    に階層的にグループリストを形成する、ことを特徴とす
    る請求項2記載のマルチプロセッサシステムにおける集
    団通信装置。
  6. 【請求項6】指定されたルートプロセッサに基づき、前
    記リストにおけるマスタプロセッサを更新するマスタプ
    ロセッサ登録更新手段を備えたことを特徴とする請求項
    5記載のマルチプロセッサシステムにおける集団通信装
    置。
JP9310028A 1997-10-24 1997-10-24 マルチプロセッサシステムにおける集団通信装置 Expired - Fee Related JP3036489B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9310028A JP3036489B2 (ja) 1997-10-24 1997-10-24 マルチプロセッサシステムにおける集団通信装置
AU89479/98A AU747897B2 (en) 1997-10-24 1998-10-22 Collective communication apparatus in multiprocessor system
US09/177,971 US6275845B1 (en) 1997-10-24 1998-10-26 Collective communication apparatus in multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9310028A JP3036489B2 (ja) 1997-10-24 1997-10-24 マルチプロセッサシステムにおける集団通信装置

Publications (2)

Publication Number Publication Date
JPH11134311A JPH11134311A (ja) 1999-05-21
JP3036489B2 true JP3036489B2 (ja) 2000-04-24

Family

ID=18000299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9310028A Expired - Fee Related JP3036489B2 (ja) 1997-10-24 1997-10-24 マルチプロセッサシステムにおける集団通信装置

Country Status (3)

Country Link
US (1) US6275845B1 (ja)
JP (1) JP3036489B2 (ja)
AU (1) AU747897B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067354A (ja) * 2001-08-29 2003-03-07 Hitachi Ltd 並列計算機システム及びプロセッサ間通信処理方法
EP1502203A2 (en) * 2002-01-10 2005-02-02 Massively Parallel Technologies, Inc. Parallel processing systems and method
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
JP4213460B2 (ja) * 2002-12-16 2009-01-21 三菱電機株式会社 通信装置のグループ化装置、通信装置のグループ化方法及び通信装置のグループ化プログラム
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
JP4604794B2 (ja) * 2005-03-29 2011-01-05 日本電気株式会社 ノード間接続装置
EP1715405A1 (en) * 2005-04-19 2006-10-25 STMicroelectronics S.r.l. Processing method, system and computer program product for dynamic allocation of processing tasks in a multiprocessor cluster platforms with power adjustment
JP5531420B2 (ja) * 2009-02-27 2014-06-25 日本電気株式会社 プロセス割当システム、プロセス割当方法、プロセス割当プログラム
US9807152B2 (en) 2012-07-30 2017-10-31 Nec Corporation Distributed processing device and distributed processing system as well as distributed processing method
JP7238376B2 (ja) 2018-12-14 2023-03-14 富士通株式会社 情報処理システム及び情報処理システムの制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US5222237A (en) * 1988-02-02 1993-06-22 Thinking Machines Corporation Apparatus for aligning the operation of a plurality of processors
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5440687A (en) * 1993-01-29 1995-08-08 International Business Machines Corporation Communication protocol for handling arbitrarily varying data strides in a distributed processing environment
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5948060A (en) * 1997-01-24 1999-09-07 International Business Machines Corporation Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems

Also Published As

Publication number Publication date
AU747897B2 (en) 2002-05-30
JPH11134311A (ja) 1999-05-21
US6275845B1 (en) 2001-08-14
AU8947998A (en) 1999-05-13

Similar Documents

Publication Publication Date Title
US5561768A (en) System and method for partitioning a massively parallel computer system
JP3036489B2 (ja) マルチプロセッサシステムにおける集団通信装置
DE69327739T2 (de) Datenverarbeitung und Betriebssystem mit dynamischer Bindung über zwei oder mehrere Prozessoren
Dai et al. Optimal resource allocation for maximizing performance and reliability in tree-structured grid services
EP1032175A2 (en) System and method for transferring partitioned data sets over multiple threads
US6539542B1 (en) System and method for automatically optimizing heterogenous multiprocessor software performance
DE102009053578A1 (de) Verfahren und Vorrichtung zum Durchführen eines parallelen Routens unter Verwendung einer Multithreaded-Routing-Prozedur
CN106656525A (zh) 一种数据广播***、数据广播方法及设备
Spies Modeling of optimal load balancing strategy using queueing theory
Xu et al. Decentralized remapping of data parallel applications in distributed memory multiprocessors
JPH08152903A (ja) マルチプロセッサシステム
US7571223B2 (en) System, method and program product for programming a computer on a network to perform a service
Mandal et al. A genetic algorithm for the synthesis of structured data paths
Büren et al. Suffix array construction on multi-GPU systems
CN117955897B (zh) 数据通信方法、装置、服务器及存储介质
JPH1125182A (ja) 実験計画を偏らせるための方法
CN110868461A (zh) 一种Gaia集群中面向节点间异构带宽的数据分发方法
Murata et al. Genetic network programming with automatically defined groups for assigning proper roles to multiple agents
Denzinger Conflict handling in collaborative search
JPS62257539A (ja) タスク間待ち行列制御方式
JP2004341962A (ja) 分散コンピューティング・システム、方法、プログラムおよび記録媒体
Boukerche et al. Null messages cancellation through load balancing in distributed simulations
CN115821496A (zh) 电脑绣花机的制版方法、装置、设备及介质
CN117176884A (zh) 基于ms1826芯片的视频通道的切换***、切换方法
JPH0340053A (ja) 複数通信手順制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000125

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

Free format text: PAYMENT UNTIL: 20080225

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090225

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100225

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110225

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120225

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees