Más contenido relacionado La actualidad más candente (20) Similar a GlusterFSとInfiniBandの小話 (20) Más de Keisuke Takahashi (11) GlusterFSとInfiniBandの小話2. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 2
3. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 3
4. 自己紹介
! 高橋敬祐 ( @keithseahus )
! ソフトウェア開発@NTTPC
! 分散ストレージ技術屋
! 自宅InfiniBander (DDR)
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 4
5. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 5
6. GlusterFSについて
! 分散ファイルシステム
v3.3からは”Unified File and Object
Storage”
! オープンソース
https://github.com/gluster/glusterfs
! RedHatが買収
開発はコミュニティベースで継続
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 6
8. GlusterFSについて
システム全体でのシーケンス
各機能がモジュールで実装されている
のがポイント。
OS上でのシーケンス
※古い図なので、現行バージョンとは実装が若干異なります。 8
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved.
9. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 9
10. GlusterFSとInfiniBand
! オープンソース当初のリリース
(v1.3.0)から対応
! IB-VERBs APIでRDMAでのデー
タトランスポートを実現
! クライアントとサーバのトランス
ポート用モジュール内でTCPから
RDMAに切り替えるだけ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 10
11. GlusterFSとInfiniBand
protocol/clientモジュール定義と…
protocol/serverモジュール定義を…
下記のように変更するだけ
volume volume01-client-0
volume protocol/client
type volume01-server
option remote-host server01
type protocol/server
option remote-subvolume /mnt/gluster
option transport-type rdma
option transport-type rdma
option auth.addr./mnt/gluster.allow *
end-volume
subvolumes /mnt/gluster
end-volume
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 11
12. GlusterFSとInfiniBand
protocol/clientモジュール定義と…
protocol/serverモジュール定義を…
下記のように変更するだけ
! CAUTION!
volume volume01-client-0
3.1以降のバージョンでは
type protocol/client
volume volume01-server
option設定ファイルをエディタ等で
type remote-host server01
protocol/server
勝手に書き換えないで下さい
option remote-subvolume /mnt/gluster
option transport-type rdma
option transport-type rdma
option auth.addr./mnt/gluster.allow *
end-volume
subvolumes /mnt/gluster
end-volume
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 12
14. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 14
15. 検証環境1(Gigabit Ethernet) ※2010年当時の情報です。
サーバ
CPU: Intel(R) Xeon(R)
E5405 @ 2.00GHz
L2: 12MB
RAM: 1GB
client01
GbE L2スイッチ
GbE
Segment A
GbE
Segment B
GbE
Segment C
Throughput: 1Gbps /
port
switch01 switch02 switch03
サーバ
GbE
Segment A
GbE
Segment B
GbE
Segment C
CPU: Intel(R) Xeon(R)
E5405 @ 2.00GHz
L2: 12MB
RAM: 1GB
storage01 storage02 storage03
HDD: SATA 6.7TB
RAID5
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 15
16. 検証環境2(IB, Coreアーキテクチャ) ※2010年当時の情報です。
サーバ
CPU1: Intel Xeon E5504
@ 2.00GHz ×2
RAM: 72GB
HCA: 40Gbps ×2
client02
IB L2スイッチ
IB IB
QDR 4x QDR 4x Throughput: 40Gbps /
port
switch04
IB IB
QDR 4x サーバ QDR 4x サーバ
CPU: Intel(R) Xeon(R) CPU: Intel(R) Xeon(R)
E5405 @ 2.00GHz E5405 @ 2.00GHz
storage04 L2: 12MB storage05 L2: 12MB
RAM: 10GB RAM: 8GB
HDD: 2.1TB RAID5 HDD: SATA 2.1TB
HCA: 40Gbps RAID5
HCA: 40Gbps
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 16
17. 検証環境3(IB, Nehalemアーキテクチャ) ※2010年当時の情報です。
サーバ
CPU1: Intel Xeon E5504
@ 2.00GHz ×2
RAM: 72GB
client02 HCA: 40Gbps ×2
IB
QDR 4x
IB L2スイッチ
Throughput: 40Gbps /
switch04 port
IB
QDR 4x
サーバ
CPU: Intel(R) Xeon(R)
storage06 E5620 @ 2.40GHz ×2
L2: 12MB
RAM: 6GB
HCA: 40Gbps
HDD: SATA 0.9 TB RAID5
17
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 17
18. 検証環境4(その他) ※2010年当時の情報です。
本検証のデータと比較するため、一部検証において、以下のマシンに関するデータを取得した。
berga-dalas (自作IAサーバ)
CPU: Intel Core i7 920 2.66 GHz
メモリ: DDR3 1333MHz, 12 GB (2GB×6)
ストレージ: 3.5インチ SATA HDD 500 GB ×2基
ネットワーク: Gigabit Ethernet ×5ポート
(オンボード×1, IntelデュアルポートNIC×2)
zwei (ベアボーンPC)
CPU: Intel Atom 330 2.00 GHz
メモリ: DDR2 533MHz, 2GB (2GB×1)
ストレージ: 2.5インチ SATA SSD 32 GB
ネットワーク: Gigabit Ethernet ×1ポート
(オンボード)
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 18
19. 参考: CoreとNehalem ※2010年当時の情報です。
FSB (Front Side Bus) QPI (QuickPath Interconnect)
メモリ制御 チップセット メモリコントローラ内蔵CPU
伝送方式 パラレル シリアル
共有バス デファレンシャル信号による
片方向ポイントツーポイント
インターコネクト 5.3 GBytes/sec (667MHzの場合) 19.2 GBytes/sec ※1
速度 (最大10.6 GB/sec) (最大25.6 GBytes/sec) ※2
Intel Coreマイクロアーキテクチャ ※1 計算式は以下の通り。 Intel Nehalemマイクロアーキテクチャ
2.4 Giga-Transfers/sec
×2 bits/Hz (double data rate)
×20 (QPI link width)
× (64/80) (data bits/flit bits)
×2 (two links to achieve bidirectionality)
/ 8 (bits/byte)
※2 ハイエンドCPUでは
QPI Link Speedが
5.3 GBytes/
sec
最大で3.2 ×2 = 6.4 Giga-Transfers/sec
となる。
19.2 GBytes/
sec
32 Gbps
(= 4 GBytes/sec) InfiniBand HCA
40 Gbps
1.5 GBytes/sec (= 5 GBytes/sec)
(150 MBytes/sec×10)
32 Gbps
(= 4 GBytes/sec)
3.0 GBytes/sec (300 MBytes/
sec×10)
出典: Intel 5100 Chipset ( http://ark.intel.com/chipset.aspx?familyID=32717 ), Intel 5520 Chipset ( http://ark.intel.com/chipset.aspx?familyID=32423 )
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 19
20. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ 1. メモリ・バス性能測定
2. InfiniBand RDMA性能測定
3. GlusterFS RDMA性能測定
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 20
21. メモリ・バス性能測定 ※2010年当時の情報です。
“stream”を使用した、メモリ内単純データコピー速度の測定。
全体の帯域幅 本検証における
Nehalem CPU数×CPUコ
アーキテク ア数×HTスレッド
チャ 数の範囲
Core(又はそ
れ以前の)アー
キテクチャ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 21
22. メモリ・バス性能測定 ※2010年当時の情報です。
Nehalemでは、マルチコアがマルチスレッドでの並列I/O処理性能に貢献していることがわかる。
シングルスレッド時の速度に対するスレッドあたり速度比の推移
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 22
23. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ 1. メモリ・バス性能測定
2. InfiniBand RDMA性能測定
3. GlusterFS RDMA性能測定
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 23
24. InfiniBand RDMA性能測定 ※2010年当時の情報です。
“qperf”を使用した、RC_RDMAでの書き込み速度の測定。
client02
2.78 GB/sec
IB IB
QDR 4x QDR 4x
switch04
1.55 GB/sec 1.67 GB/sec
IB IB
QDR 4x 1.67 GB/sec QDR 4x
storage04 1.55 GB/sec storage05
1.50 GB/sec 1.55 MB/sec 1.50 GB/sec
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 24
25. InfiniBand RDMA性能測定 ※2010年当時の情報です。
“qperf”を使用した、RC_RDMAでの書き込み速度の測定。
NehalemはCoreアーキテクチャの2倍以上の性能となっている。
client02
IB
QDR 4x
switch04
IB
QDR 4x 3.38 GB/sec
storage06
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 25
26. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ 1. メモリ・バス性能測定
2. InfiniBand RDMA性能測定
3. GlusterFS RDMA性能測定
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 26
27. GlusterFS RDMA性能測定 ※2010年当時の情報です。
Coreアーキテクチャ (Gigabit Ethernet) Nehalemアーキテクチャ (Gigabit Ethernet)
Seq. Write Seq. Write
Med. 115.294 MB/sec Med. 116.168 MB/sec
Seq. Read Seq. Read
Med. 114.914 MB/sec Med. 114.882 MB/sec
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 27
28. GlusterFS RDMA性能測定 ※2010年当時の情報です。
Coreアーキテクチャ (IB RDMA) Nehalemアーキテクチャ (IB RDMA)
Seq. Write Seq. Write
Med. 173.310 MB/sec Med. 170.393 MB/sec
Seq. Read Seq. Read
Med. 389.863 MB/sec Med. 828.014 MB/sec
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 28
29. GlusterFS RDMA性能測定 ※2010年当時の情報です。
Nehalemアーキテクチャ (IB RDMA) Nehalemアーキテクチャ (IPoIB)
Seq. Write Seq. Write
Med. 170.393 MB/sec Med. 171.841 MB/sec
Seq. Read Seq. Read
Med. 828.014 MB/sec Med. 428.418 MB/sec
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 29
30. もう一度、この図。
システム全体でのシーケンス
RDMAの導入効果は確かにある。しかし、
高速化したのは全シーケンスのうちの一
部分だけ。
OS上でのシーケンス
※古い図なので、現行バージョンとは実装が若干異なります。 30
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved.
32. ! 自己紹介
! GlusterFSについて
! GlusterFSとInfiniBand
! 検証してみた(ことがある)
! まとめ
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 32
33. まとめ
! GlusterFSはInfiniBand RDMAをサポートし
ています。
! Nehalem以降のアーキテクチャでは、RDMA
での読み書き速度が大幅アップしています。
! GlusterFSでもRDMAの恩恵は大きいですが、
実際のところゼロコピーではなく、オーバー
ヘッドも大きいので、ネイティブなRDMAほど
の速度は出ません。
! でも、「ネットワーク負荷ガー」と嘆くぐらいな
ら、InfiniBandの導入をおすすめします。
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 33
34. PR
! 分散ストレージに関するご用命は、こちらの
メールアドレスまで!
storage-contact@nttpc.co.jp
! LinuxCon Japan 2011 Gluster Workshop
で講演します!
https://events.linuxfoundation.org/
events/linuxcon-japan/ovirt-gluster-
workshops
! 過去のプレゼン資料はこちら。
http://www.slideshare.net/keithseahus
Copyright (C) 2012, NTTPC Communications, Inc. All Rights Reserved. 34