JP2003067354A - 並列計算機システム及びプロセッサ間通信処理方法 - Google Patents

並列計算機システム及びプロセッサ間通信処理方法

Info

Publication number
JP2003067354A
JP2003067354A JP2001259800A JP2001259800A JP2003067354A JP 2003067354 A JP2003067354 A JP 2003067354A JP 2001259800 A JP2001259800 A JP 2001259800A JP 2001259800 A JP2001259800 A JP 2001259800A JP 2003067354 A JP2003067354 A JP 2003067354A
Authority
JP
Japan
Prior art keywords
processors
processor
group
communication
processing
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
JP2001259800A
Other languages
English (en)
Inventor
Nobuhiro Iogi
伸洋 五百木
Shinichi Tanaka
慎一 田中
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 JP2001259800A priority Critical patent/JP2003067354A/ja
Priority to US10/132,310 priority patent/US20030046512A1/en
Priority to EP02253008A priority patent/EP1293902A3/en
Publication of JP2003067354A publication Critical patent/JP2003067354A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 並列計算機システムが通信経路が複雑なネッ
トワークを持って構成されている場合、あるいは、並列
計算で使用するプロセッサが非常に多くなるような場合
にも、ネットワークの競合を回避して高速なプロセッサ
間通信を行う。 【解決手段】 並列計算で使用するプロセッサをネット
ワーク上で矩形となるようにグループに分割するための
プロセッサグループ分割情報104を持つ入力情報10
2が、並列計算機システムを構成するプロセッサに入力
される。各プロセッサは、入力されたプロセッサグルー
プ分割情報から、プロセッサ間の通信を、グループ内通
信処理107とグループ間通信処理108とに分割して
処理する。グループを構成するプロセッサが、ネットワ
ーク上で矩形に配置されているため、グループ内通信を
ネットワーク競合が発生させずに実行することができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算機システ
ム、及び、プロセッサ間通信処理方法に係り、特に、行
列等の計算を行うために使用して好適な並列計算機シス
テム、及び、並列計算機システムを構成するプロセッサ
間で効率的な通信処理を可能としたプロセッサ間通信処
理方法に関する。
【0002】
【従来の技術】並列計算機システムを構成する全プロセ
ッサ対全プロセッサ間での通信処理に関する従来技術と
して、例えば、特開平5−151181号公報等に記載
された技術が知られている。
【0003】前述の従来技術は、並列計算機システムを
構成するプロセッサ台数がN個のとき、N−1段階で全
プロセッサ対全プロセッサの通信処理を構成し、各段階
毎の通信パターンを管理する管理テーブルを具備し、各
段階の通信経路を管理することによりネットワークの競
合を回避して通信処理の高速化を図ることを可能とした
ものである。
【0004】前述した従来技術において、並列計算機シ
ステムを構成する各プロセッサは、N−1段階の各段階
でどのプロセッサに対してデータを送信するかという情
報を管理テーブルに格納しておき、全プロセッサ対全プ
ロセッサの通信処理の際、通信処理の各段階毎に管理テ
ーブルを参照してデータ送信先のプロセッサを決定して
いる。そして、各プロセッサは、前述の管理テーブルを
作成する際、並列計算機システムのネットワーク構成を
考慮して、ネットワークの競合を回避するようにしてい
る。
【0005】
【発明が解決しようとする課題】前述した従来技術は、
並列計算機システムのネットワーク構成が単純かつ並列
計算で使用するプロセッサ台数が十数個までであれば、
通信パターンを管理する管理テーブルを容易に作成する
ことができ、効果的なものである。しかし、前述の従来
技術は、並列計算機システムが2次元クロスバように通
信経路が複雑なネットワークを持って構成されている場
合、または、並列計算で使用するプロセッサが数百から
数千個のオーダになる場合、通信経路が複雑になりすぎ
てネットワークの競合を避けるように通信パターンを管
理する管理テーブルを作成することが困難になり、ネッ
トワークの競合を回避することが困難であるという問題
点を有している。
【0006】本発明の目的は、前述した従来技術の問題
点を解決し、並列計算機システムが通信経路が複雑なネ
ットワークを持って構成されている場合、並列計算で使
用するプロセッサが非常に多くなるような場合にも、通
信パターンを管理する管理テーブルを容易に作成するこ
とを可能として、ネットワークの競合を回避して高速な
プロセッサ間通信を行うことができる並列計算機システ
ム及びプロセッサ間通信処理方法を提供することにあ
る。
【0007】
【課題を解決するための手段】本発明によれば前記目的
は、複数のプロセッサがネットワークで接続されて構成
される並列計算機システムにおいて、前記複数のプロセ
ッサのそれぞれは、並列処理で使用する複数個のプロセ
ッサを複数個のグループに分割した情報であるプロセッ
サグループ分割情報を入力情報として受け取る手段と、
入力されたプロセッサグループ分割情報に基づいて、同
一のグループ内に存在するプロセッサ同士の通信を処理
する通信処理手段と、異なるグループに存在するプロセ
ッサ同士の通信を処理する通信処理手段とを備えること
により達成される。
【0008】本発明は、前述において、複数個のプロセ
ッサを複数個のグループに分割する際に、各グループ内
のみでネットワーク競合が発生しないように考慮してお
くことにより、グループ内の全プロセッサ対全プロセッ
サ通信処理がネットワーク競合を発生することなく行わ
れるため、全体としてネットワーク競合の発生を大幅に
削減することができる。
【0009】
【発明の実施の形態】以下、本発明による並列計算機シ
ステム及びプロセッサ間通信処理方法の実施形態を図面
により詳細に説明する。
【0010】図1は本発明の一実施形態による計算機シ
ステムを構成するプロセッサに含まれる通信処理装置の
構成について説明するブロック図、図2は本発明が適用
される並列計算機システムの一実施形態の構成を示すブ
ロック図である。図1、図2において、101は全プロ
セッサ対全プロセッサ通信処理装置(以下、通信プロセ
ッサという)、102は入力情報、103は部分行列デ
ータ、104はプロセッサグループ分割情報、105は
グループ別プロセッサ数算定装置、106はプロセッサ
グルー部分割テーブル、107はグループ内通信処理装
置、108はグループ間通信処理装置、109は転置行
列の部分行列データ、201〜208はプロセッサPU
0〜PU7、209〜212はX軸ネットワーク、21
3、214はY軸ネットワークである。
【0011】以下に説明する本発明の実施形態は、並列
計算機システムを構成する全プロセッサまたは一部の複
数のプロセッサに行列データの部分行列データを入力
し、プロセッサ相互間で通信を行って行列転置処理を行
わせる場合を例としている。また、本発明の実施形態
は、並列計算で使用する複数個のプロセッサを複数個の
グループに分割した情報であるプロセッサグループ分割
情報から、全プロセッサ対全プロセッサ通信処理を、グ
ループ内通信処理とグループ間通信処理とに段階分けし
て実行することとし、複数個のプロセッサを複数個のグ
ループに分割する際に、各グループ内のみでネットワー
ク競合が発生しないように考慮するようにしたものであ
る。
【0012】本発明の一実施形態による並列計算機シス
テムを構成するプロセッサは、図1に示すような他のプ
ロセッサとの間での通信を行う通信処理装置101と、
図示しない公知の演算処理装置等を含んで構成されてい
る。そして、図示通信処理装置101は、入力される部
分行列データと並列計算で使用する複数個のプロセッサ
を複数個のグループに分割したプロセッサグループ分割
情報から、全プロセッサ対全プロセッサ通信処理を段階
分けし、その段階分けの情報を管理する通信段階管理テ
ーブルを作成し、通信段階管理テーブルに格納されてい
る通信段階に従って、同一のグループ内に存在するプロ
セッサ同士で通信処理を行った後、プロセッサグループ
間に跨ったプロセッサ間で通信処理を実行するように構
成されている。前述したような全プロセッサ対全プロセ
ッサ通信処理装置は、処理プログラムとして構成するこ
とができ、この処理プログラムは、HD、DAT、F
D、CD−ROM等の記録媒体に格納して提供すること
ができる。
【0013】図1に示す通信処理装置101は、1グル
ープ別プロセッサ数算定装置105と、プロセッサグル
ー部分割テーブル106と、グループ内通信処理装置1
07と、グループ間通信処理装置108とにより構成さ
れ、行列データを並列計算機システムを構成する各プロ
セッサに分割して配置した部分行列データ103と、複
数のプロセッサを複数のグループに分割したプロセッサ
グループ分割情報104とが入力情報102として入力
される。
【0014】グループ別プロセッサ数算定装置105
は、入力されたプロセッサグループ情報104から各グ
ループに属するプロセッサの数及び各グループに属する
プロセッサの論理プロセッサ番号を求め、プロセッサグ
ループ分割テーブル106に格納する。グループ内通信
処理装置107は、プロセッサグループ分割テーブル1
06に格納されている各グループ毎のプロセッサ数と論
理プロセッサ番号とから各グループ内に属するプロセッ
サ同士でのプロセッサ対プロセッサ通信を処理する。グ
ループ間通信処理装置108は、プロセッサグループ分
割テーブル106に格納されている各グループ毎のプロ
セッサ数と論理プロセッサ番号とからグループ間でのプ
ロセッサ対プロセッサ通信を処理する。全プロセッサ対
全プロセッサ通信処理が行われた結果としての出力情報
109としては、入力された部分行列の転置行列に対す
る部分行列データである。
【0015】本発明が適用される並列計算機システム
は、図2に示すように、番号0〜7を持つ論理プロセッ
サPU0〜PU7の8個のプロセッサが、4本のX軸ネ
ットワーク209〜212と2本のY軸ネットワーク2
13、214とにより接続されて構成されている。それ
ぞれのプロセッサは、独立にメモリを有しており、プロ
セッサ間でデータを交換する場合、ネットワークを介し
た通信を行う。以下に説明する本発明の実施形態は、プ
ロセッサPU0〜PU5の6個のプロセッサを使用して
並列計算機215を構成して処理を行うものとする。な
お、図2に示す並列計算機システムは、8個のプロセッ
サにより構成されているとして示しているが、システム
を構成するプロセッサの数は、任意であり、数百から数
千個のオーダの非常に多数として構成することもでき
る。
【0016】図3は入力データの1つである部分行列デ
ータの例について説明する図、図4はプロセッサのグル
ープ分割について説明する図、図5はプロセッサグルー
プ分割情報について説明する図である。
【0017】いま、図3に示すような6行6列の行列デ
ータがあり、6個のプロセッサを使用して行列転置処理
を行わせるものとする。このために、PU0〜PU5の
6個のプロセッサに、6行6列の行列データを分散配置
した場合の部分行列データ301〜306の例を図3に
示している。ここに示す例は、PU0に1列目の行列デ
ータ301、PU1に2列目の行列データ302、PU
2に3列目の行列データ303、PU3に4列目の行列
データ304、PU4に5列目の行列データ305、P
U5に6列目の行列データ306を部分行列として配置
している。
【0018】プロセッサのグループ分割は、この例の場
合、図4に示すように行われる。この例は、図2により
説明した例において、Y軸ネットワーク上に並んで配置
されている2つずつのプロセッサを1つのグループとし
て分割した例である。すなわち、図示例は、3つの各グ
ループ403〜405が矩形の構成になるように、X軸
座標401とY軸座標402とにより分割している。そ
して、グループ403には、プロセッサPU0とPU1
とが、グループ404には、プロセッサPU2とPU3
とが、また、グループ405には、プロセッサPU4と
PU5とが割り当てられている。
【0019】前述したようにプロセッサをグループ分割
を行った場合の入力情報の1つであるプロセッサグルー
プ分割情報104の例を図5に示している。プロセッサ
グループ分割情報104は、図5に示すように、各グル
ープのX軸座標401の始点501と終点502とによ
り構成される。この例において、グループ1のプロセッ
サグループ403のX軸座標401の始点501は0で
であり、終点502は1であり、Y軸座標402の始点
501は0であり、終点502は0である。また、グル
ープ2のプロセッサグループ404のX軸座標401の
始点501は2であり、終点502は3であり、Y軸座
標402の始点501は0であり、終点502は0であ
る。さらに、グループ3のプロセッサグループ405の
X軸座標401の始点501は0であり、終点502は
1であり、Y軸座標402の始点501は1であり、終
点502は0である。
【0020】図6は図1に示すグループ別プロセッサ数
算定装置105の処理動作を説明するフローチャートで
あり、以下、これについて説明する。
【0021】(1)まず、グループ番号nの値を1に初
期設定し、グループ番号の値nが総グループ数を越えた
か否かをチェックする(ステップ601、602)。
【0022】(2)ステップ602のチェックで、グル
ープ番号の値nが総グループ数を越えていなかった場
合、入力されたプロセッサグループ分割情報104の各
グループ毎のX軸座標の始点と終点、Y軸座標の始点と
終点から、そのグループ番号を持つグループ内に属する
プロセッサ数を求める(ステップ603)。
【0023】(3)その後、グループ番号nの値に1を
加え、ステップ602からの処理に戻って、次のグルー
プに対する処理を続ける(ステップ604)。
【0024】(4)ステップ602のチェックで、グル
ープ番号の値nが総グループ数を越えていた場合、全て
のプロセッサグループについて処理を終了したことにな
り、図1には示していない論理プロセッサ番号取得装置
によって、各グループに属するプロセッサの論理プロセ
ッサ番号を取得し、その結果をプロセッサグループ分割
テーブル106に格納して、処理を終了する(ステップ
605)。
【0025】前述の処理の結果、説明している例の場
合、プロセッサグループ分割テーブル106には、グル
ープ数が3、グループ1に属するプロセッサが2個で、
プロセッサ番号0、1を持つPU0とPU1とであり、
グループ2に属するプロセッサが2個で、論理プロセッ
サ番号2、3を持つPU2とPU3とであり、グループ
3に属するプロセッサが2個で、論理プロセッサ番号
4、5を持つPU4とPU5とであることが格納され
る。
【0026】図7は論理プロセッサ番号取得装置の処理
動作を説明するフローチャートであり、以下、これにつ
いて説明する。
【0027】(1)まず、プロセッサ番号mの値を1に
初期設定し、プロセッサ番号の値mが使用プロセッサ数
を越えたか否かをチェックする(ステップ701、70
2)。
【0028】(2)ステップ702のチェックで、プロ
セッサ番号の値mが使用プロセッサ数を越えていなかっ
た場合、そのプロセッサ番号を有するプロセッサに対し
て、並列計算機上で稼動するオペレーティングシステム
が提供するシステムコールによって、そのプロセッサの
論理プロセッサ番号と物理座標番号とを取得する(ステ
ップ703)。
【0029】(3)次に、システムコールによって取得
した物理座標番号と、入力データであるプロセッサグル
ープ分割情報104内に格納されている各グループごと
の座標範囲と比較することによって、そのプロセッサが
どのグループに所属しているかを判定し、システムコー
ルによって取得した論理プロセッサ番号を、プロセッサ
グループ分割テーブル106の該当するグループの列に
格納する(ステップ704、705)。
【0030】(4)その後、プロセッサ番号mの値に1
を加え、ステップ702からの処理に戻って、次のプロ
セッサに対する処理を続け、ステップ702のチェック
で、プロセッサ番号の値mが使用プロセッサ数を越えて
いた場合、全てのプロセッサについて処理を終了したこ
とになり、ここでの処理を終了する(ステップ70
6)。
【0031】図8は図1に示すグループ内通信処理装置
105での処理内容について説明する図である。
【0032】グループ1でのグループ内通信処理801
は、グループに属するプロセッサが2個であることか
ら、グループ1に属する論理プロセッサPU0とPU1
との間でデータ交換のための通信処理をする。プロセッ
サPU0は、プロセッサPU1にデータを転送し、プロ
セッサPU1は、プロセッサPU0にデータを転送す
る。これにより、グループ1内部での通信処理によるデ
ータ交換が完了する。同様に、グループ2でのグループ
内通信処理802も、属するプロセッサが2個であるこ
とから、グループ2に属するプロセッサPU2とPU3
との間でデータ交換のための通信処理を行う。すなわ
ち、プロセッサPU2は、プロセッサPU3にデータを
転送し、プロセッサPU3は、プロセッサPU2にデー
タを転送する。これにより、グループ2内部での通信処
理によるデータ交換が完了する。グループ3でのグルー
プ内通信処理803も、属するプロセッサが2個である
ことから、グループ3に属するプロセッサPU4とPU
5との間でデータ交換のための通信処理を行う。すなわ
ち、プロセッサPU4は、プロセッサPU5にデータを
転送し、プロセッサPU5は、プロセッサPU4にデー
タを転送する。これにより、グループ3内部での通信処
理によるデータ交換が完了する。
【0033】図9はグループ内での通信処理が完了した
後、グループ間でデータ交換を行う図1に示すグループ
間通信処理装置108での処理を説明する図である。
【0034】説明している本発明の実施形態は、6個の
プロセッサを3個のグループに分割しているとしている
ので、グループ間のデータ交換のためのデータ転送処理
は2段階の処理により構成される。グループ間通信の第
1段階901は、グループ1からグループ2、グループ
2からグループ3、グループ3からグループ1に対して
データを転送する処理である。また、グループ間通信の
第2段階902は、前述とは逆に、グループ1からグル
ープ3、グループ3からグループ2、グループ2からグ
ループ1にデータを転送する処理である。この2段階の
データ転送処理によって、グループ間のデータ交換が可
能になる。
【0035】図10はグループ間通信処理装置108で
のグループ間のデータ転送処理を、プロセッサ単位のデ
ータ転送処理で示した図であり、グループ間通信の第1
段階901の処理を示している。
【0036】説明している本発明の実施形態は、各プロ
セッサグループには2個のプロセッサが属しているとし
ているので、グループ間データ転送処理の1段階は、2
段階のデータ転送処理によって構成される。第1段階1
001は、グループ1に属するプロセッサPU0がグル
ープ2に属するプロセッサPU2に、グループ2に属す
るプロセッサPU2がグループ3に属するプロセッサP
U4に、グループ3に属するプロセッサPU4がグルー
プ1に属するプロセッサPU0に、それぞれデータを転
送し、グループ1に属するプロセッサPU1がグループ
2に属するプロセッサPU3に、グループ2に属するプ
ロセッサPU3がグループ3に属するプロセッサPU5
に、グループ3に属するプロセッサPU5がグループ1
に属するプロセッサPU1に、それぞれデータを転送す
る。
【0037】第2段階1002は、グループ1に属する
プロセッサPU0がグループ2に属するプロセッサPU
3に、グループ2に属するプロセッサPU3がグループ
3に属するプロセッサPU4に、グループ3に属するプ
ロセッサPU4がグループ1に属するプロセッサPU0
に、それぞれデータを転送し、グループ1に属するプロ
セッサPU1がグループ2に属するプロセッサPU2
に、グループ2に属するプロセッサPU2がグループ3
に属するプロセッサPU5に、グループ3に属するプロ
セッサPU5がグループ1に属するプロセッサPU1
に、それぞれデータを転送する。
【0038】図11はグループ間通信処理装置108で
のグループ間のデータ転送処理を、プロセッサ単位のデ
ータ転送処理で示した図であり、グループ間通信の第2
段階902の処理を示している。
【0039】第1段階1101は、グループ1に属する
プロセッサPU0がグループ3に属するプロセッサPU
4に、グループ3に属するプロセッサPU4がグループ
2に属するプロセッサPU2に、グループ2に属するプ
ロセッサPU2がグループ1に属するプロセッサPU0
に、それぞれデータを転送し、グループ1に属するプロ
セッサPU1がグループ3に属するプロセッサPU5
に、グループ3に属するプロセッサPU5がグループ2
に属するプロセッサPU3に、グループ2に属するプロ
セッサPU3がグループ1に属するプロセッサPU1
に、それぞれデータを転送する。
【0040】第2段階1102は、グループ1に属する
プロセッサPU0がグループ3に属するプロセッサPU
4に、グループ3に属するプロセッサPU4がグループ
2に属するプロセッサPU3に、グループ2に属するプ
ロセッサPU3がグループ1に属するプロセッサPU0
に、それぞれデータを転送し、グループ1に属するプロ
セッサPU1がグループ3に属するプロセッサPU5
に、グループ3に属するプロセッサPU5がグループ2
に属するプロセッサPU2に、グループ2に属するプロ
セッサPU2がグループ1に属するプロセッサPU1
に、それぞれデータを転送する。
【0041】図12は処理の結果出力される並列計算機
システムの各プロセッサに分散配置された転置行列の部
分行列について説明する図である。
【0042】前述で説明したような全プロセッサ対全プ
ロセッサ通信処理の結果出力され、並列計算機システム
の各プロセッサに分散配置された転置行列の部分行列
は、図12に示すように、行列データの1行目1201
がプロセッサPU0に、行列データの2行目1202が
プロセッサPU1に、行列データの3行目1203がプ
ロセッサPU2に、行列データの4行目1204がプロ
セッサPU3に、行列データの5行目1205がプロセ
ッサPU4に、行列データの6行目1206がプロセッ
サPU5に分散配置されたものとなる。
【0043】前述した本発明の実施形態は、入力された
行列の転置行列を生成する処理を行うものとして説明し
たが、本発明は、その他の行列演算、行列演算以外の算
術演算等を行う場合にも適用することができる。
【0044】また、前述した本発明の実施形態は、複数
のプロセッサをグループ分けして、グループ内の通信、
グループ間の通信の2段階で通信を行うとして説明した
が、本発明は、グループ分けをさらに多段に、例えば、
3段階の場合を考えると、複数のプロセッサ全体をグル
ープ分けし、そのグループ内をサブグーループに分ける
ように構成することもできる。この場合、まず、サブグ
ループ内の通信、サブグループ間の通信、グループ間の
通信の順序で通信を実行すればよい。すなわち、並列処
理で使用する複数個のプロセッサを複数個の多段のグル
ープに分割し、まず、最小のグループ内に存在するプロ
セッサ同士の通信を行い、その後、同一レベルであって
異なるグループに存在するプロセッサ同士の通信を小さ
いグループから順に処理していくようにすればよい。
【0045】さらに、前述した本発明の実施形態は、複
数のプロセッサをマトリクス状に配置してX方向、Y方
向の通信路により相互に接続して並列計算機システムを
構成したとして説明したが、本発明は、バス状の1本の
通信路に多数のプロセッサを接続した構成の並列計算機
システムにも、また、多数のプロセッサを3次元的に配
置し、X方向、Y方向、Z方向の通信路により相互に接
続して構成した並列計算機システムにも適用することが
できる。
【0046】前述した本発明の実施形態は、並列計算で
使用する複数のプロセッサをネットワークの座標軸によ
ってグループ分割しているため、分割された各グループ
が矩形の構成となる。この結果、全プロセッサ対全プロ
セッサの通信処理では、グループの構成が必ず矩形にな
るため、グループ内通信処理が、ネットワークの競合を
発生させることなく実行され、転送データのネットワー
ク上での衝突によるオーバヘッドを排除することができ
る。また、グループ間での通信処理では、ネットワーク
の競合の可能性があるが、グループ内通信処理でネット
ワークの競合が発生しないぶん高速な通信処理が可能と
なる。プロセッサグループ分割情報の入力に関しても、
ネットワークの座標により入力することができるため、
論理プロセッサ番号を入力しなければならない従来技術
の場合に比較して容易行うことができる。
【0047】
【発明の効果】以上説明したように本発明によれば、並
列計算機システムが通信経路が複雑なネットワークを持
って構成されている場合、あるいは、並列計算で使用す
るプロセッサが非常に多くなるような場合にも、ネット
ワークの競合を回避して高速なプロセッサ間通信を行う
ことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態による計算機システムを構
成するプロセッサに含まれる通信処理装置の構成につい
て説明するブロック図である。
【図2】本発明が適用される並列計算機システムの一実
施形態の構成を示すブロック図である。
【図3】入力データの1つである部分行列データの例に
ついて説明する図である。
【図4】プロセッサのグループ分割について説明する図
である。
【図5】プロセッサグループ分割情報について説明する
図である。
【図6】図1に示すグループ別プロセッサ数算定装置の
処理動作を説明するフローチャートである。
【図7】論理プロセッサ番号取得装置の処理動作を説明
するフローチャートである。
【図8】図1に示すグループ内通信処理装置での処理内
容について説明する図である。
【図9】グループ内での通信処理が完了した後、グルー
プ間でデータ交換を行う図1に示すグループ間通信処理
装置での処理を説明する図である。
【図10】グループ間通信処理装置でのグループ間通信
の第1段階のデータ転送処理をプロセッサ単位のデータ
転送処理で示した図である。
【図11】グループ間通信処理装置でのグループ間通信
の第2段階のデータ転送処理をプロセッサ単位のデータ
転送処理で示した図である。
【図12】処理の結果出力される並列計算機システムの
各プロセッサに分散配置された転置行列の部分行列につ
いて説明する図である。
【符号の説明】
101 全プロセッサ対全プロセッサ通信処理装置 102 入力情報 103 部分行列データ 104 プロセッサグループ分割情報 105 グループ別プロセッサ数算定装置 106 プロセッサグルー部分割テーブル 107 グループ内通信処理装置 108 グループ間通信処理装置 109 転置行列の部分行列データ 201〜208 プロセッサPU0〜PU7 209〜212 X軸ネットワーク 213、214 Y軸ネットワーク

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサがネットワークで接続
    されて構成される並列計算機システムにおいて、前記複
    数のプロセッサのそれぞれは、並列処理で使用する複数
    個のプロセッサを複数個のグループに分割した情報であ
    るプロセッサグループ分割情報を入力情報として受け取
    る手段と、入力されたプロセッサグループ分割情報に基
    づいて、同一のグループ内に存在するプロセッサ同士の
    通信を処理する通信処理手段と、異なるグループに存在
    するプロセッサ同士の通信を処理する通信処理手段とを
    備えることを特徴とする並列計算機システム。
  2. 【請求項2】 複数のプロセッサがネットワークで接続
    されて構成される並列計算機システムにおいて、前記複
    数のプロセッサのそれぞれは、並列処理で使用する複数
    個のプロセッサを複数個の多段のグループに分割した情
    報であるプロセッサグループ分割情報を入力情報として
    受け取る手段と、入力されたプロセッサグループ分割情
    報に基づいて、最小のグループ内に存在するプロセッサ
    同士の通信を処理する通信処理手段と、同一レベルであ
    って異なるグループに存在するプロセッサ同士の通信を
    処理する複数の通信処理手段とを備えることを特徴とす
    る並列計算機システム。
  3. 【請求項3】 前記複数のプロセッサを接続するネット
    ワークが、バス状の1本の通信路により構成されるネッ
    トワーク、マトリクス状にX方向、Y方向に設けられる
    通信路により構成されるネットワーク、または、3次元
    的に配置された多数のプロセッサを接続するX方向、Y
    方向、Z方向に設けられる通信路により構成されるネッ
    トワークであることを特徴とする請求項1または2記載
    の並列計算機システム。
  4. 【請求項4】 前記グループ内に含まれる複数のプロセ
    ッサは、矩形状、あるいは、3次元矩形状に配置される
    ことを特徴とする請求項1、2または3記載の並列計算
    機システム。
  5. 【請求項5】 前記プロセッサグループ分割情報が、前
    記ネットワークの座標位置によって示されており、前記
    座標位置からプロセッサ番号を算出する手段をさらに備
    えることを特徴とする請求項1ないし4のうちいずれか
    1記載の並列計算機システム。
  6. 【請求項6】 複数のプロセッサがネットワークで接続
    されて構成される並列計算機システムにおけるプロセッ
    サ間通信処理方法において、前記複数のプロセッサのそ
    れぞれは、並列処理で使用する複数個のプロセッサを複
    数個のグループに分割した情報であるプロセッサグルー
    プ分割情報を入力情報として受け取り、入力されたプロ
    セッサグループ分割情報に基づいて、同一のグループ内
    に存在するプロセッサ同士の通信の処理を行い、異なる
    グループに存在するプロセッサ同士の通信の処理行うこ
    と特徴とするプロセッサ間通信処理方法。
  7. 【請求項7】 複数のプロセッサがネットワークで接続
    されて構成される並列計算機システムにおけるプロセッ
    サ間通信処理方法において、前記複数のプロセッサのそ
    れぞれは、並列処理で使用する複数個のプロセッサを複
    数個の多段のグループに分割した情報であるプロセッサ
    グループ分割情報を入力情報として受け取り、入力され
    たプロセッサグループ分割情報に基づいて、最小のグル
    ープ内に存在するプロセッサ同士の通信の処理を行い、
    同一レベルであって異なるグループに存在するプロセッ
    サ同士の通信を、小さいグループから順に処理すること
    を特徴とするプロセッサ間通信処理方法。
  8. 【請求項8】 前記複数のプロセッサを接続するネット
    ワークが、バス状の1本の通信路により構成されるネッ
    トワーク、マトリクス状にX方向、Y方向に設けられる
    通信路により構成されるネットワーク、または、3次元
    的に配置された多数のプロセッサを接続するX方向、Y
    方向、Z方向に設けられる通信路により構成されるネッ
    トワークであることを特徴とする請求項6または7記載
    のプロセッサ間通信処理方法。
  9. 【請求項9】 前記グループ内に含まれる複数のプロセ
    ッサは、矩形状、あるいは、3次元矩形状に配置される
    ことを特徴とする請求項6、7または8記載のプロセッ
    サ間通信処理方法。
  10. 【請求項10】 前記プロセッサグループ分割情報が、
    前記ネットワークの座標位置によって示されており、前
    記座標位置からプロセッサ番号を算出することを特徴と
    する請求項6ないし9のうちいずれか1記載のプロセッ
    サ間通信処理方法。
  11. 【請求項11】 並列処理で使用する複数個のプロセッ
    サを複数個のグループに分割した情報であるプロセッサ
    グループ分割情報を入力情報として受け取る処理プログ
    ラムと、入力されたプロセッサグループ分割情報に基づ
    いて、同一のグループ内に存在するプロセッサ同士の通
    信の処理を行う処理プログラムと、異なるグループに存
    在するプロセッサ同士の通信の処理行う処理プログラム
    と、前記プロセッサグループ分割情報が、前記ネットワ
    ークの座標位置によって示されていた場合に、前記座標
    位置からプロセッサ番号を算出する処理プログラムとを
    備え、請求項1ないし10のうちいずれか1記載のプロ
    セッサ間通信処理方法を実現することを特徴とする処理
    プログラム。
