JP5084197B2 - Processor node system and processor node cluster system - Google Patents

Processor node system and processor node cluster system Download PDF

Info

Publication number
JP5084197B2
JP5084197B2 JP2006217953A JP2006217953A JP5084197B2 JP 5084197 B2 JP5084197 B2 JP 5084197B2 JP 2006217953 A JP2006217953 A JP 2006217953A JP 2006217953 A JP2006217953 A JP 2006217953A JP 5084197 B2 JP5084197 B2 JP 5084197B2
Authority
JP
Japan
Prior art keywords
processor
board
bridge
mcp
port
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
JP2006217953A
Other languages
Japanese (ja)
Other versions
JP2008041027A (en
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
Original Assignee
Sony Interactive Entertainment Inc
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 Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2006217953A priority Critical patent/JP5084197B2/en
Publication of JP2008041027A publication Critical patent/JP2008041027A/en
Application granted granted Critical
Publication of JP5084197B2 publication Critical patent/JP5084197B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、複数のプロセッサを相互接続したプロセッサノードシステムおよびプロセッサノードクラスタシステムに関する。   The present invention relates to a processor node system and a processor node cluster system in which a plurality of processors are interconnected.

パーソナルコンピュータやサーバには、PCI(Peripheral Component Interconnect)バスを介して各種の周辺デバイスが接続され、情報処理システムが構成される。プロセッサの入出力バスと、周辺デバイスの入出力バスであるPCIバスとは規格が異なるため、通常、ブリッジを介してプロセッサと周辺デバイスとが接続される。   Various peripheral devices are connected to a personal computer or server via a PCI (Peripheral Component Interconnect) bus to constitute an information processing system. Since the input / output bus of the processor and the PCI bus that is the input / output bus of the peripheral device have different standards, the processor and the peripheral device are usually connected via a bridge.

情報処理システムの機能拡張や性能強化を図るために、グラフィックプロセッサや高速なメモリデバイスをPCIデバイスとして接続することがあり、より多くの周辺デバイスをPCIバスで接続できるようにすることが要請されている。そのため、PCIエクスプレス(PCI Express)(商標または登録商標)スイッチを用いて、一つのプロセッサに対して複数のデバイスを接続することが行われている。また、複数のプロセッサノードを相互接続したり、プロセッサノードとデバイスを相互接続するために、Infinibandと呼ばれる超高速インタフェース技術が用いられることがある。   In order to expand the functions and enhance the performance of information processing systems, graphic processors and high-speed memory devices are sometimes connected as PCI devices, and more peripheral devices are required to be connected via the PCI bus. Yes. Therefore, a plurality of devices are connected to one processor using a PCI Express (trademark or registered trademark) switch. In addition, in order to interconnect a plurality of processor nodes or to interconnect a processor node and a device, an ultra-high-speed interface technology called Infiniband may be used.

10ギガビットイーサネット(商標または登録商標)やInfiniband技術を用いて複数のプロセッサノードを相互接続したクラスタシステムでは、プロセッサ間の高速な通信を実現することができるという利点があるが、スイッチが未だ高価であるため、クラスタシステムを低価格で提供することは難しく、クラスタ内のプロセッサノード数を増やしていくには限界がある。さらに、イーサネット(商標または登録商標)やInfinibandでは、パケットの生成、プロトコル処理などソフトウェアのオーバーヘッドが大きいというデメリットがある。   In a cluster system in which a plurality of processor nodes are interconnected using 10 Gigabit Ethernet (trademark or registered trademark) or Infiniband technology, there is an advantage that high-speed communication between processors can be realized, but a switch is still expensive. Therefore, it is difficult to provide a cluster system at a low price, and there is a limit to increasing the number of processor nodes in the cluster. Further, Ethernet (trademark or registered trademark) and Infiniband have disadvantages such as large software overhead such as packet generation and protocol processing.

本発明はこうした課題に鑑みてなされたものであり、その目的は、複数のプロセッサを安価な手段により結合して、高速なプロセッサ間通信を実現する技術およびその技術を利用したプロセッサノードシステムやプロセッサノードクラスタシステムを提供することにある。   The present invention has been made in view of these problems, and an object of the present invention is to realize a technique for realizing high-speed communication between processors by combining a plurality of processors by inexpensive means, and a processor node system and a processor using the technique. To provide a node cluster system.

上記課題を解決するために、本発明のある態様のプロセッサノードシステムは、プロセッサと、前記プロセッサの入出力バスと周辺デバイスが接続されるPCIエクスプレスとの間でデータを中継するブリッジとが搭載されたプロセッサ基板を複数含む。前記ブリッジのポートは当該プロセッサがホストとなるルートコンプレックスモードまたは当該プロセッサが周辺デバイスとなるエンドポイントモードに設定可能に構成され、一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートを、別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに接続することにより、前記複数のプロセッサ基板間が相互結合される。   In order to solve the above problems, a processor node system according to an aspect of the present invention includes a processor and a bridge that relays data between an input / output bus of the processor and a PCI express to which a peripheral device is connected. A plurality of processor boards. The port of the bridge is configured to be set to a root complex mode in which the processor is a host or an endpoint mode in which the processor is a peripheral device. By connecting to a port set to the end point mode of the bridge of the processor boards, the plurality of processor boards are mutually coupled.

前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとがフレキシブル基板により配線接続されてもよい。   A PCI express connector provided in a port set in the root complex mode of the bridge of the one processor board and a PCI express connector provided in a port set in the end point mode of the bridge of the other processor board May be connected by wiring.

前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとを相互接続するための一枚のバックプレーン基板をさらに設けてもよい。   The PCI express connector provided in the port set in the root complex mode of the bridge of the one processor board and the PCI express connector provided in the port set in the endpoint mode of the bridge of the other processor board are interconnected. A single backplane substrate may be further provided.

本発明の別の態様もまた、プロセッサノードシステムである。このプロセッサノードシステムは、プロセッサと、前記プロセッサの入出力バスと周辺デバイスが接続されるPCIエクスプレスとの間でテータを中継するブリッジのセットが2組搭載されたプロセッサ基板を4枚含む。各ブリッジは、当該プロセッサがホストとなるルートコンプレックスモードに設定されたポートと当該プロセッサが周辺デバイスとなるエンドポイントモードに設定されたポートを有する。一のプロセッサ基板のルートコンプレックスモードに設定されたポートは、別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに接続されることを条件として、各プロセッサ基板の合計4個のポートの内、3個のポートを用いて、前記4枚のプロセッサ基板の内、任意の2枚のプロセッサ基板間を相互結合される。   Another aspect of the present invention is also a processor node system. This processor node system includes four processor boards on which two sets of bridges for relaying data between a processor and a PCI express to which the input / output bus of the processor and peripheral devices are connected are mounted. Each bridge has a port set in a root complex mode where the processor is a host and a port set in an endpoint mode where the processor is a peripheral device. A port set in the root complex mode of one processor board is connected to a port set in the endpoint mode of the bridge of another processor board. Of the four processor boards, two of the four processor boards are mutually coupled using three ports.

筐体内に前記4枚のプロセッサ基板面を互いに平行に設置し、筐体背面に各プロセッサ基板のブリッジのポートに設けられるPCIエクスプレスコネクタが配置されるように構成し、筐体背面に配置された各プロセッサ基板のPCIエクスプレスコネクタ間をフレキシブル基板により接続してもよい。   The four processor board surfaces are installed parallel to each other in the housing, and the PCI express connector provided at the bridge port of each processor board is arranged on the rear surface of the housing. The PCI express connectors of each processor board may be connected by a flexible board.

筐体内に前記4枚のプロセッサ基板面を互いに平行に設置し、筐体背面に各プロセッサ基板のブリッジのポートに設けられるPCIエクスプレスコネクタが配置されるように構成し、前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとを相互接続するための一枚のバックプレーン基板をさらに設けてもよい。   The four processor board surfaces are installed in a case in parallel to each other, and a PCI express connector provided at a bridge port of each processor board is arranged on the back side of the case. One back for interconnecting a PCI express connector provided in a port set in the root complex mode and a PCI express connector provided in a port set in the endpoint mode of the bridge of the other processor board A plain substrate may be further provided.

本発明のさらに別の態様は、プロセッサノードクラスタシステムである。このプロセッサノードクラスタシステムは、プロセッサノードシステムを複数含む。隣接する2つのプロセッサノードシステム間で当該プロセッサノードシステム内のプロセッサ基板間の接続に使用されていない空きポートを互いに接続することにより、前記複数のプロセッサノードシステム間が相互結合される。   Yet another embodiment of the present invention is a processor node cluster system. This processor node cluster system includes a plurality of processor node systems. By connecting unused ports that are not used for connection between processor boards in the processor node system between two adjacent processor node systems, the plurality of processor node systems are mutually coupled.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and the expression of the present invention converted between a method, an apparatus, a system, a computer program, a data structure, a recording medium, and the like are also effective as an aspect of the present invention.

本発明によれば、複数のプロセッサを相互接続して安価で高性能なシステムを構成することができる。   According to the present invention, an inexpensive and high-performance system can be configured by interconnecting a plurality of processors.

実施の形態に係るクラスタシステムは、プロセッサが搭載された基板(ボード)をフレキシブル基板で密結合することにより構成される。図1を参照して、各プロセッサ基板の構成を説明し、図2を参照して、4つのプロセッサ基板をフレキシブル基板により密結合したノードの構成を説明する。図3を参照して、複数のノード間をフレキシブル基板により連結することにより構成されるクラスタシステムを説明する。また、図4〜図8を参照して、プロセッサ基板間をフレキシブル基板により接続する形態について説明する。   The cluster system according to the embodiment is configured by tightly coupling a board (board) on which a processor is mounted with a flexible board. The configuration of each processor board will be described with reference to FIG. 1, and the configuration of a node in which four processor boards are tightly coupled by a flexible board will be described with reference to FIG. With reference to FIG. 3, a cluster system configured by connecting a plurality of nodes with a flexible substrate will be described. A form in which the processor boards are connected by a flexible board will be described with reference to FIGS.

図1は、プロセッサ基板50の構成図である。プロセッサ基板50には、2つのマルチコアプロセッサ(Multicore Processor)(以下、「MCP」と呼ぶ)20、21が搭載されている。各MCP20、21は、複数のプロセッサコアを1つのパッケージに集積したものであり、プロセッサコアとして、1つのプロセッシングエレメント(PE)と、複数のサブプロセッシングエレメント(SPE)を含む。PEは、キャッシュメモリを有し、DRAM10から読み込んだデータをキャッシュしながら、情報処理を行う。また、PEは、各MCP20、21全体を統括的に制御する。各SPEはローカルメモリを内部にもち、ローカルメモリに対してデータを読み書きしながら、情報処理を行う。複数のSPEは非同期で動作する。   FIG. 1 is a configuration diagram of the processor board 50. On the processor board 50, two multicore processors (hereinafter referred to as “MCP”) 20 and 21 are mounted. Each of the MCPs 20 and 21 is obtained by integrating a plurality of processor cores in one package, and includes one processing element (PE) and a plurality of sub-processing elements (SPE) as the processor core. The PE has a cache memory, and performs information processing while caching data read from the DRAM 10. The PE controls the entire MCPs 20 and 21 in an integrated manner. Each SPE has a local memory, and performs information processing while reading / writing data from / to the local memory. Multiple SPEs operate asynchronously.

2つのMCP20、21は入出力インタフェース(以下、「IOIF」と呼ぶ)64を介して相互に接続されており、高速なデータ通信が可能である。さらに、各MCP20、21は、IOIF62、63を介してブリッジ30、31の上流(アップストリーム)ポートに接続されている。ブリッジ30、31の下流(ダウンストリーム)ポートには、PCIエクスプレス66、67を介して各種の周辺(ペリフェラル)デバイスや他のプロセッサ基板が接続される。   The two MCPs 20 and 21 are connected to each other via an input / output interface (hereinafter referred to as “IOIF”) 64, and high-speed data communication is possible. Further, each MCP 20, 21 is connected to the upstream (upstream) port of the bridges 30, 31 via the IOIFs 62, 63. Various peripheral (peripheral) devices and other processor boards are connected to the downstream (downstream) ports of the bridges 30 and 31 via PCI express 66 and 67.

ここで、PCIエクスプレス66、67は、PCIエクスプレス(PCI Express)(商標または登録商標)の仕様にしたがうものであるが、現行のPCIエクスプレス規格に限定する趣旨ではなく、現行のPCIエクスプレス規格に準拠するものや、現行のPCIエクスプレス規格をさらに拡張したり、発展させた規格によるものであってもかまわない。PCIエクスプレス66、67で接続された周辺デバイスや他のプロセッサ基板を以下、「PCIデバイス」という。   Here, PCI Express 66 and 67 comply with the specification of PCI Express (trademark or registered trademark), but are not limited to the current PCI Express standard, and conform to the current PCI Express standard. It may be based on a standard that has been expanded or developed from the current PCI Express standard. Peripheral devices and other processor boards connected by the PCI express 66 and 67 are hereinafter referred to as “PCI devices”.

IOIF62、63、64は、上りと下りの2つのチャネルをもち、メモリバスに匹敵する高い帯域幅、たとえば、数十ギガバイト/秒を実現している。各MCP20、21の所定のメモリ領域は、IOIF62、63、64を介して参照可能なI/Oアドレス空間にメモリマッピングされる。各MCP20、21は、IOIF62、63、64を介してI/Oアドレス空間にマッピングされた他のMCPのメモリ領域にアクセスすることが可能であり、高速なプロセッサ間通信が実現される。   The IOIFs 62, 63, and 64 have two channels, upstream and downstream, and realize a high bandwidth comparable to the memory bus, for example, several tens of gigabytes / second. A predetermined memory area of each MCP 20, 21 is memory-mapped into an I / O address space that can be referred to via the IOIFs 62, 63, 64. Each MCP 20, 21 can access the memory area of another MCP mapped to the I / O address space via the IOIFs 62, 63, 64, thereby realizing high-speed interprocessor communication.

各ブリッジ30、31は、IOIF62、63とPCIエクスプレス66、67とを「橋渡し」することで、MCP20、21とPCIデバイスとを相互接続する。IOIF62、63と、PCIエクスプレス66、67とは、バスの規格が異なるため、ブリッジ30、31は、2つのバスの間でプロトコルの変換を行い、MCP20、21とPCIデバイスとがやりとりするデータのフォーマットを各バスの仕様に合わせる。   Each bridge 30, 31 “bridges” the IOIFs 62, 63 and the PCI express 66, 67, thereby interconnecting the MCPs 20, 21 and the PCI device. Since the IOIFs 62 and 63 and the PCI express 66 and 67 have different bus standards, the bridges 30 and 31 convert the protocol between the two buses, and exchange data between the MCPs 20 and 21 and the PCI device. Match the format to the specifications of each bus.

PCIエクスプレス66、67に接続されたPCIデバイスの先にさらにPCIエクスプレスを介してPCIデバイスを接続していくと、MCP20、21をルート(根)とし、リーフ(葉)にはPCIデバイスが接続されたPCIデバイスのツリー(木)構造が形成される。以下、このPCIデバイスのツリー構造を「PCIツリー」という。   When a PCI device is further connected to the end of the PCI device connected to the PCI express 66 or 67 via the PCI express, the MCP 20 or 21 is set as the root, and the PCI device is connected to the leaf. A PCI device tree structure is formed. Hereinafter, the tree structure of the PCI device is referred to as “PCI tree”.

各ブリッジ30、31の下流ポートは2つ設けられており、一方は、ルートコンプレックス(RC;Root Complex)として、他方は、エンドポイント(EP;Endpoint)としてコンフィグレーションして用いることができる。1つのポートがルートコンプレックスモードとエンドポイントモードを切り替えられるように構成されてもよい。ブリッジ30、31の下流ポートをルートコンプレックスとして用いると、MCP20、21は、PCIツリーのルートとなって、PCIデバイスを接続するホストとして機能する。ブリッジ30、31の下流ポートをエンドポイントとして用いると、MCP20、21は、ホストに接続されるPCIデバイスとして機能する。   Two downstream ports of each bridge 30 and 31 are provided. One can be configured and used as a root complex (RC) and the other as an endpoint (EP). One port may be configured to be able to switch between the root complex mode and the endpoint mode. When the downstream ports of the bridges 30 and 31 are used as a root complex, the MCPs 20 and 21 function as hosts for connecting PCI devices as roots of the PCI tree. When the downstream ports of the bridges 30 and 31 are used as endpoints, the MCPs 20 and 21 function as PCI devices connected to the host.

ブリッジ30、31の下流ポートには、ルートコンプレックス用のコネクタ40R、41Rと、エンドポイント用のコネクタ40E、41Eとが設けられる。本実施の形態では、プロセッサ基板50に設けられた合計4個のコネクタ40R、40E、41R、41Eの内、3個のコネクタを同一ノード内の他の3つのプロセッサ基板との接続に用い、残りの1個のコネクタを他のノードのプロセッサ基板との接続に用いる。   Downstream ports of the bridges 30 and 31 are provided with route complex connectors 40R and 41R and endpoint connectors 40E and 41E. In the present embodiment, three connectors out of a total of four connectors 40R, 40E, 41R, 41E provided on the processor board 50 are used for connection to the other three processor boards in the same node, and the remaining One connector is used for connection to the processor board of another node.

図2は、4つのプロセッサ基板が密結合されたノード100の構成図である。ノード100は、第1プロセッサ基板50、第2プロセッサ基板51、第3プロセッサ基板52、および第4プロセッサ基板53をフレキシブル基板で相互に接続したものである。各プロセッサ基板50〜53の構成は、図1で説明した通りである。   FIG. 2 is a configuration diagram of the node 100 in which four processor boards are tightly coupled. In the node 100, a first processor board 50, a second processor board 51, a third processor board 52, and a fourth processor board 53 are connected to each other by a flexible board. The configuration of each of the processor boards 50 to 53 is as described in FIG.

以下、第1プロセッサ基板50、第2プロセッサ基板51、第3プロセッサ基板52、第4プロセッサ基板53をそれぞれ「プロセッサ基板0」、「プロセッサ基板1」、「プロセッサ基板2」、「プロセッサ基板3」と呼ぶ。   Hereinafter, the first processor board 50, the second processor board 51, the third processor board 52, and the fourth processor board 53 are respectively referred to as “processor board 0”, “processor board 1”, “processor board 2”, and “processor board 3”. Call it.

プロセッサ基板0に搭載された2つのMCP20、21をそれぞれ「MCP0」、「MCP1」と呼び、MCP0、MCP1に接続されたブリッジ30、31をそれぞれ「ブリッジ0」、「ブリッジ1」と呼ぶ。同様に、プロセッサ基板1に搭載された2つのMCP22、23をそれぞれ「MCP2」、「MCP3」と呼び、MCP2、MCP3に接続されたブリッジ32、33をそれぞれ「ブリッジ2」、「ブリッジ3」と呼ぶ。プロセッサ基板2に搭載された2つのMCP24、25をそれぞれ「MCP4」、「MCP5」と呼び、MCP4、MCP5に接続されたブリッジ34、35をそれぞれ「ブリッジ4」、「ブリッジ5」と呼ぶ。プロセッサ基板3に搭載された2つのMCP26、27をそれぞれ「MCP6」、「MCP7」と呼び、MCP6、MCP7に接続されたブリッジ36、37をそれぞれ「ブリッジ6」、「ブリッジ7」と呼ぶ。   The two MCPs 20 and 21 mounted on the processor board 0 are called “MCP0” and “MCP1”, respectively, and the bridges 30 and 31 connected to the MCP0 and MCP1 are called “bridge 0” and “bridge 1”, respectively. Similarly, the two MCPs 22 and 23 mounted on the processor board 1 are referred to as “MCP2” and “MCP3”, respectively, and the bridges 32 and 33 connected to the MCP2 and MCP3 are referred to as “bridge 2” and “bridge 3”, respectively. Call. The two MCPs 24 and 25 mounted on the processor board 2 are called “MCP4” and “MCP5”, respectively, and the bridges 34 and 35 connected to the MCP4 and MCP5 are called “bridge 4” and “bridge 5”, respectively. The two MCPs 26 and 27 mounted on the processor board 3 are called “MCP6” and “MCP7”, respectively, and the bridges 36 and 37 connected to the MCP6 and MCP7 are called “bridge 6” and “bridge 7”, respectively.

各プロセッサ基板内の2つのMCPを相互接続するIOIFを「IOIF0」と呼び、MCPとブリッジの上流ポート間のIOIFを「IOIF1」と呼ぶ。   An IOIF interconnecting two MCPs in each processor board is called “IOIF0”, and an IOIF between the MCP and the upstream port of the bridge is called “IOIF1”.

ブリッジ0のRC用コネクタ、EP用コネクタをそれぞれ「コネクタRC0」、「コネクタEP0」と呼ぶ。同様に、ブリッジ1〜ブリッジ7のRC用コネクタをそれぞれ「コネクタRC1」〜「コネクタRC7」と呼び、ブリッジ1〜ブリッジ7のEP用コネクタをそれぞれ「コネクタEP1」〜「コネクタEP7」と呼ぶ。   The RC connector and the EP connector of the bridge 0 are referred to as “connector RC0” and “connector EP0”, respectively. Similarly, the RC connectors of the bridges 1 to 7 are called “connectors RC1” to “connectors RC7”, respectively, and the EP connectors of the bridges 1 to 7 are called “connectors EP1” to “connectors EP7”, respectively.

プロセッサ基板0のMCP0側のブリッジ0のコネクタRC0は、プロセッサ基板1のMCP3側のブリッジ3のコネクタEP3と接続される。この接続により、プロセッサ基板0のMCP0から見た場合、MCP0はルートコンプレックスとして機能し、プロセッサ基板1のMCP3はエンドポイントとして機能する。すなわち、プロセッサ基板0のMCP0はホストであり、プロセッサ基板1をPCIデバイスとして接続した形態となり、MCP0をルートとしてMCP3をつないだPCIツリーが形成される。   The connector RC0 of the bridge 0 on the MCP0 side of the processor board 0 is connected to the connector EP3 of the bridge 3 on the MCP3 side of the processor board 1. With this connection, when viewed from the MCP0 of the processor board 0, the MCP0 functions as a root complex, and the MCP3 of the processor board 1 functions as an end point. That is, the MCP0 of the processor board 0 is a host, and the processor board 1 is connected as a PCI device, and a PCI tree is formed by connecting the MCP3 with the MCP0 as a root.

プロセッサ基板0のMCP1側のブリッジ1のコネクタRC1は、プロセッサ基板2のMCP4側のブリッジ4のコネクタEP4と接続される。ルートコンプレックスであるプロセッサ基板0のMCP1から見た場合、プロセッサ基板0のMCP1をホスト、プロセッサ基板2をデバイスとするPCIツリーが形成される。   The connector RC1 of the bridge 1 on the MCP1 side of the processor board 0 is connected to the connector EP4 of the bridge 4 on the MCP4 side of the processor board 2. When viewed from the MCP1 of the processor board 0 that is the root complex, a PCI tree is formed in which the MCP1 of the processor board 0 is the host and the processor board 2 is the device.

プロセッサ基板0のMCP1側のブリッジ1のコネクタEP1は、プロセッサ基板3のMCP6側のブリッジ6のコネクタRC6と接続される。ルートコンプレックスであるプロセッサ基板3のMCP6から見た場合、プロセッサ基板3のMCP6をホスト、プロセッサ基板0をデバイスとするPCIツリーが形成される。   The connector EP1 of the bridge 1 on the MCP1 side of the processor board 0 is connected to the connector RC6 of the bridge 6 on the MCP6 side of the processor board 3. When viewed from the MCP 6 of the processor board 3 that is the root complex, a PCI tree is formed with the MCP 6 of the processor board 3 as a host and the processor board 0 as a device.

同様に、プロセッサ基板1のMCP2側のブリッジ2のコネクタRC2は、プロセッサ基板2のMCP5側のブリッジ5のコネクタEP5と接続され、ブリッジ2のコネクタEP2は、プロセッサ基板3のMCP7側のブリッジ7のコネクタRC7と接続される。プロセッサ基板2のMCP4側のブリッジ4のコネクタRC4は、プロセッサ基板3のMCP7側のブリッジ7のコネクタEP7と接続される。   Similarly, the connector RC2 of the bridge 2 on the MCP2 side of the processor board 1 is connected to the connector EP5 of the bridge 5 on the MCP5 side of the processor board 2, and the connector EP2 of the bridge 2 is connected to the bridge 7 on the MCP7 side of the processor board 3. Connected to the connector RC7. The connector RC4 of the bridge 4 on the MCP4 side of the processor board 2 is connected to the connector EP7 of the bridge 7 on the MCP7 side of the processor board 3.

ノード100内のプロセッサ基板間の接続に用いられないブリッジのコネクタ、すなわち、プロセッサ基板0のブリッジ0のコネクタEP0、プロセッサ基板1のブリッジ3のコネクタRC3、プロセッサ基板2のブリッジ5のコネクタRC5、およびプロセッサ基板3のブリッジ6のコネクタEP6は、空きスロットとして、他のノードのプロセッサ基板との接続に利用される。   Bridge connectors not used for connection between processor boards in node 100, ie, connector EP0 of bridge 0 of processor board 0, connector RC3 of bridge 3 of processor board 1, connector RC5 of bridge 5 of processor board 2, and The connector EP6 of the bridge 6 of the processor board 3 is used as a free slot for connection to the processor board of another node.

図3は、複数のノードを連結したクラスタシステム200の構成図である。クラスタシステム200は、図2で説明した構成のノード100〜102、110〜112、120〜120を上下左右に連結したものである。たとえば、ノード100の右にはノード101が接続され、ノード101のさらに右にはノード102が接続される。ノード100の下にはノード110が接続され、ノード110のさらに下にはノード120が接続される。   FIG. 3 is a configuration diagram of a cluster system 200 in which a plurality of nodes are connected. In the cluster system 200, the nodes 100 to 102, 110 to 112, and 120 to 120 having the configuration described in FIG. For example, the node 101 is connected to the right of the node 100, and the node 102 is connected to the right of the node 101. A node 110 is connected below the node 100, and a node 120 is connected further below the node 110.

同図に示すように、左右に並ぶ2つのノードは、左側のノードのプロセッサ基板3のコネクタEP6と、右側のノードのプロセッサ基板1のコネクタRC3とを接続することにより、結合される。上下に並ぶ2つのノードは、上側のノードのプロセッサ基板2のコネクタRC5と、下側のノードのプロセッサ基板0のコネクタEP0とを接続することにより、結合される。   As shown in the figure, the two nodes arranged in the left and right direction are coupled by connecting the connector EP6 of the processor board 3 of the left node and the connector RC3 of the processor board 1 of the right node. The two nodes arranged vertically are coupled by connecting the connector RC5 of the processor board 2 of the upper node and the connector EP0 of the processor board 0 of the lower node.

クラスタシステム200において、端部に位置するノードの隣接ノードが存在しない側のコネクタは空きスロットになるが、この空きスロットには各種の周辺デバイスを接続したり、さらにノードを接続することにより、システムを拡張することができる。   In the cluster system 200, the connector on the side where the adjacent node of the node located at the end does not exist becomes an empty slot. By connecting various peripheral devices to this empty slot and further connecting nodes, the system Can be extended.

このように、クラスタシステム200では、ノードを上下左右に結合する平面上の配置により、ノード数を自由自在に増やしていくことができるという利点がある。   As described above, the cluster system 200 has an advantage that the number of nodes can be freely increased by the arrangement on the plane connecting the nodes vertically and horizontally.

クラスタシステム200において、各ノード内の4枚のプロセッサ基板間の接続、およびノード間の接続には、フレキシブル基板が用いられる。以下、図4〜図8を参照して、フレキシブル基板を用いた接続形態を説明する。   In the cluster system 200, a flexible substrate is used for connection between four processor boards in each node and for connection between nodes. Hereinafter, a connection form using a flexible substrate will be described with reference to FIGS.

図4は、プロセッサ基板50の裏面の配線の模式図である。同図において、MCP0と複数のDRAM10の間の配線、MCP0とブリッジ0の間の配線、ブリッジ0とコネクタRC0、EP0の間の配線が示されている。また、MCP1と複数のDRAM11の間の配線、MCP1とブリッジ1の間の配線、ブリッジ1とコネクタRC1、EP1の間の配線が示されている。各コネクタRC0、EP0、RC1、EP1はPCI−Express×16コネクタであり、フレキシブル基板を接続することができる。   FIG. 4 is a schematic diagram of the wiring on the back surface of the processor board 50. In the figure, wiring between MCP0 and a plurality of DRAMs 10, wiring between MCP0 and bridge 0, and wiring between bridge 0 and connectors RC0 and EP0 are shown. Also, wiring between MCP1 and a plurality of DRAMs 11, wiring between MCP1 and bridge 1, and wiring between bridge 1 and connectors RC1 and EP1 are shown. Each connector RC0, EP0, RC1, EP1 is a PCI-Express × 16 connector and can be connected to a flexible substrate.

図5は、ノード100内の4枚のプロセッサ基板50〜53間をフレキシブル基板によって接続した構成を示す図である。フレキシブル基板は、プリント配線基板の一種であり、FPC(Flexible Printed Circuit)とも呼ばれ、薄くて屈曲性がある。   FIG. 5 is a diagram showing a configuration in which the four processor boards 50 to 53 in the node 100 are connected by a flexible board. A flexible substrate is a kind of printed wiring board, also called FPC (Flexible Printed Circuit), and is thin and flexible.

図2で説明したプロセッサ基板50〜53(プロセッサ基板0〜3)を、フレキシブル基板による接続がしやすいように、プロセッサ基板1(符号51)、プロセッサ基板0(符号50)、プロセッサ基板2(符号52)、プロセッサ基板3(符号53)の順に、基板面を互いに平行にして配置する。   The processor boards 50 to 53 (processor boards 0 to 3) described in FIG. 2 are easily connected to each other by a flexible board, the processor board 1 (reference numeral 51), the processor board 0 (reference numeral 50), and the processor board 2 (reference numeral). 52) and the processor boards 3 (reference numeral 53) in this order, the board surfaces are arranged parallel to each other.

