JP2011180933A - I/o switch and computer system equipped with the same - Google Patents

I/o switch and computer system equipped with the same Download PDF

Info

Publication number
JP2011180933A
JP2011180933A JP2010046072A JP2010046072A JP2011180933A JP 2011180933 A JP2011180933 A JP 2011180933A JP 2010046072 A JP2010046072 A JP 2010046072A JP 2010046072 A JP2010046072 A JP 2010046072A JP 2011180933 A JP2011180933 A JP 2011180933A
Authority
JP
Japan
Prior art keywords
server
data
switch
memory
command
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
JP2010046072A
Other languages
Japanese (ja)
Inventor
Yutaro Jono
雄太郎 情野
亮 ▲高▼瀬
Akira Takase
Shisei Fujiwara
至誠 藤原
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 JP2010046072A priority Critical patent/JP2011180933A/en
Publication of JP2011180933A publication Critical patent/JP2011180933A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that transfer performance is deteriorated because when data on the memory of one physical server have to be copied in the memory of two or more physical servers, using a general-purpose I/O interface which does not respond to multicast data transfer requires to issue a data write instruction to each of the plurality of physical servers, which results in increase in traffic between a server-to-server communication mechanism and an I/O switch. <P>SOLUTION: The I/O switch is provided with a mechanism which comprises a register capable of holding a plurality of pieces of destination information in the control register of the server-to-server communication mechanism, and the register, when sending data to a plurality of destinations, capable of adding the plurality of pieces of destination information to the data to transfer data toward a plurality of destinations by the data write instruction of one time. The I/O switch shapes the data write instruction issued by the server-to-server communication mechanism to data write instructions to each of the destinations and simultaneously issues the data write instructions to the plurality of destinations. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は,3台以上の物理サーバが,I/Oスイッチを介して接続されたコンピュータシステムにおいて,物理サーバ間の通信を行うためのサーバ間通信機構に関する。   The present invention relates to an inter-server communication mechanism for performing communication between physical servers in a computer system in which three or more physical servers are connected via an I / O switch.

近年のコンピュータシステムにおいては,CPU単体の高性能化およびCPUのマルチコア化などの処理性能向上にともなって,1台の物理サーバ上で複数の仮想サーバを稼働させる,サーバ統合やのニーズが高まってきている。サーバ統合を行うことにより,1台の物理サーバで稼働するOSやアプリケーションの数が増加する。その結果,1台の物理サーバに接続しなければならないI/Oデバイスの増加が見込まれる。より多くのI/Oデバイスを搭載するため,サーバとI/Oデバイスとの間をPCI−Express(R)スイッチなどのI/Oスイッチを介して接続する必要性が高まっている。   In recent computer systems, the need for server integration to operate multiple virtual servers on one physical server has increased along with the improvement in processing performance such as high performance of a single CPU and multi-core CPU. ing. By performing server integration, the number of OSs and applications running on one physical server increases. As a result, an increase in I / O devices that must be connected to one physical server is expected. In order to mount more I / O devices, there is an increasing need to connect a server and an I / O device via an I / O switch such as a PCI-Express (R) switch.

I/Oスイッチを用いて,サーバに接続する物理的なI/Oデバイスの数を増やすアプローチの一方で,物理サーバもしくは仮想サーバ間でI/Oデバイスを共有する,I/O仮想化の普及も見込まれている。I/O仮想化とは,物理的なI/Oデバイスの上に複数の仮想I/Oデバイスを設け,各物理サーバもしくは仮想サーバにそれぞれ仮想I/Oデバイスを割り当てることにより,I/Oデバイスを物理サーバもしくは仮想サーバ間で共有するという手法である。I/Oデバイスを複数の物理サーバで共有する場合には,複数のアップストリームポートを有するI/Oスイッチを用意し,このI/Oスイッチの各アップストリームポートにそれぞれ物理サーバを接続し,ダウンストリームポートにはI/Oデバイスを接続する構成とし,I/Oデバイスを各物理サーバ間で共有する。このようなI/O仮想化を用いることにより,I/Oデバイスの物理的な数を増やすことなく,統合されたサーバ上で稼働するOSやアプリケーションのそれぞれから多くのI/Oデバイスを使用することが可能になる。   While using an I / O switch to increase the number of physical I / O devices connected to a server, I / O virtualization is shared by sharing I / O devices between physical servers or virtual servers Is also expected. I / O virtualization refers to I / O devices by providing multiple virtual I / O devices on top of physical I / O devices and assigning virtual I / O devices to each physical server or virtual server. Is shared between physical servers or virtual servers. When sharing an I / O device with multiple physical servers, prepare an I / O switch with multiple upstream ports, connect a physical server to each upstream port of this I / O switch, and The stream port is configured to connect an I / O device, and the I / O device is shared between the physical servers. By using such I / O virtualization, a large number of I / O devices are used from each of OSs and applications running on an integrated server without increasing the physical number of I / O devices. It becomes possible.

