Dolphin Express による 10Gbps ソケット通信 Dolphin Express は 標準的な低価格のサーバを用いて 強力なクラスタリングシステムが構築できる ハードウェアとソフトウェアによる通信用アーキテクチャです 本資料では Dolphin Express 製品の概要と 実際にどの程度の性能が出るのか市販 PC での実験結果をご紹介します Dolphin Express 製品体系 Dolphin Express のハードウェアには 通信プロトコルに Advanced Switching Interconnect (ASI) を用いた DX シリーズと Scalable Coherent Interface (SCI) を用いた D350 シリーズがあります いずれもホストアダプタは PCI Express に対応しています D350 Dual Channel SCI D350 シリーズの使用する SCI プロトコルは ANSI/IEEE で標準化され これまで PCI 用のホストアダプタとして 特にクラスタリングシステムでの採用実績があります ボード間のリンクスピードはシングルリンクで 664MB/s アプリケーション間レイテンシーは 1.4us( 利用環境による ) です DX シリーズの使用する ASI プロトコルは PCI Express を機能拡張するために旧 ASI-SIG( 現在 PICMG が仕様を管理 ) により規格化されたプロトコルです ボード間のリンクスピードは 1GB/s で PCI Express 同様にレーン数により帯域を上げることが可能です DXH510 PCI Express Host Adapter
DX シリーズ D350 シリーズハードウェアソフトウェアDolphin Express ハードウェアに用意されているソフトウェアには ソケットプログラミング用として SuperSockets と低レベル API として SISCI(Software Infrastructure for SCI) が用意されています SuperSocket はソケット API 以下の処理をハードウェアに最適化しているため 極めて低いレイテンシーとハードウェアの持つリンク速度を十分に生かすことができます その結果 従来のソケット利用アプリケーションを作りかえることなく 1Gb イーサで 100MB/s 程度であった通信を容易に 600MB/s 以上に高速化することが可能です 組込機器などで ソケット API を使用しない場合は SISCI の API を用いて RMA(Remote Memory Access) によるプログラミングが可能です 以下に DX シリーズと D350 シリーズの特長をまとめてみました 通信プロトコル ASI SCI (ANSI/IEEE 1596-1992) リンクスピード 1GB/s または 2GB/s 664MB/s または 1.328GB/s トポロジ ポイント-to-ポイントスイッチによる結線 ポイント-to-ポイントリング結線トーラス結線 ホストアダプタ PCIe x8 PCIe x8 または x4 その他 PCIe 拡張ユニットあり 300m まで延長可能 PCI,CompactPCI,PCM などのホストアダプタあり ソケット API SuperSocket 対応 SuperSocket 対応 低レベル API SISCI 対応 SISCI 対応 OS Linux Linux Windows( 準備中 ) WindowsXP SISCI は他 OS も対応 その他 SCI 用に MPICH あり
市販 PC による実験 下記スペックの市販 PC を 2 台用意し DXH510 および D350 で 2 台間を直結し データの転送性能を計測してみました CPU インテル Core 2 Duo E4400 (2GHz, L2 2MB, FSB 800Mhz) チップセットインテル Q35 Express OS CentOS 5.1 x86_64 計測には次のソフトウェアを用いました スループット計測 netperf 2.4.4-1 レイテンシー計測 netpipe 3.6.2-1.2 計測の際に ソケット通信においては Gb イーサとの比較を行うため PC に実装されている Gb イーサをスイッチングハブにて PC 間を接続したときの netperf による計測も行いました 以下が 各インタフェースにおける転送レートとレイテンシーの計測値です Netperf を転送レートの計測に netpipe の 1 バイト転送をレイテンシーの計測に利用しました 1Gb イーサ DXH510 D350 netperf ( 転送レート ) 111.64 MBytes/s 619.64 Mbytes/s 572.55 Mbytes/s netpipe ( レイテンシー ) 61.33 us 2.18 us 3.07 us 単に転送スループットが高いだけでなく 極めて低いレイテンシーであることから データベースのようにより高速なレスポンスが要求されるアプリケーションにも有効であることがわかります 以下は 実際に測定を行った際のログです DXH510 と D350 での netperf/nptcp コマンドの前に dis_ssocks_run の記述がありますが dis_ssocks_run はスクリプトになっており アプリケーションである netperf/nptcp が参照するソケットのライブリ参照を SuperSockets にします 1Gb イーサポートでの netperf [root@pc1 bin]# netperf -H 192.168.100.212 -f M TCP STREAM TEST from 0.0.0.0 (0.0.0.0) to 192.168.100.212 (192.168.100.212)
Size Size Size Time Throughput 87380 16384 16384 10.02 111.64 DXH510 での netperf [root@pc1 bin]# dis_ssocks_run netperf -H 192.168.100.212 -f M TCP STREAM TEST from 0.0.0.0 (0.0.0.0) to 192.168.100.212 (192.168.100.212) Size Size Size Time Throughput 124928 124928 124928 10.00 619.64 D350 での netperf [root@pc1 bin]# dis_ssocks_run netperf -H 192.168.100.212 -f M TCP STREAM TEST from 0.0.0.0 (0.0.0.0) to 192.168.100.212 (192.168.100.212) Size Size Size Time Throughput 124928 124928 124928 10.00 572.55 1Gb イーサポートでの netpipe [root@pc1 bin]# NPtcp -h 192.168.100.212 Send and receive buffers are 16384 and 87380 bytes 0: 1 bytes 1608 times --> 0.12 Mbps in 61.33 usec 1: 2 bytes 1630 times --> 0.25 Mbps in 61.36 usec DXH510 での netpipe [root@pc1 bin]# dis_ssocks_run NPtcp -h 192.168.100.212 Send and receive buffers are 124928 and 124928 bytes 0: 1 bytes 3557 times --> 3.50 Mbps in 2.18 usec 1: 2 bytes 45870 times --> 7.09 Mbps in 2.15 usec D350 での netpipe [root@pc1 bin]# dis_ssocks_run NPtcp -h 192.168.100.212 Send and receive buffers are 124928 and 124928 bytes
0: 1 bytes 8602 times --> 2.48 Mbps in 3.07 usec 1: 2 bytes 32558 times --> 4.96 Mbps in 3.08 usec 株式会社スターブリッジ技術部お問い合わせは 弊社ホームページ (http://www.starbridge.co.jp) よりお願いいたします 2008 Starbridge, Inc. All rights reserved. 本書に記載の会社名 製品名 ロゴなどは各社 各団体の登録商標または商標です