JP2001259800A 2001-08-29 2001-08-29 並列計算機システム及びプロセッサ間通信処理方法 Pending JP2003067354A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001259800A JP2003067354A (ja) 2001-08-29 2001-08-29 並列計算機システム及びプロセッサ間通信処理方法
US10/132,310 US20030046512A1 (en) 2001-08-29 2002-04-26 Parallel computer system and method for assigning processor groups to the parallel computer system
EP02253008A EP1293902A3 (en) 2001-08-29 2002-04-29 Parallel computer system and method for assigning processor groups to the parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001259800A JP2003067354A (ja) 2001-08-29 2001-08-29 並列計算機システム及びプロセッサ間通信処理方法

Publications (1)

Publication Number Publication Date
JP2003067354A true JP2003067354A (ja) 2003-03-07

Family

ID=19087118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001259800A Pending JP2003067354A (ja) 2001-08-29 2001-08-29 並列計算機システム及びプロセッサ間通信処理方法

Country Status (3)

Country Link
US (1) US20030046512A1 (ja)
EP (1) EP1293902A3 (ja)
JP (1) JP2003067354A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114440A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 一意情報集団通信プログラム、コンピュータ、一意情報集団通信方法、および記録媒体
JP2012190389A (ja) * 2011-03-14 2012-10-04 Ricoh Co Ltd プロセッサ装置及びその演算方法
US10616140B2 (en) 2017-06-27 2020-04-07 Fujitsu Limited Information processing system and information processing method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5790526B2 (ja) * 2012-02-06 2015-10-07 富士通株式会社 分散処理方法および分散処理システム
WO2020150728A1 (en) 2019-01-18 2020-07-23 Quadric. Io, Inc. Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit
US11516087B2 (en) 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
CN115809685B (zh) * 2023-02-09 2023-07-25 鹏城实验室 一种npu集群网络结构和网络互连方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581216A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd 並列プロセツサ
US5659778A (en) * 1992-02-03 1997-08-19 Tm Patents, L.P. System and method of mapping an array to processing elements
JPH06243113A (ja) * 1993-02-19 1994-09-02 Fujitsu Ltd 並列計算機における計算モデルのマッピング法
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
JP3322754B2 (ja) * 1994-05-17 2002-09-09 富士通株式会社 並列計算機
US5842034A (en) * 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
JP3036489B2 (ja) * 1997-10-24 2000-04-24 日本電気株式会社 マルチプロセッサシステムにおける集団通信装置
JPH11259441A (ja) * 1998-03-13 1999-09-24 Hitachi Ltd 並列計算機における全対全通信方法
US6631421B1 (en) * 1999-06-02 2003-10-07 Sun Microsystems, Inc. Recursive partitioning of networks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114440A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 一意情報集団通信プログラム、コンピュータ、一意情報集団通信方法、および記録媒体
US8185656B2 (en) 2007-03-20 2012-05-22 Fujitsu Limited Process and computer for collectively transmitting unique messages, and recording medium storing a program for collectively transmitting unique messages
JP5056844B2 (ja) * 2007-03-20 2012-10-24 富士通株式会社 一意情報集団通信プログラム、計算ノード、および一意情報集団通信方法
JP2012190389A (ja) * 2011-03-14 2012-10-04 Ricoh Co Ltd プロセッサ装置及びその演算方法
US10616140B2 (en) 2017-06-27 2020-04-07 Fujitsu Limited Information processing system and information processing method