また,メモリ上にデータベースを構築して従来のディスク上に構築したデータベースよりも高速にデータ通信を行うことができるインメモリDBにおいて,現用系の物理サーバのメモリ上のデータを2つ以上の待機系の物理サーバのメモリに高速にコピーして,多重化した物理サーバのメモリデータを同期させる要求がある。この場合,メモリ上の大量のデータを高速に転送することが必要であり,物理サーバ間の高速通信手段が必要となっている。   Also, in an in-memory DB that can perform data communication at a higher speed than a database built on a conventional disk by building a database on the memory, two or more waits for data on the memory of the active physical server There is a request to synchronize the memory data of multiplexed physical servers that are copied to the memory of the physical server at high speed. In this case, it is necessary to transfer a large amount of data on the memory at high speed, and high-speed communication means between physical servers is necessary.

例えば,特許文献1では,2つ以上のサーバとI/Oデバイスがスイッチで接続されたコンピュータシステムにおいて,サーバ間通信にI/Oスイッチ内に内蔵されたサーバ間高速通信機構を用いて,サーバ間通信機構がデータ転送のための転送コマンドを解釈して,汎用I/Oインタフェースの制御を行い,サーバ間のデータ転送を行う,高速通信手段が示されている。   For example, in Patent Document 1, in a computer system in which two or more servers and an I / O device are connected by a switch, a server high-speed communication mechanism built in the I / O switch is used for server-to-server communication. A high-speed communication means is illustrated in which the inter-communication mechanism interprets a transfer command for data transfer, controls the general-purpose I / O interface, and transfers data between servers.

特開2009−282917JP2009-292917 特開2000−4922JP2000-4922 特開平9−83522JP-A-9-83522

インメモリDBに適用できるメモリデータの同期処理では,現用系の1つの物理サーバのメモリ上のデータを2つ以上の待機系の物理サーバのメモリにコピーしなければならないため,複数のメモリに同時に書き込みを行わなければならない。データのマルチキャスト送信に対応していない汎用I/Oインタフェースを用いる場合,データ書き込み命令を複数の物理サーバ毎に発行しなければならい。その場合,宛先の物理サーバが増えるほど,サーバ間通信機構とI/Oスイッチ間のトラフィックが増加してしまい,データ転送時間が長くなることから,同期処理性能が低下してしまう課題があった。   In the memory data synchronization process applicable to the in-memory DB, data on the memory of one active physical server must be copied to the memory of two or more standby physical servers. Must write. When a general-purpose I / O interface that does not support data multicast transmission is used, a data write command must be issued for each of a plurality of physical servers. In this case, as the number of destination physical servers increases, the traffic between the server-to-server communication mechanism and the I / O switch increases, and the data transfer time becomes longer. .

前述の課題を解決するため,本発明のマルチキャスト送信機能を備えたサーバ間通信機構は,サーバ間通信機構の制御レジスタに複数の宛先情報を保持できるレジスタを持ち,データを複数の宛先に送信する際は,前記レジスタの複数の宛先情報を前記データに付加する機構を備え,複数の宛先に対するデータ転送を1回のデータ書き込み命令で行うことができる。さらに,I/Oスイッチでは,サーバ間通信機構が発行した前記データ書き込み命令を複数の宛先毎のデータ書き込み命令に整形し,複数の宛先に同時にデータ書き込み命令を発行することを特徴とする。   In order to solve the above-described problems, the inter-server communication mechanism having the multicast transmission function of the present invention has a register capable of holding a plurality of destination information in the control register of the inter-server communication mechanism, and transmits data to the plurality of destinations. In this case, a mechanism for adding a plurality of destination information of the register to the data is provided, and data transfer to the plurality of destinations can be performed by one data write command. Further, the I / O switch is characterized in that the data write command issued by the inter-server communication mechanism is shaped into a data write command for each of a plurality of destinations, and the data write command is issued simultaneously to the plurality of destinations.

