JP5665208B2 - ハイパーキューブ・ネットワーク内のデータ伝送の最適化 - Google Patents

ハイパーキューブ・ネットワーク内のデータ伝送の最適化 Download PDF

Info

Publication number
JP5665208B2
JP5665208B2 JP2014536165A JP2014536165A JP5665208B2 JP 5665208 B2 JP5665208 B2 JP 5665208B2 JP 2014536165 A JP2014536165 A JP 2014536165A JP 2014536165 A JP2014536165 A JP 2014536165A JP 5665208 B2 JP5665208 B2 JP 5665208B2
Authority
JP
Japan
Prior art keywords
processing
data
address
network
digit
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
Application number
JP2014536165A
Other languages
English (en)
Other versions
JP2014534713A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014534713A publication Critical patent/JP2014534713A/ja
Application granted granted Critical
Publication of JP5665208B2 publication Critical patent/JP5665208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、処理装置のハイパーキューブ・ネットワークを動作させる方法に関する。一実施形態では本発明は、データの処理のための中心となる場所を計算することによって、ハイパーキューブ・ネットワーク内のデータ伝送を最適化するための機構を提供する。
多くのコンピューティング環境では、多数の処理装置がネットワークにおいて一緒に接続される。例えば高度に複雑なソフトウェア製品は、一緒に接続された多数の物理マシンにわたって分割することができる。同様にインターネット上で行われるタスクは頻繁に、ネットワークとして一緒に接続された多数のサーバによって実行される。このような多数の処理装置の他の例は、スーパーコンピュータなどの個別のマシン内にあり、これらは単一のマシン内に多数の処理装置を設けることによって非常に大きな処理能力をもたらす。
多数の場所からのデータを必要とする計算に多数の処理装置が参加するときは、処理装置は、計算を評価できるようにするために単一のポイントに一定量のデータを渡すことが必要になり得る。一例は分散型データベースにおける結合クエリであり、2つのテーブルからのデータは、結合クエリを評価するために共通のノードに統合されなければならない。データは、ネットワーク内の異なる処理装置において異なる大きさで存在し得る。
一部のコンピュータ・ネットワーク、特に大規模な並列スーパーコンピュータはハイパーキューブ・トポロジの形態で構成される。このトポロジでは各処理装置は、それが接続された少数の近傍装置(neighbours)を有する。データを1つの処理装置から既知の送信先に伝送するために、送信先に達するまで、ハイパーキューブ・ネットワーク内の処理装置の位置を表す処理装置の論理アドレスに従って一連の近傍装置の間で次々にデータが渡される。さらなる情報としては例えば、http://en.wikipedia.org/wiki/MIMD#Hypercube_interconnection_networkを参照されたい。
処理のためにデータを複数の処理装置から単一の場所に伝送する必要があるときは、データの量が大きい場合またはネットワーク内の処理装置の間の帯域幅が低い場合あるいはその両方の場合は、伝送される総データ量が最小化されそれによって計算の実行において最小のネットワーク帯域幅を用いるように、すべてのデータを特定の処理装置に伝送するように選ぶことが望ましい。この場合はこのようなネットワークにおいて理想的な処理装置の場所を決定するための方法およびシステムが必要である。
Bhuyan, L.N.and Agrawal, D.P., "Generalized Hypercube and HyperbusStructures for a Computer Network," IEEE Transactions on Computers, volumeC-33, number 4, pages 323 to 333, April 1984
したがって本発明の目的は、既知の技術に対して改善を行うことである。
本発明の第1の態様によれば、処理装置のハイパーキューブ・ネットワークを動作させる方法が提供され、この方法は、ネットワーク中の単一の処理装置処理させるべきデータをネットワーク中の複数の処理装置が記憶していることを判断するステップと、処理させるべきデータを記憶している複数の処理装置のアドレスを取得するステップと、処理させるべきデータを記憶している複数の処理装置のアドレスの各桁について最も共通する数を求めるステップと、求められた各桁について最も共通する数を含む新しいアドレスを、単一の処理装置のアドレスとして生成するステップと、生成された新しいアドレスを有する処理装置に処理させるべきデータを転送するステップとを含む。
本発明の第2の態様によれば、処理装置のハイパーキューブ・ネットワークを備えるシステムが提供され、このシステムは、ネットワーク中の単一の処理装置処理させるべきデータをネットワーク中の複数の処理装置が記憶していることを判断し、処理させるべきデータを記憶している複数の処理装置のアドレスを取得し、処理させるべきデータを記憶している複数の処理装置のアドレスの各桁について最も共通する数を求め、求められた各桁について最も共通する数を含む新しいアドレスを、単一の処理装置のアドレスとして生成し、生成された新しいアドレスを有する処理装置に処理させるべきデータを転送するように動作される。
本発明の第3の態様によれば、処理装置のハイパーキューブ・ネットワークを動作させるための、コンピュータ可読媒体上のコンピュータ・プログラム提供され、このプログラムネットワーク中の単一の処理装置処理させるべきデータをネットワーク中の複数の処理装置が記憶していることを判断する命令と、処理させるべきデータを記憶している複数の処理装置のアドレスを取得する命令と、処理させるべきデータを記憶している複数の処理装置のアドレスの各桁について最も共通する数を求める命令と、求められた各桁について最も共通する数を含む新しいアドレスを、単一の処理装置のアドレスとして生成する命令と、生成された新しいアドレスを有する処理装置に処理させるべきデータを転送するための命令とを備える。
したがって取り出すべきデータの分布が分かれば、ハイパーキューブ・ネットワーク内のどの処理装置が結果としてネットワーク・トラフィックの総量を最小にするかを判断する機構を提供することが可能となる。利点は、ハイパーキューブ・ネットワークにわたる、データ量の多い分散型計算方式のスループットが改善されることである。例えば、16個の処理装置のうち、4つの装置が単一の場所で処理されなければならないデータを記憶しているネットワークにおいては、上記の方法およびシステムは、ネットワーク内で必要なデータ伝送の量を最小にしながら、16個の処理装置のうちのどれがその仕事を行うべきかを決定することになる。選択される処理装置は、データを記憶した4つのうちの1つの場合もあり、またはネットワーク内の全く異なる処理装置の場合もあり得る。
ハイパーキューブ・ネットワークを形成する処理装置は例えば、スーパーコンピュータ内のそれぞれにメモリが接続された個々のプロセッサの場合もある。処理装置は例えば、装置のネットワークを形成するようにイーサネット(R)を通じて一緒に接続された標準のデスクトップ・コンピュータなどのマシンの場合もある。同様に処理装置は地理的に広がり、インターネットなどの広域ネットワークによって一緒に接続される場合もある。ハイパーキューブ・ネットワークを形成する処理装置は同一である必要はなく、異なるマシンがネットワークとして、例えばサーバとクライアント装置のネットワークとして一緒に接続される場合もある。
ハイパーキューブ・ネットワークは、ネットワークのすべてのノードが同じ長さの一意のアドレスを有するネットワークであり、ネットワークのノードの間の接続は、1つの桁だけが異なるアドレスを有する2つのノードが一緒に接続されるように、アドレスによって決定される。ハイパーキューブ・ネットワークを形成する処理装置の数は重要ではない。理論的に数学的に純粋なハイパーキューブ・ネットワークでは、ネットワーク内のノード(処理装置)の数は(2)のべき乗であり、各ノードは長さがN桁の2進数のラベル(アドレス)を有する。各ノードは、それ自体のアドレスとは1つの桁だけが異なるアドレスを有するノードに接続される。例えばN=3の場合は、000、001、010、011、100、101、110、および111とラベルが付された8個のノードが存在する。ノード000は、ノード001、010、および100に接続されるなどとなる。しかし方法およびシステムの実際の実装形態では、ネットワーク内の処理装置の数が2のべき乗でない場合でも、ネットワークは、2つのアドレスがハイパーキューブ・トポロジの用語で「隣接(adjacent)」しており、依然として接続ルールが守られる限りは、1つまたは複数の処理装置をこれら2つの2進数アドレスを用いてラベル付けすることによって依然としてハイパーキューブ・ネットワークとして構成することができる。
データの処理を実行するために、ネットワーク内の処理装置の正しい場所を決定する方法は、「一般化されたハイパーキューブ」として分類され得るネットワーク上で用いることができる(さらなる情報については、Bhuyan, L.N.and Agrawal, D.P.,"Generalized Hypercube and Hyperbus Structures for a ComputerNetwork," IEEE Transactions on Computers, volume C-33, number 4, pages 323to 333, April 1984を参照されたい)。一般化されたハイパーキューブは、アドレス・ラベルの桁を、2進数アドレスにおいて用いられる0と1以外の値にすることを可能にすることによって、標準のハイパーキューブの概念を拡張するものである。例えばすべてのネットワーク・ラベルは桁に0、1、または2をとることができ、2次元ネットワークに対するラベルの集合として、00、01、02、10、11、12、20、21、および22が与えられる。すべての経路指定は標準のハイパーキューブと同じままであり、したがってラベルが唯一の桁だけ異なるノードは近傍ノード(neighbours)である(02は、ノード12、22、00、および01に接続されることになる)。好ましくは方法はさらに、処理させるべきデータを記憶している複数の処理装置のそれぞれにおいて処理させるべきデータ量を求めるステップを含み、処理させるべきデータを記憶している複数の処理装置のアドレスの各桁について最も共通する数を求めるステップは、各桁に対して求めた最も共通する数を、求められたデータ量に従って重み付けすることを含む。データを処理するために処理装置のどれを用いるかを決定する方法およびシステムは、重み付けされない手順としてまたは重み付けされた手順として行うことができる。重み付けされた手順では、各処理装置が伝送することになるデータ量が、アドレス内の最も共通する数の決定において用いられる。処理を重み付けすることの利点は、データの処理を実行する処理装置を選択することにより、結果としてネットワークにわたって伝送されるデータ量が最も少なくなることである。
2進数アドレスを用いるハイパーキューブ・ネットワークでは、0および1を比較するためにアドレスの各桁が調べられ、これは効果的に、選択された次元に従ってハイパーキューブ構造を両半分に分割し、次いで各半分にある寄与するノードの数が求められ、最も多いノードを有する半分が選ばれる。ハイパーキューブがすべての次元に沿って分割された場合は、特定のノードが中心として分離される。重み付けされる場合は、ハイパーキューブはどちらの半分が最も多く総データを含んでいるかを知るために各次元に沿って半分に分割され、効果的にデータの「重心」を見出す。有利であることには、方法はさらに、処理させるべきデータを記憶している複数の処理装置の2進数アドレスの桁に対する最も共通する数が、2つ以上の結果を返す場合は、返された結果の1つだけを選択するステップを含む。方法は、重み付けされて用いられるか重み付けされないで用いられるかに関わらず2つ以上のアドレスを返すことができ、それによってネットワーク内の2つ以上の処理装置が、帯域幅消費の点から等しいコストで処理を実行できることを示唆する。この場合は、異なる処理装置から選択するために何らかの選択ロジックが必要である。
理想的には、処理させるべきデータを記憶している複数の処理装置のうちの1つの処理装置に2つ以上のアドレスが割り振られた場合は、処理させるべきデータを記憶している複数の処理装置のアドレスを取得するステップは、2つ以上のアドレスが割り振られた処理装置については、その処理装置に対して1つのアドレスのみを取得する。処理装置はそれに付加された2つ以上のアドレスをもつようになることはあり得る。この場合は手順が正しく機能するように、多数の装置によって記憶されたデータの処理を実行するための最良の処理装置を計算するのに、それらのアドレスの1つのみが用いられることになる。
次に本発明の実施形態について例のみとして添付の図面を参照して説明する。
ハイパーキューブ・ネットワークの概略図である。 ハイパーキューブ・ネットワークの他の概略図である。 2進数アドレスの表である。 ハイパーキューブ・ネットワークを動作させる方法のフローチャートである。 2進数アドレスおよびデータの表である。 ハイパーキューブ・ネットワークの他の概略図である。
図1は、接続されたノード12を備えるハイパーキューブ・ネットワーク10を示す。n次元ハイパーキューブ・ネットワークはN個のノードからなり、Nは2のべき乗(2)である。ネットワーク10内の各ノード12にはノード・アドレスが割り当てられ、アドレスはこの例ではn桁の2進数である。図1の例では、8個のノードを有する3次元ハイパーキューブ・ネットワークがあり、これらのノードは、3桁の2進数アドレス000、001、010、011、100、101、110、および111を有する。ノードは、2進数アドレスが唯一の桁だけ異なる場合に一緒に接続される。したがって、000とラベルが付されたノードはノード001、010、および100に接続される。101とラベルが付されたノードはノード100、111、および001に接続されるなどとなる。
2つのノードの間の最短の経路は、一度に1桁ずつ2つのノードのアドレスを比較し、2進数アドレスの特定の桁に対して、送信先ノードのアドレスと近傍にあるノードのアドレスが同じで、かつ現在のノードとは異なるときは、近傍にあるノードに移動することによって確定される。図1の例ではノード000からノード101まで移動するメッセージは、最初にノード100に移動し(第1の桁が0から1に変化する)、次いでノード101に移動する(最後の桁が0から1に変化する)ことになる。これは、ハイパーキューブ・ネットワークとして構成されたネットワークにおける論理的な経路指定を規定する。
同じ方法論が、より大きなサイズのすべてのハイパーキューブ・ネットワークに当てはまる。例えばn=4で、ネットワーク・メッセージをノード1100からノード0111に伝送する場合は、メッセージはノード1100からノード0100に(送信先のアドレスの第1の桁が発信元と異なるのに従って)伝送することができ、次いでノード0100からノード0110に(送信先と現在のノードの第2の桁は同じであるが、第3の桁が異なる)、最後にメッセージはノード0110からノード0111(送信先)に伝送される。メッセージは発信元から送信先に到達するのに3段階で渡される必要があり、これは発信元アドレスと送信先アドレスとで異なる桁の数をカウントすることによって容易に求めることができる。この例ではアドレス1100と0111は3桁だけ異なり、したがってメッセージは、これらのノードの間を進むためにネットワーク内で3つのホップで移動する必要がある。2つのアドレスの間で異なる桁の数はハミング距離と呼ばれる。同じ最短の長さの複数の経路が存在し得る。上記の例ではメッセージは、やはり3つのホップを用いて1100から1101、0101、0111と移動することもできる。
図2は、様々な処理装置12から構成された図1のハイパーキューブ・ネットワーク10を示す。この例では処理装置12はサーバおよびクライアント装置であり、クライアント装置はデスクトップ・コンピュータおよびラップトップ・コンピュータからなる。処理装置は、インターネットなどの広域ネットワークなどの適当なネットワークを通じて一緒に接続される。処理装置はすべてローカルの記憶装置を利用することができ、ネットワークにわたる伝送のためにデータを記憶する。ネットワークのトポロジはハイパーキューブ・ネットワークのトポロジであり、各処理装置には、ハイパーキューブ・ネットワークの接続トポロジを反映した一意の2進数アドレスが割り振られる。
一般にハイパーキューブ・ネットワークの実際の実装形態は、図2に示される8個よりずっと多くの処理装置をもつことになる。例えばハイパーキューブ・ネットワークを成して一緒に接続された非常に多くの処理装置を有するスーパーコンピュータでは、nが5、6さらにはより大きくなり得、2個の処理装置が一緒に接続される。このようなネットワークでは各処理装置はn個の近傍装置に接続され、論理2進数の番号付けは、一般に1つだけ異なる2進数アドレスを有する処理装置(したがって論理的な近傍装置)はネットワーク内で物理的に近接して位置することになるという点で、基礎をなす物理的なネットワークの構造を表す。
このような大きなネットワークでは、ネットワークにわたるデータの伝送は重要なタスクであり、例えばn=6の場合は、2つの処理装置は理論的に6個の処理装置だけ離れて位置する場合があり、それらの2つの装置の間のデータの伝送は、上述の経路指定に従って5個の他の処理装置を通過することになる。このようなシステムでは、単一の場所での処理のために、複数の処理装置からのデータが必要になることが普通である。ネットワーク内のいずれの処理装置も処理を実行し得るので、そのタスクのための処理装置を選択することが、全体のハイパーキューブ・ネットワーク内の帯域幅の使用量の点から非常に重要になる。
ハイパーキューブ・ネットワークは、処理のためにデータを複数のノードから単一のノードに伝送する必要があるときはいつでも、ネットワークがノードの集合の中心を決定するように動作するように構成することができる。5次元ハイパーキューブは、ハイパーキューブ・グラフのノードのサブセットのアドレスである、ノードの集合Sを有することができ、例えばS=(10100,11111,00110,00010,10000)である。この場合、集合Sは、5次元ハイパーキューブからの5つのラベルの2進数アドレスを含んでいる。
ネットワークは、S内のノードの2進数アドレスのそれぞれにおける桁を分析して、各桁に対して、いくつのアドレスが「1」を有し、いくつのアドレスが「0」を有するかを求める。この例では、それらの第1の桁では2つのアドレスが「0」を有し、3つのアドレスが「1」を有する。第2の桁では4つのアドレスが「0」を有し、1つのアドレスが「1」を有するなどとなる。これは、DigitCount(0)=(2,4,2,2,4)、およびDigitCount(1)=(3,1,3,3,1)と表すことができる。次いで順番に各桁についてどちらの桁カウントがより高いかが判定され、以下のようにノードCのアドレスがより高いカウントを有する桁の値に設定され、すなわちHighestDigitCount=(1,0,1,1,0)(第1の桁ではdigicount(1)>digicount(0)、第2の桁ではdigicount(0)>digicount(1)など)であり、それによりC=10110となる。
アドレスが必ずしも2進数アドレスではない、より一般化されたハイパーキューブ方式では、データ伝送を低減するために中心となる処理装置を計算する方法は同じであり、各桁に対してDigitCountの数が増加するだけである。例えば、桁0、1、および2を有するネットワーク・アドレスを含む一般化されたハイパーキューブ・ネットワークでは、3組の桁カウントDigitCount(0)、DigitCount(1)、およびDigitCount(2)の集計があり、アドレス内の各位置に対して、最も高い桁カウントを有する次元が、中心となるノードの場所として選ばれる。
図3は、2進数アドレスを用いるシステムにおける計算を示す。2進数アドレス14の集合Sは、ノードCの新しい2進数アドレス16を生成するために用いられる。アドレスとしてCを有するノードは、集合Sの要素に対する中心ノードである。このノードは、ノードの集合Sからの最小の総距離を有する。ノードCからS内の諸ノードへの総距離は、以下のようにアドレス内の各桁について最も低い桁カウントを合計することによって求めることができる。すなわち、DigitCount(0)=(2,4,2,2,4)、DigitCount(1)=(3,1,3,3,1)、LowestDigitCount=(2,1,2,2,1)、およびTotalLowestDigitCount=8(2+1+2+2+1)となる。
この方法は、総ハミング距離への各桁の寄与を順番に考察することによって証明することができる。ノードCが第1の桁として0を有する場合は、データをそれらの「1」次元から伝送する必要があるノードは3つ存在し、一方、第1の桁として「1」が選ばれた場合は、データを伝送する必要があるノードは2つだけである(なぜなら、2つのノードがそれらのアドレスとして第1の桁に0を有するからである)。アドレス内の各桁について、最も高いカウントを有する桁の値が選ばれた場合は、寄与分はデータを伝送する必要がある全体の枝路の数に最小化され、したがってデータが移動する必要がある全体の距離が最小化される。
ノードが偶数個の場合は、特定の桁において1を有するノードと0を有するノードとが同じ数、存在する場合がある。この場合は中心となるノードの桁に対して0または1を選ぶことができ、それぞれがノードの集合Sまでの最小総距離を等しく有する複数のノードが存在することになる。
処理装置のハイパーキューブ・ネットワークを動作させるこの方法は、図4に要約される。方法において第1のステップは、ネットワーク内の複数の処理装置が、単一の処理装置処理させるべきデータを記憶していることを判断することから成る。これは実行されているコマンドの結果として行われる場合があり、コマンドは複数の場所からのデータが単一の構成要素として処理されることを要求する。方法における次のステップは、処理させるべきデータを記憶している複数の処理装置のアドレスを取得するステップS2である。上述のように処理装置はそれぞれ、各装置を識別する一意のアドレス(これは2進数アドレスとすることができる)をもつことになる。
次のステップはステップS3であり、処理させるべきデータを記憶している複数の処理装置のアドレスの各桁について、最も共通する数を求めることから成る。図3を参照して前述したように、例えば処理させるべきデータを記憶している装置の集合内の処理装置の2進数アドレスが、2進数アドレスの各位置において最も共通する数字を識別するために調べられる。ハイパーキューブ・ネットワーク・トポロジの性質は、アドレスはすべて同じ長さであることを意味し、各位置での最も共通する数字を決定するために簡単なカウント動作を用いることができる。
このステップの後には、求められた各桁について最も共通する数を含む、新しいアドレスを生成することから成るステップS4が続き、さらに生成された新しいアドレスを有する処理装置に、処理させるべきデータを転送することから成るステップS5が続く。ステップS3で求められる最も共通する数字は、図3の例においてノードCとして示される「中心ノード」の新しいアドレスを生成するために用いられる。次いで装置の集合内のすべての処理装置によって記憶されたデータは、最も共通する数字を含む新しいアドレスを有する新しい処理装置に転送され、次いでそこでデータが処理される。

上述のプロセスは、異なる処理装置によって記憶されているデータ量を考慮に入れるように変更することができる。この情報が利用可能な場合は、ノードごとにデータ量が異なるノードの集合の中心を求めることが可能になる。例えば、各ノードが共通の場所に届ける必要がある既知のデータの量を有する、ハイパーキューブ・グラフのノードのサブセットのアドレスであるノードの集合Sは、Dがノードにおいて保持されるデータの量を規定し、それによりDi(Dのi番目の要素)は、アドレスSi(Sのi番目の要素)を有するノードにおいて保持されるデータ量を規定する。
図5はこのような一例を示し、S=(10100,11111,00110,00010,10000)、およびD=(100,500,20,1,500)である。この場合、Sは5次元ハイパーキューブからの5つのラベルのアドレスを含んでおり、DはS内の対応するノードにおいて保持されるデータ量を含んでいる(すなわちノード10100は100項目のデータを保持し、ノード11111は500項目のデータを保持するなど)。
次いで、S内のアドレスのそれぞれにおける対応する桁の分析が行われて、その桁について値「1」を有するアドレスにおいて保持される総データ量が求められ、その桁について値「0」を有するアドレスにおいて保持される総データ量が求められる。例えばそれらの第1の桁において、2つのアドレスが「0」を有し、それらのアドレスが20および1項目のデータを有し、それにより第1の桁において「0」を有するアドレスの総データは21となる。3つのアドレスがそれらの第1の桁において「1」を有し、それらのアドレスは100、500、および500項目のデータを有し、それにより第1の桁において「1」を有するアドレスの総データは1100となる。各桁の分析は、以下のように0および1の値に対するDataCount集合を維持することによって表すことができる。すなわち、DataCount(0)=(21,621,501,600,621)、およびDataCount(1)=(1100,500,620,521,500)となる。
次いで順番に各桁に対して、どのデータ・カウントが最も高いかを判定し、ノードCのアドレスは最も高いカウントを有する桁の値に設定され、それによりHighestDataCount=(1,0,1,0,0)(第1の桁ではDataCount(1)>DataCount(0)、第2の桁ではDataCount(0)>DataCount(1)など)となる。したがってC=10100となり、Cをアドレスとして有するノードは、このノードの集合およびデータ量に対する「中心」ノードとなる。ノードSからすべてのデータDをこのノードに送ることにより、総データ伝送量は最小となる。
集合S内のノードからノードCに伝送される総データ量は、以下のようにアドレスにおける各桁の最も低いDataCountを合計することによって求めることができる。すなわち、DataCount(0)=(21,621,501,600,621)、DataCount(1)=(1100,500,620,521,500)、LowestDataCount=(21,500,501,521,500)、およびTotalLowestDataCount=2043 (21+500+501+521+500)となる。
この方法論は、伝送されるデータの総距離への各桁の寄与を順番に考察することによって証明することができる。ノードCが第1の桁として「0」を有する場合は、「1」次元から送る必要がある1100単位のデータが存在し、一方、第1の桁として「1」を選んだ場合は、21単位のデータを伝送する必要があるだけである。アドレス内の各桁について、最も多くのデータを有する桁の値が選ばれた場合、他のアドレスから伝送されるべき全体のデータ量への寄与は最小化される。任意の数のノードに対して、特定の桁において「1」を有するアドレスの総データ量は、「0」を有するものと同じになり得る。この場合は中心となるノードの桁に対して「0」または「1」を選ぶことができ、それぞれがノードの集合Sからの最小の総データ伝送量を等しく有する複数のノードが存在することになる。
図5に示し、前述した方法論は実際上、集合Sを形成する処理装置の2進数アドレスにおける最も共通する数字の、重み付けされた決定である。図6は、ネットワーク内のノードのうちの4つが、単一の場所における処理のためのデータを記憶していることを示す図1のハイパーキューブ・ネットワークを示す。ノードの集合S=(000,001,100,111)、およびデータの集合D=(15,6,10,20)である。したがってDataCount(0)=(21,31,25)、およびDataCount(1)=(30,20,26)であり、これは中心ノードの2進数アドレスがC=101であることを意味する。この例では、これがデータの処理を実行するハイパーキューブ・ネットワークの処理装置となる。

Claims (6)

  1. 処理装置のハイパーキューブ・ネットワークを動作させる方法であって、
    前記ネットワーク中の単一の処理装置処理させるべきデータを前記ネットワーク中の複数の処理装置が記憶していることを判断するステップと、
    前記処理させるべきデータを記憶している前記複数の処理装置のアドレスを取得するステップと、
    前記処理すべきデータを記憶している前記複数の処理装置の前記アドレスの各桁について最も共通する数を求めるステップと、
    前記求められた各桁について最も共通する数を含む新しいアドレスを、前記単一の処理装置のアドレスとして生成するステップと、
    前記生成された新しいアドレスを有する処理装置に前記処理させるべきデータを転送するステップと
    を含む、方法。
  2. 前記処理させるべきデータを記憶している前記複数の処理装置のそれぞれが前記ネットワーク中の単一の処理装置に処理させるべきデータ量を求めるステップをさらに含み、前記処理させるべきデータを記憶している前記複数の処理装置の前記アドレスの各桁について最も共通する数を求める前記ステップでは、前記求められたデータ量に従って重み付けを行うことにより、各桁について最も共通する数を求める、請求項1に記載の方法。
  3. 前記処理させるべきデータを記憶している前記複数の処理装置の前記アドレスの桁について最も共通する数が、2つ以上の結果を返す場合は、前記返された結果の1つを選択する、請求項1または2に記載の方法。
  4. 前記処理させるべきデータを記憶している前記複数の処理装置のうちの1つの処理装置に2つ以上のアドレスが割り振られた場合は、前記処理させるべきデータを記憶している前記複数の処理装置のアドレスを取得する前記ステップでは、2つ以上のアドレスが割り振られた前記処理装置については、前記処理装置に対して1つのアドレスのみを取得する、請求項1乃至3のいずれか1項に記載の方法。
  5. 処理装置のハイパーキューブ・ネットワークを備える処理システムであって、
    前記ネットワーク中の単一の処理装置処理させるべきデータを前記ネットワーク中の複数の処理装置が記憶していることを判断し、
    前記処理させるべきデータを記憶している前記複数の処理装置のアドレスを取得し、
    前記処理させるべきデータを記憶している前記複数の処理装置の前記アドレスの各桁について最も共通する数を求め、
    前記求められた各桁について最も共通する数を含む新しいアドレスを、前記単一の処理装置のアドレスとして生成し、
    前記生成された新しいアドレスを有する処理装置に前記処理させるべきデータを転送する
    ように動作可能な、システム。
  6. 処理装置のハイパーキューブ・ネットワークを動作させるための、コンピュータ可読媒体上のコンピュータ・プログラムであって、
    前記ネットワーク中の単一の処理装置処理させるべきデータを前記ネットワーク中の複数の処理装置が記憶していることを判断する命令と、
    前記処理させるべきデータを記憶している前記複数の処理装置のアドレスを取得する命令と、
    前記処理させるべきデータを記憶している前記複数の処理装置の前記アドレスの各桁について最も共通する数を求める命令と、
    前記求められた各桁について最も共通する数を含む新しいアドレスを、前記単一の処理装置のアドレスとして生成する命令と、
    前記生成された新しいアドレスを有する処理装置に前記処理させるべきデータを転送する命令と
    を備える、コンピュータ・プログラム。
JP2014536165A 2011-10-26 2012-09-25 ハイパーキューブ・ネットワーク内のデータ伝送の最適化 Active JP5665208B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11186670.3 2011-10-26
EP11186670 2011-10-26
PCT/EP2012/068874 WO2013060542A1 (en) 2011-10-26 2012-09-25 Optimising data transmission in a hypercube network

Publications (2)

Publication Number Publication Date
JP2014534713A JP2014534713A (ja) 2014-12-18
JP5665208B2 true JP5665208B2 (ja) 2015-02-04

Family

ID=46982550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014536165A Active JP5665208B2 (ja) 2011-10-26 2012-09-25 ハイパーキューブ・ネットワーク内のデータ伝送の最適化

Country Status (7)

Country Link
US (3) US9769112B2 (ja)
EP (1) EP2759100B1 (ja)
JP (1) JP5665208B2 (ja)
KR (1) KR20140088069A (ja)
CN (1) CN103891214B (ja)
IN (1) IN2014CN02291A (ja)
WO (1) WO2013060542A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7409404B2 (ja) 2022-01-24 2024-01-09 積水ハウス株式会社 接続部材、接続ユニット及び杭ユニット

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103891214B (zh) 2011-10-26 2016-08-24 国际商业机器公司 优化超立方体网络中的数据传输的方法和系统
JP6459630B2 (ja) * 2015-02-27 2019-01-30 富士通株式会社 データ転送制御装置、データ転送制御プログラム、および並列計算システム
US10057334B2 (en) 2016-11-14 2018-08-21 Futurewei Technologies, Inc. Quad full mesh and dimension driven network architecture
CN106790620B (zh) * 2016-12-30 2020-02-11 许昌学院 一种分布式大数据处理方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system
US5367692A (en) * 1991-05-30 1994-11-22 Thinking Machines Corporation Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation
US5255368A (en) * 1991-08-19 1993-10-19 Hewlett-Packard Company Method for selecting data communications paths for routing messages between processors in a parallel processing computer system organized as a hypercube
US5991866A (en) * 1992-03-25 1999-11-23 Tm Patents, Lp Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections
US5884046A (en) * 1996-10-23 1999-03-16 Pluris, Inc. Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network
US6021118A (en) * 1997-02-10 2000-02-01 Lucent Techologies Inc. Synchronization methods for distributed processing systems having replicated data
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6741552B1 (en) * 1998-02-12 2004-05-25 Pmc Sierra Inertnational, Inc. Fault-tolerant, highly-scalable cell switching architecture
US6973559B1 (en) * 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing
ATE479147T1 (de) * 2001-02-24 2010-09-15 Ibm Neuartiger massivparalleler supercomputer
US20030065632A1 (en) * 2001-05-30 2003-04-03 Haci-Murat Hubey Scalable, parallelizable, fuzzy logic, boolean algebra, and multiplicative neural network based classifier, datamining, association rule finder and visualization software tool
US20030009509A1 (en) 2001-06-22 2003-01-09 Fish Russell H. Distributed means of organizing an arbitrarily large number of computers
US6992988B2 (en) * 2001-08-20 2006-01-31 Sun Microsystems, Inc. System and method for deadlock-free routing on arbitrary network topologies
US7437354B2 (en) * 2003-06-05 2008-10-14 Netlogic Microsystems, Inc. Architecture for network search engines with fixed latency, high capacity, and high throughput
US7379424B1 (en) * 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
JP3998691B2 (ja) 2005-05-26 2007-10-31 沖電気工業株式会社 データ転送ネットワーク
GB0524126D0 (en) * 2005-11-26 2006-01-04 Cogniscience Ltd Data transmission method
US8108512B2 (en) * 2006-09-01 2012-01-31 Massively Parallel Technologies, Inc. System and method for accessing and using a supercomputer
US7844959B2 (en) 2006-09-29 2010-11-30 Microsoft Corporation Runtime optimization of distributed execution graph
US20080082644A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed parallel computing
US8239847B2 (en) 2009-03-18 2012-08-07 Microsoft Corporation General distributed reduction for data parallel computing
JP5313100B2 (ja) * 2009-09-29 2013-10-09 Kddi株式会社 クラスタヘッド決定方法、該方法を実行するノードおよび制御プログラム
US8830873B2 (en) * 2011-05-08 2014-09-09 Infinetics Technologies, Inc. Flexible radix switch
CN103891214B (zh) * 2011-10-26 2016-08-24 国际商业机器公司 优化超立方体网络中的数据传输的方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7409404B2 (ja) 2022-01-24 2024-01-09 積水ハウス株式会社 接続部材、接続ユニット及び杭ユニット

Also Published As

Publication number Publication date
KR20140088069A (ko) 2014-07-09
EP2759100A1 (en) 2014-07-30
US9769112B2 (en) 2017-09-19
CN103891214B (zh) 2016-08-24
CN103891214A (zh) 2014-06-25
US20200177542A1 (en) 2020-06-04
US11140127B2 (en) 2021-10-05
US20170346785A1 (en) 2017-11-30
WO2013060542A1 (en) 2013-05-02
EP2759100B1 (en) 2015-03-04
US20140229633A1 (en) 2014-08-14
IN2014CN02291A (ja) 2015-06-19
JP2014534713A (ja) 2014-12-18
US10608982B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US11140127B2 (en) Optimising data transmission in a hypercube network
Vats et al. Performance evaluation of K-means clustering on Hadoop infrastructure
US20140067873A1 (en) Efficient egonet computation in a weighted directed graph
Acer et al. Improving performance of sparse matrix dense matrix multiplication on large-scale parallel systems
US10915338B2 (en) Computer architecture for emulating a correlithm object processing system that places portions of correlithm objects in a distributed node network
Glantz et al. Algorithms for mapping parallel processes onto grid and torus architectures
Dasari et al. pbitMCE: A bit-based approach for maximal clique enumeration on multicore processors
TWI515576B (zh) 巨資系統的資料分派處理方法及其系統
US10810029B2 (en) Computer architecture for emulating a correlithm object processing system that uses portions of correlithm objects in a distributed node network
US10896052B2 (en) Computer architecture for emulating a correlithm object processing system that uses portions of a mapping table in a distributed node network
Nielsen et al. Topology of interconnection networks
Bossard et al. Node-to-set disjoint paths routing in a metacube
Chen et al. Subcube determination in faulty hypercubes
US20230259524A1 (en) Systems and methods for generating network diagrams based on big data
US10860349B2 (en) Computer architecture for emulating a correlithm object processing system that uses portions of correlithm objects and portions of a mapping table in a distributed node network
auf der Heide et al. Deterministic routing with bounded buffers: turning offline into online protocols
US10915339B2 (en) Computer architecture for emulating a correlithm object processing system that places portions of a mapping table in a distributed node network
US10915340B2 (en) Computer architecture for emulating a correlithm object processing system that places multiple correlithm objects in a distributed node network
Bennes et al. A comparative study of job allocation and migration in the pancake network
Awwad et al. Efficient Load Balancing Algorithm for the Arrangement-Star Network
Choi et al. A nearly optimal one-to-many routing algorithm on k-ary n-cube networks
Gatuha et al. Novel frequent pattern mining algorithm based on parallelization scheme
Doreen et al. An efficient sra based isomorphic task allocation scheme for k-ary n-cube massively parallel processors
JP2024043899A (ja) 方法および情報処理装置
Li et al. Finding a hamiltonian cycle in a hierarchical dual-net with base network of p-ary q-cube

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20141008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141009

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: 20141119

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20141128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141205

R150 Certificate of patent or registration of utility model

Ref document number: 5665208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150