Also Published As

Publication number Publication date
US20030046512A1 (en) 2003-03-06
EP1293902A3 (en) 2005-12-07
EP1293902A2 (en) 2003-03-19

Similar Documents

Publication Publication Date Title
JP4676463B2 (ja) 並列計算機システム
TW202022644A (zh) 一種運算裝置和運算方法
US20160328357A1 (en) Computer subsystem and computer system with composite nodes in an interconnection structure
US10430375B2 (en) Parallel computing system and communication control program
US11017290B2 (en) Signal processing module, especially for a neural network and a neuronal circuit
Wang et al. Image processing on the OTIS-mesh optoelectronic computer
US20040103264A1 (en) Array-type processor
Greenberg The fat-pyramid and universal parallel computation independent of wire delay
JP2007220100A (ja) 複数のクロスバーを使用する分散クロスバーネットワークのシステム及び方法
EP3968237A1 (en) Grouped convolution using point-to-point connected channel convolution engines
JP2003067354A (ja) 並列計算機システム及びプロセッサ間通信処理方法
US10013393B2 (en) Parallel computer system, parallel computing method, and program storage medium
Johnsson et al. Optimal communication channel utilization for matrix transposition and related permutations on binary cubes
US5142686A (en) Multiprocessor system having processors and switches with each pair of processors connected through a single switch using Latin square matrix
Pan et al. Singular value decomposition on processor arrays with a pipelined bus system
CN112099850A (zh) 一种多核Hourglass网络加速方法
Wang et al. Parallel algorithms for arbitrary dimensional Euclidean distance transforms with applications on arrays with reconfigurable optical buses
Olariu et al. Data movement techniques on reconfigurable meshes, with applications
JP3532102B2 (ja) 間接ローテータグラフネットワーク及び間接ローテータグラフネットワークにおける伝送経路の設定方法
JP3519489B2 (ja) 演算処理装置間の並列通信方法
CN107040394B (zh) 网络拓扑系统及方法
JPH05314082A (ja) 分子動力学法のための超並列計算機システム
WO2020049637A1 (ja) 学習装置
JPH05158895A (ja) 並列計算機システムにおけるループ計算の効率向上方式
Lin et al. Bounds on the diameter of one-dimensional PEC networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060801