本発明のサーバ間通信機構およびI/Oスイッチでは,データのマルチキャスト送信処理は,サーバ間通信機構が内蔵されたI/Oスイッチ内で行われ,スイッチ外ではI/Oリンクのプロトコルに準じた命令として各物理サーバに送信されるため,マルチキャスト送信に対応していない汎用I/Oインタフェースでも高速にマルチキャストデータ送信を行いたい場合に効果がある。さらに,本発明のサーバ間通信機構およびI/Oスイッチでは,物理サーバ間のデータ転送に,マルチキャスト送信機能をサポートする通信プロトコルに対応したるI/Oデバイスを利用する必要がなく,汎用I/Oインタフェースのみを使用したサーバ間通信機構の内部で行われるため,プロトコル変換のオーバヘッドが生じない。従って通信スループットやレイテンシの面で有利となる。例えば,マルチキャスト送信に対応していない汎用I/Oインタフェースを用いて,複数の待機系の物理サーバのメモリに現用系の物理サーバのメモリデータを同期させる場合に,メモリデータを複数の待機系サーバのメモリに同時転送することができ,メモリデータの転送時間が短縮するため,同期処理性能を向上させることが可能となる。   In the inter-server communication mechanism and the I / O switch according to the present invention, data multicast transmission processing is performed within the I / O switch with the built-in inter-server communication mechanism, and conforms to the I / O link protocol outside the switch. Since it is transmitted to each physical server as a command, it is effective when it is desired to perform multicast data transmission at high speed even with a general-purpose I / O interface that does not support multicast transmission. Furthermore, in the inter-server communication mechanism and the I / O switch of the present invention, it is not necessary to use an I / O device corresponding to a communication protocol that supports the multicast transmission function for data transfer between physical servers, and general-purpose I / O Since this is performed inside the server-to-server communication mechanism using only the O interface, the overhead of protocol conversion does not occur. Therefore, it is advantageous in terms of communication throughput and latency. For example, when synchronizing the memory data of the active physical server to the memory of multiple standby physical servers using a general-purpose I / O interface that does not support multicast transmission, the memory data is transferred to multiple standby servers. Since the memory data transfer time is shortened, the synchronous processing performance can be improved.

本実施例に係るサーバ間通信機構内蔵I/Oスイッチを有するコンピュータシステムの構成を表すブロック図である。It is a block diagram showing the structure of the computer system which has an I / O switch with a built-in communication mechanism between servers concerning a present Example. 本実施例に係るサーバ間通信機構内蔵I/Oスイッチの内部構成を説明するためのブロック図である。It is a block diagram for demonstrating the internal structure of the I / O switch with a built-in server communication mechanism based on a present Example. 本実施例に係るサーバ間通信機構の動作を説明するためのタイムチャートである。It is a time chart for demonstrating operation | movement of the communication mechanism between servers which concerns on a present Example. 本実施例に係るサーバ間通信機構内蔵I/Oスイッチ内で処理される命令のデータ構造を示す図である。It is a figure which shows the data structure of the command processed within the I / O switch with a built-in server communication mechanism based on a present Example.

以下,本発明の実施例を,図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(構成の説明)
図1に,本発明によるコンピュータシステムの構成図を示す。物理サーバ111はCPU131およびメモリ121およびCPU−I/Oインタフェース141を有しており,物理サーバ111の上では,OS101が稼働している。物理サーバ112についても同様で,CPU132およびメモリ122よびCPU−I/Oインタフェース142を有しており,物理サーバ112上ではOS102が稼働している。物理サーバ113についても同様で,CPU133およびメモリ123よびCPU−I/Oインタフェース143を有しており,物理サーバ113上ではOS103が稼働している。
(Description of configuration)
FIG. 1 shows a configuration diagram of a computer system according to the present invention. The physical server 111 has a CPU 131, a memory 121, and a CPU-I / O interface 141, and the OS 101 is running on the physical server 111. The same applies to the physical server 112, which includes a CPU 132, a memory 122, and a CPU-I / O interface 142, and the OS 102 is operating on the physical server 112. The same applies to the physical server 113, which includes a CPU 133, a memory 123, and a CPU-I / O interface 143, and the OS 103 is running on the physical server 113.

物理サーバ111,112,113は,CPU−I/Oインタフェース141,142,143を介して,通信機構内蔵I/Oスイッチ151のアップストリームポートに接続されている。通信機構内蔵I/Oスイッチ151のダウンストリームポートにはI/Oデバイス181および182,183,184が接続されており,通信機構内蔵I/Oスイッチ151を経由して物理サーバ111,112,113と,I/Oデバイス181,182,183,184とが接続される構成となっている。ここで,I/Oデバイス181,182,183,184のそれぞれは,物理サーバ111と112と113で共有して使用されるI/Oデバイスであっても,物理サーバ111または112または113のどちらか一台で占有して使用されるI/Oデバイスであってもよい。また,通信機構内蔵I/Oスイッチ151のダウンストリームポートにはサーバ間通信機構171が接続されており,通信機構内蔵I/Oスイッチ151を経由して物理サーバ111および112,113と接続されている。なお,サーバ間通信機構171は,通信機構内蔵I/Oスイッチ151に内蔵されている。   The physical servers 111, 112, and 113 are connected to the upstream port of the communication mechanism built-in I / O switch 151 via the CPU-I / O interfaces 141, 142, and 143. I / O devices 181, 182, 183, and 184 are connected to downstream ports of the communication mechanism built-in I / O switch 151, and the physical servers 111, 112, 113 are connected via the communication mechanism built-in I / O switch 151. And I / O devices 181, 182, 183, and 184 are connected to each other. Here, each of the I / O devices 181, 182, 183, and 184 is an I / O device that is shared and used by the physical servers 111, 112, and 113, either the physical server 111, 112, or 113. Alternatively, it may be an I / O device that is used exclusively by one unit. Further, an inter-server communication mechanism 171 is connected to the downstream port of the communication mechanism built-in I / O switch 151, and is connected to the physical servers 111, 112, and 113 via the communication mechanism built-in I / O switch 151. Yes. The inter-server communication mechanism 171 is built in the communication mechanism built-in I / O switch 151.

図2は,通信機構内蔵I/Oスイッチ151内のスイッチ部161およびサーバ間通信機構171の内部構造について示した図である。サーバ間通信機構171は,I/Oスイッチ内リンク201によってスイッチ部161と接続されている。I/Oスイッチ内リンク201とサーバ間通信機構171の内部は,サーバ間通信機構スイッチ部間インタフェース202で接続されている。サーバ間通信機構171は,メモリデータを取り込むためのメモリ読み出し命令生成部203と,メモリデータを送り出すためのメモリ書き込み命令生成部204,割り込みを発生させるための割り込み命令生成部205を有している。メモリ読み出し命令生成部203,メモリ書き込み命令生成部204,割り込み命令生成部205の先には,命令を正しい宛先サーバに送出するための宛先情報付加部206を備えている。メモリ読み出し命令生成部203およびメモリ書き込み命令生成部204,割り込み命令生成部205の動作を制御するために命令発行用シーケンサ208を備えている。また,サーバ間通信機構171は,メモリ読み出し命令により読み出されたデータを取り込むためのメモリデータ返却命令受信部209を備えており,ここで受信したメモリデータを格納するためのメモリデータバッファ210がある。最後に,ソフトウェアからサーバ間通信機構171を制御するための機構として,サーバ間通信機構レジスタ211を備えている。このサーバ間通信機構レジスタ211には,宛先情報212,送信メモリアドレス213,受信1メモリアドレス214,受信2メモリアドレス215,送信メモリ領域長216,起動レジスタ217が含まれている。なお,受信メモリアドレスレジスタは,宛先となる物理サーバ分のレジスタを持つ必要があり,実施例のように2つ固定である必要はない。   FIG. 2 is a diagram showing the internal structure of the switch unit 161 and the inter-server communication mechanism 171 in the communication mechanism built-in I / O switch 151. The inter-server communication mechanism 171 is connected to the switch unit 161 via the I / O switch link 201. The intra-I / O switch link 201 and the inter-server communication mechanism 171 are connected by an inter-server communication mechanism switch unit interface 202. The inter-server communication mechanism 171 includes a memory read command generation unit 203 for fetching memory data, a memory write command generation unit 204 for sending out memory data, and an interrupt command generation unit 205 for generating an interrupt. . A destination information adding unit 206 for sending a command to a correct destination server is provided ahead of the memory read command generation unit 203, the memory write command generation unit 204, and the interrupt command generation unit 205. An instruction issue sequencer 208 is provided to control the operations of the memory read instruction generator 203, the memory write instruction generator 204, and the interrupt instruction generator 205. The inter-server communication mechanism 171 includes a memory data return command receiving unit 209 for capturing data read by a memory read command, and a memory data buffer 210 for storing the received memory data. is there. Finally, an inter-server communication mechanism register 211 is provided as a mechanism for controlling the inter-server communication mechanism 171 from software. This inter-server communication mechanism register 211 includes destination information 212, a transmission memory address 213, a reception 1 memory address 214, a reception 2 memory address 215, a transmission memory area length 216, and a start register 217. Note that the reception memory address register needs to have a register for a physical server as a destination, and does not need to be fixed as in the embodiment.

スイッチ部161は,I/Oリンク221によって,通信機構内蔵I/Oスイッチ151のアップストリームポートおよびダウンストリームポートに接続されている。I/Oリンク221とスイッチ部161の内部は,I/Oインタフェース222で接続されている。I/Oスイッチ内リンク201とスイッチ部161の内部は,サーバ間通信機構スイッチ間インタフェース224で接続されている。スイッチ部161は,サーバ間通機構から送信された命令がユニキャストかマルチキャストかどうかを判定し,マルチキャストだった場合には宛先毎のユニキャスト命令に整形する機構としてマルチキャスト命令判定/命令整形部226を備えている。サーバ間通信機構171から送信されたユニキャスト命令またはマルチキャスト命令判定/命令整形部226にて整形された複数宛先へのユニキャスト命令および,I/Oリンク221を経由して受信したI/Oデバイス181,182,183,184または物理サーバ101,102,103からの全ユニキャスト命令の全ての宛先を判定し,宛先毎に送信可能な命令を決定する機構として,宛先判定/命令調停部225を備えている。宛先判定/命令調停部225にて決定された各宛先へのユニキャスト命令を,I/Oリンク221またはI/Oスイッチ内リンク201に送信するための,クロスバスイッチ223を有している。   The switch unit 161 is connected to the upstream port and the downstream port of the communication mechanism built-in I / O switch 151 by the I / O link 221. The I / O link 221 and the inside of the switch unit 161 are connected by an I / O interface 222. The intra-I / O switch link 201 and the switch unit 161 are connected by an inter-server communication mechanism inter-switch interface 224. The switch unit 161 determines whether the command transmitted from the server communication mechanism is unicast or multicast. If the command is multicast, the switch unit 161 is a multicast command determination / command shaping unit 226 as a mechanism for shaping the unicast command for each destination. It has. A unicast command transmitted from the inter-server communication mechanism 171 or a unicast command to a plurality of destinations shaped by the multicast command determination / command shaping unit 226, and an I / O device received via the I / O link 221 181, 182, 183, 184 or all destinations of all unicast commands from the physical servers 101, 102, 103 are determined, and a destination determination / command arbitration unit 225 is used as a mechanism for determining a command that can be transmitted for each destination. I have. The crossbar switch 223 is used to transmit a unicast command to each destination determined by the destination determination / command arbitration unit 225 to the I / O link 221 or the I / O switch link 201.

(動作の説明)
図3は,サーバ間通信機構の動作を表すタイムチャートである。このタイムチャートでは,図1の構成のシステムにおいて,物理サーバ111内のメモリ121に存在するデータを,物理サーバ112内のメモリ122および物理サーバ113内のメモリ123にマルチキャスト転送する場合の例として動作を示す。
(Description of operation)
FIG. 3 is a time chart showing the operation of the inter-server communication mechanism. This time chart operates as an example of multicast transfer of data existing in the memory 121 in the physical server 111 to the memory 122 in the physical server 112 and the memory 123 in the physical server 113 in the system having the configuration shown in FIG. Indicates.

まず,データ送信側の物理サーバ111上で稼働しているOS101が,送信する物理サーバ111のメモリ領域の先頭アドレスを設定する。この設定は,データ送信側の物理サーバ111からサーバ間通信機構171の送信メモリアドレスレジスタ214に対する書き込み命令の送信にて行われる(301)。このとき,宛先情報レジスタ212に物理サーバ111の宛先情報および送信側であることを示す情報を登録する。データ受信側の物理サーバ112から,受信メモリアドレス1レジスタ214に対して書き込みを行い,受信する物理サーバ112のメモリ領域の先頭アドレスを設定する(302)。このとき,宛先情報レジスタ212に物理サーバ112の宛先情報および受信側であることを示す情報を登録する。同様に,データ受信側の物理サーバ113から,受信メモリアドレス2レジスタ215対して書き込みを行い,受信する物理サーバ113のメモリ領域の先頭アドレスを設定する(303)。このとき,宛先情報レジスタ212に物理サーバ113の宛先情報および受信側であることを示す情報を登録する。送信メモリ領域長レジスタ216に対して書き込みを行い,送信するメモリ領域の大きさを設定する(304)。以上でサーバ間通信を行うための初期設定処理が完了する。   First, the OS 101 running on the physical server 111 on the data transmission side sets the start address of the memory area of the physical server 111 to be transmitted. This setting is performed by transmitting a write command from the physical server 111 on the data transmission side to the transmission memory address register 214 of the inter-server communication mechanism 171 (301). At this time, the destination information of the physical server 111 and the information indicating the transmission side are registered in the destination information register 212. Data is written to the reception memory address 1 register 214 from the physical server 112 on the data receiving side, and the head address of the memory area of the physical server 112 to receive is set (302). At this time, the destination information of the physical server 112 and information indicating the receiving side are registered in the destination information register 212. Similarly, data is written from the physical server 113 on the data receiving side to the received memory address 2 register 215, and the head address of the memory area of the receiving physical server 113 is set (303). At this time, the destination information of the physical server 113 and information indicating the receiving side are registered in the destination information register 212. Writing to the transmission memory area length register 216 is performed, and the size of the memory area to be transmitted is set (304). Thus, the initial setting process for performing communication between servers is completed.

次に,サーバ間通信機構171の起動レジスタ217に書き込みを行うことにより,サーバ間通信機構171を起動する(305)。起動されると,命令発行用シーケンサ208が動作を開始し,メモリ読み出し命令生成部203から宛先情報付加部206を経由してデータ送信側の物理サーバ111の宛先情報が付加され,メモリ読み出し命令が発行される(306a)。このメモリ読み出し命令は,スイッチ部161の宛先判定/命令調停部225にて前記の送信側サーバ宛先情報を用いて宛先が判定され,データ送信側の物理サーバ111へと正しく送信される。メモリ読み出し命令を受け取ったデータ送信側の物理サーバ111は,サーバ間通信機構171に対してデータ返却命令を送信することにより,メモリ読み出し命令306aに対するメモリデータ返却を行う(307a)。サーバ間通信機構171ではデータ返却命令をメモリデータ返却命令受信部209で受信し,メモリデータ部分をメモリデータバッファ210に格納する。メモリデータを受け取ると,メモリ書き込み命令生成部204がメモリデータバッファ210からメモリデータを取り出し,宛先情報付加部206を経由してデータ受信側の物理サーバ112および物理サーバ113の宛先情報が付加され,マルチキャストメモリ書き込み命令が発行される(308a)。図4は,マルチキャスト命令およびユニキャスト命令のデータ構造である。マルチキャストメモリ書き込み命令308aのデータ構造はマルチキャスト命令データ構造401である。ヘッダ411は受信側の物理サーバ112の宛先情報であり,ヘッダ412は受信側の物理サーバ113の宛先情報である。データ413は宛先メモリに書き込まれるデータである。このマルチキャストメモリ書き込み命令308aは,スイッチ部161のマルチキャスト命令判定/命令整形部226にて,マルチキャスト命令と判定され,物理サーバ112宛のメモリ書き込み命令と物理サーバ113宛のメモリ書き込み命令に整形される。整形されたメモリ書き込み命令のデータ構造は,ユニキャスト命令データ構造421および422である。ユニキャスト命令データ構造421は,マルチキャスト命令データ構造401のヘッダ411およびデータ413で整形されメモリ書き込み命令のデータ構造である。同様に,ユニキャスト命令データ構造422は,マルチキャスト命令データ構造401のヘッダ412およびデータ413で整形されメモリ書き込み命令のデータ構造である。整形された2つのメモリ書き込み命令は,宛先判定/命令調停部225にて受信側サーバ宛先情報であるヘッダ431およびヘッダ432を用いて宛先が判定され,データ受信側の物理サーバ112および物理サーバ113へと正しく送信される(309a,310a)。命令発行用シーケンサ208は,以上のメモリ読み出し命令の送信(306a),メモリ返却命令の受信(307a),マルチキャストメモリ書き込み命令の送信(308a)の一連の動作を,送信メモリ領域長レジスタ216で指定されたデータ長を転送し終えるまで繰り返すことにより,データ送信側の物理サーバ111からデータ受信側の物理サーバ112および物理サーバ113へとデータをマルチキャスト転送する。   Next, the inter-server communication mechanism 171 is activated by writing to the activation register 217 of the inter-server communication mechanism 171 (305). When activated, the instruction issuing sequencer 208 starts operation, and the destination information of the physical server 111 on the data transmission side is added from the memory read command generation unit 203 via the destination information addition unit 206, and the memory read command is issued. It is issued (306a). In this memory read command, the destination determination / command arbitration unit 225 of the switch unit 161 determines the destination using the transmission-side server destination information, and is correctly transmitted to the physical server 111 on the data transmission side. The physical server 111 on the data transmission side that has received the memory read command sends a data return command to the inter-server communication mechanism 171 to return the memory data to the memory read command 306a (307a). In the inter-server communication mechanism 171, the data return command is received by the memory data return command receiving unit 209 and the memory data part is stored in the memory data buffer 210. When the memory data is received, the memory write command generation unit 204 retrieves the memory data from the memory data buffer 210, adds destination information of the physical server 112 and the physical server 113 on the data receiving side via the destination information addition unit 206, A multicast memory write command is issued (308a). FIG. 4 shows the data structure of the multicast instruction and the unicast instruction. The data structure of the multicast memory write command 308a is a multicast command data structure 401. The header 411 is destination information of the physical server 112 on the reception side, and the header 412 is destination information of the physical server 113 on the reception side. Data 413 is data written to the destination memory. The multicast memory write command 308a is determined as a multicast command by the multicast command determination / command shaping unit 226 of the switch unit 161, and is shaped into a memory write command addressed to the physical server 112 and a memory write command addressed to the physical server 113. . The data structures of the shaped memory write instructions are unicast instruction data structures 421 and 422. The unicast instruction data structure 421 is a data structure of a memory write instruction that is shaped by the header 411 and the data 413 of the multicast instruction data structure 401. Similarly, the unicast instruction data structure 422 is a data structure of a memory write instruction that is shaped by the header 412 and the data 413 of the multicast instruction data structure 401. The destinations of the two formatted memory write commands are determined by the destination determination / command arbitration unit 225 using the header 431 and the header 432 which are reception side server destination information, and the physical server 112 and the physical server 113 on the data reception side. (309a, 310a). The instruction issuing sequencer 208 designates a series of operations of sending the above memory read command (306a), receiving the memory return command (307a), and sending the multicast memory write command (308a) using the send memory area length register 216. By repeating until the transferred data length is transferred, data is multicast transferred from the physical server 111 on the data transmission side to the physical server 112 and the physical server 113 on the data reception side.

最後に,データ転送を終えると,命令発行用シーケンサ208は割り込み命令生成部205を起動する。割り込み命令生成部はデータ送信側の物理サーバ111およびデータ受信側の物理サーバ112,物理サーバ113に対してそれぞれ割り込み命令を発行する。割り込み命令生成部205で生成された割り込み命令は,宛先情報付加部206を経由して,データ送信側の物理サーバ111,データ受信側の物理サーバ112および113の宛先情報が付加され,マルチキャスト送信完了割り込み通知が発行される(311)。発行されたマルチキャスト送信完了割り込み通知311は,マルチキャストメモリ書き込み命令と同様に,スイッチ部161において,物理サーバ111および112,113に対するユニキャスト命令データ構造の送信完了割り込み通知に整形され,送信される(312,313,314)。以上をもって,サーバ間でのデータ転送処理が全て完了する。   Finally, when the data transfer is completed, the instruction issuing sequencer 208 activates the interrupt instruction generating unit 205. The interrupt command generation unit issues an interrupt command to the physical server 111 on the data transmission side, the physical server 112 on the data reception side, and the physical server 113, respectively. The interrupt command generated by the interrupt command generation unit 205 is added with the destination information of the physical server 111 on the data transmission side and the physical servers 112 and 113 on the data reception side via the destination information addition unit 206, and the multicast transmission is completed. An interrupt notification is issued (311). The issued multicast transmission completion interrupt notification 311 is shaped into a transmission completion interrupt notification of a unicast command data structure for the physical servers 111, 112, and 113 in the switch unit 161 and transmitted, similarly to the multicast memory write command ( 312, 313, 314). Thus, all data transfer processing between servers is completed.

本実施例では,サーバ間通信機構に設定指示をしたり,サーバ間通信機構を起動したりする動作主体をOSであるとして説明したが,動作主体はサーバ間通信機構用のデバイスドライバであっても,アプリケーションプログラム等であっても,仮想サーバを管理するハイパバイザ等であってもよい。   In this embodiment, the operating entity that instructs the server-to-server communication mechanism to set or activates the server-to-server communication mechanism has been described as an OS. However, the operating entity is a device driver for the server-to-server communication mechanism. Alternatively, it may be an application program or the like, or a hypervisor or the like that manages a virtual server.

111,112,113 物理サーバ、151 通信機構内蔵I/Oスイッチ、161 スイッチ部、171 サーバ間通信機構 111, 112, 113 Physical server, 151 Communication mechanism built-in I / O switch, 161 switch unit, 171 Inter-server communication mechanism

Claims (3)

複数のアップストリームポートと1つ以上のダウンストリームポートを持つI/Oスイッチにおいて,複数の宛先情報を保持できる制御レジスタを持ち,データを複数の宛先に送信する際は,前記レジスタの複数の宛先情報を前記データに付加する機構を備え,複数の宛先へのマルチキャスト送信を行うことができるサーバ間通信機構が内蔵されたことを特徴とする,I/Oスイッチ。   An I / O switch having a plurality of upstream ports and one or more downstream ports has a control register capable of holding a plurality of destination information, and when transmitting data to a plurality of destinations, a plurality of destinations of the registers An I / O switch comprising a mechanism for adding information to the data, and a server-to-server communication mechanism capable of performing multicast transmission to a plurality of destinations. 請求項1記載のI/Oスイッチにおいて,前記I/Oスイッチ内のスイッチ部には,請求項1に記載のサーバ間通信機構から発行された命令がマルチキャストかユニキャストかを判定する機構と,前記判定機構でマルチキャスト書き込み命令と判定された場合に,マルチキャスト命令内の複数の宛先情報それぞれと前記マルチキャスト命令内の一つのデータを用いてマルチキャスト命令を宛先数分のユニキャスト命令に整形する機構を備え,発行可能なポートに複数のユニキャスト命令を同時に発行することを特徴とする,I/Oスイッチ。   The I / O switch according to claim 1, wherein the switch unit in the I / O switch includes a mechanism for determining whether the command issued from the inter-server communication mechanism according to claim 1 is multicast or unicast, A mechanism for shaping a multicast command into unicast commands for the number of destinations using each of a plurality of pieces of destination information in the multicast command and one data in the multicast command when the determination mechanism determines that the command is a multicast write command; An I / O switch characterized by simultaneously issuing a plurality of unicast instructions to a port that can be issued. それぞれに1つ以上のCPUとメモリを有する複数の物理サーバと,複数のアップストリームポートと1つ以上のダウンストリームポートを持つ請求項1または請求項2記載のI/Oスイッチからなり,前記各物理サーバが前記I/Oスイッチのアップストリームポートを経由して接続されたコンピュータシステムにおいて,前記I/Oスイッチ内のサーバ間通信機構に対する物理サーバからの要求により,データ送信元の物理サーバのメモリ上にあるデータを複数の送信先の物理サーバのメモリ上にマルチキャスト送信することを特徴とする,コンピュータシステム。   3. An I / O switch according to claim 1, comprising a plurality of physical servers each having one or more CPUs and a memory, a plurality of upstream ports, and one or more downstream ports. In a computer system in which a physical server is connected via the upstream port of the I / O switch, the memory of the physical server that is the data transmission source is requested by a request from the physical server to the inter-server communication mechanism in the I / O switch. A computer system characterized by multicasting data on the memory of a plurality of destination physical servers.
JP2010046072A 2010-03-03 2010-03-03 I/o switch and computer system equipped with the same Pending JP2011180933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010046072A JP2011180933A (en) 2010-03-03 2010-03-03 I/o switch and computer system equipped with the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010046072A JP2011180933A (en) 2010-03-03 2010-03-03 I/o switch and computer system equipped with the same

Publications (1)

Publication Number Publication Date
JP2011180933A true JP2011180933A (en) 2011-09-15

Family

ID=44692352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010046072A Pending JP2011180933A (en) 2010-03-03 2010-03-03 I/o switch and computer system equipped with the same

Country Status (1)

Country Link
JP (1) JP2011180933A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015015652A1 (en) * 2013-08-02 2015-02-05 株式会社日立製作所 Server system equipped with server-to-server communication mechanism and method for communication between multiple servers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015015652A1 (en) * 2013-08-02 2015-02-05 株式会社日立製作所 Server system equipped with server-to-server communication mechanism and method for communication between multiple servers

Similar Documents

Publication Publication Date Title
EP2904500B1 (en) Memory bus protocol to enable clustering between nodes of distinct physical domain address spaces
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
KR101951072B1 (en) Inter-core communication apparatus and method
JP2021190123A (en) System and method using cache coherent interconnect
Hanawa et al. Interconnection network for tightly coupled accelerators architecture
WO2013152593A1 (en) Method and apparatus of data processing
US9535873B2 (en) System, computer-implemented method and computer program product for direct communication between hardward accelerators in a computer cluster
US20180329841A1 (en) Memory access control device and control method of memory access
JP2006190240A (en) Information processor
EP3563534B1 (en) Transferring packets between virtual machines via a direct memory access device
JP5561334B2 (en) Data transfer device
JP2006085400A (en) Data processing system
CN114662136B (en) PCIE (peripheral component interface express) channel-based high-speed encryption and decryption system and method for multi-algorithm IP (Internet protocol) core
WO2014202003A1 (en) Data transmission method, device and system of data storage system
JPH10222458A (en) Connector
US9086843B2 (en) Audio controller
US11029847B2 (en) Method and system for shared direct access storage
US20090292856A1 (en) Interserver communication mechanism and computer system
WO2012167566A1 (en) Route switching device, network switching system and route switching method
WO2014206229A1 (en) Accelerator and data processing method
JPH10171712A (en) I/o traffic transmission by processor bus
JP2011180933A (en) I/o switch and computer system equipped with the same
US10366006B2 (en) Computing apparatus, node device, and server
WO2014101502A1 (en) Memory access processing method based on memory chip interconnection, memory chip, and system
CN112817774B (en) System and method for transaction broadcasting in a network on chip