‘PCクラスタ’ カテゴリーのアーカイブ

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

Infiniband の優位性

2010年3月4日 木曜日

InfinibandがEthernetと比べてパフォーマンス向上には大変有利であることは以前の検証結果からも言えることです。
今回は、ホスト数が増えた場合にどの程度のシステムプロセス値の差が出るかを検証することにしました。

Intel Core i7は、Quad CoreですがIntel Hyper-Threading TechnologyによりOS上からは倍のCPUが認識できます。
今回のテストでは、分割数を多くすることでネットワーク負荷を高くすることを目的とするために、Intel Hyper-Threading Technologyで認識された論理CPUにもジョブを配分することにしました。

■テスト環境
計算ノード 10台
MB: Supermicro X8STi
Chipset: INTEL X58
CPU: Intel Core i7 920
MEM: 12GB (2GB DDR3-1066 x 6)

インターコネクト
1000Base: オンボード (Intel 82574L)
Infiniband: Mellanox MHGS18-XTC (DDR)

ベンチマーク
MPI: openMPI
Compiler: gcc 4.1.2
Benchmark: himenoBMTxp
Size: XL

■テスト方法
N=80で姫野ベンチを実行し、投入ホストにてtopコマンドでシステムプロセス値を比較

■結果
1000Base: 23-25%程度

Infiniband: 0-0.3%程度

評価
1000Base Ethernetでは、おおよそ23%のCPUリソースがシステムプロセスとして消費してしまう。
特に多計算ノードによるMPIな流体計算では、このCPUリソースを計算に使えることができるinfinibandを選択することは必須と感じた。

Ethernet と Infiniband 性能比較

2009年10月21日 水曜日

■テスト環境
計算ノード 2台
MB: TYAN Toledo i3210W
Chipset: INTEL 3200
CPU: Intel Core2Quad Q9450
MEM: 4GB (DDR2-800 2GB x 2)

インターコネクト
100Base: Intel EtherExpress Pro/100 S Desktop Adapter
1000Base: オンボード (Intel 82573)
Infiniband: Mellanox MHGS18-XTC (DDR)

ベンチマーク
MPI: openMPI
Compiler: gcc 4.1.2
Benchmark: himenoBMTxp
Size: L

■テスト方法
N=8で姫野ベンチを実行し、投入ホストにてtopコマンドでシステムプロセス値を比較

■結果
100Base: 13-16%程度

1000Base: 4-5%程度

Infiniband: 0-0.3%程度

評価
計算ノード2台だけでもこれだけの違いが見られた。
インターコネクトによるパフォーマンス劣化を避けるためにHPC向け高速インターコネクトであるInfiniband選択は大変有効であると再認識をしました。

Core i7 PCクラスタ 性能評価(姫野ベンチ)

2009年6月9日 火曜日

計算サーバ 32台
CPU: Core i7 965 Extreme (Quad Core/3.2GHz/8MB/QPI6.4GT)
MB: Supermicro C7X58
MEM: 2GB DDR3-1333 x6  Total 12GB
VGA: ELSA GLADIAC 795GT (512MB GDDR3/PCIe2.0)
NIC: Mellanox MHQH29-XTC (Infiniband 40Gbps QDR/ConnectX)
OS: openSUSE 11.1 x86_64

MPI: openMPI 1.2.8
Compiler: Intel Compiler 11.0
Benchmark: himenoBMTxp
Size: XL

32CPU 128core: 176328MFLOPS

ダウンロード開始 (FLUSH – ポータブルGRID)

2009年2月2日 月曜日

昨年9月に公開のFLUSH(ポータブルGRIDシステム)ですが、いよいよダウンロードが出来るようになりました。

FLUSHとは、岐阜高専(建築学科) 柴田良一先生とシステムワークスの産学連携でのシステム開発で誕生したポータブルGRID構築用のソフトウェアです。最初のご紹介記事はこちら

コストパフォーマンスに優れ、設置場所も問わないパーソナルクラスタ

2008年10月14日 火曜日

最新のCore2プロセッサを搭載、高性能ながら手軽にローコストで構築できるPCクラスタです。ミニタワーケースと小型ラックの組み合わせで、オフィス内のどこでも簡単に設置できます。

当社では、各種プロセッサ(Xeon/Core2/Opteron等)搭載システム、ラックマウントモデルやデスクトップなど様々なシステムをご提案していますが、このパーソナルクラスタは、特にコストパフォーマンスに優れた手軽にご利用頂けるシステム例として提案させて頂くものです。

このモデル以外のハードウェアについても、気軽にご相談下さい。
クラスタ構築に関するアドバイス、各種ソフトウェアのインストール、将来的なクライアントPCとしての転用時のOSのインストールやハードウェアの増強など、安心して導入して頂けるサポートもご提供致します。

POWER MASTER i817の詳細(システムワークス公式ページ)

ミニタワーPC8台によるパーソナルクラスタ

ミニタワーPC8台によるパーソナルクラスタ

対応ソフトウェア

OS
CentOS
Scientific Linux
Fedora Core
Vine
OpenSUSE
Windows CCS 2003
Windows HPC Server 2008
他各種Linux、Windows

MPIライブラリ
MPICH
MPICH2
OpenMPI
LAM
Intel MPI Library
MSMPI

開発環境
GNU Compiler
Intel Compiler
PGI Compiler
PathScale Compiler
Microsoft Visual Studio

FLUSH – ポータブルGRID

2008年9月29日 月曜日

FLUSHとは、岐阜高専(建築学科) 柴田良一先生とシステムワークスの産学連携でのシステム開発で誕生したポータブルGRID構築用のソフトウェアです。

USBフラッシュメモリをコンピュータシステムに挿すだけで、HDDへインストールする事なく、並列計算のための計算ノードを起動できます。

管理ノードもVMWare上に構築されているので、ポータブルです。
お使いのPCにVMware (無償のバージョンでOK)をインストールすれば、簡単に使い始めることが出来ます。

Linuxシステムに並列計算ライブラリやジョブ・スケジューラなど、実用的なミドルウェアも含めて予め組み込んであり、直ぐに使うことが出来るHPCシステムです。

  • Linux (CentOS ベース)
  • MPICH (並列計算ライブラリ)
  • Sun Grid Engine (ジョブ・スケジューラ)
  • Ganglia Monitoring System (ノード監視)

管理ノードをVMWare上に構築している標準構成ではFile I/O性能の制限がありますが、フラッシュメモリを使用しているからといって、ノードの計算性能に妥協はありませんから、ハードウェア本来の計算性能を引き出すことが出来ます。

FLUSHは並列処理基盤としての部分は概ね完成しましたが、MPIアプリケーションへのより実践的な対応など、今後の発展が予定されています。

FLUSHプロジェクトの内容は、広く皆様にご利用頂けますように公開しています。
詳細はこちら (FLUSH Official wiki) 岐阜高専 FLUSH