‘技術情報’ カテゴリーのアーカイブ

InfinibandによるiSCSIの書込み速度

2010年6月15日 火曜日

Infiniband SDR HCA
■テスト環境
NFSサーバおよびNFSクライアント
MB: Supermicro X8DTi
Chipset: INTEL 5520
CPU: Xeon L5530 x2
MEM: 24GB (4GB DDR3-1333 Reg x 6)

インターコネクト
Infiniband SDR (10GBase): Mellanox MHES18-XTC
(IPoIBにてHCAポートにIPアドレスを設定)

OS: CentOS 5.5 x86_64
ホストスタック: CentOS 5.5 標準 OFED
(CentOS標準ホストスタックでは、IPoIBのMTU 1500がDefault値となっている。これをMTU 65520に設定変更をする。)

■環境設定
iSCSI Target
kernelパラメータ ramdisk_size=20971520 で起動し、20GBのramdiskをTargetとする。

iSCSI Initiator
kernelパラメータ mem=1024m で起動し、OS上のメモリ容量を1GBとする。 (クライアント側のpagecache効果を少なくするため)
iSCSI Targetデバイスのファイルシステムをext3にし/mntにマウントする。

■テスト方法
200MBファイルを連続50回書出しをするスクリプトを用意する。

#!/bin/sh
LOOP=50
DIR=/mnt

COUNT=0
while [ $COUNT -lt $LOOP ]
do
dd if=/dev/zero of=$DIR/$COUNT bs=131072 count=6400
let COUNT=COUNT+1
done

このスクリプトをtimeコマンドの引数として実行しreal値から速度を算出する。

■事前テスト
iSCSI Targetローカルでramdiskのファイルシステムをext3にして書込み速度を計測しておく。
計測方法は同じスクリプトを使う。

real 速度
23s 434.8MB/s

ディスク側の律速がこの値まではないことを前提とする。

■結果

インターコネクト MTU real 速度
SDR 65520 38. 0s 263MB/s

■評価
ネットワーク性能測定ツール iperf では、SDRで7.7Gbps程度となっている。
Infinibandを利用したNFSの書込み速度でもSDRで275MB/sであったことも考えると、この環境ではIPでのデータ転送の律速がこのあたりにあるのかもしれない。

iSCSIストレージは、仮想化分野の発展とともに注目度が高まってきています。
高速なネットワークストレージとしてFC-SANは実績も多く有効な手段です。しかし多大なコストが必要とされることが多く導入が困難な場合も多いでしょう。
そこでInfinibandを利用したIP-SANです。高速なネットワークストレージでもありコスト面でも大きく有利と思います。
Infinibandも上位機種なHCAやSwitchは高額ですが、10Gbps SDR Single port HCAであれば導入しやすい価格です。
また、Switchに関しても10Gbps SDR 8portであればこれも導入しやすい価格です。

Opteron 6174 + AMD SR5670 + DDR3-1333 ECC Reg 性能評価(姫野ベンチ)

2010年6月14日 月曜日

H8DGU-F
MB: Supermicro H8DGU-F
Chipset: AMD SR5670
CPU: Opteron 6174
MEM: 8GB (DDR3-1333 1GB ECC Reg x8)

MPI: openMPI
Compiler: gcc 3.4.6
Benchmark: himenoBMTxp
Size: L

2CPU 24core: 18200MFLOPS

■評価
クアッドメモリチャンネルとなりメモリ帯域の効果が現れているようだ。

Xeon X5650 + Intel 5520 + DDR3-1333 ECC Reg 性能評価(姫野ベンチ)

2010年5月31日 月曜日

MB: Supermicro X8DTi
Chipset: Intel 5520
CPU: Xeon X5650
MEM: 6GB (DDR3-1333 1GB ECC Reg x 6)

MPI: openMPI
Compiler: gcc 3.4.6
Benchmark: himenoBMTxp
Size: L

2CPU 12core: 12725MFLOPS

また、HTを含めた分割計算も行ってみた。

2CPU 8node: 12804MFLOPS
2CPU 12node: 12725MFLOPS
2CPU 16node: 11066MFLOPS (HT含む)
2CPU 24node: 7543MFLOPS (HT含む)

■評価
前回のHT評価
では、HTを使っても落ち込みが少なかったが、今回はN=24にて大きく落ち込みが確認された。
トリプルチャンネルメモリの帯域不足が大きな原因と思われる。
AMD Opteron 6100シリーズは、クアッドチャンネルメモリとなるので、N=24での比較をしてみたい。

NFSの書込み速度 (Ethernet 10GBase)

