JP2009037273A - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

Publication number
JP2009037273A
JP2009037273A JP2007198300A JP2007198300A JP2009037273A JP 2009037273 A JP2009037273 A JP 2009037273A JP 2007198300 A JP2007198300 A JP 2007198300A JP 2007198300 A JP2007198300 A JP 2007198300A JP 2009037273 A JP2009037273 A JP 2009037273A
Authority
JP
Japan
Prior art keywords
cpu
routing table
node
ndc
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007198300A
Other languages
Japanese (ja)
Inventor
Eri Toyoshima
依里 豊嶋
Yoshinori Wakai
義憲 若井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007198300A priority Critical patent/JP2009037273A/en
Publication of JP2009037273A publication Critical patent/JP2009037273A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it is necessary in a conventional technique to at least partially stop execution of this system by stopping or holding or the like of all the operations under execution in order to change a routing table. <P>SOLUTION: A multi-processor system capable to dynamically change a routing table without stopping the execution of this system, is obtained and it is provided with a redundant path configured by connecting a plurality of processor elements and memory controllers and routers to each other. The scheduler of an OS under execution on a processor is provided with a function for changing the routing table of the routers in the system in a timing in which the switching of a process is executed. Also, each port of the router is provided with a means for counting the number of transfer counts and transfer errors of a packet. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、プロセッサエレメントとメモリコントローラとルータを複数個相互に接続して構成される、冗長経路を有するマルチプロセッサシステムに関する。   The present invention relates to a multiprocessor system having a redundant path configured by interconnecting a plurality of processor elements, a memory controller, and a router.

一般に、プロセッサを複数接続することによりシステムの処理速度を向上させることが可能であり、各種マルチプロセッサシステムアーキテクチャが提案されている。   Generally, it is possible to improve the processing speed of a system by connecting a plurality of processors, and various multiprocessor system architectures have been proposed.

SMPは、物理メモリを共有して管理する対称型マルチプロセッシング方式のことで、SMPを構成する複数のプロセッサが基本的に同等なものとして振る舞うことができる。CPU及びメモリ間の接続はバス方式が主体であるが、接続するプロセッサの数を増やすと、共有メモリをアクセスするためのシステムバスが飽和し、性能のボトルネックとなる。   SMP is a symmetric multiprocessing method that manages physical memory in common, and a plurality of processors constituting the SMP can behave basically as being equivalent. The connection between the CPU and the memory is mainly a bus system. However, when the number of connected processors is increased, the system bus for accessing the shared memory is saturated, which becomes a performance bottleneck.

