Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GlusterFSとInfiniBandの小話

5,198 views

Published on

Presentation for "InfiniBand DAY 05" on May 25th, 2012.
http://atnd.org/events/28040

Published in: Technology
  • Be the first to comment

GlusterFSとInfiniBandの小話

  1. 1. Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   1 
  2. 2. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   2 
  3. 3. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   3 
  4. 4. 自己紹介!  高橋敬祐  (  @keithseahus  )!  ソフトウェア開発@NTTPC!  分散ストレージ技術屋!  自宅InfiniBander  (DDR) Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   4 
  5. 5. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   5 
  6. 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 
  7. 7. GlusterFSについて世界2位の性能を達成したスパコンの開発者たちと、インド人の開発コミュニティ。 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   7 
  8. 8. GlusterFSについて システム全体でのシーケンス各機能がモジュールで実装されているのがポイント。 OS上でのシーケンス ※古い図なので、現行バージョンとは実装が若干異なります。 8  Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.  
  9. 9. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   9 
  10. 10. GlusterFSとInfiniBand!  オープンソース当初のリリース (v1.3.0)から対応!  IB-VERBs  APIでRDMAでのデー タトランスポートを実現!  クライアントとサーバのトランス ポート用モジュール内でTCPから RDMAに切り替えるだけ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   10 
  11. 11. GlusterFSとInfiniBandprotocol/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. 12. GlusterFSとInfiniBandprotocol/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 
  13. 13. GlusterFSとInfiniBandvolumeを作る際にコマンド引数で定義しましょう# gluster volume create volume01 replica 2 transport rdma server01:/mnt/gluster server02:/mnt/gluster Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   13 
  14. 14. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   14 
  15. 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 / portswitch01 switch02 switch03 サーバ GbE Segment A GbE Segment B GbE Segment C CPU: Intel(R) Xeon(R) E5405 @ 2.00GHz L2: 12MB RAM: 1GBstorage01 storage02 storage03 HDD: SATA 6.7TB RAID5 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   15 
  16. 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.00GHzstorage04 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. 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. 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. 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) ※2Intel 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. 20. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ 1. メモリ・バス性能測定 2. InfiniBand RDMA性能測定 3. GlusterFS RDMA性能測定 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   20 
  21. 21. メモリ・バス性能測定 ※2010年当時の情報です。“stream”を使用した、メモリ内単純データコピー速度の測定。 全体の帯域幅 本検証における Nehalem CPU数×CPUコ アーキテク ア数×HTスレッド チャ 数の範囲 Core(又はそ れ以前の)アー キテクチャ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   21 
  22. 22. メモリ・バス性能測定 ※2010年当時の情報です。Nehalemでは、マルチコアがマルチスレッドでの並列I/O処理性能に貢献していることがわかる。 シングルスレッド時の速度に対するスレッドあたり速度比の推移 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   22 
  23. 23. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ 1. メモリ・バス性能測定 2. InfiniBand RDMA性能測定 3. GlusterFS RDMA性能測定 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   23 
  24. 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 4xstorage04 1.55 GB/sec storage051.50 GB/sec 1.55 MB/sec 1.50 GB/sec Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   24 
  25. 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. 26. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ 1. メモリ・バス性能測定 2. InfiniBand RDMA性能測定 3. GlusterFS RDMA性能測定 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   26 
  27. 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. 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. 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. 30. もう一度、この図。 システム全体でのシーケンスRDMAの導入効果は確かにある。しかし、高速化したのは全シーケンスのうちの一部分だけ。 OS上でのシーケンス ※古い図なので、現行バージョンとは実装が若干異なります。 30  Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.  
  31. 31. GlusterFSの性能に関する補足(フォロー)当然、ストレージサーバを追加すればトータルのスループットが向上します。 処理A 処理B Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   31 
  32. 32. !  自己紹介! GlusterFSについて! GlusterFSとInfiniBand!  検証してみた(ことがある)!  まとめ Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   32 
  33. 33. まとめ! GlusterFSはInfiniBand  RDMAをサポートし ています。!  Nehalem以降のアーキテクチャでは、RDMA での読み書き速度が大幅アップしています。! GlusterFSでもRDMAの恩恵は大きいですが、 実際のところゼロコピーではなく、オーバー ヘッドも大きいので、ネイティブなRDMAほど の速度は出ません。!  でも、「ネットワーク負荷ガー」と嘆くぐらいな ら、InfiniBandの導入をおすすめします。 Copyright  (C)  2012,  NTTPC  Communications,  Inc.  All  Rights  Reserved.   33 
  34. 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 

×