2010年4月27日 火曜日

■テスト環境
NFSサーバおよびNFSクライアント
MB: Supermicro X8DTi
Chipset: INTEL 5520
CPU: Xeon L5530 x2
MEM: 24GB (4GB DDR3-1333 Reg x 6)

インターコネクト
10GBase: NETXEN NXB-10GCX4

OS: CentOS 5.3 x86_64

■環境設定
NFSサーバ
kernelパラメータ ramdisk_size=20971520 で起動し、20GBのramdiskにext3ファイルシステムを構築して /mnt にマウントする。
/etc/exports 設定は以下とする。
/mnt   *(rw,sync,no_root_squash)

NFSクライアント
kernelパラメータ mem=1024m で起動し、OS上のメモリ容量を1GBとする。 (クライアント側のpagecache効果を少なくするため)

■テスト方法
200MBファイルを連続50回書出しをするスクリプトを用意する。

#!/bin/sh
LOOP=50
DIR=/mnt

COUNT=0
while [ $COUNT -lt $LOOP ]
do
dd if=/dev/zero of=$DIR/$COUNT bs=131072 count=6400
let COUNT=COUNT+1
done

このスクリプトをtimeコマンドの引数として実行しreal値から速度を算出する。

■事前テスト
NFSサーバ上でramdiskの書込み速度を計測する。
計測方法は同じスクリプトを使う。

real 速度
23s 434.8MB/s


ディスク側の律速がこの値まではないことを前提とする。

■結果

インターコネクト MTU real 速度
10GBase 1500 57.9s 173MB/s
3000 56.8s 176MB/s
6000 53.9s 186MB/s
8000 56.4s 177MB/s

■評価
ネットワーク性能測定ツール iperf では、MTU=1500で6.69Gbps MTU=3000で8.23Gbps MTU=6000で8.48Gbps MTU=8000(設定可能最大値)で8.42Gbps でした。
iperfでの値が高いにもかかわらず、実際の転送速度が175MB/s程度であった。
以前より10GBase EthernetはInfiniband (IPoIB)より実際のデータ転送速度で劣るといった話があったが、今回の検証でそれを裏付ける結果となりました。しかし、これだけで10GBase Ethernetがすべてにおいて劣っているわけではありません。
例えばInfinibandはEthernetではないため、スイッチを使ってEthernet環境と接続することが不可能です。アプリケーションによって10GBase EthernetとInfinibandを使い分けることが重要と思います。

今回はCX4ポートのNICを使ったが、10GBase-CX4のNICはポート単価が低く導入しやすいです。しかし、10GBaseスイッチは未だに高額な商品となっております。
いずれ導入しやすい価格になってくれることを期待したいです。

NFSの書込み速度 (Infiniband SDR/DDR)

2010年4月20日 火曜日

■テスト環境
NFSサーバおよびNFSクライアント
MB: Supermicro X8DTi
Chipset: INTEL 5520
CPU: Xeon L5530 x2
MEM: 24GB (4GB DDR3-1333 Reg x 6)

インターコネクト
Infiniband SDR (10GBase): Mellanox MHES18-XTC
Infiniband DDR (20GBase): Mellanox MHGS18-XTC
(IPoIBにてHCAポートにIPアドレスを設定)

OS: CentOS 5.3 x86_64
ホストスタック: Mellanox OFED 1.4

■環境設定
NFSサーバ
kernelパラメータ ramdisk_size=20971520 で起動し、20GBのramdiskにext3ファイルシステムを構築して /mnt にマウントする。
/etc/exports 設定は以下とする。
/mnt   *(rw,sync,no_root_squash)

NFSクライアント
kernelパラメータ mem=1024m で起動し、OS上のメモリ容量を1GBとする。 (クライアント側のpagecache効果を少なくするため)

■テスト方法
200MBファイルを連続50回書出しをするスクリプトを用意する。

#!/bin/sh
LOOP=50
DIR=/mnt

COUNT=0
while [ $COUNT -lt $LOOP ]
do
dd if=/dev/zero of=$DIR/$COUNT bs=131072 count=6400
let COUNT=COUNT+1
done

このスクリプトをtimeコマンドの引数として実行しreal値から速度を算出する。

■事前テスト
NFSサーバ上でramdiskの書込み速度を計測する。
計測方法は同じスクリプトを使う。

real 速度
23s 434.8MB/s


ディスク側の律速がこの値まではないことを前提とする。

■結果

インターコネクト MTU real 速度
SDR 65520 36.3s 275MB/s
DDR 65520 35.9s 278MB/s


IPoIBでのMTUは65520がDefault値

■評価
ネットワーク性能測定ツール iperf では、SDRで7.86Gbps程度 DDRで9.54Gbps程度となっている。
いずれもリモートからのNFS書込みが270MB/s程度となっていることから、CentOS 5.3標準設定での律速の可能性がある。
今回はCentOS 5.3の標準パラメータで比較しているが、さらに調整することで速度向上するかもしれない。

iSCSI Remote Bootによるディスクレスサーバの構築と書込み速度の検証

2010年4月14日 水曜日

SAN (Storage Area Network)を簡単に構築できるiSCSIストレージは、仮想化分野の発展とともに注目度が高まってきています。

今回は、iSCSIストレージを使ったディスクレスサーバの構築と簡単な書込み速度の検証を行いました。

構築上で要点となるのは、iSCSI Initiator側のiSCSI HBAとなるNICです。
Intel NICは、ファームウェアを書き換えることでiSCSI HBAとして動作可能となる Intel iSCSI Remote Bootに対応しています。
以下がIntel iSCSI Remote Boot対応NICの一部です。

Intel Gigabit CT Desktop Adapter
Intel PRO/1000 PT Server Adapter
Intel 10 Gigabit CX4 Dual Port Server Adapter

その他の対応NICはこちらを参照してください。

そして、このNICをIntel iSCSI Remote Boot Setup Utilityにてファームウェア書き換えを行います。

以下がファームウェアの設定画面です。


ここでInitiator nameやIP AddressやTarget nameを登録

正常にiSCSI Targetに接続ができるとリモートディスクを認識して、以下のようにマザーボードBIOS上にディスクとして表示されます。


Network: Intel iSCSI Remote B…. が認識している

つまりiSCSI Target側に接続されたリモートディスクをマザーボードBIOS上ではローカルディスクとして認識していることになります。

iSCSI Initiator側の対応OSは以下です。
Microsoft Windows Server 2003 SP1, SP2, R2 x86
Microsoft Windows Server 2003 SP1, SP2, R2 x64
Microsoft Windows Server 2008 x86, SP2, R2
Microsoft Windows Server 2008 x64, SP2, R2
Novell SUSE Linux Enterprise 9 SP3, 10 or later x86
Novell SUSE Linux Enterprise 9 SP3, 10 or later x86_64
Red Hat Enterprise Linux 4 U3 x86
Red Hat Enterprise Linux 4 U3 x86_64
Red Hat Enterprise Linux 5.x x86
Red Hat Enterprise Linux 5.x x86_64

対応OSの詳細についてはIntel iSCSI Remote Boot Setup Utilityのドキュメントを参照します。

今回の構築検証では、CentOS 5.4 x86_64をクライアントOSとしました。
CentOS 5.4は、インストーラにてiSCSI Targetへのインストールが可能です。

■環境
・ストレージサーバ(iSCSI Target)
MB: TYAN Toledo i3210W
Chipset: INTEL 3200
CPU: Intel Core2Quad Q9450
MEM: 4GB (DDR2-800 2GB x 2)

ストレージ部
RAID: Areca ARC-1261ML
RAID HDD: HGST HDS721075KLA330 x 2 (RAID0 1.5TB)

NAS OS: Openfiler 2.3 x86_64

・クライアント(iSCSI Initiator)
MB: Supermicro X8STi
Chipset: INTEL X58
CPU: Intel Core i7 920
MEM: 3GB (1GB DDR3-1333 x 3)

NIC部
Intel PRO/1000 PT Server Adapter

OS: CentOS 5.4 x86_64

■ストレージ速度計測
200MBファイルを連続100回書出しをするスクリプトを用意する。

#!/bin/sh
LOOP=100
DIR=/mnt

COUNT=0
while [ $COUNT -lt $LOOP ]
do
dd if=/dev/zero of=$DIR/$COUNT bs=131072 count=6400
let COUNT=COUNT+1
done

このスクリプトをtimeコマンドの引数として実行しreal値から速度を算出する。

■結果

NIC real 速度
1000Base 182s 109MB/s


■評価
1000Base NIC 1本でクライアント1台のみなら1000Baseの帯域は確保されているようです。
これがクライアントが複数台になれば、この帯域をシェアすることになりNIC律速が課題となるでしょう。
ストレージ部のNIC律速を考慮してDualコントローラを搭載したiSCSIストレージも有効なiSCSI Targetとなると思います。
このiSCSI Remote BootはPXE Bootと比較すると構築がより簡単であることがわかります。
ディスクレスクラスタ利用でも十分に対応できると思います。
なお、iSCSI Target側のNAS OSは、Openfiler 2.3以外にもFreeNAS 0.7.1 (5127)も動作しました。

Dualコントローラ対応iSCSIストレージ


POWER MASTER iSCSI E1311 (1000BASE NICモデル)
POWER MASTER iSCSI E1321 (10GBASE NICモデル)


POWER MASTER iSCSI E1291 (1000BASE NICモデル)
POWER MASTER iSCSI E1331 (10GBASE NICモデル)

上記製品は、2台のコントローラと4~8のNICポートにより効果的な負荷分散が可能です。
また、まだ高額であるものの10GBASEスイッチが用意できるのなら、10GBASE NICを搭載したモデルも有効でしょう。

Xeon (Nehalem EP) PCクラスタ 性能評価(姫野ベンチ)

2010年4月13日 火曜日

計算サーバ 10台
CPU: Xeon L5530 (低電圧版/4 Core/2.40GHz/8MB/QPI5.86GT) x2
MB: Supermicro X8DTi
MEM: DDR3-1333 4GB ECC Reg x 6  Total 24GB
VGA: ELSA GLADIAC GT240 LP (1GB GDDR3/PCIe2.0)
NIC: Mellanox MHGS18-XTC (Infiniband 20Gbps DDR)
OS: CentOS 5.3 x86_64

MPI: Intel MPI 4.0
Compiler: Intel Compiler 11.1
Benchmark: himenoBMTxp
Size: XL

20CPU 80core: 129328MFLOPS

Xeon X5650 + Intel 5520 + DDR3-1333 ECC Reg 性能評価(姫野ベンチ)

2010年4月12日 月曜日

MB: Supermicro X8DTi
Chipset: Intel 5520
CPU: Xeon X5650
MEM: 6GB (DDR3-1333 1GB ECC Reg x 6)

MPI: openMPI
Compiler: gcc 3.4.6
Benchmark: himenoBMTxp
Size: L

2CPU 12core: 13723MFLOPS

Xeon E5640 + Intel 5520 + DDR3-1333 ECC Reg 性能評価(姫野ベンチ)

2010年4月9日 金曜日

MB: Supermicro X8DTi
Chipset: Intel 5520
CPU: Xeon E5640
MEM: 6GB (DDR3-1333 1GB ECC Reg x 6)

MPI: openMPI
Compiler: gcc 3.4.6
Benchmark: himenoBMTxp
Size: L

2CPU 8core: 12252MFLOPS

NFSの書込み速度 (Ethernet 1000Base)

2010年3月18日 木曜日

NFSは、Linuxでは標準的な共有ファイルシステムとなっています。
今回から数回に渡り、インターコネクトがNFSのパフォーマンスにどう影響が出るのか検証することにします。

■テスト環境
NFSサーバおよびNFSクライアント
MB: Supermicro X8DTi
Chipset: INTEL 5520
CPU: Xeon L5530 x2
MEM: 24GB (4GB DDR3-1333 Reg x 6)

インターコネクト
1000Base: オンボード (Intel 82576)

OS: CentOS 5.3 x86_64

■環境設定
NFSサーバ
kernelパラメータ ramdisk_size=20971520 で起動し、20GBのramdiskにext3ファイルシステムを構築して /mnt にマウントする。
/etc/exports 設定は以下とする。
/mnt   *(rw,sync,no_root_squash)

NFSクライアント
kernelパラメータ mem=1024m で起動し、OS上のメモリ容量を1GBとする。 (クライアント側のpagecache効果を少なくするため)

■テスト方法
200MBファイルを連続50回書出しをするスクリプトを用意する。

#!/bin/sh
LOOP=50
DIR=/mnt

COUNT=0
while [ $COUNT -lt $LOOP ]
do
dd if=/dev/zero of=$DIR/$COUNT bs=131072 count=6400
let COUNT=COUNT+1
done

このスクリプトをtimeコマンドの引数として実行しreal値から速度を算出する。

■事前テスト
NFSサーバ上でramdiskの書込み速度を計測する。
計測方法は同じスクリプトを使う。

real 速度
23s 434.8MB/s


ディスク側の律速がこの値まではないことを前提とする。

■結果

インターコネクト MTU real 速度
1000Base 1500 106s 94.3MB/s
9000 101s 99.0MB/s

■評価
1000Base Ethernetは、ネットワーク性能測定ツール iperf では940Mbps程度となりbyteでは117.5MB/sとなる。
1000Base Ethernetでは、今回の結果は妥当と思われます。
次回は、IPoIB (infiniband) でテストをする予定です。