これに対しシステム拡張容易性を改善するために開発されたのがNUMA(Non−Uniform Memory Access)である。NUMAでは、プロセッサとメモリより構成されるノードが複数相互接続されている。NUMAにおいては、ノード間でメモリ空間を共有し、各ノードのプロセッサより他ノードのメモリにアクセス可能であるため、論理的にはSMP構成と同様に扱うことができるが、自ノード内のメモリ(ローカルメモリ)と自ノード外のメモリでは、CPUからメモリへアクセスするためのレイテンシが異なるため、CPUからのメモリ参照をできるだけ局所化し、CPU間でのメモリアクセスの競合を少なくすることが性能向上には必須となる。   On the other hand, NUMA (Non-Uniform Memory Access) was developed to improve the system expandability. In NUMA, a plurality of nodes each composed of a processor and a memory are interconnected. In NUMA, a memory space is shared between nodes, and the memory of another node can be accessed from the processor of each node, so that it can be logically handled in the same manner as the SMP configuration, but the memory ( Since the latency for accessing the memory from the CPU differs between the local memory and the memory outside the own node, the memory reference from the CPU is localized as much as possible to reduce the contention of memory access between the CPUs to improve the performance. Is mandatory.

このため、OSがNUMA構成を意識し、ノードに属するメモリやプロセッサの情報を積極的に収集することで、メモリの割り当てやプロセスの実行をできるだけ局所化し、他ノードのメモリに対するアクセスを削減している。   For this reason, the OS is aware of the NUMA configuration and actively collects memory and processor information belonging to the node, thereby localizing memory allocation and process execution as much as possible and reducing access to the memory of other nodes. Yes.

ここで、一般に、プロセッサ間のデータの転送は、送信元でデータを分割し、制御情報を付加したパケットの形でバス上を送信し、受信先でパケットを制御情報から復元する形で行う。この場合、パケットが狂った順序で到達するとパケットの復元が出来ない、或いはキャッシュコヒーレンシが維持できないなどの理由から、ノード間の接続経路は静的でなければならない。このため、ノードやプロセッサ間の接続経路が複数ある場合においても、ある特定のバスにトラフィックが集中し、システム性能の低下を招くことがあった。   Here, in general, data transfer between processors is performed by dividing data at a transmission source, transmitting data on a bus in the form of a packet to which control information is added, and restoring the packet from control information at a reception destination. In this case, the connection path between the nodes must be static because the packet cannot be restored if the packets arrive out of order or the cache coherency cannot be maintained. For this reason, even when there are a plurality of connection paths between nodes and processors, traffic is concentrated on a specific bus, which may cause a decrease in system performance.

このような課題を解決することのできる従来技術として、例えば特表2006−511878公報等に記載された技術が知られている。この従来技術は、ポイントツーポイントリンクで接続されたマルチプロセッサにおいて、継続中のオペレーションを全て停止或いは保留後、システムの実行を部分的に停止し、その間にプロセッサが持つルーティングテーブルを変更することで全体のシステムをダウン状態にすることなくマルチプロセッサシステムのトポロジを改変する。   As a conventional technique capable of solving such a problem, a technique described in, for example, JP-T-2006-511878 is known. In this conventional technology, in a multiprocessor connected by a point-to-point link, after stopping or suspending all ongoing operations, the system execution is partially stopped and the routing table of the processor is changed during that time. Modify the topology of a multiprocessor system without bringing the entire system down.

特表2006−511878公報Special table 2006-511878 gazette

前述した公報に記載の従来技術は、ルーティングテーブルの変更を行うために、実行中のオペレーションを全て停止或いは保留するなど、システムの実行を少なくとも部分的に停止しなければならない点である。   The prior art described in the above-mentioned publication is that in order to change the routing table, the execution of the system must be stopped at least partially, for example, all the operations being executed are stopped or suspended.

本発明は、プロセッサエレメントとメモリコントローラとルータを複数個相互に接続して構成される冗長経路を有するマルチプロセッサシステムで、経路を切替えるためのルータとそれを制御するルーティングテーブルを備え、前記プロセッサ上で実行中のOSのスケジューラが、プロセスの切替えを行うタイミングでルーティングテーブルを変更する機能を有することで、経路上にオーダリングを必要とする当該プロセッサ発行のパケットが存在しないことを保証し、他のプロセッサエレメントの動作を停止することなく経路を変更可能とすることを最も主要な特徴とする。又本発明は、前記ルータの各ポートに関し、通過したパケット数やパケットの転送エラー数をカウントする機能を有することにより、トラフィックの負荷及び障害発生率を測定し、前記マルチプロセッサシステムが動的にルーティングテーブルを変更する際に、適切な経路を動的に選択することができる。   The present invention is a multiprocessor system having a redundant path constituted by connecting a plurality of processor elements, a memory controller, and a router to each other, comprising a router for switching paths and a routing table for controlling the router. The scheduler of the OS being executed in (2) has a function of changing the routing table at the timing of process switching, thereby ensuring that there is no packet issued by the processor that requires ordering on the path. The most important feature is that the path can be changed without stopping the operation of the processor element. In addition, the present invention has a function of counting the number of passed packets and the number of packet transfer errors for each port of the router, thereby measuring the traffic load and the failure occurrence rate. When changing the routing table, an appropriate route can be dynamically selected.

本発明は、動作中のオペレーションを全て停止或いは保留することなく、経路上のボトルネック部分を回避するルーティングを動的に設定可能とし、プロセッサ間の迅速な通信を可能とすることでシステム性能及び信頼性を向上させる点である。   The present invention makes it possible to dynamically set routing that avoids a bottleneck portion on a route without stopping or suspending all operations in operation, and by enabling rapid communication between processors, system performance and This is to improve reliability.

本発明の実施例について図面を参照して以下に説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明をマルチプロセッサの分散共有メモリマシンに適用した一実施例の構成を示す図である。図1に示すようなマルチプロセッサシステムは、同複数のノード103により構成され、それぞれはノード内のノードコントローラNDC102を介して接続されている。本実施例は2ノードの構成について例示するが、本発明におけるノード数は任意である。   FIG. 1 is a diagram showing a configuration of an embodiment in which the present invention is applied to a multiprocessor distributed shared memory machine. The multiprocessor system as shown in FIG. 1 includes the plurality of nodes 103, and each is connected via a node controller NDC102 in the node. Although this embodiment illustrates a configuration of two nodes, the number of nodes in the present invention is arbitrary.

各ノード103は、複数のプロセッサCPU100、メモリ101、およびノードコントローラ102により構成され、それぞれはリンクを介して相互に接続されている。各CPUあるいはNDCは、コマンドやデータの送受信を行い、それぞれの持つレジスタや、接続するメモリへのアクセスを行うことができる。これらのコマンドやデータは分割され、送信元プロセッサ番号、送信先プロセッサ番号などの制御情報と共にパケットの形で送受信される。   Each node 103 includes a plurality of processor CPUs 100, a memory 101, and a node controller 102, which are connected to each other via a link. Each CPU or NDC transmits and receives commands and data, and can access respective registers and connected memories. These commands and data are divided and transmitted / received in the form of packets together with control information such as a transmission source processor number and a transmission destination processor number.

図2は、ノード103(1)の一部であるCPU100(1)、CPU100(2)およびNDC102(11)の機能を例示した図である。尚、以下では、CPU100(1)を例に説明するが、ノード103内の他のCPU100、NDC102においても、全て同一の機能を持つ。   FIG. 2 is a diagram illustrating functions of the CPU 100 (1), the CPU 100 (2), and the NDC 102 (11) that are part of the node 103 (1). In the following description, the CPU 100 (1) will be described as an example, but the other CPUs 100 and NDCs 102 in the node 103 all have the same functions.

CPU100(1)はCPU100(2)、CPU100(3)、CPU100(4)及びNDC102(11)に対する4本のリンク106、111、109、104をもち、各リンクはCPU100(1)からの情報を送信する出力ポートと、情報を受信する入力ポートにより構成される。出力ポートの前段にはカウンタ150(1-1)から150(1-4)、151(1-1)から150(1-4)を設置する。出力ポートからデータを送信する場合にカウンタ150をカウントアップする。又、出力ポートで転送エラーを検出した場合には、カウンタ151をカウントアップする。カウンタ150、151はどちらも一定時間置きにクリアする。CPU100(1)から直接リンクを持つCPU100(2)からCPU100(4)、NDC102(11)の持つカウンタ値150、151は、CPU100(1)からリンクを経由して問い合わせることが可能であり、直接接続されていないリンクである112に関するカウンタ値は、CPU100(2)、あるいはNDC102(11)経由で得ることが可能である。同様な手段により、CPU100(1)より、ノード内リンク全てのトラフィックの負荷、障害発生頻度に関する情報を得ることができる。   The CPU 100 (1) has four links 106, 111, 109, and 104 to the CPU 100 (2), the CPU 100 (3), the CPU 100 (4), and the NDC 102 (11), and each link receives information from the CPU 100 (1). It consists of an output port for transmitting and an input port for receiving information. Counters 150 (1-1) to 150 (1-4) and 151 (1-1) to 150 (1-4) are installed at the front stage of the output port. When data is transmitted from the output port, the counter 150 is counted up. If a transfer error is detected at the output port, the counter 151 is incremented. Both counters 150 and 151 are cleared at regular intervals. The counter values 150 and 151 of the CPU 100 (2) having the direct link from the CPU 100 (1) and the CPU 100 (4) and the NDC 102 (11) can be inquired from the CPU 100 (1) via the link. The counter value regarding 112 which is not connected can be obtained via the CPU 100 (2) or the NDC 102 (11). By the same means, the CPU 100 (1) can obtain information on the traffic load and failure occurrence frequency of all intra-node links.

また、CPU100(1)は入力ポートと出力ポートの接続を任意に切替えるスイッチであるルータ126(1)を持つ。又、CPU100(1)はノード内の経路情報を管理するルーティングテーブル127(1)を持ち、CPU100(1)はルーティングテーブルに指定された経路情報に従って、ルータに対する入力ポートと出力ポートの接続を切替える。   Further, the CPU 100 (1) has a router 126 (1) that is a switch for arbitrarily switching the connection between the input port and the output port. Further, the CPU 100 (1) has a routing table 127 (1) for managing the routing information in the node, and the CPU 100 (1) switches the connection between the input port and the output port to the router according to the routing information specified in the routing table. .

図3はCPU100(1)が持つルーティングテーブルの一実施例である。ルーティングテーブルは項目として、送信元CPU番号300、送信先CPU番号301、送信元CPUから送信先CPUまでの経路を構成するリンク番号302、302における各リンクに対するトラフィックの値303、そのエントリが有効かどうかを示す有効ビット304を持つ。有効ビット304は0の場合にそのエントリが無効、1の場合にそのエントリが有効であることを示す。   FIG. 3 shows an example of the routing table held by the CPU 100 (1). The routing table includes, as items, a transmission source CPU number 300, a transmission destination CPU number 301, a traffic value 303 for each link in the link numbers 302 and 302 constituting the route from the transmission source CPU to the transmission destination CPU, and whether the entry is valid. It has a valid bit 304 indicating whether or not. When the valid bit 304 is 0, the entry is invalid, and when the valid bit 304 is 1, the entry is valid.

ノードの立ち上げ時、各CPUはノードを構成する全てのCPU、NDCからリンクの情報を取得し、各CPU、NDCをそれぞれ送信元、送信先とした場合の経路を全て検索し、これらの値をルーティングテーブルの300、301、302に設定しておく。エントリの有効ビットは全て0に設定しておく。   When a node is started up, each CPU acquires link information from all CPUs and NDCs constituting the node, searches all paths when each CPU and NDC are set as a transmission source and a transmission destination, and these values are obtained. Is set in the routing table 300, 301, 302. All valid bits of the entry are set to 0.

ルーティングテーブルが設定され、システムの稼動が開始された後は、各CPU、NDCは、図2において示したCPU、NDC内のカウンタ150,151により、自CPU、他CPU、或いはNDCの持つリンクのトラフィック情報を得られるので、各CPUは、定期的にリンクのトラフィックの値を読み出し、図3の303にリンク番号に対応する場所に格納する。これにより、図3のルーティングテーブルにおいては、トラフィック情報を反映した各経路の情報が得られることになる。   After the routing table is set and the operation of the system is started, each CPU and NDC uses the counters 150 and 151 in the CPU and NDC shown in FIG. 2 to determine the link of the own CPU, another CPU, or NDC. Since the traffic information can be obtained, each CPU periodically reads the traffic value of the link and stores it in the location corresponding to the link number in 303 of FIG. Thereby, in the routing table of FIG. 3, information of each route reflecting the traffic information is obtained.

ここで、図1の構成を例に、図2で示した手段と、図3で示したルーティングテーブルを用いて、プロセッサ、ノードコントローラ間で経路を切替え、データを送受信する方法について説明する。   Here, using the configuration shown in FIG. 1 as an example, a method for switching data between a processor and a node controller and transmitting / receiving data using the means shown in FIG. 2 and the routing table shown in FIG. 3 will be described.

ここでは、図1のCPU100(1)からCPU100(5)へデータ送信を行う際の、自ノード103(1)内、他ノード103(2)における経路の設定方法について説明する。尚、CPUが他ノードのCPUとデータを送受信する場合には、一旦、自ノード内のNDCを送信先とし、そこから他ノードのNDCを経由して、目的のCPUにアクセスすることを原則とする。   Here, a method of setting a route in the own node 103 (1) and the other node 103 (2) when data is transmitted from the CPU 100 (1) to the CPU 100 (5) in FIG. 1 will be described. When a CPU transmits / receives data to / from another node's CPU, the NDC in the own node is once set as a transmission destination, and then the target CPU is accessed via the NDC of the other node. To do.

あるタイミングにおけるCPU100(1)、CPU100(2)、NDC102(11)NDC102(13)において、CPU100(1)が送信元である場合の他のCPUに対するルーティングテーブルの例を図4、図5、図6、図7に示す。   In the CPU 100 (1), CPU 100 (2), NDC 102 (11) and NDC 102 (13) at a certain timing, examples of routing tables for other CPUs when the CPU 100 (1) is the transmission source are shown in FIGS. 6 and FIG.

図4においては、CPU100(1)からNDC102(11)への経路として、リンク104を通過する経路410、およびリンク106、112を経由する経路411が存在する。図5においては、CPU100(2)からNDC102(11)に対して、リンク112を経由した経路510が存在する。図6においては、NDC102(11)からNDC102(13)までの経路として、リンク124を経由する経路610が存在する。又図7においては、NDC102(13)からCPU100(5)に対して、リンク114を経由する経路710、リンク122、116を経由する経路711が存在する。   In FIG. 4, there are a path 410 passing through the link 104 and a path 411 passing through the links 106 and 112 as the path from the CPU 100 (1) to the NDC 102 (11). In FIG. 5, there is a path 510 via the link 112 from the CPU 100 (2) to the NDC 102 (11). In FIG. 6, a path 610 via the link 124 exists as a path from the NDC 102 (11) to the NDC 102 (13). In FIG. 7, there are a path 710 via the link 114 and a path 711 via the links 122 and 116 from the NDC 102 (13) to the CPU 100 (5).

図4、図5、図6及び図7の経路を構成するリンクに対するトラフィックは定期的に更新されており、トラフィックを考慮したルーティングテーブルが常に作成されている状態となっている。   Traffic for the links constituting the paths of FIGS. 4, 5, 6 and 7 is regularly updated, and a routing table in consideration of the traffic is always created.

次に、このルーティングテーブルを用いて、経路を切替える方法について説明する。   Next, a method for switching paths using this routing table will be described.

マルチタスクをサポートしているOSにおいては、複数のプロセスを細かく切替えながら動作している。同一プロセスは同一CPU上でしか動作しない場合、プロセス切替え時には当該プロセッサ発の他のトランザクションがリンク上に存在しないことを保証できるため、このタイミングで経路を切替えることが可能である。   An OS that supports multitasking operates while finely switching a plurality of processes. When the same process operates only on the same CPU, it is possible to guarantee that no other transaction originated from the processor exists on the link at the time of process switching. Therefore, the path can be switched at this timing.

まず、ノード103(1)上のCPU100(1)上で動作しているOSがプロセスを切替えるタイミングで、CPU100(1)から、ノード103(2)のCPU100(5)への経路を選択する場合を考える。まずCPU100(1)は、自分の持っているルーティングテーブルを参照する。送信元プロセッサがCPU100(1)、送信先プロセッサがCPU100(5)の場合には、一旦NDC102(11)にデータを送信するため、経路としては410および411が考えられるが、ここでは経路410を構成するリンク104のトラフィックの値が、経路411を構成するリンク106および112に比較して非常に高く、また転送エラーも発生しているため、経路として411を選択し、有効ビットを1にする。同時に、CPU100(2)、NDC102(11)のエントリとしてそれぞれ図5の511、図6の610を同じタイミングで選択し、それぞれ有効ビットを1にする。又自ノード以外のノードに対しては、ノードの持つNDC102に対してCPU100(1)が送信元となる場合の経路の再設定を行ったことを通知し、通知されたNDCが持つルーティングテーブル上で、CPU100(1)を送信元とする経路のエントリについては有効ビットを全て0にするように指示する。例えば、ノード103(2)内のNDC102(13)の持つルーティングテーブルには、CPU100(0)を送信元とするエントリに対しては有効ビットに0を格納する。   First, when a path from the CPU 100 (1) to the CPU 100 (5) of the node 103 (2) is selected at the timing when the OS operating on the CPU 100 (1) on the node 103 (1) switches the process. think of. First, the CPU 100 (1) refers to its own routing table. When the transmission source processor is the CPU 100 (1) and the transmission destination processor is the CPU 100 (5), since the data is once transmitted to the NDC 102 (11), the routes 410 and 411 are conceivable. The traffic value of the link 104 to be configured is very high as compared to the links 106 and 112 to configure the path 411, and a transfer error has occurred, so 411 is selected as the path and the valid bit is set to 1. . At the same time, 511 in FIG. 5 and 610 in FIG. 6 are selected at the same timing as entries of the CPU 100 (2) and the NDC 102 (11), and the valid bit is set to 1, respectively. For nodes other than its own node, the NDC 102 of the node is notified that the CPU 100 (1) has reset the route when it is the transmission source, and the notified NDC has a routing table. Thus, the CPU 100 (1) is instructed to set all valid bits to 0 for the route entry having the transmission source. For example, in the routing table of the NDC 102 (13) in the node 103 (2), 0 is stored in the valid bit for an entry whose source is the CPU 100 (0).

これらの手順によりエントリの設定が終わった後、OSはプロセスの実行を開始する。   After the entry is set by these procedures, the OS starts executing the process.

ここでCPU100(1)からCPU100(5)に対してデータ送信の必要性が発生した場合、CPU100(1)は自分が持つルーティングテーブルを参照し、有効ビットが1であるエントリ411に従ってデータをCPU100(2)に送る。更に、CPU100(2)、NDC102(11)も有効ビットが1であるルーティングテーブルのエントリに従い、データをNDC102(13)に送る。   Here, when the necessity of data transmission from the CPU 100 (1) to the CPU 100 (5) occurs, the CPU 100 (1) refers to its own routing table and transfers the data to the CPU 100 in accordance with the entry 411 whose effective bit is 1. Send to (2). Further, the CPU 100 (2) and the NDC 102 (11) also send data to the NDC 102 (13) according to the entry of the routing table whose valid bit is 1.

NDC102(13)でルーティングテーブルを参照した場合、送信元がCPU100(1)、送信先がCPU100(5)のエントリにおいて有効ビットが1になっているエントリが存在しない。このため、図7の経路710、711を参照し、トラフィックの値が低い経路710を選択して有効ビットを1にする。同時に、ノード103(1)内の全てのCPU100、NDC102に対してもルーティングテーブルの経路を選択し、その有効ビットを1にする。   When the routing table is referred to by the NDC 102 (13), there is no entry whose valid bit is 1 in the entry of the CPU 100 (1) as the transmission source and the CPU 100 (5) as the transmission destination. Therefore, referring to the paths 710 and 711 in FIG. 7, the path 710 having a low traffic value is selected and the effective bit is set to 1. At the same time, the route of the routing table is selected for all the CPUs 100 and NDCs 102 in the node 103 (1), and the valid bit is set to 1.

設定終了後、設定した経路710に従い、リンク114を経由してCPU100(5)にデータを転送する。   After the setting is completed, data is transferred to the CPU 100 (5) via the link 114 according to the set path 710.

この後、CPU100(1)から再度CPU100(5)にパケット送信が発生した場合には、すでに選択された経路を介して、全て同じ経路で通信を行う。この設定は次にプロセスが切替わるまで保持される。   Thereafter, when packet transmission occurs again from the CPU 100 (1) to the CPU 100 (5), communication is performed on the same route through the already selected route. This setting is retained until the next process switch.

以上説明したように本発明によれば、マルチプロセッサ構成のマシンにおいて、パケットのオーダリング不要で、リンクのトラフィックの負荷と障害によるボトルネック部分を回避したルーティングを動的に設定可能とし、プロセッサ間の迅速な通信が可能とすることでシステム性能を向上させることが可能となる。   As described above, according to the present invention, it is possible to dynamically set routing avoiding a bottleneck portion due to a load of a link traffic and a failure without requiring packet ordering in a multiprocessor configuration machine. System performance can be improved by enabling quick communication.

本発明の1実施形態におけるマルチプロセッサの分散共有メモリマシンの構成を示すブロック図である。It is a block diagram which shows the structure of the multiprocessor distributed shared memory machine in one Embodiment of this invention. ノードを構成するCPU、及びノードコントローラの機能を説明した図である。It is a figure explaining CPU which comprises a node, and the function of a node controller. ルーティングテーブルの構成を説明する図である。It is a figure explaining the structure of a routing table. CPU100(1)の持つルーティングテーブルの一部のエントリを説明する図である。It is a figure explaining the one part entry of the routing table which CPU100 (1) has. CPU100(2)のルーティングテーブルの一部のエントリを説明する図である。It is a figure explaining the one part entry of the routing table of CPU100 (2). NDC102(11)のルーティングテーブルの一部のエントリを説明する図である。It is a figure explaining the one part entry of the routing table of NDC102 (11). NDC102(13)のルーティングテーブルの一部のエントリを説明する図である。It is a figure explaining the one part entry of the routing table of NDC102 (13).

符号の説明Explanation of symbols

100…CPU、101…メモリ、102…NDC、103…ノード、104、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、120、121、122、123、124、125…リンク、126…ルータ、127…ルーティングテーブル、150…転送パケット数記録用カウンタ、151…転送エラー記録用カウンタ、300、400、500、600、700…リクエスト送信元CPU番号、301、401、501、601、701…リクエスト送信先CPU番号、302、402、502、602,702…経路、303、403、503、603、703…リンクのトラフィック、304、404、504、604、704…有効ビット。   100 ... CPU, 101 ... memory, 102 ... NDC, 103 ... node, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125 ... link, 126 ... router, 127 ... routing table, 150 ... transfer packet number recording counter, 151 ... transfer error recording counter, 300, 400, 500, 600, 700 ... request transmission Original CPU number, 301, 401, 501, 601, 701 ... Request destination CPU number, 302, 402, 502, 602, 702 ... Path, 303, 403, 503, 603, 703 ... Link traffic, 304, 404, 504, 604, 704 ... Valid bits.

Claims (3)

プロセッサエレメントとメモリコントローラとルータを複数個相互に接続して構成される冗長経路を有するマルチプロセッサシステムで、OSのプロセス切替えを契機に該ルータのルーティングテーブルエントリを書き換えることにより他のプロセッサエレメントの動作を止めることなく経路を変更できることを特徴とするマルチプロセッサシステム。   Operation of other processor elements in a multiprocessor system having a redundant path configured by connecting a plurality of processor elements, memory controllers, and routers to each other by rewriting the routing table entry of the router when the OS process is switched A multiprocessor system characterized in that the path can be changed without stopping. 前記ルータの各ポートを通過するトラフィックの負荷を計測する手段を備えることによって、動的に負荷の低い経路を選択することを特徴とする請求項1に記載のマルチプロセッサシステム。   2. The multiprocessor system according to claim 1, wherein a route with a low load is dynamically selected by providing means for measuring a load of traffic passing through each port of the router. 前記ルータの各ポートにパケットの転送エラー数をカウントする手段を備えることによって、動的に障害の少ない経路を選択することを特徴とする請求項1に記載のマルチプロセッサシステム。   2. The multiprocessor system according to claim 1, wherein a route with few failures is dynamically selected by providing means for counting the number of packet transfer errors at each port of the router.
JP2007198300A 2007-07-31 2007-07-31 Multiprocessor system Pending JP2009037273A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007198300A JP2009037273A (en) 2007-07-31 2007-07-31 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007198300A JP2009037273A (en) 2007-07-31 2007-07-31 Multiprocessor system

Publications (1)

Publication Number Publication Date
JP2009037273A true JP2009037273A (en) 2009-02-19

Family

ID=40439148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007198300A Pending JP2009037273A (en) 2007-07-31 2007-07-31 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2009037273A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145592A (en) * 2013-03-26 2013-07-25 Toshiba Corp Storage devices mutually connected by memory node having transfer function and data processing method
US8848703B2 (en) 2011-01-13 2014-09-30 Kabushiki Kaisha Toshiba On-chip router and multi-core system using the same
US9246709B2 (en) 2010-11-10 2016-01-26 Kabushiki Kaisha Toshiba Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method
CN108038007A (en) * 2017-11-30 2018-05-15 中电福富信息科技有限公司 A kind of orderly processing method of message based on Ignite and system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246709B2 (en) 2010-11-10 2016-01-26 Kabushiki Kaisha Toshiba Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method
US10044642B2 (en) 2010-11-10 2018-08-07 Toshiba Memory Corporation Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method
US10397139B2 (en) 2010-11-10 2019-08-27 Toshiba Memory Corporation Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method
US8848703B2 (en) 2011-01-13 2014-09-30 Kabushiki Kaisha Toshiba On-chip router and multi-core system using the same
JP2013145592A (en) * 2013-03-26 2013-07-25 Toshiba Corp Storage devices mutually connected by memory node having transfer function and data processing method
CN108038007A (en) * 2017-11-30 2018-05-15 中电福富信息科技有限公司 A kind of orderly processing method of message based on Ignite and system
CN108038007B (en) * 2017-11-30 2022-04-05 中电福富信息科技有限公司 Method and system for orderly processing messages based on Ignite

Similar Documents

Publication Publication Date Title
EP0801349B1 (en) Deterministic distributed multicache coherence protocol
Ziakas et al. Intel® quickpath interconnect architectural features supporting scalable system architectures
US20050081080A1 (en) Error recovery for data processing systems transferring message packets through communications adapters
US11228488B2 (en) Software implementation of network switch/router
US8051325B2 (en) Multiprocessor system and failure recovering system
KR102092660B1 (en) Cpu and multi-cpu system management method
JP5920105B2 (en) Arithmetic processing device and control method of arithmetic processing device
JP2010218364A (en) Information processing system, and communication control apparatus and method
US20160210255A1 (en) Inter-processor bus link and switch chip failure recovery
US20150254183A1 (en) Inter-chip interconnect protocol for a multi-chip system
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
US7159079B2 (en) Multiprocessor system
JP2009037273A (en) Multiprocessor system
EP1895432B1 (en) Multiprocessor system
US11449489B2 (en) Split transaction coherency protocol in a data processing system
US7203775B2 (en) System and method for avoiding deadlock
JP3641834B2 (en) Parallel processor system and packet discard method suitable therefor
JP4985512B2 (en) Distributed shared memory multiprocessor system and load balancing method in multiprocessor system
US10394636B2 (en) Techniques for managing a hang condition in a data processing system with shared memory
US6826643B2 (en) Method of synchronizing arbiters within a hierarchical computer system
EP1936514B1 (en) Apparatus and method for controlling issue of requests to another operation processing device
JP5908068B2 (en) Standby redundant unit
JPH06266684A (en) Interprocessor routing system
US9959173B2 (en) Node, arithmetic processing device, and arithmetic processing method