JPWO2012127625A1 - 並列計算機、通信制御装置および通信制御方法 - Google Patents
並列計算機、通信制御装置および通信制御方法 Download PDFInfo
- Publication number
- JPWO2012127625A1 JPWO2012127625A1 JP2013505695A JP2013505695A JPWO2012127625A1 JP WO2012127625 A1 JPWO2012127625 A1 JP WO2012127625A1 JP 2013505695 A JP2013505695 A JP 2013505695A JP 2013505695 A JP2013505695 A JP 2013505695A JP WO2012127625 A1 JPWO2012127625 A1 JP WO2012127625A1
- Authority
- JP
- Japan
- Prior art keywords
- node
- packet
- communication
- nodes
- destination node
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims description 62
- 238000012545 processing Methods 0.000 claims abstract description 76
- 230000005540 biological transmission Effects 0.000 claims description 313
- 230000004044 response Effects 0.000 claims description 93
- 238000012546 transfer Methods 0.000 claims description 40
- 238000005259 measurement Methods 0.000 claims description 35
- 238000011835 investigation Methods 0.000 claims description 18
- 235000008694 Humulus lupulus Nutrition 0.000 description 85
- 230000008569 process Effects 0.000 description 51
- 239000000872 buffer Substances 0.000 description 31
- 238000010586 diagram Methods 0.000 description 29
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 230000007423 decrease Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000003111 delayed effect Effects 0.000 description 9
- ODCKICSDIPVTRM-UHFFFAOYSA-N [4-[2-hydroxy-3-(propan-2-ylazaniumyl)propoxy]naphthalen-1-yl] sulfate Chemical compound C1=CC=C2C(OCC(O)CNC(C)C)=CC=C(OS(O)(=O)=O)C2=C1 ODCKICSDIPVTRM-UHFFFAOYSA-N 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
図1に示す並列計算機100は、計算を行うノードN0〜N7と、受信したデータを特定の送信先のノードに転送するスイッチ110〜117と、を備える。スイッチ110〜117は、スイッチを直線上に配置した1次元のメッシュ型ネットワークを構成する。
スイッチは、各入力ポートに入力されるパケットの、出力ポートへの出力数が均等、つまり1/2ずつになるように、入力するパケットの調停を行う。したがって、ノードN6からスイッチ116に送信され、かつ、スイッチ116からスイッチ117に送信されるパケット数は、スイッチ116からスイッチ117に送信される全パケット数の1/2となる。
図4に示す並列計算機400は、計算を行うノードN0〜N7と、受信したデータを特定の送信先に転送するスイッチ410〜417と、を備える。スイッチ410〜417は、リング状のトーラス型ネットワークを構成する。
同様に、ノードN0、N1、N2およびN3についてのパケット数比は、それぞれ1/4、1/8、1/16および1/16となる。
図5に示す並列計算機500は、計算を行うノードN0〜N7と、受信したデータを特定の送信先に転送するスイッチ510〜514と、を備える。スイッチ510〜514は、ファットツリー型に接続されている。ここで、ファットツリー型とは、上位階層のスイッチから各ノードが接続される下位階層のスイッチまで、対称にスイッチ間の接続が分岐するように接続したツリー型の接続形態である。
ノードN6からスイッチ514に送信され、かつ、スイッチ514からノードN7に送信されるパケット数は、スイッチ514からノードN7に送信されるパケット数の1/2となる。
本並列計算機は、演算処理を行う複数のノードを有し、該ノード間を互いに通信可能に接続する情報処理装置である。
並列計算機600は、ノード610、620、・・・を備える。各ノードは、互いに通信可能に接続している。ノード610、620、・・・は、同様の構成なので、以下では、代表してノード610について説明する。
そして、ノード610は、計測手段611と、制御手段612と、を備える。
図7は、本実施例に係る並列計算機700の構成例を示す図である。
並列計算機700は、ノード710〜716と、スイッチ720〜726と、を備える。各ノード710〜716は、スイッチ720〜726を介して相互に通信可能に接続している。以下では、ノード710〜716と、スイッチ720〜726と、含むネットワークの一部または全部を、単に「ネットワーク」という。
なお、図7では、7台のノード710〜716を備える並列計算機700の構成例について示したが、ノードの数を限定する趣旨ではない。
プロセッサ810は、所定のプログラムにしたがって演算処理を行う演算処理装置である。主記憶装置820は、プログラムなどを記憶する。主記憶装置820には、プロセッサ810を解さずに、主記憶装置820が保持するデータをインタフェース背制御部832に転送するDMA(Direct Memory Access)転送を実現するDMA回路を含むことができる。ネットワークインタフェース装置830は、ノードがネットワークを介して他のノードと通信を行うためのインタフェースである。
ホップ数テーブル記憶部831は、パケットを送信する宛先である宛先ノード毎に、宛先ノードを識別する宛先ノードアドレスと宛先ノードまでに経由するスイッチの数とを含むホップ数テーブル840を記憶する記憶装置を含む。以下では、送信元のノードから送信されたパケットが宛先ノードに至るまでに経由するスイッチの数を「ホップ数」という。
また、インタフェース制御部832は、ネットワークから受信したデータをプロセッサ810に送信する。
ノード710は、図8に示したように、プロセッサ810と、主記憶装置820と、ネットワークインタフェース装置830と、を備える。
パケット送信部903は、DMAコントローラ902から転送されるデータから、制御部901が指定するデータ長のデータを含むパケットを作成して宛先ノードに送信する。
ステップS1000から処理を開始し、ステップS1001において、制御部901は、プロセッサ810からパケット送信指示を受け取ると、パケット送信指示に含まれる宛先ノードアドレス、ネットワーク構成および通信パターン情報も取得する。
ステップS1006において、パケット送信部903は、DMAコントローラ902からデータを受信すると、制御部901が指定するデータ長のデータを含むパケットを作成する。そして、パケット送信部903は、作成したパケットを宛先ノードに送信する。
以上の処理が終了すると、制御部901は、パケット送信処理を終了する(ステップS1008)。
ステップS1001で取得したネットワーク構成が、トーラス型またはメッシュ型の場合(ステップS1101 YES)、制御部901は、処理をステップS1102に移行する。この場合、制御部901は、パケットサイズ候補を次式によって算出する(ステップS1102)。
α×(m÷n)×l ・・・ (1)
ただし、αはパケットサイズ調整のための0より大きい定数、mは最大パケットサイズ、nは最大ホップ数、lは宛先ノードへのホップ数とする。
β×m÷(k−j) ・・・ (2)
ただし、βはパケット送信間隔調整のための0より大きい定数、jは一つのスイッチに直接接続されているノード数、kは全ノード数とする。
γ×m ・・・ (3)
ただし、γはパケットサイズ調整のための0より大きい定数とする。
δ×(i+1)×P ・・・ (4)
ただし、δはパケットサイズ調整のための0より大きい定数、iはデータを受信して中継するノードの数、PはステップS1102、S1104またはS1105で算出したパケットサイズ候補である。
また、ステップS1106において、送信データが、他ノードから受信して中継するデータでない場合(ステップS1106 NO)、制御部901は、処理をステップS1108に移行する。
図12は、図9に示したノード710の変形例を示す図である。
図12に示すノード1200は、プロセッサ810と、主記憶装置820と、ネットワークインタフェース装置1210と、を備える。
ステップS1301〜S1302の処理は、図10のステップS1001〜S1002と同様なので、説明は省略する。
以上の処理が終了すると、制御部1211は、パケット送信処理を終了する(ステップS1308)。
ステップS1301で取得したネットワーク構成が、トーラス型またはメッシュ型の場合(ステップS1401 YES)、制御部1211は、処理をステップS1402に移行する。この場合、制御部1211は、パケット送信間隔候補を次式によって算出する(ステップS1402)。
α1×m1×(n−l) ・・・ (5)
ただし、α1はパケット送信間隔調整のための0より大きい定数、m1は既定のパケットサイズ、nは最大ホップ数、lは宛先ノードへのホップ数とする。
β1×m1×(k−j) ・・・ (6)
ただし、β1はパケット送信間隔調整のための0より大きい定数、jは一つのスイッチに直接接続されているノード数、kは全ノード数とする。
ステップS1406において、送信データが、他ノードから受信して宛先ノードへ中継するデータである場合(ステップS1406 YES)、制御部1211は、処理をステップS1407に移行する。この場合、制御部1211は、当該他ノードから当該宛先ノードへの新たなパケット送信間隔候補を次式によって算出する(ステップS1407)。
δ1÷(i+1)×P1 ・・・ (7)
ただし、δ1はパケット送信間隔調整のための0より大きい定数、iはデータを受信して中継するノードの数、P1はステップS1402、S1404またはS1405で算出したパケット送信間隔候補である。
以上の処理が終了すると、制御部1211は、パケット送信間隔の決定処理を終了する(ステップS1408)。
図15は、図9に示したノード710のその他の変形例を示す図である。なお、本変形例に係るノード1500は、ネットワークの構成が多次元のメッシュ型またはトーラス型の場合に利用することができる。以下の説明では、並列計算機700のネットワーク構成が3次元のメッシュ型またはトーラス型の場合について説明する。
ネットワークインタフェース装置1500は、制御部1511と、ホップ数計算部1512と、DMAコントローラ902と、パケット送信部903と、を備える。ただし、図15は、ネットワークインタフェース装置1510が図15に示す構成要素のみを備えるという趣旨ではない。ネットワークインタフェース装置1510は、例えば、パケットの受信機能などの機能も含むことができる。
ステップS1601の処理は、図10のステップS1001と同様なので、説明は省略する。
(ネットワーク構成がメッシュ型の場合)
|x1−x0|+|y1−y0|+|z1−z0| ・・・(8)
(ネットワーク構成がトーラス型の場合)
min(|x1−x0|,Nx−|x1−x0|)+min(|y1−y0|,Ny−|y1−y0|)+min(|z1−z0|,Nz−|z1−z0|) ・・・(9)
以上の処理が終了すると、制御部1511は、処理をステップS1603に移行する。ステップS1603〜1608は、図10のステップS1003〜S1008と同様なので、説明は省略する。
図17は、図9に示したノード710のその他の変形例を示す図である。
図17に示すノード1700は、プロセッサ810と、主記憶装置820と、ネットワークインタフェース装置1710と、を備える。
ネットワークインタフェース装置1710は、制御部1711と、パケット送信部1712と、パケット受信部1713と、DMAコントローラ902と、を備える。ただし、図17は、ネットワークインタフェース装置1710が図17に示す構成要素のみを備えるという趣旨ではない。ネットワークインタフェース装置1710は、例えば、パケットの受信機能など公知の機能を含むこともできる。
スイッチ1800は、送信バッファ部1810および1820と、パケット送信制御部1830と、ポート1840および1850と、加算器1860と、を備える。
なお、図18には、ポート1840と、ポート1850および加算器1860と、をそれぞれ1つだけ記載しているが、ポート1840と、ポート1850および加算器1860は、それぞれ複数備えられていてもよい。
ステップS1901の処理は、図10のステップS1001と同様なので、説明は省略する。
図20は、本実施例に係る並列計算機2000に含まれるノードの概要を説明する図である。本実施例に係る並列計算機2000は、図7に示したノード710〜716に代えて、図20に示すノード2010を使用する。
そして、ネットワークインタフェース装置2020は、応答時間テーブル記憶部2021と、インタフェース制御部2022と、送信部2023と、カウンタ2024と、受信部2025と、を備える。
受信部2025は、受信したパケットの所定の領域に設定されたカウント値Aを取得する。また、受信部2025は、カウンタ2024を参照し、カウント値Bを取得する。そして、受信部2025は、カウント値Bとカウント値Aとの差分から応答時間を算出する。受信部2025は、算出した応答時間を応答時間テーブル2030に記憶する。
ノード2010は、プロセッサ810と、主記憶装置820と、ネットワークインタフェース装置2020と、を備える。
(2)制御部2103からパケットを送信した旨の通知を受けると、パケット送信管理部2102は、送信可能なパケット数qを「1」だけ減算した値に更新する。
(3)パケット受信部2107から応答パケットを受信した旨の通知を受けると、パケット送信管理部2102は、送信可能なパケット数qを「p」だけ加算した値に更新する。
制御部2103は、プロセッサ810からパケット送信指示を受けると、パケット送信管理部2102に問合わせて、送信可能なパケット数を取得する。そして、パケットを送信可能であれば、制御部2103は、応答時間テーブル記憶部2101に記憶された応答時間テーブル2030を参照し、宛先ノードまでの基準応答時間と応答時間とを取得する。制御部2103は、取得した基準応答時間と応答時間とに基づいて、送信するパケットのサイズを決定する。
パケット受信部2107は、受信したパケットの所定の領域に設定されたカウント値Aを取得する。また、パケット受信部2107は、カウンタ2106を参照し、カウント値Bを取得する。そして、パケット受信部2107は、カウント値Bとカウント値Aとの差分から応答時間を算出する。パケット受信部2107は、算出した応答時間を、応答時間テーブル記憶部2101に格納された応答時間テーブル2030に記憶する。また、パケット受信部2107は、応答パケットを受信した旨をパケット送信部2105に通知する。
ステップS2201の処理は、図10のステップS1001と同様なので、説明は省略する。
パケット送信管理部2102から取得した、送信可能なパケット数が1未満の場合(ステップS2203 NO)、制御部2103は、処理をステップS2204に移行する。この場合、制御部2103は、例えば、一定間隔でパケット送信管理部2102に問合わせを行うなどして、送信可能なパケット数が1以上となるまで待つ(ステップS2204)。そして、送信可能なパケット数が1以上となると、制御部2103は、処理をステップS2205に移行する。
プロセッサ810からのパケット送信指示がPutリクエストによるものである場合(ステップS2207 YES)、制御部2103は、処理をステップS2208に移行する。この場合、制御部2103は、プロセッサ810が指定したデータを主記憶装置820から読み出す(ステップ2208)。具体的には、例えば、以下のような処理が行われる。
ステップS2209において、制御部2103は、DMAコントローラ902からデータを受信すると、制御部2103が指定するデータ長のデータを含むパケットを作成する。また、パケット送信部2105は、カウンタ2106からカウント値を取得し、取得したカウント値をパケットの所定の領域に設定する。そして、パケット送信部2105は、パケットを宛先ノードに送信する。
以上の処理が終了すると、制御部2103は、パケット送信処理を終了する(ステップS2211)。
ステップS2301において、制御部2103は、パケットサイズ候補を次式によって算出する。
m2+α2×(l1−n2) ・・・ (10)
ただし、α2はパケットサイズ調整のための0より大きい定数、m2は標準パケットサイズ、n2はステップS2205で取得した基準応答時間、l1はステップS2205で取得した応答時間とする。m2には、応答時間が基準応答時間と同じ時に送信するパケットサイズなど、を使用することができる。なお、標準パケットサイズは、並列計算機2000におけるノード間通信で使用するパケットのサイズである。
β2×(i+1)×P2 ・・・ (11)
ただし、β2はパケットサイズ調整のための0より大きい定数、iはデータを受信して中継するノードの数、P2はステップS2301で算出したパケットサイズ候補である。
以上に説明したノード2020に備わる制御部2103は、図12に示したノード1210に備わる制御部1211のように、パケット送信部2105にパケット送信間隔を指定してパケット送信間隔を制御してもよい。この場合、ノード2020は、図22のステップS2206〜S2210の処理に代えて、図13のステップS1303〜S1307の処理を行うことができる。
図24は、本実施例に係る並列計算機2400に含まれるノードおよびスイッチの概要を説明する図である。本実施例に係る並列計算機2400は、図7に示したノード710〜716に、図24に示すノード2410を使用し、図7に示したスイッチ720〜726に、図24に示すスイッチ2420を使用する。
送信バッファ2421は、ノード2410から受信したパケットを送信するまで保持する記憶装置である。送信バッファ2422および2423は、他のノードから受信したパケットを送信するまで保持する記憶装置である。
以上の構成において、例えば、プロセッサ2411がパケットを処理する場合を考える。この場合、プロセッサ2411は、記憶部2425に記憶されている待ち時間テーブル2600から、パケットを受信してから宛先ノードに送信するまでの送信待ち時間を取得する。そして、プロセッサ2411は、取得した送信待ち時間に基づいて、自ノード2410と宛先ノード間の通信帯域幅を計測する。そして、プロセッサ2411は、その計測の結果に基づいてパケットのサイズを決定する。
スイッチ2420は、送信バッファ部2510と、パケット送信制御部2520と、ポート2530および2540と、カウンタ2550と、記憶部2560と、を備える。
図26に示す待ち時間テーブル2600は、通信パターンと、宛先ノードアドレスと、スイッチ2420と接続するノード2410が宛先ノードアドレスに送信したパケットそれぞれを受信してから宛先ノードアドレスに送信するまでの送信待ち時間と、を含む情報である。
ステップS2701において、パケット送信制御部2520は、送信バッファ部2510から宛先ノードアドレスを受け取る。すると、パケット送信制御部2520は、処理をステップS2702に移行する。
ステップS2801において、プロセッサ2411は、スイッチ2420に備わる記憶部2560に記憶された待ち時間テーブル2600から、これから行う通信の通信パターンにおける、各宛先ノードへの送信待ち時間を全て取得する。
m2+α3×(l2−n2) ・・・ (12)
ただし、α3はパケットサイズ調整のための0より大きい定数、l2は宛先ノードへの待ち時間の平均値、m2は標準パケットサイズ、n2はあらかじめ決められた基準待ち時間である。m2には、待ち時間が基準待ち時間と同じ時に送信するパケットサイズなど、を使用することができる。基準待ち時間n2には、例えば、あらかじめ様々な種類の通信を行って全ノードで計測した、同じ宛先ノードのパケットの送信待ち時間の平均値などを使用することができる。
図29は、図24に示したノード2410の変形例を示す図である。
ノード2910は、LANケーブル等を介して、スイッチ2420と通信可能に接続している。また、ノード2910に含まれるインタフェース制御部2912は、専用線またはLANケーブル等を介して、スイッチ2420に備わる記憶部2560と通信可能に接続することができる。
ノード2910は、プロセッサ810と、主記憶装置820と、ネットワークインタフェース装置2911と、を備える。
ネットワークインタフェース装置2911は、制御部3001と、DMAコントローラ902と、パケット送信部903と、を備える。ただし、図30は、ネットワークインタフェース装置2911が図30に示す構成要素のみを備えるという趣旨ではない。ネットワークインタフェース装置2911は、例えば、パケットの受信機能などの機能を含むことができる。
図31に示す待ち時間テーブル3100は、宛先ノードを識別する情報である宛先ノードアドレスと、宛先ノードに送信したパケットの送信待ち時間と、を含む情報である。送信待ち時間には、該当する宛先ノードに送信したパケットのうち最新のパケットの送信待ち時間が、カウンタ2550によって設定される。
ステップS3201の処理は、図10のステップS1001と同様なので、説明は省略する。
ステップS3204〜S3207の処理は、図10のステップS1004〜S1007と同様なので、説明は省略する。
ステップS3301において、制御部3001は、パケットサイズ候補を次式によって算出する。
α4×m2+(l3−n2) ・・・ (13)
ただし、α4はパケットサイズ調整のための0より大きい定数、m2は標準パケットサイズ、n2は基準待ち時間、l3はステップS3202で取得した宛先ノードへの送信待ち時間とする。m2には、待ち時間が基準待ち時間と同じ時に送信するパケットサイズなど、を使用することができる。基準待ち時間n2には、例えば、あらかじめ様々な種類の通信を行って全ノードで計測した、同じ宛先ノードのパケットの送信待ち時間の平均値などを使用することができる。
β4×(i+1)×P4 ・・・ (14)
ただし、β4はパケットサイズ調整のための0より大きい定数、iはデータを受信して中継するノードの数、P4はステップS3301で算出したパケットサイズ候補である。
以上に説明したノード2911に備わる制御部3001は、図12に示したノード1210に備わる制御部1211のように、パケット送信部903にパケット送信間隔を指定してパケット送信間隔を制御してもよい。この場合、制御部3001は、図32のステップS3203〜S3207の処理に代えて、図13のステップS1303〜S1307の処理を行うことができる。
図34に示すパケット3400には、パケットタイプ、リモートノードアドレス、ローカルノードアドレスおよびペイロードが含まれる。パケットタイプは、Putリクエストに使用するパケットやGetリクエストに使用するパケットなどパケットの種類を示す情報である。リモートノードアドレスは、パケットの送信先ノードのアドレスを示す情報である。ローカルノードアドレスは、パケットの送信元ノードのアドレスを示す情報である。ペイロードは、ノードが宛先ノードに送信するメッセージを必要に応じて分割したデータである。
スイッチ3523は、パケット数比が均等になるように調停を行う。そのため、ノード3513から受信したパケットをスイッチ3523が宛先ノードに送信するパケット数と、スイッチ3522から受信したパケットをスイッチ3523が宛先ノードに送信するパケット数と、の比率は1/2ずつになる。同様に、ノード3512から受信したパケットをスイッチ3522が宛先ノードに送信するパケット数と、スイッチ3521から受信したパケットをスイッチ3522が宛先ノードに送信するパケット数と、の比率は1/2ずつになる。また、ノード3511から受信したパケットをスイッチ3521が宛先ノードに送信するパケット数と、スイッチ3520から受信したパケットをスイッチ3521が宛先ノードに送信するパケット数と、の比率は1/2ずつになる。
一方、図37は、本実施例に係る並列計算機700において、ノード710〜713が、ノード715または716に対して、Gather通信を行う場合の例を示している。
図38は、ノード710〜713が、ノード715、716の順にGather通信を行う通信パターンの場合の例である。ノード710〜713は、4KByteのメッセージを、ノード715および716に送信するものとする。スイッチ720〜726は、カット・スルー方式で動作できるものとする。
スイッチ3522は、パケット数比が均等になるように調停を行う。そのため、ノード3512から受信したパケットをスイッチ3522が宛先ノードに送信するパケット数と、スイッチ3521から受信したパケットをスイッチ3522が宛先ノードに送信するパケット数と、の比率は1/2ずつになる。同様に、ノード3511から受信したパケットをスイッチ3521が宛先ノードに送信するパケット数と、スイッチ3520から受信したパケットをスイッチ3521が宛先ノードに送信するパケット数と、の比率は1/2ずつになる。結局、ノード3512、3511および3510が宛先ノードに送信するパケット数の比率、すなわち、パケット数比は、それぞれ、1/2、1/4および1/4となる。ノード3512、3511および3510の通信帯域幅比も、ぞれぞれ、1/2、1/4および1/4となる。
並列計算機700は、例えば、図11で説明したステップS1102などの処理により、宛先ノードまでのホップ数が大きいノード、すなわち、パケット数比の小さいノードが宛先ノードに送信するパケットサイズを大きくする。これにより、パケット数比の小さいノードが宛先ノードに送信するパケットのパケットサイズ比が大きくなる。例えば、図42では、パケット数比の小さいノード710や711のパケットサイズ比が2となっている。その結果、ノード720〜722が使用する通信帯域幅比が均等になる。ボトルネックとなる通信帯域幅のノードがなくなる。
図43は、図42に示した並列計算機700の各スイッチ間を宛先ノードの方向に流れるパケットのタイムチャートを示している。図43は、ノード710〜712が、それぞれ4ホップ離れた宛先ノード714〜716と通信を行う通信パターンの場合の例である。ノード710および711は、4KByteのメッセージを、必要に応じてパケットサイズを変更して、それぞれノード714および715に送信するものとする。ノード712は、8KByteのメッセージを、必要に応じてパケットサイズを変更して、それぞれノード716に送信するものとする。
その結果、ノード710〜ノード716は、集団通信などで一部のスイッチに通信が集中してパケット数比が下がっても、自ノードから宛先ノードまでの送信パケットの到着時間と、他ノードから宛先ノードまでの送信パケットの到着時間とを均一化するように動作する。
その結果、ノード710〜ノード716は、ネットワーク構成がメッシュ型の場合に、宛先ノードが接続するスイッチに直接接続するノード以外のノードのパケット数比が下がっても、自ノードから宛先ノードまでの送信パケットの到着時間と、他ノードから宛先ノードまでの送信パケットの到着時間とを均一化できる。
以上のように、本実施例に係る並列計算機を使用することにより、宛先ノードへのデータの到着時間を均一化したノード間通信を行うことが可能となる。
Claims (18)
- 演算処理を行う複数のノードを有し、該ノード間を互いに通信可能に接続する並列計算機において、
前記ノードに、
前記ノード間の通信形態に基づいて、各宛先ノードまでの通信帯域幅を計測する計測手段と、
前記計測手段が計測した通信帯域幅にしたがって、宛先ノードに送出するパケットサイズを制御する制御手段と、
を備える並列計算機。 - 前記計測手段は、通信元である第1のノードと、該第1のノードの通信先である第2のノードとの間の通信経路に介在するパケットの転送手段726の数に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項1に記載の並列計算機。 - 前記計測手段は、通信元である第1のノードが、該第1のノードの通信先である第2のノードにパケットを送信してから、該パケットに対する応答パケットを前記第2のノードから受信するまでの応答時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項1に記載の並列計算機。 - 前記計測手段は、自身に接続された転送手段からパケットを受信してから、自身に接続された他の転送手段に該パケットを転送するまでの待ち時間を取得し、該待ち時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項1に記載の並列計算機。 - 前記制御手段は、前記計測手段が計測する宛先ノードとの間の通信帯域幅に応じて、前記ノードが前記宛先ノードに送信するパケットのサイズを大きくする、
ことを特徴とする請求項1に記載の並列計算機。 - 前記制御手段は、前記計測手段が計測する宛先ノードとの間の通信帯域幅に応じて、前記ノードが前記宛先ノードにパケットを送信する送信間隔を大きくする、
ことを特徴とする請求項1に記載の並列計算機。
を備える並列計算機。 - 前記第1のノードと前記第2のノードとの間の通信経路に介在する前記転送手段の数を含む情報を記憶する記憶手段、
をさらに備え、
前記計測手段は、前記記憶手段が記憶する情報から、前記第1のノードと前記第2のノードとの間に介在する前記転送手段の数を取得し、該取得した前記転送手段の数に基づいて、宛先ノードとの間の通信帯域幅を計測する、
ことを特徴とする請求項2に記載の並列計算機。 - 前記ノードを含むネットワークにおける前記第1のノードと前記第2のノードの位置関係に基づいて、前記第1のノードと前記第2のノードとの間の通信経路に介在する前記転送手段の数を算出する算出手段、
をさらに備え、
前記計測手段は、前記算出手段から、前記第1のノードと前記第2のノードとの間に介在する前記転送手段の数を取得し、該取得した前記転送手段の数に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項2に記載の並列計算機。 - 前記転送手段を経由する毎に該転送手段によって更新される計数値を保持する計数値領域を含む調査用パケットを、前記第2のノードに送信する送信手段と、
前記調査用パケットに含まれる前記数値領域に保持された前記計数値が前記第2のノードによって設定された、前記調査用パケットに対する応答パケットを受信する受信手段と、
前記計測手段は、前記受信手段が受信した応答パケットから、前記第1のノードと前記第2のノードとの間に介在する前記転送手段の数を取得し、該取得した前記転送手段の数に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項2に記載の並列計算機。 - 前記第1のノードと前記第2のノードとの間の通信経路に介在する、パケットの転送手段の数に基づく標準的な応答時間を記憶する記憶手段と、
前記応答時間を計数する計数手段と、
をさらに備え、
前記計測手段は、前記記憶手段が記憶する標準的な応答時間と、前記計数手段が計数した前記応答時間とを比較し、該比較の結果に基づいて前記通信帯域幅を計測する、
ことを特徴とする請求項3に記載の並列計算機。 - 演算処理を行う複数のノードを有し、該ノード間を互いに通信可能に接続する並列計算機において、前記ノードの通信を制御する通信制御装置であって、
前記ノード間の通信形態に基づいて、ノード間の通信帯域幅を計測する計測手段と、
前記計測手段の計測結果にしたがって、ノード間で送信されるパケットサイズを制御する制御手段と、
を備える通信制御装置。 - 前記計測手段は、通信元ノードと、該第1のノードの通信先ノードとの間の通信経路に介在するパケットの転送手段の数に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項11に記載の通信制御装置。 - 前記計測手段は、通信元ノードが、該第1のノードの通信先ノードにパケットを送信してから、該パケットに対する応答パケットを前記通信左記ノードから受信するまでの応答時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項11に記載の通信制御装置。 - 前記計測手段は、通信元ノードが送信するパケットを転送する転送手段から、該パケットを受信してから他の転送手段に転送するまでの待ち時間を取得し、該待ち時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項11に記載の通信制御装置。 - 演算処理を行う複数のノードを有し、該ノード間を互いに通信可能に接続する並列計算機において、前記ノードの通信を制御する通信制御方法であって、
前記ノード間の通信形態に基づいて、通信帯域幅を計測し、
前記計測結果にしたがって、パケットサイズを制御する、
通信制御方法。 - 通信元である第1のノードと、該第1のノードの通信先である第2のノードと、の間の通信経路に介在する、パケットの転送手段の数に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項15に記載の通信制御方法。 - 通信元である第1のノードが、該第1のノードの通信先である第2のノードにパケットを送信してから、該パケットに対する応答パケットを前記第2のノードから受信するまでの応答時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項15に記載の通信制御方法。 - 通信元である第1のノードが送信するパケットを受信して転送する転送手段から、該パケットを受信してから他の転送手段に転送するまでの待ち時間を取得し、該待ち時間に基づいて、前記通信帯域幅を計測する、
ことを特徴とする請求項15に記載の通信制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/056836 WO2012127625A1 (ja) | 2011-03-22 | 2011-03-22 | 並列計算機、通信制御装置および通信制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012127625A1 true JPWO2012127625A1 (ja) | 2014-07-24 |
JP5655934B2 JP5655934B2 (ja) | 2015-01-21 |
Family
ID=46878818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013505695A Expired - Fee Related JP5655934B2 (ja) | 2011-03-22 | 2011-03-22 | 並列計算機、通信制御装置および通信制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9385961B2 (ja) |
EP (1) | EP2690830B1 (ja) |
JP (1) | JP5655934B2 (ja) |
CN (1) | CN103444142B (ja) |
WO (1) | WO2012127625A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016225791A (ja) | 2015-05-29 | 2016-12-28 | 株式会社デンソー | 車載ネットワークシステム |
KR102629585B1 (ko) * | 2016-10-04 | 2024-01-25 | 삼성전자주식회사 | 광전 변환 소자 및 이를 포함하는 촬상 장치 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065046A (en) * | 1997-07-29 | 2000-05-16 | Catharon Productions, Inc. | Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network |
JP3820442B2 (ja) | 2000-05-15 | 2006-09-13 | 株式会社神戸製鋼所 | 無線データ通信方法及び装置 |
US20010044835A1 (en) * | 2000-05-17 | 2001-11-22 | Schober Joseph Frank | Selecting content to be communicated based on automatic detection of communication bandwidth |
US7254140B1 (en) * | 2002-01-14 | 2007-08-07 | Xilinx, Inc. | Method and apparatus for transceiving data in a micro-area network |
JP4535661B2 (ja) * | 2002-03-18 | 2010-09-01 | 日本電気株式会社 | 無線マルチホップネットワークにおける送信ノード、中継ノード及び通信システム |
US6947386B2 (en) * | 2002-12-06 | 2005-09-20 | Microsoft Corporation | Practical network node coordinate estimation |
JP4404848B2 (ja) * | 2005-12-05 | 2010-01-27 | Necアクセステクニカ株式会社 | 帯域制限方法および装置、それを用いたネットワーク通信機器 |
US20070245122A1 (en) * | 2006-04-13 | 2007-10-18 | Archer Charles J | Executing an Allgather Operation on a Parallel Computer |
US8391166B2 (en) * | 2006-09-13 | 2013-03-05 | Broadcom Corporation | Adaptive packet size modification for voice over packet networks |
US7796521B2 (en) * | 2006-11-09 | 2010-09-14 | Alcatel-Lucent Usa Inc. | Method and apparatus for policing bandwidth usage for a home network |
JP4356742B2 (ja) * | 2006-12-25 | 2009-11-04 | ソニー株式会社 | データ通信システム、データ送信装置およびデータ送信方法 |
JP4384675B2 (ja) * | 2007-02-14 | 2009-12-16 | 日本電気通信システム株式会社 | 無線装置およびそれを用いた無線ネットワーク |
JP4818948B2 (ja) * | 2007-02-16 | 2011-11-16 | 株式会社神戸製鋼所 | 無線信号干渉検知装置,その方法及びそのプログラム |
US8665735B2 (en) * | 2007-07-20 | 2014-03-04 | Broadcom Corporation | Method and system for quality of service management in a multi-standard mesh of networks |
US7769864B2 (en) * | 2007-08-02 | 2010-08-03 | Sap Ag | Adaptation of clusters to virtualization technologies |
US7653716B2 (en) * | 2007-08-15 | 2010-01-26 | International Business Machines Corporation | Determining a bisection bandwidth for a multi-node data communications network |
US8606846B2 (en) * | 2007-10-15 | 2013-12-10 | Nbcuniversal Media, Llc | Accelerating peer-to-peer content distribution |
KR101065972B1 (ko) * | 2008-08-26 | 2011-09-19 | 에스케이 텔레콤주식회사 | 미디어 스트리밍을 위한 전송 대역폭 측정 시스템 및 그 방법 |
TWI407731B (zh) * | 2008-12-23 | 2013-09-01 | Ind Tech Res Inst | 一種排程裝置、使用該排程裝置之行動電台、與其排程方法 |
WO2011040006A1 (ja) * | 2009-09-30 | 2011-04-07 | パナソニック株式会社 | 送信装置、受信装置、送受信システム、及び送受信方法 |
WO2011075670A1 (en) * | 2009-12-18 | 2011-06-23 | Google Inc. | Matching encoder output to network bandwidth |
US8773993B2 (en) * | 2011-01-31 | 2014-07-08 | Apple Inc. | Adaptive bandwidth estimation |
-
2011
- 2011-03-22 JP JP2013505695A patent/JP5655934B2/ja not_active Expired - Fee Related
- 2011-03-22 CN CN201180069370.5A patent/CN103444142B/zh not_active Expired - Fee Related
- 2011-03-22 WO PCT/JP2011/056836 patent/WO2012127625A1/ja active Application Filing
- 2011-03-22 EP EP11861487.4A patent/EP2690830B1/en not_active Not-in-force
-
2013
- 2013-09-19 US US14/031,775 patent/US9385961B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2012127625A1 (ja) | 2012-09-27 |
US20140023090A1 (en) | 2014-01-23 |
US9385961B2 (en) | 2016-07-05 |
CN103444142A (zh) | 2013-12-11 |
CN103444142B (zh) | 2016-03-09 |
JP5655934B2 (ja) | 2015-01-21 |
EP2690830A4 (en) | 2014-10-01 |
EP2690830B1 (en) | 2017-09-20 |
EP2690830A1 (en) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9473359B2 (en) | Transactional traffic specification for network-on-chip design | |
KR102410422B1 (ko) | 네트워크에서의 분산 프로세싱 | |
US9910816B2 (en) | Scalable direct inter-node communication over peripheral component interconnect-express (PCIe) | |
CN103092807B (zh) | 节点控制器、并行计算服务器系统以及路由方法 | |
TWI583153B (zh) | 用於促進訊息單向排序之裝置、系統和方法 | |
CN106980582A (zh) | 数据处理方法和装置 | |
GB2411985A (en) | Bus arrangement for reducing response time in a System on a Chip | |
JP5821624B2 (ja) | 通信制御装置、並列計算機システム及び通信制御方法 | |
JP2008086027A (ja) | 遠隔要求を処理する方法および装置 | |
JP2019113917A (ja) | データ処理装置、及びデータ処理装置の制御方法 | |
TW201946489A (zh) | 多閘道通訊方法及其無線閘道系統 | |
US20220121613A1 (en) | Adaptive synching | |
KR20190087783A (ko) | 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법 | |
KR102031269B1 (ko) | 개선된 3d 토러스 | |
JP5655934B2 (ja) | 並列計算機、通信制御装置および通信制御方法 | |
CN114697276A (zh) | 片上网络(NoC)中的广播交换机系统 | |
JP6244998B2 (ja) | 情報通信方法及び情報処理装置 | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
JP6402576B2 (ja) | 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法 | |
US20180255157A1 (en) | Network service chains using hardware logic devices in an information handling system | |
TW202218380A (zh) | 多階分佈式網路系統之可靠度評估方法 | |
US9342473B2 (en) | Parallel computer system, crossbar switch, and method of controlling parallel computer system according to selective transmission of data via ports of the crossbar switch | |
JP6620760B2 (ja) | 管理ノード、端末、通信システム、通信方法、および、プログラム | |
Miyajima et al. | A software bridged data transfer on a FPGA cluster by using pipelining and InfiniBand verbs | |
WO2022143583A1 (zh) | 一种数据集成方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140812 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140905 |
|
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: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5655934 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |