JP4611901B2 - 信号伝送方法、ブリッジユニット、および情報処理装置 - Google Patents

信号伝送方法、ブリッジユニット、および情報処理装置 Download PDF

Info

Publication number
JP4611901B2
JP4611901B2 JP2006008003A JP2006008003A JP4611901B2 JP 4611901 B2 JP4611901 B2 JP 4611901B2 JP 2006008003 A JP2006008003 A JP 2006008003A JP 2006008003 A JP2006008003 A JP 2006008003A JP 4611901 B2 JP4611901 B2 JP 4611901B2
Authority
JP
Japan
Prior art keywords
bridge
signal
unit
bridge unit
bus
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
JP2006008003A
Other languages
English (en)
Other versions
JP2007188447A (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.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Corp
Sony Computer Entertainment Inc
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 Sony Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Priority to JP2006008003A priority Critical patent/JP4611901B2/ja
Priority to US11/651,417 priority patent/US7552270B2/en
Publication of JP2007188447A publication Critical patent/JP2007188447A/ja
Application granted granted Critical
Publication of JP4611901B2 publication Critical patent/JP4611901B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、情報処理技術に関し、特に複数の演算処理ユニットを有する情報処理装置、情報処理装置における信号伝送方法、および実装されるブリッジユニットに関する。
近年のコンピュータはその機能が多様化し、それとともに接続されるデバイスも多岐に渡るようになった。これらのデバイスはバスを介してCPUと相互に信号のやり取りを行う。CPUと直接接続するバスと、デバイス接続のためのポートを形成するバスを中継して、異種のバスの互換性を確保するためにはバスブリッジが用いられる。さらにバスブリッジを階層的に接続していくことにより同種のバスによるデバイスツリーを形成し、デバイスが接続できるポート数を増やすことができる。
一方、演算処理の高速化の要求に対応するために近年ではプロセッサを複数備えたマルチプロセッサ構成や、プロセッサユニットを複数備えたマルチホスト構成を有する情報処理装置が一般的に用いられるようになっている。これらの並列処理技術においては、1つのアプリケーションを複数のプロセッサまたは複数のホストに分散させて処理することによって、処理の高速化を図っている。マルチホスト構成の構造例としてはファットツリー構造が挙げられる(例えば、非特許文献1参照)。
C. E. Leiserson. Fat-Trees: Universal Networks for Hardware-Efficient Supercomputing. IEEE Transactions on Computer, Vol. 34, No. 10, pp. 892.901, 1985
例えばマルチホスト構成を有する情報処理装置において、1つのアプリケーションを複数のプロセッサユニットに分散させて処理を行う場合、プロセッサユニットごとに管理するバスが異なるため、異なるデバイスツリー相互のアクセスが複雑となる。高速化を図るためにプロセッサユニットの数を増加させるほど、プロセッサユニット同士の信号の送受信の処理が複雑化し、アクセスに要する時間が増大してしまう傾向にある。
本発明はこのような課題に鑑みてなされたものであり、その目的は複数のプロセッサユニット間での信号の伝送を高速に行うことのできる技術を提供することにある。
本発明のある態様は信号伝送方法に関する。この信号伝送方法は、複数のプロセッサユニットを含むファットツリー構造の情報処理装置において、異なるプロセッサユニット間で伝送される信号の信号伝送方法であって、あるプロセッサユニットから信号を発行するステップと、複数のブリッジユニットによって信号を中継するステップと、を含み、信号を中継するステップは、ブリッジユニットに信号を入力するステップと、ファットツリー構造において当該ブリッジユニットが属する列の識別番号と、当該ブリッジユニットが属する行の階層番号と、送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号と、に基づき、出力先のバスを選択して信号を出力するステップと、を含むことを特徴とする。
本発明の別の態様はブリッジユニットに関する。このブリッジユニットは、複数のプロセッサユニットを含むファットツリー構造の情報処理装置において異なるプロセッサユニット間を伝送する信号を中継するブリッジユニットであって、複数のバスブリッジと、2つのプロセッサユニットが管理する2つのデバイスツリーのエンドポイント間の信号伝送を中継するエンドポイントブリッジと、入力信号の出力先のバスを選択するスイッチルーティング回路と、を備える。スイッチルーティング回路は、ファットツリー構造において当該ブリッジユニットが属する列の識別番号と、当該ブリッジユニットが属する行の階層番号と、を設定するレジスタを備え、レジスタに設定された識別番号および階層番号と、入力信号の送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号と、に基づき、出力先のバスを選択し、それに応じて信号がバスブリッジまたはエンドポイントブリッジのいずれかを通過するように出力を制御することを特徴とする。
デバイスツリーはプロセッサユニットが位置するルートノードを起点として、ブリッジを多段にツリー状に接続し、ツリーの末端、すなわちエンドポイントに位置するデバイスへのアクセスを可能とする構成をいう。このデバイスツリー構造において、ツリーを構成するブリッジ、バス、エンドポイントは、ルートノードにあるプロセッサユニットによってそれぞれが識別され、管理される。
本発明のさらに別の態様は情報処理装置に関する。この情報処理装置は、複数のプロセッサユニットと、異なるプロセッサユニット間を伝送する信号を中継するブリッジユニットと、を備え、前記ブリッジユニットは、1つのプロセッサユニットが管理するデバイスツリー内の信号伝送を中継するバスブリッジと、2つのプロセッサユニットが管理する2つのデバイスツリーのエンドポイント間の信号伝送を中継するエンドポイントブリッジと、異なるプロセッサユニット間を伝送する入力信号が最短経路で送信先のプロセッサユニットへ到達するように、前記入力信号の出力先を前記バスブリッジおよび前記エンドポイントブリッジのいずれかから選択するスイッチルーティング回路と、を備えることを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、マルチホスト構成の情報処理装置における信号伝送処理を高速に行うことができる。
まず本実施の形態の情報処理装置の基本的な構成について説明する。図1は情報処理装置に含まれるある単位の構成を模式的に示している。この構成は、例えばPCI(Peripheral Component Interconnect)のバスアーキテクチャを用いて実現できる。情報処理装置の構成単位10は演算処理を行う2つのプロセッサユニット12aおよび12b、プロセッサユニット12aおよび12bのローカルなバスと周辺機器を接続するためのPCIなどのバスとを中継するホストブリッジ22aおよび22b、PCItoPCIブリッジなど同種のバス同士を中継するバスブリッジ24a〜24d、他方のプロセッサユニットのデバイスツリーとのインターフェースを形成するエンドポイントブリッジ30を含む。
エンドポイントブリッジ30は、プロセッサユニット12aが管理するエンドポイント18aと、プロセッサユニット12bが管理するエンドポイント18bとの信号授受を中継する。ホストブリッジ22aはバス14aを介して、バスブリッジ24a、24b、エンドポイント18aと信号の送受を行う。ホストブリッジ22bはバス14bを介して、バスブリッジ24c、24d、エンドポイント18bと信号の送受を行う。ホストブリッジ22a、バスブリッジ24a、24b、エンドポイントブリッジ30は1単位の信号送信ユニットとして、ブリッジチップ16を形成する。
プロセッサユニット12a、12bなどのプロセッサユニット12は例えば複数のプロセッサからなるマルチプロセッサ構造を有する。またプロセッサユニット12は図示しないメインメモリやI/Oインターフェースなどを適宜含んでよい。エンドポイントブリッジ30は、例えば一方のプロセッサユニット12aから他方のプロセッサユニット12bへの信号をエンドポイント18aから取得し、エンドポイント18bから送信する。これによりデバイスツリーまたいで伝送された信号は、異なるプロセッサユニット12間を伝送する。エンドポイントブリッジ30は入力信号に対し適宜変換処理を施し、出力先のデバイスツリーにおいて有効な信号を生成したうえで送信する。
同図は本実施の形態における情報処理装置のある構成単位10を示しており、バスブリッジ24a〜24dにはさらにバス14c〜14fがそれぞれ接続している。実際の情報処理装置ではこれらのバス14c〜14fにさらなるバスブリッジまたはエンドポイントを設けてよい。その際、バス14a、14bのようにバス14c〜14dを分岐させることにより、デバイスツリーを形成することができる。
同図では、各プロセッサユニット12に対してバスブリッジ24が2つ、エンドポイントブリッジ30が1つ接続されているが、それらの個数はこれに限定されない。またプロセッサユニット12は3つ以上設けてよく、あるプロセッサユニット12から別のプロセッサユニット12への信号送信は、エンドポイントブリッジ30を介して行う。ここでプロセッサユニット間の信号送受信は後述するように、エンドポイントブリッジ30を介して直接行う場合と、複数のエンドポイントブリッジ30を通過させることにより、中間にあるプロセッサユニットのデバイスツリーを経由して行う場合とがある。
図2は図1で示した構成単位10を実現するために、本実施の形態の情報処理装置に実装されるブリッジチップ16の構成例を示している。ブリッジチップ16は3つのバスブリッジ24a、24b、24e、エンドポイント18aおよびエンドポイント18bを含むエンドポイントブリッジ30、ホストブリッジ22、スイッチルーティング回路32を含む。バスブリッジ24a、ホストブリッジ22、およびエンドポイントブリッジ30は、ブリッジチップ16の上流側に接続されたユニットやブリッジと信号の送受を行う。バスブリッジ24bおよびバスブリッジ24eは、ブリッジチップ16の下流側に接続されたユニットやブリッジと信号の送受を行う。
バスブリッジ24aおよびホストブリッジ22は、どちらか一方を有効とし、ブリッジチップ16の上側に接続するユニットがプロセッサユニット12であればホストブリッジ22が、別のブリッジチップ16であればバスブリッジ24aが使用される。同図のエンドポイント18aおよびエンドポイント18bは、図1のエンドポイント18aおよび18bに相当する。すなわち、エンドポイント18aはブリッジチップ16を管理するプロセッサユニット12aのデバイスツリーに属し、エンドポイント18bは他のプロセッサユニット、例えばプロセッサユニット12bのデバイスツリーに属する。したがってプロセッサユニット12aから他のプロセッサユニットへの信号送受信はブリッジチップ30を通過する。
スイッチルーティング回路32は、バスブリッジ24a、ホストブリッジ22、エンドポイントブリッジ30が取得した上流からの信号、バスブリッジ24bまたはバスブリッジ24eが取得した下流からの信号が適切な経路を通過するように、出力するブリッジの選択を行う。適切な経路とは例えば、あるプロセッサユニット12aから発行された信号が送信先のプロセッサユニット12bへ到達するための最短経路である。スイッチルーティング回路32は、経路選択のために参照される各種パラメータを設定するレジスタ34を含む。パラメータについては後述する。
次に、本実施の形態においてスイッチルーティング回路32が信号の経路を適切に選択する方法について説明する。まず本実施の形態における情報処理装置の構成について説明する。図3は図2で示したブリッジチップ16を導入したファットツリー構造を有する情報処理装置を示している。図3(a)はプロセッサユニットが2つの場合の情報処理装置40a、図3(b)はプロセッサユニットが4つの場合の情報処理装置40b、図3(c)はプロセッサユニットが8つの場合の情報処理装置40cを示している。図3(a)において、プロセッサユニット12aおよび12bを表す矩形内に示される数字「0」および「1」は、プロセッサユニット12ごとに与えられる番号であり、以後、ノードIDと呼ぶ。
各プロセッサユニット12には管理するブリッジチップ16が縦方向に2つ連なっている。例えばプロセッサユニット12aにはブリッジチップ16aおよび16bが連なっている。以後、このプロセッサユニット12と複数のブリッジチップ16の縦方向の列をノード列42と呼ぶ。同図においてエンドポイントブリッジ30aは、ブリッジチップ16b内の斜線を施した矩形によって表される。ブリッジチップ16aまたはブリッジチップ16b内のその他の矩形は、ホストブリッジ22またはバスブリッジ24を表している。図3(b)および図3(c)も同様の方法で表示されており、プロセッサユニットが4つの場合は、各ノード列にブリッジチップ16が3つ(図3(b))、プロセッサユニットが8つの場合は、各ノード列にブリッジチップ16が4つ(図3(c))設けられる。
図3(a)において、例えばプロセッサユニット12aからプロセッサユニット12bへ信号を送信する場合に、当該信号はノード列42をまたいで伝送されることになる。このときのインターフェースがエンドポイントブリッジ30aまたは30bである。すなわち、異なるノード列42に属するブリッジチップ16同士は、エンドポイントブリッジ30を介して接続しており、ノード列42をまたいで信号が伝送する場合は、必ず1つ以上のエンドポイントブリッジ30を通過する。
上述の例における信号の経路は、プロセッサユニット12a→ブリッジチップ16a→ブリッジチップ16b(エンドポイントブリッジ30a)→ブリッジチップ16c→プロセッサユニット12b、または、プロセッサユニット12a→ブリッジチップ16a→ブリッジチップ16d(エンドポイントブリッジ30b)→ブリッジチップ16c→プロセッサユニット12bのいずれかとなる。
図3で示したようなファットツリー構造の情報処理装置において、各ブリッジチップ16内のスイッチルーティング回路32は、ノード列42をまたぐ信号の伝送が最短経路で行われるように経路の選択を行う。最短経路とは、信号を別のノード列42へ移動させるためにエンドポイントブリッジ30を通過する回数が最小となる経路である。このためには、図3に示す構造において、あるプロセッサユニット12から発行された信号が複数のブリッジチップ16を経由して送信先のプロセッサユニット12へ到達する間に、下流方向から上流方向へ信号の伝送方向が転じる回数を1回とする。
このような条件を満足する伝送経路を選択するためには、次に述べる法則を利用する。まず法則に用いるパラメータとして、先に述べたノードIDの他にブリッジチップ階層を導入する。図4はプロセッサユニットが8つの情報処理装置40cにおける信号の最短経路とノードID、およびブリッジチップ階層との関係を示している。ここでブリッジチップ階層は各ブリッジチップ16に対し、上流から下流に向けて昇順で付与される。図4の例におけるブリッジチップ階層はレベル「0」、レベル「1」、レベル「2」、レベル「3」となる。
一方、ノードIDは各ノード列42に対し左から昇順で付与される。同図の場合、プロセッサユニットの数は8つであるため、ノードIDは左から「0」〜「7」と設定される。ここで、各ノードIDを2進数で表した場合を考える。表1は各ノードIDを10進数と2進数で示しており、2進数の場合はビット位置を下位ビットからビット「0」、ビット「1」、ビット「2」、ビット「3」と名づける。なお、8=2であるため、ビット3は全てのノードIDにおいて「0」である。
Figure 0004611901
このように設定されたノードIDおよびブリッジチップ階層を導入すると、信号の発行元であるノード列42のノードIDと、信号の送信先であるノード列42のノードIDとから、上流から伝送された信号が唯一方向を転じる際のブリッジチップ階層が一意に求まる。具体的には、発行元のノードIDと送信先のノードIDとを2進数で上位ビットから比較していき、連続して等しい値となるビットのうち、最下位のビット位置の数字が、方向を転じる際のブリッジチップ階層と等しくなる。
例えば図4において、ノードID「0」のプロセッサユニット12aから発行した信号を、ノードID「1」のプロセッサユニット12bへ送信する場合を考える。ノードID「0」とノードID「1」を2進数で比較すると、ビット「3」からビット「1」までは同じ「0」という値である。そのうち最下位のビットがビット「1」であるため、信号が方向を転じるブリッジチップ階層がレベル「1」であることがわかる。これが信号の最短経路であり、図4の矢印44で示されている。同様に、ノードID「1」のプロセッサユニット12bから発行した信号を、ノードID「7」のプロセッサユニット12cへ送信する場合は、ノードID「1」とノードID「7」を2進数で比較すると、ビット「3」のみが同じ「0」という値であるため、レベル「3」のブリッジチップ階層で信号を折り返す。この場合の経路は図4の矢印46で示されている。
この法則は、情報処理装置を構成するプロセッサユニット12の数や、信号の送信元、送信先のノード列42のノードIDによらず当てはまる。そこでこの法則をふまえて各ブリッジチップ16のスイッチルーティング回路32を動作させることにより、信号を最短経路で所望のノード列42へ到達させることができる。以下にスイッチルーティング回路32によってなされる経路選択のアルゴリズムを示す。
まず、スイッチルーティング回路32を動作させるための初期化処理について述べる。図5は一例としてプロセッサユニット12が4つのファットツリー構造を有する情報処理装置40bに対する初期化処理の様子を模式的に示している。まず図5(a)は初期化処理の第1段階として各ブリッジチップ16にノードIDを設定することを示している。例えばプロセッサユニット12aは、同じノード列42に属するブリッジチップ16a、16b、16e内のスイッチルーティング回路32に含まれるレジスタ34に、自らのノードID「0」を設定する。他のノード列についても同様である。
次に図5(b)は初期化処理の第2段階として、各ブリッジチップ16にブリッジチップ階層を設定することを示している。例えばプロセッサユニット12aは、同じノード列42に属するブリッジチップ16a、16b、16e内のレジスタ34に、ブリッジチップ階層、すなわちレベル「0」、レベル「1」、レベル「2」をそれぞれ設定する。他のノード列についても同様である。ブリッジチップ階層はデバイスツリーを構成する際にプロセッサユニット12がそれぞれ把握している。
次に図5(c)は初期化処理の第3段階として、各ブリッジチップ16におけるポートの接続先のノード列のノードIDを設定することを示している。初期化処理の第1段階で、各ブリッジチップ16にはノードIDが設定されているため、例えばプロセッサユニット12aは同じノード列に属するブリッジチップ16eの接続先であるブリッジチップ16fのノードIDの設定を参照することによって、ブリッジチップ16eに含まれるエンドポイントブリッジ30eの接続先のノードIDを「2」と設定する。これもスイッチルーティング回路32に含まれるレジスタ34に設定する。他のブリッジおよびノード列についても同様である。
次に上述のような設定を用いてスイッチルーティング回路32が経路を選択する処理について述べる。図6から図8はブリッジチップ16が信号を取得した際の経路選択処理の手順を示している。これらの図において、tn[n−1:0]は送信先のノードIDを、bn[n−1:0]は信号を取得したブリッジチップ16のノードIDを表している。送信先のノードIDは、信号に含まれる情報である。
ここでnは情報処理装置に含まれるプロセッサユニット12の個数を2進数で表したときのビット数を表している。すなわちプロセッサユニット12の個数は2個である。プロセッサユニット12が8個のファットツリー構造であれば、n=3である。そしてtn[n−1:0]およびbn[n−1:0]はどちらもノードIDを2進数で表したときの各ビットの数値を示す数列を表す。例えばtn[4:0]="01101"の場合、tn[4]=0、tn[3]=1、tn[2]=1、tn[1]=0、tn[0]=1である。ここでtn[x:x]はt[x]と等しいとする。上記の例ではtn[3:3]=tn[3]=1である。
図6はブリッジチップ階層がレベル「0」にあるブリッジチップ16、例えば図5のプロセッサユニット12aの直下に接続されたブリッジチップ16aにおける経路選択の処理手順を示している。信号が上流から伝送された場合(S10のY)、当該ブリッジチップ16のスイッチルーティング回路32は、図2のバスブリッジ24bまたはバスブリッジ24eを介して信号を任意の下流に出力する(S12)。信号が下流から伝送された場合は(S10のN)、図2のホストブリッジ22を介して信号を上流にあるプロセッサユニット12aに出力する(S14)。
図7はブリッジチップ階層がレベル「m」(0<m<n)のブリッジチップ16における経路選択の処理手順を示している。例えば図5の4つのプロセッサユニットを有するファットツリー構造ではn=2であるため、レベル「1」のブリッジチップ16bが該当する。このブリッジチップ16に上流または別のブリッジチップ16に含まれるエンドポイントブリッジ30から信号が伝送された場合(S20のY)、tn[n−1:m]≠bn[n−1:m]であるとき(S22のY)は、図2のバスブリッジ24bまたはバスブリッジ24eを介して信号を任意の下流に出力する(S24)。tn[n−1:m]=bn[n−1:m]であるとき(S22のN)は、上述の法則における信号の折り返し点であるため、bn'「m−1」=tn[m−1]となるノードID、bn'[n−1:0]を有するノード列に属する上流のブリッジチップ16へ図2のバスブリッジ24aを介して出力するか、当該ノード列に接続するエンドポイントブリッジ30へ信号を出力する(S26)。信号が下流から伝送された場合も(S20のN)、S22のNの場合と同様の処理を行う(S26)。
図8はブリッジチップ階層がレベル「n」にあるブリッジチップ16、例えば図5のブリッジチップ16eにおける経路選択の処理手順を示している。この場合は図7のS26と同様、bn'「m−1」=tn[m−1]となるノードID、bn'[n−1:0]を有するノード列に属する上流のブリッジチップ16または当該ノード列に接続したエンドポイントブリッジ30へ信号を出力する(S30)。
次に上述のアルゴリズムによる経路選択の実例について説明する。図9は4つのプロセッサユニットを有するファットツリー構造の情報処理装置40bにおいて、ノードID「0」のプロセッサユニット12aからノードID「3」のプロセッサユニット12dへ信号を送信する際の経路を示している。このときn=2、tn[1:0]="11"である。
まずノードID「0」のブリッジチップ16aは、ブリッジチップ階層がレベル「0」であるためいずれかの下流へ出力する。図9ではブリッジチップ16bに出力している(矢印50)。次にブリッジチップ16bはレベル「1」であるため、0<m<nに該当する。ここでブリッジチップ16bのノードIDは「0」のため、bn[1:0]="00"である。従ってtn[1:1]=tn[1]≠bn[1:1]=bn[1]であるため、いずれかの下流へ出力する。図9ではブリッジチップ16eに出力している(矢印52)。
次にブリッジチップ16eはレベル「2」でnと等しいため、ノードIDのビット「1」がtn[1]=1である、ノードID「2」のノード列に属するブリッジチップ16fへ出力する(矢印54)。そしてブリッジチップ16fはレベル「1」であるため、0<m<nに該当する。矢印54の伝送によってtn[1:1]=tn[1]=bn[1:1]=bn[1]となったため、さらにノードIDのビット「0」がtn[0]=1である、ノードID「3」のノード列に属するブリッジチップ16gへ出力する(矢印56)。これによりプロセッサユニット12aからプロセッサユニット12dへの信号が最短経路で送信される。
次に経路選択の別の例を説明する。図10は4つのプロセッサユニットを有するファットツリー構造の情報処理装置40bにおいて、ノードID「3」のプロセッサユニット12dからノードID「2」のプロセッサユニット12cへ信号を送信する際の経路を示している。このときn=2、tn[1:0]="10"である。まずノードID「3」のブリッジチップ16gは、ブリッジチップ階層がレベル「0」であるためいずれかの下流へ出力する。図10ではブリッジチップ16fに出力している(矢印60)。
次にブリッジチップ16fはレベル「1」であるため、0<m<nに該当する。ここでブリッジチップ16fのノードIDは「2」であるため、bn[1:0]="10"である。従ってtn[1:1]=tn[1]=bn[1]となり、ノードIDのビット「0」がtn[0]=0である、ノードID「2」のノード列に属するブリッジチップ16iへ出力する(矢印62)。これによりプロセッサユニット12dからプロセッサユニット12cへの信号が最短経路で送信される。
以上述べた、複数のプロセッサユニットによって構成されるファットツリー構造内でのルーティングの方法を、他のルーティング手法と組み合わせてブリッジチップ16に実装し、2つ以上のモードを切り替えて使用できるようにしてもよい。図11は2つのルーティングモードを切り替える機能を有するブリッジチップ16の構成を示している。ブリッジチップ16は、図2において示したブリッジチップ16と同様、複数のバスブリッジ24a〜24d、エンドポイント18aおよび18bを含むエンドポイントブリッジ30、スイッチルーティング回路32、ホストブリッジ22を含む。このときスイッチルーティング回路32には、これまで述べたアルゴリズムの他、例えばバスブリッジ24d等に接続されるバスの規格に基づくアルゴリズムを実現するための回路が実装されている。例えばPCIバスの場合は、BAR(Base Address Register)に基づくアルゴリズムである。
さらにブリッジチップ16には、ルーティングのモードによって信号を選択して出力するマルチプレクサ70およびマルチプレクサ72を設ける。マルチプレクサ70は、エンドポイントブリッジ30からの入力信号、またはバスブリッジ24dからの入力信号を、モードの切り替わりによって選択し、スイッチルーティング回路32に出力する。エンドポイントブリッジ30からの入力信号に対してスイッチルーティング回路32は、上述の最短経路を選択する手法のルーティングを行う。バスブリッジ24dからの入力信号に対しては、例えばBARに基づくルーティングを行う。同様にマルチプレクサ72も、エンドポイントブリッジ30からの入力信号、またはバスブリッジ24dからの入力信号を、モードの切り替わりによって選択し、ブリッジチップ16に接続されたバスへ出力する。これにより、単一のブリッジチップにおいて複数のルーティング方法をサポートすることができ、汎用性が向上する。
以上述べた本実施の形態によれば、複数のプロセッサユニットを含む情報処理装置において、異なるプロセッサユニットを送信先とした信号を、ノードIDを用いたアルゴリズムによりルーティングを行い伝送する。これにより、信号を最短経路で送信先に到達させることができ、信号伝達にかかる時間が短縮できるため、効率のよい情報処理が可能となる。本実施の形態は、プロセッサユニットの数によらず適用できるため、多数のプロセッサユニットで分散させて処理を行うような高速処理を必要とするアプリケーションの実行においては、より効果的である。また本実施の形態はブリッジチップにおける回路変更によって実現できるため、バス帯域の拡張などハードウェアを改良した他の高速化対策と比較すると、設計面、コストの面において導入障壁が低い。さらにマルチプレクサを導入して他のルーティングアルゴリズムと選択できるようにすることで、ユーザのニーズに対応したより汎用性の高い実装形態を実現することができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本実施の形態の情報処理装置に含まれるある単位の構成を模式的に示す図である。 本実施の形態の情報処理装置に実装されるブリッジチップの構成例を示す図ある。 本実施の形態のブリッジチップを導入したファットツリー構造を有する情報処理装置を模式的に示す図である。 本実施の形態において、プロセッサユニットが8つのファットツリー構造において最短経路とノードID、およびブリッジチップ階層との関係を説明する図である。 プロセッサユニットが4つのファットツリー構造に対する初期化処理の様子を模式的に示す図である。 ブリッジチップ階層がレベル「0」にあるブリッジチップにおける経路選択の処理手順を示すフローチャートである。 ブリッジチップ階層がレベル「m」(0<m<n)のブリッジチップにおける経路選択の処理手順を示すフローチャートである。 ブリッジチップ階層がレベル「n」にあるブリッジチップにおける経路選択の処理手順を示すフローチャートである。 本実施の形態を適用したファットツリー構造における経路選択の実例について説明する図である。 本実施の形態を適用したファットツリー構造における経路選択の実例について説明する図である。 ブリッジチップにおいて2つのルーティングモードを切り替える機能を有するブリッジチップの構成を示す図である。
符号の説明
12 プロセッサユニット、 14 外部バス、 16 ブリッジチップ、 18 エンドポイント、 22 ホストブリッジ、 24 バスブリッジ、 30 エンドポイントブリッジ、 32 スイッチルーティング回路、 40 情報処理装置、 42 ノード列、 70 マルチプレクサ、 72 マルチプレクサ。

Claims (9)

  1. 複数のプロセッサユニットを含むファットツリー構造の情報処理装置において、異なるプロセッサユニット間で伝送される信号の信号伝送方法であって、
    あるプロセッサユニットから信号を発行するステップと、
    複数のブリッジユニットによって前記信号を中継するステップと、
    を含み、
    前記信号を中継するステップは、
    前記ブリッジユニットに信号を入力するステップと、
    当該ブリッジユニットが、前記ファットツリー構造において当該ブリッジユニットが属する列の識別番号と、当該ブリッジユニットが属する行の階層番号と、送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号と、に基づく所定の規則に従い出力先のバスを選択するステップと、
    選択したバスへ前記信号を出力するステップと、
    を含むことを特徴とする信号伝送方法。
  2. 前記選択するステップは、前記ブリッジユニットが属する列の識別番号と、前記送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号を、それぞれ2進数で表した際のビット列を、上位ビットから、前記ブリッジユニットが属する行の階層番号に応じた位まで比較した結果に基づき出力先のバスを選択することを特徴とする請求項1に記載の信号伝送方法。
  3. 前記信号を中継するステップは、前記選択に応じて、前記ブリッジユニットを管理するプロセッサユニットが管理するバスのエンドポイントと、別のプロセッサユニットが管理するバスのエンドポイントとを中継するブリッジを介して前記信号を別のプロセッサユニットが管理するブリッジユニットへ出力するステップを含むことを特徴とする請求項1または2に記載の信号伝送方法。
  4. 前記信号を中継するステップは、複数のブリッジユニットを経由して伝送される信号が、下流方向から上流方向へ1回のみの方向転換によって、前記送信先のプロセッサユニットへ到達するように出力先のバスが選択されることを特徴とする請求項1から3のいずれかに記載の信号伝送方法。
  5. 複数のプロセッサユニットを含むファットツリー構造の情報処理装置において異なるプロセッサユニット間を伝送する信号を中継するブリッジユニットであって、
    複数のバスブリッジと、
    2つのプロセッサユニットが管理する2つのデバイスツリーのエンドポイント間の信号伝送を中継するエンドポイントブリッジと、
    入力信号の出力先のバスを選択するスイッチルーティング回路と、
    を備え、
    前記スイッチルーティング回路は、前記ファットツリー構造において当該ブリッジユニットが属する列の識別番号と、当該ブリッジユニットが属する行の階層番号と、を設定するレジスタを備え、前記レジスタに設定された前記識別番号および前記階層番号と、前記入力信号の送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号と、に基づき、所定の規則に従い出力先のバスを選択し、それに応じて前記信号が前記バスブリッジまたは前記エンドポイントブリッジのいずれかを通過するように出力を制御することを特徴とするブリッジユニット。
  6. 前記スイッチルーティング回路は、前記ブリッジユニットが属する列の識別番号と、前記送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号を、それぞれ2進数で表した際のビット列を、上位ビットから、前記ブリッジユニットが属する行の階層番号に応じた位まで比較した結果に基づき出力先のバスを選択することを特徴とする請求項5に記載のブリッジユニット。
  7. 前記ファットツリー構造が2個のプロセッサユニットを有し、前記ブリッジユニットの階層番号mが0<m<nであった場合、前記送信先のプロセッサユニットが管理するブリッジユニットの列の識別番号を2進数で表した際の数列をtn[n−1:0]、前記ブリッジユニットの識別番号を2進数で表した際の数列をbn[n−1:0]とすると、前記スイッチルーティング回路によって、前記ブリッジユニットの上流から入力した信号は、
    tn[n−1:m]≠bn[n−1:m]
    ならいずれかの下流のバスへ、
    tn[n−1:m]=bn[n−1:m]
    なら
    bn'[m−1]=tn[m−1]
    なる識別番号の2進数の数列bn'[n−1:0]を有する列に属するブリッジユニットへ出力され、
    前記ブリッジユニットの下流から入力した信号は、全て
    bn'[m−1]=tn[m−1]
    なる識別番号2進数の数列bn'[n−1:0]を有する列に属するブリッジユニットへ出力されることを特徴とする請求項5または6に記載のブリッジユニット。
  8. 前記スイッチルーティング回路はさらに異なるパラメータに基づくルーティングの規則を実行するモードを有し、
    前記ブリッジユニットは、
    ユーザによる前記モードの選択に応じて、前記エンドポイントブリッジの出力信号と、前記バスブリッジの出力信号のいずれかを選択して有効な出力信号とするマルチプレクサをさらに備えることを特徴とする請求項5から7のいずれかに記載のブリッジユニット。
  9. 複数のプロセッサユニットと、
    異なるプロセッサユニット間を伝送する信号を中継するブリッジユニットと、
    を備え、前記ブリッジユニットは、
    1つのプロセッサユニットが管理するデバイスツリー内の信号伝送を中継するバスブリッジと、
    2つのプロセッサユニットが管理する2つのデバイスツリーのエンドポイント間の信号伝送を中継するエンドポイントブリッジと、
    異なるプロセッサユニット間を伝送する入力信号が最短経路で送信先のプロセッサユニットへ到達するように、自らが属するブリッジユニットのノードの識別番号と前記送信先のプロセッサユニットのノードの識別番号とに基づく所定の規則に従い、前記入力信号の出力先を前記バスブリッジおよび前記エンドポイントブリッジのいずれかから選択するスイッチルーティング回路と、
    を備えることを特徴とする情報処理装置。
JP2006008003A 2006-01-16 2006-01-16 信号伝送方法、ブリッジユニット、および情報処理装置 Expired - Fee Related JP4611901B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006008003A JP4611901B2 (ja) 2006-01-16 2006-01-16 信号伝送方法、ブリッジユニット、および情報処理装置
US11/651,417 US7552270B2 (en) 2006-01-16 2007-01-09 Signal transmission method, bridge unit, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006008003A JP4611901B2 (ja) 2006-01-16 2006-01-16 信号伝送方法、ブリッジユニット、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2007188447A JP2007188447A (ja) 2007-07-26
JP4611901B2 true JP4611901B2 (ja) 2011-01-12

Family

ID=38264594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006008003A Expired - Fee Related JP4611901B2 (ja) 2006-01-16 2006-01-16 信号伝送方法、ブリッジユニット、および情報処理装置

Country Status (2)

Country Link
US (1) US7552270B2 (ja)
JP (1) JP4611901B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5411612B2 (ja) * 2009-07-29 2014-02-12 アルパイン株式会社 通信装置
JP6089835B2 (ja) * 2013-03-19 2017-03-08 富士通株式会社 情報処理装置及び制御方法
JP2015156158A (ja) * 2014-02-21 2015-08-27 日本電気株式会社 命令処理装置、命令処理方法、命令処理プログラム、及び、情報処理装置
JP7179489B2 (ja) * 2018-05-18 2022-11-29 キヤノン株式会社 ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム
CN113391919B (zh) * 2021-04-25 2023-06-06 中国空气动力研究与发展中心计算空气动力研究所 一种基于二维胖树网络的计算结点分配方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06500655A (ja) * 1990-10-03 1994-01-20 スィンキング マシンズ コーポレーション 並列コンピュータ・システム
JPH09167146A (ja) * 1995-11-09 1997-06-24 Electron & Telecommun Res Inst クラスター基盤の並列処理コンピューターのための階層クロスバー相互連結網
JP2005150776A (ja) * 2003-11-11 2005-06-09 Hitachi Ltd パケット交換装置
JP2007532052A (ja) * 2004-03-11 2007-11-08 インタラクティック・ホールディングズ・エルエルシー 演算及びデータ貯蔵の管理のためのスケーラブルネットワーク

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076594B2 (en) * 2000-12-22 2006-07-11 Cisco Technology, Inc. Apparatus and method for preventing one way connectivity loops in a computer network
JP4560409B2 (ja) * 2002-10-08 2010-10-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを交換する集積回路および方法
US7099983B2 (en) * 2002-11-25 2006-08-29 Lsi Logic Corporation Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US7466701B2 (en) * 2004-11-12 2008-12-16 Stmicroelectronics S.R.L. Routing procedure and system, corresponding network, such as a network on chip (NOC), and computer program product therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06500655A (ja) * 1990-10-03 1994-01-20 スィンキング マシンズ コーポレーション 並列コンピュータ・システム
JPH09167146A (ja) * 1995-11-09 1997-06-24 Electron & Telecommun Res Inst クラスター基盤の並列処理コンピューターのための階層クロスバー相互連結網
JP2005150776A (ja) * 2003-11-11 2005-06-09 Hitachi Ltd パケット交換装置
JP2007532052A (ja) * 2004-03-11 2007-11-08 インタラクティック・ホールディングズ・エルエルシー 演算及びデータ貯蔵の管理のためのスケーラブルネットワーク

Also Published As

Publication number Publication date
US7552270B2 (en) 2009-06-23
US20070168594A1 (en) 2007-07-19
JP2007188447A (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
KR100812225B1 (ko) 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조
US8601423B1 (en) Asymmetric mesh NoC topologies
JP4611901B2 (ja) 信号伝送方法、ブリッジユニット、および情報処理装置
JP2001312481A (ja) アレイ型プロセッサ
JP2007220100A (ja) 複数のクロスバーを使用する分散クロスバーネットワークのシステム及び方法
EP2288084A2 (en) Network system, information processing apparatus, and control method for network system
KR102031269B1 (ko) 개선된 3d 토러스
JP4869714B2 (ja) 情報処理装置、信号伝送方法、およびブリッジ
CN100464323C (zh) 可重配置处理器和半导体器件
JP2552784B2 (ja) 並列データ処理制御方式
JP3987784B2 (ja) アレイ型プロセッサ
KR100868804B1 (ko) 멀티-포트 장치 구성 방법과, 머신 판독 가능 매체와, 장치 및 컴퓨터 시스템
JP2009059346A (ja) 複数のマルチモードプロセッサに接続するための方法および装置
JP3287283B2 (ja) Pciバスの割り込みステアリング回路
JP5595796B2 (ja) 動的サブネットワークを備えた相互接続ネットワーク
JP2007148622A (ja) インターフェース設定方法
US7647445B2 (en) Processor bus arrangement
JP2020009146A (ja) 共有型fifo装置
JP2005078177A (ja) 並列演算装置
Ziavras et al. Viable architectures for high-performance computing
Lin et al. Routing Algorithms for Irregular Mesh-Based Network-on-Chip
JP6665607B2 (ja) 通信管理方法、通信管理プログラム及び情報処理装置
JP2007013856A (ja) テーブル装置及びこれを用いたアドレス検索装置
JP2006053687A (ja) 演算装置
JP2007004424A (ja) バスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100921

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101014

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4611901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101126

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20110412

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees