JP2011180933A - I/o switch and computer system equipped with the same - Google Patents
I/o switch and computer system equipped with the same Download PDFInfo
- 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
Links
Images
Abstract
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
インメモリ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.
以下,本発明の実施例を,図面を用いて詳細に説明する。 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
物理サーバ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
図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 /
スイッチ部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 /
(動作の説明)
図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
まず,データ送信側の物理サーバ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
次に,サーバ間通信機構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
最後に,データ転送を終えると,命令発行用シーケンサ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
本実施例では,サーバ間通信機構に設定指示をしたり,サーバ間通信機構を起動したりする動作主体を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)
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)
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 |
-
2010
- 2010-03-03 JP JP2010046072A patent/JP2011180933A/en active Pending
Cited By (1)
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 |