プロセッサ基板1のコネクタRC2は、フレキシブル基板201によりプロセッサ基板2のコネクタEP5と接続される。プロセッサ基板1のコネクタEP2は、フレキシブル基板202によりプロセッサ基板3のコネクタRC7と接続される。プロセッサ基板1のコネクタEP3は、フレキシブル基板203によりプロセッサ基板0のコネクタRC0と接続される。   The connector RC2 of the processor board 1 is connected to the connector EP5 of the processor board 2 by the flexible board 201. The connector EP2 of the processor board 1 is connected to the connector RC7 of the processor board 3 by the flexible board 202. The connector EP3 of the processor board 1 is connected to the connector RC0 of the processor board 0 by the flexible board 203.

プロセッサ基板0のコネクタRC1は、プロセッサ基板2のコネクタEP4とフレキシブル基板204によって接続される。プロセッサ基板0のコネクタEP1は、プロセッサ基板3のコネクタRC6とフレキシブル基板205によって接続される。プロセッサ基板2のコネクタRC4は、プロセッサ基板3のコネクタEP7とフレキシブル基板206によって接続される。   The connector RC1 of the processor board 0 is connected to the connector EP4 of the processor board 2 by the flexible board 204. The connector EP1 of the processor board 0 is connected to the connector RC6 of the processor board 3 and the flexible board 205. The connector RC4 of the processor board 2 is connected to the connector EP7 of the processor board 3 by the flexible board 206.

プロセッサ基板1のコネクタEP2とプロセッサ基板3のコネクタRC7をつなぐフレキシブル基板202は、プロセッサ基板0のコネクタRC1とプロセッサ基板2のコネクタEP4をつなぐフレキシブル基板204の上側をまたいでいる。このようにフレキシブル基板を用いれば、配線の上に別の配線が通るような接続形態も可能であり、4枚のプロセッサ基板を平行に並べて相互に密結合させ、省スペース化を図ることができる。   The flexible board 202 that connects the connector EP2 of the processor board 1 and the connector RC7 of the processor board 3 straddles the upper side of the flexible board 204 that connects the connector RC1 of the processor board 0 and the connector EP4 of the processor board 2. If a flexible board is used in this way, a connection configuration in which another wiring passes over the wiring is possible, and four processor boards can be arranged in parallel and tightly coupled to each other to save space. .

また、汎用品のPCIエクスプレスコネクタとフレキシブル基板を用いてプロセッサ基板間を接続する構成であるため、PCIエクスプレススイッチなどでプロセッサ基板間を相互接続した構成に比べて、はるかに安価であり、製造コストを削減することができる。   In addition, since the configuration is such that the processor boards are connected using a general-purpose PCI Express connector and a flexible board, it is far cheaper than the configuration in which the processor boards are interconnected by a PCI Express switch or the like, and the manufacturing cost is low. Can be reduced.

さらに、プロセッサ基板の部品実装密度を高くし、プロセッサ基板を小型化することによって、より短いフレキシブル基板でプロセッサ基板を相互接続することができ、高速信号を扱うことが可能になる。PCI−Expressは高速通信を前提としており、ケーブル接続では信号の伝搬が遅く、ケーブル接続によってプロセッサ基板間の密結合を実現することは困難である。本実施の形態では、フレキシブル基板でプロセッサ基板間を配線するため、高速信号の伝搬が可能である。   Furthermore, by increasing the component mounting density of the processor board and reducing the size of the processor board, the processor boards can be interconnected with a shorter flexible board, and high-speed signals can be handled. PCI-Express is premised on high-speed communication, and signal propagation is slow in cable connection, and it is difficult to realize tight coupling between processor boards by cable connection. In this embodiment mode, the processor boards are wired with flexible boards, so that high-speed signal propagation is possible.

図6は、クラスタシステム200内の複数のノード間をフレキシブル基板によって接続した構成を示す図である。同図では、図3の4つの隣接するノード100、101、110、111の接続形態が示されている。各ノード100、101、110、111内の4枚のプロセッサ基板間は、図5で説明したようにフレキシブル基板で接続されている。ただし、ノード110については、ノード間の接続形態を把握しやすくするため、ノード内のプロセッサ基板間を接続するフレキシブル基板を図示していない。   FIG. 6 is a diagram showing a configuration in which a plurality of nodes in the cluster system 200 are connected by a flexible substrate. In the figure, the connection form of the four adjacent nodes 100, 101, 110, 111 of FIG. 3 is shown. The four processor boards in each of the nodes 100, 101, 110, and 111 are connected by a flexible board as described with reference to FIG. However, for the node 110, in order to make it easy to grasp the connection form between the nodes, a flexible substrate for connecting the processor boards in the node is not shown.

ノード100のプロセッサ基板3のコネクタEP6は、ノード101のプロセッサ基板1のコネクタRC3とフレキシブル基板211によって接続される。これにより2つのノード100、101が左右方向に結合する。同様にノード110のプロセッサ基板3のコネクタEP6は、ノード111のプロセッサ基板1のコネクタRC3とフレキシブル基板221によって接続され、2つのノード110、111が左右方向に結合する。   The connector EP6 of the processor board 3 of the node 100 is connected to the connector RC3 of the processor board 1 of the node 101 by the flexible board 211. As a result, the two nodes 100 and 101 are coupled in the left-right direction. Similarly, the connector EP6 of the processor board 3 of the node 110 is connected to the connector RC3 of the processor board 1 of the node 111 and the flexible board 221, and the two nodes 110 and 111 are coupled in the left-right direction.

ノード100のプロセッサ基板2のコネクタRC5は、ノード110のフレキシブル基板0のコネクタEP0とフレキシブル基板214によって接続される。これにより2つのノード100、110が上下方向に結合する。同様に、ノード101のプロセッサ基板2のコネクタRC5は、ノード111のフレキシブル基板0のコネクタEP0とフレキシブル基板224によって接続され、2つのノード101、111が上下方向に結合する。   The connector RC5 of the processor board 2 of the node 100 is connected to the connector EP0 of the flexible board 0 of the node 110 by the flexible board 214. As a result, the two nodes 100 and 110 are coupled in the vertical direction. Similarly, the connector RC5 of the processor board 2 of the node 101 is connected by the connector EP0 of the flexible board 0 of the node 111 and the flexible board 224, and the two nodes 101 and 111 are coupled in the vertical direction.

クラスタシステム200では、ノード間の接続にもフレキシブル基板が用いられ、省スペース化とコストダウンを図ることができる。クラスタシステム200は、複数のノードを平面上で上下左右に配置して接続する形態であるため、隣り合うノード間の距離を短くすることができ、ノード間接続に用いるフレキシブル基板の長さを十分に短くすることができ、PCI−Expressの高速信号を扱うことができる。   In the cluster system 200, a flexible substrate is also used for connection between nodes, and space saving and cost reduction can be achieved. Since the cluster system 200 has a configuration in which a plurality of nodes are arranged in a plane on the top, bottom, left, and right, the distance between adjacent nodes can be shortened, and the length of the flexible substrate used for inter-node connection is sufficient. And a high-speed PCI-Express signal can be handled.

図7は、ノード100の筐体を説明する図である。ノード100の筐体には、4枚のプロセッサ基板50から53が収納されており、背面のコネクタ間は図5で説明したように6個のフレキシブル基板201〜206で接続されている。さらに、図6で説明したように、プロセッサ基板0には、上方向に隣接するノードのプロセッサ基板2と接続するためのフレキシブル基板213が設けられ、プロセッサ基板2には、下方向に隣接するノードのプロセッサ基板0と接続するためのフレキシブル基板214が設けられる。一方、プロセッサ基板1には、左方向に隣接するノードのプロセッサ基板3と接続するためのフレキシブル基板212が設けられ、プロセッサ基板3には、右方向に隣接するノードのプロセッサ基板1と接続するためのフレキシブル基板211が設けられる。   FIG. 7 is a diagram for explaining the housing of the node 100. The housing of the node 100 accommodates four processor boards 50 to 53, and the connectors on the back are connected by the six flexible boards 201 to 206 as described with reference to FIG. Further, as described with reference to FIG. 6, the processor board 0 is provided with the flexible board 213 for connecting to the processor board 2 of the node adjacent in the upward direction. A flexible substrate 214 for connection to the processor substrate 0 is provided. On the other hand, the processor board 1 is provided with a flexible board 212 for connection to the processor board 3 of the node adjacent in the left direction, and the processor board 3 is connected to the processor board 1 of the node adjacent in the right direction. Flexible substrate 211 is provided.

図8は、クラスタシステム200の筐体を説明する図である。図7のノード100の筐体を上下左右に並べ、図7で説明したフレキシブル基板211、212によって左右方向にノード間を接続し、フレキシブル基板213、214によって上下方向にノード間を接続する。このように、クラスタシステム200は、ノードの筐体を平面に配置してフレキシブル基板で接続することで容易に構成することができる。また、ノードの追加がしやすく、スケーラビリティがあり、多数のノードを結合したノードクラスタを省スペースで安価に提供することができる。   FIG. 8 is a diagram for explaining the chassis of the cluster system 200. The chassis of the node 100 of FIG. 7 is arranged vertically and horizontally, and the nodes are connected in the horizontal direction by the flexible boards 211 and 212 described in FIG. 7, and the nodes are connected in the vertical direction by the flexible boards 213 and 214. In this way, the cluster system 200 can be easily configured by arranging the node housings on a plane and connecting them with a flexible substrate. In addition, it is easy to add a node, there is scalability, and a node cluster in which a large number of nodes are combined can be provided in a small space and at a low cost.

図4〜図8では、プロセッサ基板にフレキシブル基板用コネクタが設けられ、フレキシブル基板用コネクタ間をフレキシブル基板で接続する形態を説明した。このように汎用PCIエクスプレスコネクタをフレキシブル基板で接続する形態は、接続形態の一例に過ぎず、これ以外の接続形態も考えられる。別の接続形態として、プロセッサ基板のカードエッジを差し込むための汎用のPCIエクスプレスコネクタを搭載したバックプレーン基板を一枚用意して、4枚のプロセッサ基板をバックプレーン基板に差し込むことで図5で説明したPCIエクスプレスコネクタ間の接続をバックプレーン基板上で実現してもよい。また、さらに別の接続形態として、プロセッサ基板に差動信号用コネクタペアであるZDコネクタを設け、バックプレーン基板上でZDコネクタを接続するように構成してもよい。このようなバックプレーン基板を用いた接続形態もフレキシブル基板を用いた接続形態と同様、安価な高速通信を実現することができ、また、省スペース化を図ることができる。   4-8, the processor board was provided with the connector for flexible boards, and the form which connects between the connectors for flexible boards with a flexible board was demonstrated. Thus, the form which connects a general purpose PCI express connector with a flexible substrate is only an example of a connection form, and other connection forms are also conceivable. As another connection form, a single backplane board equipped with a general-purpose PCI Express connector for inserting the card edge of the processor board is prepared, and four processor boards are inserted into the backplane board, which will be described with reference to FIG. The connection between the PCI express connectors may be realized on the backplane board. As yet another connection form, a ZD connector that is a differential signal connector pair may be provided on the processor board, and the ZD connector may be connected on the backplane board. A connection form using such a backplane substrate can realize inexpensive high-speed communication and can save space, similarly to the connection form using a flexible substrate.

図9A〜図9Dを参照して、図2で説明したノード100内の4枚のプロセッサ基板のフルメッシュ型の結合により形成されるPCIツリーを説明する。PCIツリーは、ノード内の各MCPがPCIエクスプレスで接続されたPCIデバイスを検索することにより得られる。   With reference to FIGS. 9A to 9D, a PCI tree formed by a full-mesh coupling of four processor boards in the node 100 described in FIG. 2 will be described. The PCI tree is obtained by searching for a PCI device to which each MCP in the node is connected by PCI Express.

図9Aは、MCP0またはMCP1を中心に置いた場合のPCIツリーを説明する図である。同図ではPCIツリー構造において同じ階層にあるMCPを水平に配置し、ルートに近い方を上に、リーフに近い方を下に配置している。   FIG. 9A is a diagram for explaining a PCI tree when MCP0 or MCP1 is placed at the center. In the figure, MCPs in the same hierarchy in the PCI tree structure are arranged horizontally, with the one closer to the root up and the one closer to the leaf down.

ルートコンプレックスであるMCP0のすぐ下の階層には、MCP3がエンドポイントとして接続されている。MCP2がMCP3と同階層にあって、MCP3に接続されている。これにより、MCP0をルートとする第1のPCIツリーが形成される。MCP1はMCP0と同階層にあって、MCP0に接続されている。ルートコンプレックスであるMCP1のすぐ下の階層には、MCP4がエンドポイントとして接続されている。MCP5がMCP4と同階層にあって、MCP4に接続されている。これにより、MCP1をルートとする第2のPCIツリーが形成される。ルートコンプレックスであるMCP6は、MCP1のすぐ上の階層にあって、MCP1をエンドポイントとして接続している。MCP7がMCP6と同階層にあって、MCP6に接続されている。これにより、MCP6をルートとする第3のPCIツリーが形成される。   MCP3 is connected as an end point immediately below the root complex MCP0. MCP2 is on the same level as MCP3 and is connected to MCP3. As a result, a first PCI tree having MCP0 as a root is formed. MCP1 is on the same level as MCP0 and is connected to MCP0. The MCP 4 is connected as an end point to the hierarchy immediately below the MCP 1 that is the root complex. The MCP 5 is on the same level as the MCP 4 and is connected to the MCP 4. As a result, a second PCI tree having MCP1 as a root is formed. The MCP 6 that is the root complex is in the hierarchy immediately above the MCP 1 and connects the MCP 1 as an end point. The MCP 7 is on the same level as the MCP 6 and is connected to the MCP 6. As a result, a third PCI tree having MCP 6 as a root is formed.

図9Bは、MCP2またはMCP3を中心に置いた場合のPCIツリーを説明する図である。ルートコンプレックスであるMCP2のすぐ下の階層には、MCP5がエンドポイントとして接続されている。MCP4がMCP5と同階層にあって、MCP5に接続されている。これにより、MCP2をルートとする第1のPCIツリーが形成される。ルートコンプレックスであるMCP7は、MCP2のすぐ上の階層にあって、MCP2をエンドポイントとして接続している。MCP6がMCP7と同階層にあって、MCP7に接続されている。これにより、MCP7をルートとする第2のPCIツリーが形成される。MCP3はMCP2と同階層にあって、MCP2に接続されている。ルートコンプレックスであるMCP3のすぐ下の階層には、他のノードのエンドポイントが接続される。ルートコンプレックスであるMCP0は、MCP3のすぐ上の階層にあって、MCP3をエンドポイントとして接続している。MCP1がMCP0と同階層にあって、MCP0に接続されている。これにより、MCP0をルートとする第3のPCIツリーが形成される。   FIG. 9B is a diagram for explaining a PCI tree when MCP2 or MCP3 is placed at the center. The MCP 5 is connected as an end point to the hierarchy immediately below the MCP 2 that is the root complex. The MCP 4 is on the same level as the MCP 5 and is connected to the MCP 5. As a result, a first PCI tree having MCP2 as a root is formed. The MCP 7 that is the root complex is in the hierarchy immediately above the MCP 2 and connects the MCP 2 as an end point. The MCP 6 is on the same level as the MCP 7 and is connected to the MCP 7. As a result, a second PCI tree having MCP 7 as a root is formed. MCP3 is on the same level as MCP2 and is connected to MCP2. The endpoints of other nodes are connected to the hierarchy immediately below the MCP 3 that is the root complex. MCP0, which is the root complex, is in the hierarchy immediately above MCP3 and connects MCP3 as an end point. MCP1 is on the same level as MCP0 and is connected to MCP0. As a result, a third PCI tree rooted at MCP0 is formed.

図9Cは、MCP4またはMCP5を中心に置いた場合のPCIツリーを説明する図である。ルートコンプレックスであるMCP4のすぐ下の階層には、MCP7がエンドポイントとして接続されている。MCP6がMCP7と同階層にあって、MCP7に接続されている。これにより、MCP4をルートとする第1のPCIツリーが形成される。ルートコンプレックスであるMCP1は、MCP4のすぐ上の階層にあって、MCP4をエンドポイントとして接続している。MCP0がMCP1と同階層にあって、MCP1に接続されている。これにより、MCP1をルートとする第2のPCIツリーが形成される。MCP5はMCP4と同階層にあって、MCP4に接続されている。ルートコンプレックスであるMCP5のすぐ下の階層には、他のノードのエンドポイントが接続される。ルートコンプレックスであるMCP2は、MCP5のすぐ上の階層にあって、MCP5をエンドポイントとして接続している。MCP3がMCP2と同階層にあって、MCP2に接続されている。これにより、MCP2をルートとする第3のPCIツリーが形成される。   FIG. 9C is a diagram illustrating a PCI tree when MCP4 or MCP5 is placed at the center. The MCP 7 is connected as an end point immediately below the root complex MCP 4. The MCP 6 is on the same level as the MCP 7 and is connected to the MCP 7. As a result, a first PCI tree having MCP 4 as a root is formed. The MCP1 that is the root complex is in a hierarchy immediately above the MCP4 and connects the MCP4 as an end point. MCP0 is on the same level as MCP1 and is connected to MCP1. As a result, a second PCI tree having MCP1 as a root is formed. The MCP 5 is on the same level as the MCP 4 and is connected to the MCP 4. The endpoints of other nodes are connected to the hierarchy immediately below the MCP 5 that is the root complex. The MCP2 that is the root complex is in a hierarchy immediately above the MCP5 and connects the MCP5 as an end point. MCP3 is on the same level as MCP2 and is connected to MCP2. As a result, a third PCI tree rooted at MCP2 is formed.

図9Dは、MCP6またはMCP7を中心に置いた場合のPCIツリーを説明する図である。ルートコンプレックスであるMCP6のすぐ下の階層には、MCP1がエンドポイントとして接続されている。MCP0がMCP1と同階層にあって、MCP1に接続されている。これにより、MCP6をルートとする第1のPCIツリーが形成される。MCP7はMCP6と同階層にあって、MCP6に接続されている。ルートコンプレックスであるMCP7のすぐ下の階層には、MCP2がエンドポイントとして接続されている。MCP3がMCP2と同階層にあって、MCP2に接続されている。これにより、MCP7をルートとする第2のPCIツリーが形成される。ルートコンプレックスであるMCP4は、MCP7のすぐ上の階層にあって、MCP7をエンドポイントとして接続している。MCP5がMCP4と同階層にあって、MCP4に接続されている。これにより、MCP4をルートとする第3のPCIツリーが形成される。   FIG. 9D is a diagram illustrating a PCI tree when MCP6 or MCP7 is placed at the center. MCP1 is connected as an end point immediately below the root complex MCP6. MCP0 is on the same level as MCP1 and is connected to MCP1. As a result, a first PCI tree having MCP 6 as a root is formed. The MCP 7 is on the same level as the MCP 6 and is connected to the MCP 6. The MCP 2 is connected as an end point to the layer immediately below the MCP 7 that is the root complex. MCP3 is on the same level as MCP2 and is connected to MCP2. As a result, a second PCI tree having MCP 7 as a root is formed. The MCP4 that is the root complex is in a layer immediately above the MCP7, and connects the MCP7 as an end point. The MCP 5 is on the same level as the MCP 4 and is connected to the MCP 4. As a result, a third PCI tree having MCP 4 as a root is formed.

このように、ノード100内の4つのプロセッサ基板間で図2で説明したようにRCコネクタとEPコネクタを接続することにより、あるMCPをルートとするPCIツリーが複数形成される。ノード100内のMCP0〜MCP7はそれぞれ、自己をルートとするPCIツリー内で、もしくは異なるPCIツリーをまたぐことで他のMCPとの間でデータ通信を行うことができる。ノード100の空きスロットのコネクタと接続された隣接ノードのプロセッサ基板上のMCPは、同一PCIツリー内にあるため、ノードをまたいでデータ通信が可能である。しかし、ノード100の空きスロットのコネクタと接続されていない他のノードのMCPとデータ通信をする場合は、同一PCIツリー内にないため、ルーティングが必要となる。このため、ノード100内の各MCPは、ソフトウェアでルーティングを実行して、他のPCIツリー内のMCPとの通信を可能にする。   As described above, by connecting the RC connector and the EP connector between the four processor boards in the node 100 as described in FIG. 2, a plurality of PCI trees having a certain MCP as a root are formed. Each of the MCP0 to MCP7 in the node 100 can perform data communication with another MCP within a PCI tree rooted in itself or across different PCI trees. Since the MCP on the processor board of the adjacent node connected to the connector of the empty slot of the node 100 is in the same PCI tree, data communication is possible across the nodes. However, when data communication is performed with an MCP of another node that is not connected to the connector of the empty slot of the node 100, routing is necessary because it is not in the same PCI tree. For this reason, each MCP in the node 100 performs routing by software and enables communication with MCPs in other PCI trees.

ノード100内の各MCPが、自己のPCIツリー内で、もしくは異なるPCIツリーをまたぐことで他のMCPの所定の共有領域にアクセスすることができるように、各MCPのメモリ空間には他のMCPの所定の共有領域がメモリマッピングされる。図10〜図17を参照して、このメモリマッピングを説明する。   The memory space of each MCP has another MCP so that each MCP in the node 100 can access a predetermined shared area of the other MCP within its own PCI tree or across different PCI trees. The predetermined shared area is memory-mapped. This memory mapping will be described with reference to FIGS.

図10は、ノード100内の各MCPのメモリ空間300を説明する図である。メモリ空間300には、コヒーレントなローカルメモリ領域351とノンコヒーレントな共有メモリ領域352がある。コヒーレントなローカルメモリ領域351は、メモリアクセスのアトミック性が保証され、同期制御がなされる領域であり、他のMCPからはアクセスすることはできない。ノンコヒーレントな共有メモリ領域352は、他のMCPのメモリ空間にマッピングされ、他のMCPからアクセスされる。メモリ空間300には、さらに各MCPのSPEおよびPEのレジスタやSPEのローカルストアがマッピングされたノンコヒーレント領域353がある。このノンコヒーレント領域353の少なくとも一部は、他のMCPのメモリ空間にマッピングされ、他のMCPからアクセスされる。   FIG. 10 is a diagram for explaining the memory space 300 of each MCP in the node 100. The memory space 300 includes a coherent local memory area 351 and a non-coherent shared memory area 352. The coherent local memory area 351 is an area in which atomicity of memory access is ensured and synchronization control is performed, and cannot be accessed from other MCPs. The non-coherent shared memory area 352 is mapped to the memory space of another MCP and accessed from the other MCP. The memory space 300 further includes a non-coherent area 353 in which the SPE and PE registers of each MCP and the local store of the SPE are mapped. At least a part of the non-coherent area 353 is mapped to the memory space of another MCP and accessed from the other MCP.

メモリ空間300には、IOIF0を介してアクセス可能なI/Oアドレス空間がIOIF0領域360としてメモリマッピングされる。また、IOIF1を介してアクセス可能なI/Oアドレス空間がIOIF1領域370としてメモリマッピングされる。   In the memory space 300, an I / O address space accessible via the IOIF0 is memory-mapped as an IOIF0 area 360. In addition, an I / O address space accessible via IOIF1 is memory-mapped as an IOIF1 area 370.

各MCPは、自分のメモリ空間300内のノンコヒーレント領域353に含まれるSPE/PEのレジスタやSPEのローカルストア、およびノンコヒーレントな共有メモリ領域352を共有領域(shared area)として、IOIF0を介して他のMCPに開放してアクセスを許可する。各MCPは、他のMCPにアクセスを許可する共有領域の情報をIOIF0用のI/Oページテーブル(以下、「IOPT」という)310に格納する。他のMCPは、このIOPT310を参照して、共有領域を自分のメモリ空間にマッピングしてアクセス可能にする。   Each MCP uses the SPE / PE registers included in the non-coherent area 353 in its own memory space 300, the local store of the SPE, and the non-coherent shared memory area 352 as a shared area via the IOIF0. Open to other MCPs to allow access. Each MCP stores information on a shared area that permits access to other MCPs in an IOIF0 I / O page table (hereinafter referred to as “IOPT”) 310. Other MCPs refer to this IOPT 310 and map the shared area to their memory space to make it accessible.

図11は、MCP0の共有領域がMCP1のメモリ空間301にマッピングされ、MCP1の共有領域がMCP0のメモリ空間300にマッピングされる様子を説明する図である。MCP0のIOIF0用のIOPT310(「IOPT0」)がIOIF0経由でMCP1に提示されると、IOPT0により指定されたMCP0の共有領域321がMCP1のメモリ空間301のIOIF0領域361にマッピングされる。MCP0の共有領域321には、MCP0のSPE/PEのレジスタ、MCP0のSPEのローカルストア、およびMCP0の共有メモリが含まれる。   FIG. 11 is a diagram for explaining how the shared area of MCP0 is mapped to the memory space 301 of MCP1 and the shared area of MCP1 is mapped to the memory space 300 of MCP0. When an IOPT 310 (“IOPT0”) for IOIF0 of MCP0 is presented to MCP1 via IOIF0, the shared area 321 of MCP0 specified by IOPT0 is mapped to the IOIF0 area 361 of the memory space 301 of MCP1. The shared area 321 of the MCP0 includes the SPE / PE register of the MCP0, the local store of the SPE of the MCP0, and the shared memory of the MCP0.

一方、MCP1のIOIF0用のIOPT311(「IOPT1」)がIOIF0経由でMCP0に提示されると、IOPT1により指定されたMCP1の共有領域320がMCP0のメモリ空間300のIOIF0領域360にマッピングされる。MCP1の共有領域320には、MCP1のSPE/PEのレジスタ、MCP1のSPEのローカルストア、およびMCP1の共有メモリが含まれる。   On the other hand, when IOPT 311 (“IOPT1”) for IOIF0 of MCP1 is presented to MCP0 via IOIF0, shared area 320 of MCP1 specified by IOPT1 is mapped to IOIF0 area 360 of memory space 300 of MCP0. The shared area 320 of the MCP1 includes the SPE / PE register of the MCP1, the local store of the SPE of the MCP1, and the shared memory of the MCP1.

このように、IOIF0を介して接続されたMCP0とMCP1は、互いに相手の共有領域が自分のメモリ空間300、301にメモリマッピングされているため、相手の共有領域にアクセスすることができる。   As described above, MCP0 and MCP1 connected via IOIF0 can access each other's shared area because the other party's shared area is memory-mapped in their own memory spaces 300 and 301.

図12は、IOIF0で相互接続されたMCP0およびMCP1のそれぞれの共有領域がIOIF1経由で接続された他のMCPのメモリ空間にマッピングされる様子を説明する図である。   FIG. 12 is a diagram for explaining how the shared areas of MCP0 and MCP1 interconnected by IOIF0 are mapped to the memory spaces of other MCPs connected via IOIF1.

図11で説明したように、MCP1のメモリ空間のIOIF0領域361には、MCP0の共有領域321がマッピングされている。MCP1は、自分の共有領域とともにMCP0の共有領域321をIOIF1経由で接続された他のMCPに開放してアクセスを許可する。MCP1は、IOIF1用のIOPT331に、自分の共有領域、すなわちMCP1のSPE/PEのレジスタ、MCP1のローカルストア、およびMCP1の共有メモリの情報を格納する。さらにMCP1は、IOIF1のIOPT331に、MCP0の共有領域321、すなわちMCP0のSPE/PEのレジスタ、MCP0のローカルストア、およびMCP0の共有メモリの情報を格納する。   As described with reference to FIG. 11, the shared area 321 of MCP0 is mapped to the IOIF0 area 361 of the memory space of MCP1. The MCP 1 opens the shared area 321 of the MCP 0 together with its own shared area to other MCPs connected via the IOIF 1 and permits access. The MCP 1 stores information on its own shared area, that is, the SPE / PE register of the MCP 1, the local store of the MCP 1, and the shared memory of the MCP 1 in the IOPT 331 for the IOIF 1. Further, the MCP 1 stores information of the shared area 321 of the MCP 0, that is, the SPE / PE register of the MCP 0, the local store of the MCP 0, and the shared memory of the MCP 0 in the IOPT 331 of the IOIF 1.

図9Aで説明したように、MCP1とMCP6の接続関係は、MCP6がルートコンプレックス、MCP1がエンドポイントの関係であるから、エンドポイントであるMCP1が自分の共有領域の情報をルートコンプレックスであるMCP6に提示する。MCP1は、IOIF1用のIOPT331をIOIF1経由で接続されたMCP6に提示する。MCP6は、IOIF1用のIOPT331で指定されたMCP0とMCP1の両方の共有領域342を自分のメモリ空間306のIOIF1領域376にマッピングする。   As described with reference to FIG. 9A, the connection relationship between MCP1 and MCP6 is that MCP6 is a root complex and MCP1 is an end point relationship. Therefore, MCP1 that is an end point transmits information of its own shared area to MCP 6 that is the root complex. Present. The MCP 1 presents the IOPT 331 for the IOIF 1 to the MCP 6 connected via the IOIF 1. The MCP 6 maps the shared area 342 of both MCP 0 and MCP 1 specified by the IOPT 331 for IOIF 1 to the IOIF 1 area 376 of its own memory space 306.

図13(a)、(b)は、MCP0がIOIF1経由で接続された他のMCPからIOIF1用のIOPTの提示を受けた場合に、MCP0のメモリ空間300に他のMCPの共有領域がマッピングされる様子を説明する図である。   In FIGS. 13A and 13B, when the MCP0 receives an IOPT for the IOIF1 from another MCP connected via the IOIF1, the shared area of the other MCP is mapped to the memory space 300 of the MCP0. FIG.

図13(a)に示すように、ルートコンプレックスであるMCP0は、IOIF1を経由してエンドポイントであるMCP3に接続されている。MCP3はIOIF0によりMCP2と相互接続されるから、MCP3のメモリ空間のIOIF0領域にはMCP2の共有領域がマッピングされる。図12で説明したMCP1からMCP6へのIOIF1用のIOPTの提示と同様に、エンドポイントであるMCP3は、自分の共有領域とMCP2の共有領域の情報をIOIF1用のIOPTに格納してルートコンプレックスであるMCP0に提示する。   As shown in FIG. 13A, the MCP0 that is the root complex is connected to the MCP3 that is the end point via the IOIF1. Since MCP3 is interconnected with MCP2 by IOIF0, the shared area of MCP2 is mapped to the IOIF0 area of the memory space of MCP3. Similar to the presentation of IOPT for IOIF1 from MCP1 to MCP6 described with reference to FIG. 12, MCP3 as an end point stores information on its own shared area and shared area of MCP2 in IOPT for IOIF1 in the root complex. Present to a certain MCP0.

MCP0は、MCP3からIOIF1用のIOPTの提示を受けて、図13(b)に示すように、メモリ空間300のIOIF1領域370にMCP2およびMCP3の共有領域340をマッピングする。   MCP0 receives the IOPT for IOIF1 from MCP3, and maps MCP2 and MCP3 shared area 340 to IOIF1 area 370 of memory space 300, as shown in FIG.

図14(a)、(b)は、MCP1がIOIF1経由で接続された他のMCPからIOIF1用のIOPTの提示を受けた場合に、MCP1のメモリ空間301に他のMCPの共有領域がマッピングされる様子を説明する図である。   In FIGS. 14A and 14B, when MCP1 receives presentation of IOPT for IOIF1 from another MCP connected via IOIF1, the shared area of other MCP is mapped to memory space 301 of MCP1. FIG.

図14(a)に示すように、ルートコンプレックスであるMCP1は、IOIF1を経由してエンドポイントであるMCP4に接続されている。MCP4はIOIF0によりMCP5と相互接続されるから、MCP4のメモリ空間のIOIF0領域にはMCP5の共有領域がマッピングされる。エンドポイントであるMCP4は、自分の共有領域とMCP5の共有領域の情報をIOIF1用のIOPTに格納してルートコンプレックスであるMCP1に提示する。MCP1は、MCP4からIOIF1用のIOPTの提示を受けて、図14(b)に示すように、メモリ空間301のIOIF1領域371にMCP4およびMCP5の共有領域346をマッピングする。   As shown in FIG. 14A, the MCP1 that is the root complex is connected to the MCP4 that is the end point via the IOIF1. Since MCP4 is interconnected with MCP5 by IOIF0, the shared area of MCP5 is mapped to the IOIF0 area of the memory space of MCP4. The MCP 4 that is the end point stores the information of its own shared area and the shared area of the MCP 5 in the IOPT for the IOIF 1 and presents it to the MCP 1 that is the root complex. MCP1 receives the presentation of IOPT for IOIF1 from MCP4, and maps MCP4 and MCP5 shared area 346 to IOIF1 area 371 of memory space 301 as shown in FIG. 14B.

同様に、MCP6は、自分の共有領域とMCP7の共有領域の情報をIOIF1用のIOPTに格納してMCP1に提示し、MCP1は、MCP6からIOIF1用のIOPTの提示を受けて、図14(b)に示すように、メモリ空間301のIOIF1領域371にMCP6およびMCP7の共有領域348をマッピングする。   Similarly, the MCP 6 stores the information of its own shared area and the shared area of the MCP 7 in the IOPT for the IOIF 1 and presents the information to the MCP 1. The MCP 1 receives the IOPT for the IOIF 1 from the MCP 6, and FIG. ), The shared area 348 of MCP6 and MCP7 is mapped to the IOIF1 area 371 of the memory space 301.

次に、MCP0とMCP1は、図13(b)、図14(b)のメモリ空間300、301のIOIF1領域370、371にマッピングされた、IOIF1経由で接続された他のMCPの共有領域の情報を互いに交換する。   Next, MCP0 and MCP1 are information on shared areas of other MCPs connected via IOIF1 that are mapped to IOIF1 areas 370 and 371 of memory spaces 300 and 301 in FIGS. 13B and 14B. Exchange each other.

図15は、MCP0とMCP1間でメモリマッピングされた共有領域の情報をやりとりする様子を説明する図である。MCP0は、メモリ空間300のIOIF1領域370にマッピングされたMCP2およびMCP3の共有領域340の情報をIOIF0を介してMCP1に与える。MCP1は、MCP0から与えられた情報にもとづき、MCP2およびMCP3の共有領域を自分のメモリ空間301のIOIF0領域361にマッピングする。   FIG. 15 is a diagram for explaining how the information of the shared area that is memory-mapped is exchanged between MCP0 and MCP1. The MCP0 gives the information of the MCP2 and the shared area 340 of the MCP3 mapped to the IOIF1 area 370 of the memory space 300 to the MCP1 via the IOIF0. MCP1 maps the shared area of MCP2 and MCP3 to IOIF0 area 361 of its own memory space 301 based on the information given from MCP0.

一方、MCP1は、メモリ空間301のIOIF1領域371にマッピングされたMCP4およびMCP5の共有領域346の情報と、MCP6およびMCP7の共有領域348の情報とをIOIF0を介してMCP0に与える。MCP0は、MCP1から与えられた情報にもとづき、MCP4およびMCP5の共有領域とMCP6およびMCP7の共有領域を自分のメモリ空間300のIOIF0領域360にマッピングする。   On the other hand, the MCP 1 gives the information of the shared area 346 of the MCP 4 and MCP 5 mapped to the IOIF 1 area 371 of the memory space 301 and the information of the shared area 348 of the MCP 6 and MCP 7 to the MCP 0 via the IOIF 0. MCP0 maps the shared areas of MCP4 and MCP5 and the shared areas of MCP6 and MCP7 to IOIF0 area 360 of its own memory space 300 based on the information given from MCP1.

図11、図13(b)、図14(b)、および図15で説明した手順でメモリ空間に他のMCPの共有領域がメモリマッピングされることにより、MCP0は、図9Aで説明した第1〜第3PCIツリー内にあるMCP1〜MCP7の共有領域にアクセスすることができるようになる。なぜなら第1〜第3PCIツリーをまたがって一つのアドレスマップが構築されているからである。同様に、MCP1は、図9Aで説明した第1〜第3PCIツリー内にあるMCP0、MCP2〜MCP7の共有領域にアクセスすることができるようになる。   As a result of the memory mapping of the shared areas of other MCPs in the memory space according to the procedure described with reference to FIGS. 11, 13B, 14B, and 15, the MCP 0 is the first described with reference to FIG. 9A. It becomes possible to access the shared areas of MCP1 to MCP7 in the third PCI tree. This is because one address map is constructed across the first to third PCI trees. Similarly, MCP1 can access the shared areas of MCP0 and MCP2 to MCP7 in the first to third PCI trees described in FIG. 9A.

このように、ノード100内の各MCPは、第1〜第3PCIツリー内の他のMCPの共有領域を自分のメモリ空間にメモリマッピングしており、第1〜第3PCIツリー内の他のMCPの共有領域にアクセスしたり、第1〜第3PCIツリー内の他のMCPと共有領域を介したデータ通信や同期制御を実行することができる。ノード100内のプロセッサ基板間はフレキシブル基板で接続され、高速なPCI−Expressによる通信が可能なハードウェア構成が採用されている。したがって、ノード100内の各MCPは、メモリマッピングされた共有領域を高速にアクセスすることができ、他のMCPとデータのやりとりを効率良く行うことができる。   In this way, each MCP in the node 100 performs memory mapping of the shared area of other MCPs in the first to third PCI trees to its own memory space, and other MCPs in the first to third PCI trees. It is possible to access the shared area and execute data communication and synchronization control via the shared area with other MCPs in the first to third PCI trees. A hardware configuration is adopted in which the processor boards in the node 100 are connected by a flexible board, and high-speed PCI-Express communication is possible. Accordingly, each MCP in the node 100 can access the memory mapped shared area at high speed, and can efficiently exchange data with other MCPs.

図16は、連接ノードのMCPとの接続も含めたPCIツリーを説明する図である。MCP0のブリッジ0のコネクタEP0は、隣接ノードのブリッジ5’のコネクタRC5と接続され、MCP5’がMCP0に対してルートコンプレックスとなる。MCP4’はMCP5’と同階層にあって、MCP5’と接続されている。MCP0は、隣接ノードのMCP5’からIOIF1用IOPTの提示を受けて、MCP5’およびMCP4’の共有領域349をメモリ空間300のIOIF1領域370にマッピングする。   FIG. 16 is a diagram for explaining a PCI tree including connections with MCPs of connected nodes. The connector EP0 of the bridge 0 of the MCP0 is connected to the connector RC5 of the bridge 5 'of the adjacent node, and the MCP 5' becomes a root complex with respect to the MCP0. The MCP 4 'is on the same level as the MCP 5' and is connected to the MCP 5 '. The MCP 0 receives the IOPT 1 IOPT from the adjacent node MCP 5 ′, and maps the shared area 349 of the MCP 5 ′ and MCP 4 ′ to the IOIF 1 area 370 of the memory space 300.

図17は、図16のPCIツリーの場合におけるMCP0のメモリ空間300を説明する図である。図17に示すように、IOIF1領域370には、MCP2およびMCP3の共有領域340の他、MCP4’およびMCP5’の共有領域340がメモリマッピングされる。また、IOIF0領域360には、MCP4およびMCP5の共有領域326、MCP6およびMCP7の共有領域328、およびMCP1の共有領域320がメモリマッピングされる。   FIG. 17 is a diagram for explaining the memory space 300 of MCP0 in the case of the PCI tree of FIG. As shown in FIG. 17, in the IOIF1 area 370, in addition to the shared area 340 of MCP2 and MCP3, the shared area 340 of MCP4 'and MCP5' is memory-mapped. In the IOIF0 area 360, the MCP4 and MCP5 shared area 326, the MCP6 and MCP7 shared area 328, and the MCP1 shared area 320 are memory-mapped.

まとめると、PCIのメモリマップは、PCIツリーのルートにあるホストプロセッサが、デバイスやスイッチのベースアドレスを設定することで構成される。エンドポイントであるデバイスは、自分が要求するアドレス領域のサイズをホストプロセッサに通知し、ホストプロセッサは、デバイスが要求したサイズにしたがってメモリマップを構築する。具体的には、要求するアドレスレンジのサイズは、コンフィグレーションレジスタのBARフィールドに実装するビット数で指定される。   In summary, the PCI memory map is configured by setting the base addresses of devices and switches by the host processor at the root of the PCI tree. The device as the end point notifies the host processor of the size of the address area requested by itself, and the host processor constructs a memory map according to the size requested by the device. Specifically, the size of the requested address range is specified by the number of bits implemented in the BAR field of the configuration register.

本実施の形態のブリッジデバイスは、エンドポイントとして動作する場合、外部からアクセス可能なコンフィグレーションレジスタと内部からアクセス可能なコンフィグレーションレジスタをそれぞれ別々のレジスタとして実装し、それぞれのレジスタについて要求されるアドレスレンジのサイズ、すなわちBARの実装ビット数を設定することが可能である。これにより、システム初期化時に設定したサイズのアドレスレンジにより、PCIのアドレスマップがそれぞれのホストプロセッサによって構築される。ここで、それぞれのホストプロセッサとは、ルートコンプレックスとなるプロセッサと、エンドポイントとして動作するプロセッサのことである。   When the bridge device according to the present embodiment operates as an endpoint, a configuration register accessible from the outside and a configuration register accessible from the inside are mounted as separate registers, and addresses required for the respective registers. It is possible to set the size of the range, that is, the number of bits installed in the BAR. Thus, a PCI address map is constructed by each host processor according to the address range of the size set at the time of system initialization. Here, each host processor refers to a processor that is a root complex and a processor that operates as an endpoint.

一方、IOIFのメモリマップは、IOPTに共有領域の情報を格納して他のMCPに提示することにより設定される。この作業は外部からメモリアクセスがあった場合、その先にマッピングされる領域を設定するものである。この設定作業は、自分がルートコンプレックスとして動作する場合でも、自分がエンドポイントとして動作する場合でも、PCIからトランザクションを受け、それをメモリアクセスとして許可する場合は必要となる。   On the other hand, the memory map of IOIF is set by storing shared area information in IOPT and presenting it to other MCPs. In this operation, when there is a memory access from the outside, an area to be mapped ahead is set. This setting work is required when a transaction is received from the PCI and allowed as a memory access, regardless of whether the user operates as a root complex or as an endpoint.

実際の運用としては、PCIで構築するアドレスサイズは余裕をもたせたサイズにしてPCIメモリマップを構築し、その中で実際にメモリをマップする範囲は、IOPTによって設定することになる。また、PCIメモリマップのアドレスレンジに関しては、PCIエクスプレスの規格にしたがい、エンドポイントが通知し、ルートコンプレックスがアドレス構築するということになるが、その中で、どの範囲がメモリやローカルストアにマッピングされているかについての情報は、図15で説明したように、共有メモリを介したオリジナルプロトコルでやりとりする必要がある。   In actual operation, the PCI memory map is constructed by setting the address size constructed by PCI with a margin, and the range in which the memory is actually mapped is set by IOPT. As for the address range of the PCI memory map, according to the PCI Express standard, the end point notifies and the root complex constructs the address. Among them, the range is mapped to the memory or local store. As described with reference to FIG. 15, it is necessary to exchange information regarding whether or not there is an original protocol via a shared memory.

以上説明したように、本実施の形態によれば、プロセッサ基板の汎用のPCIエクスプレスコネクタ間を安価なフレキシブル基板やバックプレーン基板で直接接続することにより、PCIエクスプレススイッチを必要としない、安価でかつ高性能なクラスタシステムを構築することができる。   As described above, according to the present embodiment, a general-purpose PCI Express connector on a processor board is directly connected by an inexpensive flexible board or a backplane board, so that a PCI Express switch is not required and is inexpensive. A high-performance cluster system can be constructed.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

上記の実施の形態では、プロセッサ基板にマルチコアプロセッサが搭載された場合を説明したが、これはシングルプロセッサであってもよい。また、実施の形態では、プロセッサ基板に2つのマルチコアプロセッサが搭載され、4枚のプロセッサ基板で1つのノードを構成する例を説明したが、プロセッサ基板に搭載されるプロセッサの数、1つのノード内のプロセッサ基板の数、ブリッジのコネクタ数などは、設計の自由度がある。ノード内の複数のプロセッサ基板をフレキシブル基板によって密結合し、ノード間をさらにフレキシブル基板で連結してノードクラスタを構成することができる限り、ノード内のプロセッサ基板の数と配置、ノードクラスタ内のノードの配置にはいろいろなパターンがありうる。いずれにしても安価、省スペース、高速通信の各要求を満足する接続形態が好ましい。   In the above embodiment, the case where the multi-core processor is mounted on the processor board has been described, but this may be a single processor. Further, in the embodiment, an example in which two multi-core processors are mounted on a processor board and one node is configured by four processor boards has been described. However, the number of processors mounted on the processor board and one node The number of processor boards, the number of bridge connectors, etc. have design freedom. As long as a plurality of processor boards in a node can be tightly coupled by a flexible board and a node cluster can be configured by further connecting the nodes with a flexible board, the number and arrangement of processor boards in the node, the nodes in the node cluster There can be various patterns of arrangement. In any case, a connection configuration that satisfies the requirements of low cost, space saving, and high-speed communication is preferable.

上記の実施の形態では、プロセッサ基板のブリッジのポートに他のプロセッサ基板のポートを接続したが、プロセッサ基板のブリッジのポートに周辺デバイスを接続し、プロセッサと各種周辺デバイスを相互結合したシステムを構成してもよい。また、ブリッジはプロセッサの入出力バスをPCIエクスプレスに接続したが、他のプロセッサ基板や周辺デバイスが接続される外部インタフェースとしてPCIエクスプレス以外のインタフェースが用いられてもよい。   In the above embodiment, the processor board bridge port is connected to the processor board bridge port, but a peripheral device is connected to the processor board bridge port, and the system is configured by mutually coupling the processor and various peripheral devices. May be. In addition, although the bridge connects the input / output bus of the processor to PCI Express, an interface other than PCI Express may be used as an external interface to which other processor boards and peripheral devices are connected.

プロセッサ基板の構成図である。It is a block diagram of a processor board. 4つのプロセッサ基板が密結合されたノードの構成図である。It is a block diagram of a node in which four processor boards are tightly coupled. 複数のノードを連結したクラスタシステムの構成図である。It is a block diagram of the cluster system which connected the some node. プロセッサ基板の裏面の配線の模式図である。It is a schematic diagram of the wiring of the back surface of a processor board | substrate. ノード内の4枚のプロセッサ基板間をフレキシブル基板によって接続した構成を示す図である。It is a figure which shows the structure which connected between four processor boards in a node by the flexible substrate. クラスタシステム内の複数のノード間をフレキシブル基板によって接続した構成を示す図である。It is a figure which shows the structure which connected between the some nodes in a cluster system by the flexible substrate. ノードの筐体を説明する図である。It is a figure explaining the housing | casing of a node. クラスタシステムの筐体を説明する図である。It is a figure explaining the housing | casing of a cluster system. 図2のノード内で形成されるPCIツリーを説明する図である。FIG. 3 is a diagram illustrating a PCI tree formed in the node of FIG. 2. 図2のノード内で形成されるPCIツリーを説明する図である。FIG. 3 is a diagram illustrating a PCI tree formed in the node of FIG. 2. 図2のノード内で形成されるPCIツリーを説明する図である。FIG. 3 is a diagram illustrating a PCI tree formed in the node of FIG. 2. 図2のノード内で形成されるPCIツリーを説明する図である。FIG. 3 is a diagram illustrating a PCI tree formed in the node of FIG. 2. ノード内の各MCPのメモリ空間を説明する図である。It is a figure explaining the memory space of each MCP in a node. あるMCPのメモリ空間に他のMCPの共有領域がマッピングされる様子を説明する図である。It is a figure explaining a mode that the common area | region of another MCP is mapped by the memory space of a certain MCP. あるMCPのメモリ空間に他のMCPの共有領域がマッピングされる様子を説明する図である。It is a figure explaining a mode that the common area | region of another MCP is mapped by the memory space of a certain MCP. あるMCPのメモリ空間に他のMCPの共有領域がマッピングされる様子を説明する図である。It is a figure explaining a mode that the common area | region of another MCP is mapped by the memory space of a certain MCP. あるMCPのメモリ空間に他のMCPの共有領域がマッピングされる様子を説明する図である。It is a figure explaining a mode that the common area | region of another MCP is mapped by the memory space of a certain MCP. 2つのMCP間でメモリマッピングされた共有領域の情報をやりとりする様子を説明する図である。It is a figure explaining a mode that the information of the shared area memory-mapped between two MCPs is exchanged. 連接ノードのMCPとの接続も含めたPCIツリーを説明する図である。It is a figure explaining the PCI tree including the connection with MCP of a connection node. 図16のPCIツリーの場合におけるMCPのメモリ空間を説明する図である。It is a figure explaining the memory space of MCP in the case of the PCI tree of FIG.

符号の説明Explanation of symbols

10 DRAM、 20 マルチコアプロセッサ、 30 ブリッジ、 50 プロセッサ基板、 100 ノード、 200 クラスタシステム、 201〜206、211〜214 フレキシブル基板、 300 メモリ空間、 310 IOPT。   10 DRAM, 20 multi-core processor, 30 bridge, 50 processor board, 100 node, 200 cluster system, 201-206, 211-214 flexible board, 300 memory space, 310 IOPT.

Claims (12)

プロセッサと、前記プロセッサの入出力バスと周辺デバイスが接続されるPCIエクスプレスとの間でデータを中継するブリッジとが搭載されたプロセッサ基板を複数含み、
前記ブリッジのポートは当該プロセッサがホストとなるルートコンプレックスモードまたは当該プロセッサが周辺デバイスとなるエンドポイントモードに設定可能に構成され、
一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートを、別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに接続することにより、前記複数のプロセッサ基板間を相互結合してなることを特徴とするプロセッサノードシステム。
A plurality of processor boards each including a processor and a bridge that relays data between an input / output bus of the processor and a PCI express to which peripheral devices are connected;
The port of the bridge is configured to be set to a root complex mode where the processor is a host or an endpoint mode where the processor is a peripheral device,
By connecting a port set to the root complex mode of the bridge of one processor board to a port set to the endpoint mode of the bridge of another processor board, the plurality of processor boards are mutually coupled. A processor node system characterized by the above.
前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとがフレキシブル基板により配線接続されてなることを特徴とする請求項1に記載のプロセッサノードシステム。   A PCI express connector provided in a port set in the root complex mode of the bridge of the one processor board and a PCI express connector provided in a port set in the end point mode of the bridge of the other processor board The processor node system according to claim 1, wherein the processor node system is connected by wiring. 前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとを相互接続するための一枚のバックプレーン基板をさらに設けたことを特徴とする請求項1に記載のプロセッサノードシステム。   The PCI express connector provided in the port set in the root complex mode of the bridge of the one processor board and the PCI express connector provided in the port set in the endpoint mode of the bridge of the other processor board are interconnected. The processor node system according to claim 1, further comprising a single backplane board for performing the processing. プロセッサと、前記プロセッサの入出力バスと周辺デバイスが接続されるPCIエクスプレスとの間でデータを中継するブリッジとが2組搭載されたプロセッサ基板を4枚含み、
各ブリッジは、当該プロセッサがホストとなるルートコンプレックスモードに設定されたポートと当該プロセッサが周辺デバイスとなるエンドポイントモードに設定されたポートを有し、
一のプロセッサ基板のルートコンプレックスモードに設定されたポートは、別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに接続されることを条件として、各プロセッサ基板の合計4個のポートの内、3個のポートを用いて、前記4枚のプロセッサ基板の内、任意の2枚のプロセッサ基板間を相互結合してなることを特徴とするプロセッサノードシステム。
Including four processor boards on which two sets of a processor and a bridge for relaying data between an input / output bus of the processor and a PCI express to which peripheral devices are connected;
Each bridge has a port set in a root complex mode where the processor is a host and a port set in an endpoint mode where the processor is a peripheral device,
A port set in the root complex mode of one processor board is connected to a port set in the endpoint mode of the bridge of another processor board. 3. A processor node system comprising three ports, wherein two arbitrary processor boards among the four processor boards are mutually coupled.
各プロセッサ基板の前記3個のポートを第1ポート、第2ポート、第3ポートとし、当該プロセッサ基板以外の3枚のプロセッサ基板を、第1プロセッサ基板、第2プロセッサ基板、第3プロセッサ基板とした場合、前記第1ポートは前記第1プロセッサ基板に接続され、前記第2ポートは前記第2プロセッサ基板に接続され、前記第3ポートは前記第3プロセッサ基板に接続されることを特徴とする請求項4に記載のプロセッサノードシステム。  The three ports of each processor board are defined as a first port, a second port, and a third port, and three processor boards other than the processor board are designated as a first processor board, a second processor board, and a third processor board. In this case, the first port is connected to the first processor board, the second port is connected to the second processor board, and the third port is connected to the third processor board. The processor node system according to claim 4. 前記プロセッサ基板内の2つのプロセッサは入出力バスを介して接続されており、前記プロセッサ基板間のポートの接続により、4枚の前記プロセッサ基板の合計8個のプロセッサの内、任意の2個のプロセッサが互いに通信可能に相互接続されることを特徴とする請求項に記載のプロセッサノードシステム。 Two processors in the processor board are connected via an input / output bus, and by connecting ports between the processor boards, any two of a total of eight processors on the four processor boards can be connected. 6. The processor node system of claim 5 , wherein the processors are communicatively interconnected with each other. 前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとがフレキシブル基板により配線接続されてなることを特徴とする請求項4から6のいずれかに記載のプロセッサノードシステム。 A PCI express connector provided in a port set in the root complex mode of the bridge of the one processor board and a PCI express connector provided in a port set in the end point mode of the bridge of the other processor board processor node system according to any one of claims 4 to 6, characterized by comprising hardwired by. 筐体内に前記4枚のプロセッサ基板面を互いに平行に設置し、筐体背面に各プロセッサ基板のブリッジのポートに設けられるPCIエクスプレスコネクタが配置されるように構成し、筐体背面に配置された各プロセッサ基板のPCIエクスプレスコネクタ間をフレキシブル基板により接続してなることを特徴とする請求項に記載のプロセッサノードシステム。 The four processor board surfaces are installed parallel to each other in the housing, and the PCI express connector provided at the bridge port of each processor board is arranged on the rear surface of the housing. 8. The processor node system according to claim 7 , wherein PCI express connectors of each processor board are connected by a flexible board. 筐体内に前記4枚のプロセッサ基板面を互いに平行に設置し、筐体背面に各プロセッサ基板のブリッジのポートに設けられるPCIエクスプレスコネクタが配置されるように構成し、前記一のプロセッサ基板のブリッジのルートコンプレックスモードに設定されたポートに設けられるPCIエクスプレスコネクタと、前記別のプロセッサ基板のブリッジのエンドポイントモードに設定されたポートに設けられるPCIエクスプレスコネクタとを相互接続するための一枚のバックプレーン基板をさらに設けたことを特徴とする請求項4から6のいずれかに記載のプロセッサノードシステム。 The four processor board surfaces are installed in a case in parallel to each other, and a PCI express connector provided at a bridge port of each processor board is arranged on the back side of the case. One back for interconnecting a PCI express connector provided in a port set in the root complex mode and a PCI express connector provided in a port set in the endpoint mode of the bridge of the other processor board processor node system according to any one of claims 4 to 6, characterized in that further provided a plain substrate. 各プロセッサのメモリ空間に、相互接続された他のプロセッサの共有領域がI/Oアドレス空間としてメモリマッピングされることにより、各プロセッサは前記他のプロセッサの共有領域にアクセス可能に構成されることを特徴とする請求項4からのいずれかに記載のプロセッサノードシステム。 It is configured that each processor is configured to be accessible to the shared area of the other processor by mapping the shared area of the interconnected other processor as an I / O address space in the memory space of each processor. The processor node system according to any one of claims 4 to 9 , wherein 請求項4から10のいずれかに記載のプロセッサノードシステムを複数含み、各プロセッサノードシステムをクラスタとして相互接続した、クラスタの接続形態を有するプロセッサノードクラスタシステムであって、
隣接する2つのプロセッサノードシステム間で当該プロセッサノードシステム内のプロセッサ基板間の接続に使用されていない空きポートを互いに接続することにより、前記複数のプロセッサノードシステム間を相互結合してなることを特徴とするプロセッサノードクラスタシステム。
A processor node cluster system including a plurality of processor node systems according to any one of claims 4 to 10 and interconnecting each processor node system as a cluster and having a cluster connection form,
A plurality of processor node systems are mutually coupled by connecting empty ports that are not used for connection between processor boards in the processor node system between two adjacent processor node systems. A processor node cluster system.
前記空きポートにPCIエクスプレスコネクタが設けられ、前記空きポートのPCIエクスプレスコネクタ間がフレキシブル基板により配線接続されてなることを特徴とする請求項11に記載のプロセッサノードクラスタシステム。 12. The processor node cluster system according to claim 11 , wherein a PCI express connector is provided in the empty port, and the PCI express connectors of the empty port are connected by wiring with a flexible board.
JP2006217953A 2006-08-10 2006-08-10 Processor node system and processor node cluster system Active JP5084197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006217953A JP5084197B2 (en) 2006-08-10 2006-08-10 Processor node system and processor node cluster system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006217953A JP5084197B2 (en) 2006-08-10 2006-08-10 Processor node system and processor node cluster system

Publications (2)

Publication Number Publication Date
JP2008041027A JP2008041027A (en) 2008-02-21
JP5084197B2 true JP5084197B2 (en) 2012-11-28

Family

ID=39175916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006217953A Active JP5084197B2 (en) 2006-08-10 2006-08-10 Processor node system and processor node cluster system

Country Status (1)

Country Link
JP (1) JP5084197B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5109710B2 (en) 2008-02-22 2012-12-26 日本電気株式会社 Band allocation method, station side apparatus, subscriber station apparatus, communication system, and apparatus program
JP5706116B2 (en) * 2010-09-06 2015-04-22 日本電気通信システム株式会社 Communication device using serial transmission backplane and connection management method thereof
JP5807657B2 (en) * 2013-05-20 2015-11-10 コニカミノルタ株式会社 Image forming apparatus, activation control method, and activation control program
US9984023B2 (en) * 2015-08-12 2018-05-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multi-server system interconnect
JP6635209B2 (en) 2018-04-18 2020-01-22 富士通クライアントコンピューティング株式会社 Information processing system
JP6579255B1 (en) 2018-12-28 2019-09-25 富士通クライアントコンピューティング株式会社 Information processing system and relay device
JP6573046B1 (en) 2019-06-05 2019-09-11 富士通クライアントコンピューティング株式会社 Information processing apparatus, information processing system, and information processing program
CN113806273B (en) * 2020-06-16 2024-04-09 英业达科技有限公司 Fast peripheral component interconnect data transfer control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793236A (en) * 1993-09-20 1995-04-07 Fujitsu Ltd Bus controller
JPH0844460A (en) * 1994-07-28 1996-02-16 Life Tec Kenkyusho:Kk Computer device and link for inter-board connection
JPH09146895A (en) * 1995-11-28 1997-06-06 Hitachi Ltd Torus coupled type parallel computer
DE19606629A1 (en) * 1996-02-22 1997-08-28 Siemens Nixdorf Inf Syst Multiprocessor central unit
US20040022022A1 (en) * 2002-08-02 2004-02-05 Voge Brendan A. Modular system customized by system backplane
JP4398386B2 (en) * 2005-01-28 2010-01-13 富士通株式会社 Device for interconnecting multiple processing nodes via serial bus

Also Published As

Publication number Publication date
JP2008041027A (en) 2008-02-21

Similar Documents

Publication Publication Date Title
JP5084197B2 (en) Processor node system and processor node cluster system
US8787364B2 (en) Serial memory and IO access architecture and system for switched telecommunication and computing platforms
JP2018125028A (en) System and method for extended peripheral component interconnect express fabrics
US8169850B2 (en) Forming multiprocessor systems using dual processors
US20140188996A1 (en) Raw fabric interface for server system with virtualized interfaces
US20160314088A1 (en) Photonics-Optimized Processor System
JP2017517807A (en) Interconnect system and method using hybrid memory cube link
US20150036681A1 (en) Pass-through routing at input/output nodes of a cluster server
CN101093717A (en) Input/output agent having multiple secondary ports
CN107851078B (en) Method and system for allocating aggregated friendly addresses of PCIe (peripheral component interface express) equipment
US11003607B2 (en) NVMF storage to NIC card coupling over a dedicated bus
US7596650B1 (en) Increasing availability of input/output (I/O) interconnections in a system
Kwon et al. Gen-z memory pool system architecture
US7102893B1 (en) Methods and apparatus for forming a cohesive backplane interconnect system
CN107590097B (en) Server IO equipment extension device
CN213276461U (en) Double-circuit server mainboard and server
JP5842491B2 (en) Relay device and communication system
US20060129709A1 (en) Multipurpose scalable server communication link
CN209103234U (en) A kind of host for supporting multiple GPU by 2U cabinet
CN109992060B (en) Stacked multi-path server system and server
US7443844B2 (en) Switched fabric mezzanine storage module
CN116991488B (en) Chip board card and server
JP2001318901A (en) Duplex multiprocessor system
US7532616B2 (en) Fabric enabled storage module
JP4211659B2 (en) Multiprocessor structure and LAN emulator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090731

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5084197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

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