SlideShare a Scribd company logo
InfiniBand & Manycore Day




               プログラマ目線から見たRDMAのメリットと
                         その応用例について




                              2010年11月17日
                              株式会社NTTデータ
                            技術開発本部 伊藤雅典
INDEX

                   00             自己紹介
                   01             概要とInfiniBand & Manycore Day における位置づけ
                   02             InfiniBandの「機能」概要
                   03             RDMA技術のメリット
                   04             RDMAの応用例(1):SDP
                   05             InfiniBandの応用例(1):vSMP
                   06             今後の予定(?)
                   07             まとめ



Copyright © 2010 NTT DATA CORPORATION                                     1
00 自己紹介

氏名
 伊藤 雅典 (いとう まさのり)
所属
 株式会社NTTデータ 技術開発本部 ITアーキテクチャ&セキュリティ技術センタ

担当業務
 NTTデータの総合クラウドサービス BizXaaS™ (http://bizxaas.net/)の、
 「フルOSSクラウド構築ソリューション」 の開発ほかに従事
             http://www.nttdata.co.jp/release/2010/040801.html
    OpenStackやクラウドストレージ技術などに注力中

その他、活動領域
  Open Cloud Campus、日本OpenStackユーザ会(JOSUG)、JEUG、
  VIOPS InterCloud SIG、GICTF等でも活動中


Copyright © 2010 NTT DATA CORPORATION                            2
00 自己紹介(続き)

Disclaimer
    私の勤務先では、特に、InfiniBand に関する開発活動(製品、ソリュー
    ション等)は行っておりません。純粋に、ユーザの立場にあります。


Then, why me?
    その昔(前職の頃)、仕事で InfiniBand 他の高速インタコネクトに関
    わっていたためです。具体的には・・・
      • InfiniBand HCAカードの Linux 用デバイスドライバの開発
      • SDPプロトコルの策定
      • DAPL (Direct Access Provider Library)ライブラリの開発
      • RDMA技術の応用の1つである、ICSC Socket Extension の仕様の策定
      等々



Copyright © 2010 NTT DATA CORPORATION                   3
01 概要

InfiniBand & Manycore Day シリーズの全体象
   InfiniBand 関連 1.技術編
                   2.業界動向編
                   3.応用編
   Manycore 関連 調整中?

本日のプレゼンテーションの概要
 以下のトピックについて、システムプログラマ視線でみた技術的なポイン
 トをご紹介します。
  • RDMA技術の代表格である、InfiniBandの機能概要
  • RDMA技術のメリット
  • RDMA技術および InfiniBand の応用例(SDP, vSMP)


Copyright © 2010 NTT DATA CORPORATION      4
02 InfiniBandの「機能」概要

Specification
   • 最新版スペックのバージョンは1.2.1+Errata
       • http://members.infinibandta.org/kwspub/spec/
       • 意外にバージョンが上がっていない
           • 機能としては十分成熟したということか。
   • 構成
             • Volume 1 : 全体アーキテクチャ、リンク~トランスポート層、管理系 1727pp
             • Volume 2 : 物理層 834pp
      • Volume 1+2 合計で2500page以上!
         • 物理層(L1)からトランスポート層(L4)、管理系、およびコネクタ
           の規格等まで定められているため、膨大な量となっている



Copyright © 2010 NTT DATA CORPORATION                         5
02 InfiniBandの「機能」概要

全体像の理解への近道
• スペックの Volume1、Chapter 3 “Architectural Overview” が一番
  網羅的でまとまっており、おすすめです。
  • 豊富な図版入りで、55page (ただし、英文)

システムプログラマの視線から見た特徴的な機能
• Addressing
   • パケットに埋め込まれているアドレスには2種類ある
   • サブネット単位でユニークな、LID (Local Identifier) : 16bit
   • 全世界でユニークな、GID (Global Identifier)    : 128bit
      • GIDには、実は IPv6 が使用されている
      • つまり、InfiniBand “ルータ” という概念がある

Copyright © 2010 NTT DATA CORPORATION                    6
02 InfiniBandの「機能」概要

• 豊富なトランスポート層の機能
   • 4種類のトランスポート
      • RC, RD, UC, UD
   • RDMA : Remote DMA
   • Atomic Operation (リモートでCompareAndSwap等ができる)
   • 以上はすべてハード(ファームも含む)で実装されている
• Congestion Control
   • Slow Drain問題の考慮等が入っている
• 管理系
   • 管理用に外付けのネットワークは要求しない。インバンドで管理




Copyright © 2010 NTT DATA CORPORATION              7
03 RDMA技術の「機能」概要

InfiniBand HCAの基本的な構造

   IB spec. 1.2.1
   Vol1. p96より
   引用




Copyright © 2010 NTT DATA CORPORATION   8
03 RDMA技術の「機能」概要


HCA          ホストチャネルアダプタの略。要するにNIC
WR           Work Request。要するに通信コマンド
QP           Queue Pair。プログラムが使う、通信エンドポイント
             全二重のチャネルの送信側と受信側のコマンド処理キューに対応
CQ           Completion Queue。QPに投入したWR(通信コマンド)のうち、
             処理が完了したWRに対応する情報エントリ(CQE)が格納される
PD           Protection Domain。アクセス保護のための単位
MR           Memory Region。HCAに登録された、仮想連続なメモリ領域
MW           Memory Window。MRを分割する単位




Copyright © 2010 NTT DATA CORPORATION                 9
02 InfiniBandの「機能」概要

InfiniBandによる通信手順の概要
1. 事前準備
    • HCAとの接続、PD、CQの準備等
 2. 通信エンドポイントを作成する(QPをつくる)
 3. コネクションを張る(RCを使う場合)
 4. 通信バッファをHCAに登録する          2/3と4は逆でも構わない
 5. 通信リクエストWRをQPにポストする
        Send/Recv、RDMAなど
        RDMAするリモートアドレスは、Send/Recvでコネクションの両側で
        通知しあうのが普通
 6. CQから通信リクエストの完了を刈り取る



Copyright © 2010 NTT DATA CORPORATION          10
03 RDMA技術のメリット

広帯域通信?低遅延?
  違います。それは、主にリンク層の性能によるメリット
   • リンク層の性能以外にも、 I/Oバスの性能、I/Oブリッジの性能、
     DMAエンジンのI/Oバスの使い方の善し悪し、そもそも論としてソ
     フトからの使い方の善し悪し等、さまざまな要素が関係してきま
     す。

では何がRDMA技術のメリットなのか?
   コピーを減らせること
   システムバスの負荷が低いこと
   ≒SMPシステム全体の効率を上げられること



Copyright © 2010 NTT DATA CORPORATION    11
03 RDMA技術のメリット

まず、 プログラマ視点で見た、RDMAを復習しておきましょう

•   リモートノード上の、
•   仮想アドレス(user/kernel spaceを問わない)を指定して、
•   書き込み、読み込みができる
•   しかもCPUを介さずにデバイスがやってくれる
•   だから、Remote Direct Memory Access(RDMA)




Copyright © 2010 NTT DATA CORPORATION       12
03 RDMA技術のメリット

「コピーを減らせる」とはどういうことか?

以下の2つのケースにおける、受信側でのデータの動きを比較してみます
1. 通常の socket 通信のケース
2. RDMAによるユーザレベル通信(ULT)のケース 0コピー通信?




Copyright © 2010 NTT DATA CORPORATION   13
03 RDMA技術のメリット

1.通常のSocket通信などのケース
  送受信バッファを使って Send/Recv する

                                                          Main Memory
                        HCA      I/O    I/O
                                 Bus    Bridge            Kernel Buffer



                                                               User Buffer
                                                 System
                                                 Bus
           CPUによるメモリコピー                                    :
                                                          ca       CPU #1
                                                          ch
                                                          e




Copyright © 2010 NTT DATA CORPORATION                                        14
03 RDMA技術のメリット

2.RDMAによるユーザレベル通信(ULT)のケース
  リモートのユーザバッファへ直接RDMA Write する

                                                          Main Memory
                        HCA      I/O    I/O
                                 Bus    Bridge            Kernel Buffer



                                                               User Buffer
                                                 System
                                                 Bus

                       CPUによるメモリコピーなし
                                                           :
                                                          ca       CPU #1
                                                          ch
                                                          e




Copyright © 2010 NTT DATA CORPORATION                                        15
03 RDMA技術のメリット

これら2つのケースにおける、受信側でのデータの動きの違い
1. 通常の socket 通信などのケース
     デバイス -> I/Oバス -> I/Oブリッジ -> システムバス -> メモリ
     (kernel buffer) -> メモリ(user buffer)
2. RDMAによるユーザレベル通信(ULT)のケース
     デバイス -> I/Oバス -> I/Oブリッジ -> システムバス -> メモリ
     (user buffer)
実は違いは最後のメモリコピーしかない
• メモリコピーはシステムバスを2回通るのに注意
つまり、RDMAの有無で、システムバス上のトラフィックは(最悪)3倍違う!
• これがSMPシステム全体の効率に効く。



Copyright © 2010 NTT DATA CORPORATION            16
03 RDMA技術のメリット(余談)

I/Oバスに対する DMA READ/WRITE とRDMA Read/Writeの関係

          RDMA Writeソース側のデバイス上のHCAのDMAエンジンからは、主
          記憶上からのデータの読み出しが必要
           • DMA READ を実行
          RDMA Writeターゲット側のHCAのDMAエンジンからは、主記憶へ
          データの書き込みが必要
           • DMA WRITE を実行

          つまり、立ち位置によって、READとWRITEが逆転して見えることがあ
          るので混乱しないようにしましょう



Copyright © 2010 NTT DATA CORPORATION             17
04 RDMAの応用例(1):SDP

RDMA技術の問題点の一つ
    ハードの設定を気にするのは面倒だし、慣れたソケット通信でプログ
    ラムを書きたい

解決策
          ソケットライブラリのすぐ下の層(ユーザ空間)で、通信処理を横取り
          し、RDMAを利用した低コスト・高性能通信処理にすげかえてしまえ
          ばいい!
          この種のアイデアは、古くは、UCB の FastSockets の研究[1] にさ
          かのぼります
      [1] Steven H.Rodrigues, Thomas E.Anderson, and David E.Culler. High-performance
          local area communication with fast sockets. USENIX, 1997.
Copyright © 2010 NTT DATA CORPORATION                                                   18
04 RDMAの応用例(1):SDP

SDPの処理の概要
      • TCPの代わりに独自プロトコル(Socket Direct Protocol)を定義。上
          位プログラムには通常の byte-stream通信を見せる。
      • ショートメッセージ、Recv Postingが間に合わない場合は
          Send/Recvを使用して通信
      • ロングメッセージの場合は、プログラムが渡したバッファをメモリ登録
          してからRDMAを使用して0コピー通信
使い方
 通常のsocket通信を行うプログラムの起動時に、LD_PRELOADに
 libsdp.so を指定するだけ


Copyright © 2010 NTT DATA CORPORATION                  19
04 RDMAの応用例(1):SDP

効果
 ベンチマークすると、物理層の実効性能の9割以上は達成できます。
 例:SDRの測定例で、例えば7.6Gbpsくらい。

特性(というか、留意事項)
• SDPでは、プログラムにTCPソケットに見えるパス1本について1つ、RC
  のコネクションをはります。なので、低通信量でコネクション確立・切断を
  繰り返すような使い方をすると、性能が出ません。
• 送受信バッファを十分大きくする必要があります。でないと、0-copy通
  信が走らないことがあります。
• RCコネクションはハード資源です。なので、多量のコネクションを張るよ
  うなプログラムは性能劣化を起こすことがあります。


Copyright © 2010 NTT DATA CORPORATION    20
05 InfiniBandの応用例(1):vSMP

ScaleMP
• リングトポロジのIBで接続した仮想SMP(vSMP)なるもの
      • 以下の例では 8core、16GB の4台を束ねて、32core、64GB の
          SSIにできる                       Virtual SMP
                                             Node#1     Node#2
                                             2QC/16GB   2QC/16GB   2port InfiniBand
                                                                   でリング状に接続
                                                HCA       HCA



                                                HCA       HCA

                                             2QC/16GB   2QC/16GB
                                             Node#3     Node#4



Copyright © 2010 NTT DATA CORPORATION                                                 21
05 InfiniBandの応用例(1):vSMP

リングトポロジでvSMPを実現するにあたって気になること
• 鶏と卵問題
   このNノードなら、 IBサブネットもN個存在する
   サブネットごとに Subnet managerが必要
   Subnet manager は SSI になった後に起動するのか?
   でも、Subnet Manager がいないと、SSIになれないはず
   では、vSMPってどうやって起動するんだろう?
   もしかしたら、各ノードごとにOSあげるのか?
    • そのあとでSSI化するなら納得できる




Copyright © 2010 NTT DATA CORPORATION   22
05 InfiniBandの応用例(1):vSMP

考えるべきこと
   spinlock の実装
    • spinlock を獲得しようとしたプログラムが動作している物理ノード
      の以外のノードも含めて、システムワイドでCAS操作を行う必要が
      ある。InfiniBand の Atomic Operation で実現するのか?
   ある物理ノードで動いているプロセスが、他ノードのメモリにアクセス
   したらどう処理するのか?
    • 別ノードにコンテキストを移動させる?
   別物理ノードに接続されているI/Oアダプタに対してI/O要求が出た
   場合にどう処理するのか?
   etc.

某所のScaleMP環境で実機検証・調査をしたいと思います ☺

Copyright © 2010 NTT DATA CORPORATION             23
06 今後の予定(?)

• 今後の InfiniBand & Manycore Day でご紹介したいこと
  • InfiniBand以外のRDMA系技術の動向
  • NFS/RDMAの概要とメリット
  • Oracle RACが使用する RDS : Reliable Datagram Socket の概
    要とメリット
  • DAPL等、RDMA技術を利用可能な通信ライブラリの概要
  • RDMA技術を活用するためのSocket API拡張




Copyright © 2010 NTT DATA CORPORATION
07 まとめ

• システムプログラムからみたRDMAのメリット
      • メモリコピーを減らすことが、通信性能だけでなく、システム性能全
          体に効く(意外と認知されていない)


• 今後も、RDMA技術の応用例やメリットなど、ご紹介していきたいと思
  います
      • 一緒に実機評価作業をしてくれるボランティア求む! ☺




Copyright © 2010 NTT DATA CORPORATION
ご清聴ありがとうございました




Copyright © 2010 NTT DATA CORPORATION                    26
本文中に記載の会社名、商品名、製品名などは、一般に各社の商標または登録商標です
               ただし本文中では、TMや®マークは明記してありません
Q&A




Copyright © 2010 NTT DATA CORPORATION         28
References

    InfiniBandの規格
        http://www.infinibandta.org/
        メンバ登録(無料)をしなくてもスペックは以下から入手できるよ
        うです。
            http://members.infinibandta.org/kwspub/spec/
    OpenFabrics
        http://www.openfabrics.org/
    InterConnect Software Consortium
        http://www.opengroup.org/icsc/




Copyright © 2010 NTT DATA CORPORATION                      29
0x バックアップスライド

以下、バックアップスライド
投影せず。また、配布資料からも削除。




Copyright © 2010 NTT DATA CORPORATION
0x バックアップスライド




Copyright © 2010 NTT DATA CORPORATION
Interconnect の歴史
Ethernet (1973-)
Token Ring
FDDI
Fiber Channel
SONET/SDH
HIPPI, SP-Switch(IBM) , AP-net(Fujitsu), Memory-Channel(DEC), etc.
Myrinet, SCI, Giganet,... (academic NW)
Virtual Interface Architecture (1997)
NGIO + Future I/O = InfiniBand (2000-) ←ココ
3GIO => PCI-Express (2002)
Quadrics, PathScale…
Interconnect の歴史
横軸年代、縦軸帯域のグラフを描く
INDEX

                   NN          InfiniBandに至る、Interconnect の歴史
                   NN          InfiniBandの「機能」概要
                   NN          そもそもRDMAのメリットって何?
                   NN          RDMAの応用例:NFS/RDMA (RFC5532等)
                   NN          RDMAの応用例:SRP
                   NN          RD : Reliable Datagram の威力
                   NN          End-to-end latency 1us の理想と現実
                   NN          NW冗長化?昔々、APMというものがあっての~
                   NN          SDPが効く場合と効かない場合
                   NN          vSMPって、初代 Virtual Ironを思い出す… (OLS2005)
                   NN          それでも socket でいきたい人っているかしら?


Copyright © 2010 NTT DATA CORPORATION                                   34
E2E latency 1us の理想と現実

どうやればこんな性能を出せるか?
  CPUを busy poll で使いまくって通信完了を検出する。
  これの繰り返し。


  実用的には、割り込みベース
  指定回数pollしてから blocking wait するのもあり
APMによるパス・マイグレーション

通信経路冗長化機能の一つ
  RC作成時に、2つのパスレコード(通信経路を示す)を指定しておく
  プライマリ側の通信経路でエラーが発生した場合、ハード層でセカ
  ンダリ側の経路に切り替えてくれる
   • Failover可能な経路の制約
   • Standby 側パスは同一HCA上のポートを使っていること(マルチ
     ポートHCAなら、別ポートでもいい)
  絵を描く

   経路変更をキックする人
   ModifyQPでもできる
   SW
01 クラウド業界動向




Copyright © 2010 NTT DATA CORPORATION                 37
05 IaaSインフラを自分で持つとはどういうことか?

Eucalyptus で構築したオンプレミスのIaaSインフラの例で考えてみます
                                                                                利用者PC

                                    インターネット


      外部ネットワーク



                                                                  クラスタ#1(≒ラック#1)
AWS S3 API            AWS EC2 API             NAT、F/W
                                                                                                     SC : Storage
                       CLC : Cloud            CC : Cluster
  Walrus                                                                                              Controller
                        Controller             Controller
                                                                  内部ネットワーク



             管理・ストレージ用
             ネットワーク                                          VM   VM       VM           VM    VM          EBSボリューム
                                                                                                          EBSボリューム
    VM
  Image
                                                              NC : Node          …      NC : Node
                                                              Controller                Controller


                                                   管理・ストレージ用ネットワーク


 Copyright © 2010 NTT DATA CORPORATION                                                                               38
05 Eucalyptusの論理構成

(参考)Eucalyptusの論理コンポーネント構成(階層構成イメージ)



                                                                            Walrus
クラウドで1つ                                                     CLC
                                                                            (S3サーバ)




クラスタで1つ                             SC                                         SC
                                                  CC              CC
                                    (EBSサーバ)                                   (EBSサーバ)
                                                                                               …
                                        NC        NC              NC           NC
クラスタでn個                    …            VM   VM   VM   VM         VM   VM      VM     VM   …
                                        VM   VM   VM   VM         VM   VM      VM     VM

                             クラスタ #1                              クラスタ #2
Copyright © 2010 NTT DATA CORPORATION                                                          39
05 Eucalyptusの論理構成

(参考)Eucalyptusの論理コンポーネント構成
 論理コンポーネント
 論理コンポーネント 略称                           役割            実装単位          備考


 Cloud Controller             CLC       クラウド全体の制      eucalyptus-cloud クラウドで1つ
                                        御             プロセス

 Walrus                       Walrus    S3サーバ(イメージ 同上               クラウドで1つ
                                        データ等の保持)

 Storage                      SC        EBSサーバ        同上            クラスタで1つ
 Controller

 Cluster Controller CC                  NAT、VLAN制御、   CCプロセス        クラスタで1つ
                                        DHCP

 Node Controller              NC        VMの実行         NCプロセス        クラスタごとにN台



(注)他のソフトもだいたい似たような論理構成になっていることが多いです。
Copyright © 2010 NTT DATA CORPORATION                                            40
TIPS : 試験に出るOSSクラウド

    「ごった煮」 ←今年はこれだ!

    NASA Nebula クラウドと、OpenNebula はまったくの別物
      NASA Nebulaクラウドは、NASAエイムズ研究所のクラウド
      OpenNebulaはEU系の学術プロジェクト
      名前がかぶっているだけ

    JOSUG (Japan OpenStack Users Group)は「ジョス・ユージー」と読
    んであげてください。☺
    OpenStackの 2nd リリースの Bexar は「ベア /ˈbɛər/ 」と読みます

    Eucalyptus 2.0 と Eucalyptus Enterprise Edition 2.0
       基本的に別物です。評価された方は情報提供お願いします!
Copyright © 2010 NTT DATA CORPORATION                    41
References                  : IaaS基盤

    オープンソース
      OpenStack                         http://www.openstack.org/
      Eucalyptus                        http://www.eucalyptus.com/
      OpenNebula                        http://www.opennebula.org/
      Nimbus                            http://www.nimbusproject.org/
      Wakame-vdc                        http://wakame.axsh.jp/vdc.html
      Karesansui                        http://karesansui.sourceforge.jp/
      CloudStack                        http://cloud.com/community
    商用
      Morph                             http://www.mor.ph/ja/
      Enomaly                           http://www.enomaly.com/
      Nimbula                           http://www.nimbula.com/




Copyright © 2010 NTT DATA CORPORATION                                       42
References                  : IaaS基盤

    その他
      NASA Nebulaクラウド         http://nebula.nasa.gov/
      NII edubaseクラウド         http://grace-center.jp/prj_educloud.html
          国立情報学研究所(NII)プレスリリースより
          NASA Nebula とNII edubaseクラウドが連携
                   http://www.nii.ac.jp/index.php?action=pages_view_main&page_id=1106


          WIDEクラウド                      http://www.wide.ad.jp/project/wg/wide-cloud-j.html




Copyright © 2010 NTT DATA CORPORATION                                                        43
References                  : 関連コンポーネント

    ストレージ系
        SheepDog                        http://www.osrg.net/sheepdog/
        Ceph/RADOS                      http://ceph.newdream.net/
        Vastsky                         http://sourceforge.net/projects/vastsky/
     etc.
    NW系
          Vyatta                        http://www.vyatta.com/
                                        http://www.vyatta-users.jp/
          Open vSwitch                  http://openvswitch.org/
          CloudSwitch                   http://www.cloudswitch.com/
      etc.




Copyright © 2010 NTT DATA CORPORATION                                              44
References                  : そのほか

    PaaS系
        Heroku           http://heroku.com/
            Ruby on RailsベースのPaaS (「Heroku最強伝説」 by @nabehiro_ さん)
        FluxFlex         http://www.fluxflex.com/
            第4回JAWS-UG勉強会LT
        AppScale         http://appscale.cs.ucsb.edu/
            OSSなGAEクローン
     etc.

    国プロ系の取り組み
          総務省 H21年度情報通信に関わる研究開発
          「セキュアクラウドネットワーキングの研究開発」
             http://www.idg.co.jp/expo/cns/ (クラウドネットワーキングシンポジウム)



Copyright © 2010 NTT DATA CORPORATION                               45
References                  : そのほか

    ユーザ会
          OpenStack                     http://openstack.org/
          Eucalyptus                    http://eucalyptus-users.jp/


          JAWSUG                        http://jaws-ug.jp/
          JAZUG                         http://jazug.jp/




Copyright © 2010 NTT DATA CORPORATION                                 46
0x バックアップスライド




Copyright © 2010 NTT DATA CORPORATION
OpenStackのコミュニティ動向
      OpenStack
そもそも OpenStack とは・・・
      ようするに Yet Another Eucalyptus のようなもの
      NASAが開発したIaaS 基盤の Nova(EC2相当) + RackSpace社の
                        Nova(EC2相当)
                                相当
      CloudFiles 実装の Swift (S3相当)+α
                           (S3相当
                              相当)
      実装言語は、基本 Python
      実装言語は
ポリシー

       • Open な開発プロセス☺

       • NO Enterprise Edition
URL
      http ://www.openstack.org/
      http://launchpad.net/openstack/
02 ねらい

    有力ソフト



  1                  Eucalyptus         Eucalytpus1.6.2は、なぜ注目に値するのか?




                                        Eucalyputs はどのような構造で実現されているのか?
  2                  OpenStack          (ネットワーク視点を中心に)



                                        Eucalyptus 1.6.2 を活用する上で、なお注意が必要な事項
  3                  CloudStack         とは何か?




  4                    そのほか             今後、期待される改善とは何か?



Copyright © 2010 NTT DATA CORPORATION                                         49
図版

図版
Place holder




Copyright © 2010 NTT DATA CORPORATION   50
参考:Sheepdog

    特徴
      IaaSのような、仮想化を前提としたクラスタ環境向けのストレージ基盤
      VMに接続するディスクのイメージを配置することに特化して最適化

    実現方式
      クラスタを構成するノードのローカルディスクを利用
      VMのディスクイメージを固定長のチャンクに分割
        DHTでクラスタ内に分散、デフォルト3重のコピーを分散して保持
        発想としては Hadoop HDFS(等)によく似ている
      VMインタフェース部(クライアント)は、qemu block device のドライバとして実
      装
      クラスタ管理、クラスタ内通信にはCorosyncを使用
    開発元
      日本電信電話株式会社 サイバースペース研究所 (@横須賀)
      2010年7月、Sheepdogのクライアント部分が、qemu のメインラインにマー
      ジされました (^o^)v
Copyright © 2010 NTT DATA CORPORATION                   51
0x めも

2006/8 エリック・シュミット “Cloud Computing”
2006/8 Amazon EC2 Betaサービス開始
2006/x RightScale社創業
2008/4 Google App Engineプレビューリリース公開
2008/10 Windows Azure発表
2009/4 Google App Engine有料版サービス開始
2008/5 Eucalyptus 1.0 リリース
2009/3 AppScale 1.0 リリース
2010/2 Eucalyptus 1.6.2 リリース
2010/1 Windows Azure 正式サービス開始
2010/8 Eucalyptus 2.0 リリース
2010/7/19 OpenStack発表
2010/10/21 OpenStack 1st リリース(Austin Release)

VMware vCloud (vExpress)(Vmware, EMC, Cisco)
Oracle の発表
Nifty Cloud API正式リリース ‘10/
XCP
2008年4月:GAEプレビューリリース版を公開
2009年2月:GAE有料版のサービスを開始
2009年4月:Javaアプリケーションに対応


Copyright © 2010 NTT DATA CORPORATION
04 RDMAの応用例(1):NFS/RDMA

NFSの問題点の一つ
    いくら高橋@VA Linux さんが、Zerocopy NFS 化してくれたとは言
    え、POSIX セマンティクスを守るためには copy-in/copy-out が必
    要
             • メモリコピー!


          物理メモリを全部 Registerしている!

          read() -> NFSサーバがクライアントへ RDMA Write
          write() -> NFSクライアントがサーバから RDMA Read




Copyright © 2010 NTT DATA CORPORATION            53

More Related Content

What's hot

忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
Yuya Rin
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
Tatsuya Watanabe
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのか
Yutaro Hayakawa
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
 
ライブストリーミングの基礎知識その2
ライブストリーミングの基礎知識その2ライブストリーミングの基礎知識その2
ライブストリーミングの基礎知識その2
kumaryu
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
Yasunori Goto
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2
Sho Nakazono
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
 
Deflate
DeflateDeflate
Deflate
7shi
 

What's hot (20)

忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのか
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ライブストリーミングの基礎知識その2
ライブストリーミングの基礎知識その2ライブストリーミングの基礎知識その2
ライブストリーミングの基礎知識その2
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
Deflate
DeflateDeflate
Deflate
 

Similar to プログラマ目線から見たRDMAのメリットと その応用例について

フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
 
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
Takumi Kurosawa
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architecture
Yuki Kitajima
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
Yamauchi isamu
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
 
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
Insight Technology, Inc.
 
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
Hinemos
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
NTT Software Innovation Center
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
Takehiro Kudou
 
JAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWAJAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWA
SORACOM,INC
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
Brocade
 
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
『どうする?どうやる?  データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29『どうする?どうやる?  データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
Yukihiro Kikuchi
 
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
Takumi Kurosawa
 

Similar to プログラマ目線から見たRDMAのメリットと その応用例について (20)

フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
エバンジェリストが語るパワーシステム特論 ~ 第3回:IBMオフコンはいかにして生き残れたのか?~第二章~
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architecture
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
B14 SQL Server over SMB using infiniBand and SSD by Mario Broodbakker/市川明
 
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
【HinemosWorld2014】A1-3_01_NTT Comのグローバルクラウド戦略とHinemosとの連携について
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
 
JAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWAJAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWA
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
 
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
『どうする?どうやる?  データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29『どうする?どうやる?  データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
 
計算機理論入門08
計算機理論入門08計算機理論入門08
計算機理論入門08
 
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
エバンジェリストが語るパワーシステム特論 ~ 第1回:IBMオフコンはいかにして生き残れたのか?
 

More from Masanori Itoh

OpenStack Days Tokyo 2016 HPE Presentation
OpenStack Days Tokyo 2016 HPE PresentationOpenStack Days Tokyo 2016 HPE Presentation
OpenStack Days Tokyo 2016 HPE Presentation
Masanori Itoh
 
OSCA Devloper Lounge #1 LT - OpenStack Java SDK
OSCA Devloper Lounge #1 LT - OpenStack Java SDKOSCA Devloper Lounge #1 LT - OpenStack Java SDK
OSCA Devloper Lounge #1 LT - OpenStack Java SDK
Masanori Itoh
 
OCDET Activity and Glusterfs
OCDET Activity and GlusterfsOCDET Activity and Glusterfs
OCDET Activity and Glusterfs
Masanori Itoh
 
Ubuntu Offline Meeting 2013.05 Tokyo
Ubuntu Offline Meeting 2013.05 TokyoUbuntu Offline Meeting 2013.05 Tokyo
Ubuntu Offline Meeting 2013.05 Tokyo
Masanori Itoh
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
Masanori Itoh
 
おぷ☆すた女子部の設計と実装
おぷ☆すた女子部の設計と実装おぷ☆すた女子部の設計と実装
おぷ☆すた女子部の設計と実装
Masanori Itoh
 
Eucalyptus Advent Calendar 2012 JP (thatsdone)
Eucalyptus Advent Calendar 2012 JP (thatsdone)Eucalyptus Advent Calendar 2012 JP (thatsdone)
Eucalyptus Advent Calendar 2012 JP (thatsdone)
Masanori Itoh
 
JOSUG Status Update
JOSUG Status UpdateJOSUG Status Update
JOSUG Status Update
Masanori Itoh
 
OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~
Masanori Itoh
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
Masanori Itoh
 
自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
Masanori Itoh
 
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
Masanori Itoh
 
LinuxCon Japan 2011 OSS IaaS BoF
LinuxCon Japan 2011 OSS IaaS BoFLinuxCon Japan 2011 OSS IaaS BoF
LinuxCon Japan 2011 OSS IaaS BoF
Masanori Itoh
 
第三回クラウドごった煮 日本OpenStackユーザ会紹介
第三回クラウドごった煮 日本OpenStackユーザ会紹介第三回クラウドごった煮 日本OpenStackユーザ会紹介
第三回クラウドごった煮 日本OpenStackユーザ会紹介
Masanori Itoh
 
OpenStackコミュニティ状況アップデート
OpenStackコミュニティ状況アップデートOpenStackコミュニティ状況アップデート
OpenStackコミュニティ状況アップデート
Masanori Itoh
 
OpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
OpenStack Diablo Design Summit Talk : A Lesson from the Japan DisasterOpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
OpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
Masanori Itoh
 
OSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンOSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼン
Masanori Itoh
 
2010/12/11 クラウドごった煮祭LT
2010/12/11 クラウドごった煮祭LT2010/12/11 クラウドごった煮祭LT
2010/12/11 クラウドごった煮祭LT
Masanori Itoh
 
20101029 open cloudcampus-1
20101029 open cloudcampus-120101029 open cloudcampus-1
20101029 open cloudcampus-1
Masanori Itoh
 

More from Masanori Itoh (20)

OpenStack Days Tokyo 2016 HPE Presentation
OpenStack Days Tokyo 2016 HPE PresentationOpenStack Days Tokyo 2016 HPE Presentation
OpenStack Days Tokyo 2016 HPE Presentation
 
OSCA Devloper Lounge #1 LT - OpenStack Java SDK
OSCA Devloper Lounge #1 LT - OpenStack Java SDKOSCA Devloper Lounge #1 LT - OpenStack Java SDK
OSCA Devloper Lounge #1 LT - OpenStack Java SDK
 
OCDET Activity and Glusterfs
OCDET Activity and GlusterfsOCDET Activity and Glusterfs
OCDET Activity and Glusterfs
 
Ubuntu Offline Meeting 2013.05 Tokyo
Ubuntu Offline Meeting 2013.05 TokyoUbuntu Offline Meeting 2013.05 Tokyo
Ubuntu Offline Meeting 2013.05 Tokyo
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
おぷ☆すた女子部の設計と実装
おぷ☆すた女子部の設計と実装おぷ☆すた女子部の設計と実装
おぷ☆すた女子部の設計と実装
 
Eucalyptus Advent Calendar 2012 JP (thatsdone)
Eucalyptus Advent Calendar 2012 JP (thatsdone)Eucalyptus Advent Calendar 2012 JP (thatsdone)
Eucalyptus Advent Calendar 2012 JP (thatsdone)
 
JOSUG Status Update
JOSUG Status UpdateJOSUG Status Update
JOSUG Status Update
 
OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート自作プライベートクラウド研究会 OpenStackアップデート
自作プライベートクラウド研究会 OpenStackアップデート
 
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
 
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
 
LinuxCon Japan 2011 OSS IaaS BoF
LinuxCon Japan 2011 OSS IaaS BoFLinuxCon Japan 2011 OSS IaaS BoF
LinuxCon Japan 2011 OSS IaaS BoF
 
第三回クラウドごった煮 日本OpenStackユーザ会紹介
第三回クラウドごった煮 日本OpenStackユーザ会紹介第三回クラウドごった煮 日本OpenStackユーザ会紹介
第三回クラウドごった煮 日本OpenStackユーザ会紹介
 
OpenStackコミュニティ状況アップデート
OpenStackコミュニティ状況アップデートOpenStackコミュニティ状況アップデート
OpenStackコミュニティ状況アップデート
 
OpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
OpenStack Diablo Design Summit Talk : A Lesson from the Japan DisasterOpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
OpenStack Diablo Design Summit Talk : A Lesson from the Japan Disaster
 
OSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼンOSC 2011 Tokyo/Spring OpenStackプレゼン
OSC 2011 Tokyo/Spring OpenStackプレゼン
 
2010/12/11 クラウドごった煮祭LT
2010/12/11 クラウドごった煮祭LT2010/12/11 クラウドごった煮祭LT
2010/12/11 クラウドごった煮祭LT
 
20101029 open cloudcampus-1
20101029 open cloudcampus-120101029 open cloudcampus-1
20101029 open cloudcampus-1
 

Recently uploaded

MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
TsuyoshiSaito7
 
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
Toru Tamaki
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
Hironori Washizaki
 
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
TsuyoshiSaito7
 
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
Fast Retailing Co., Ltd.
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
 
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
Tetsuya Nihonmatsu
 
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
company21
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (9)

MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
 
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
 
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
 
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
 
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
 
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
 

プログラマ目線から見たRDMAのメリットと その応用例について

  • 1. InfiniBand & Manycore Day プログラマ目線から見たRDMAのメリットと その応用例について 2010年11月17日 株式会社NTTデータ 技術開発本部 伊藤雅典
  • 2. INDEX 00 自己紹介 01 概要とInfiniBand & Manycore Day における位置づけ 02 InfiniBandの「機能」概要 03 RDMA技術のメリット 04 RDMAの応用例(1):SDP 05 InfiniBandの応用例(1):vSMP 06 今後の予定(?) 07 まとめ Copyright © 2010 NTT DATA CORPORATION 1
  • 3. 00 自己紹介 氏名 伊藤 雅典 (いとう まさのり) 所属 株式会社NTTデータ 技術開発本部 ITアーキテクチャ&セキュリティ技術センタ 担当業務 NTTデータの総合クラウドサービス BizXaaS™ (http://bizxaas.net/)の、 「フルOSSクラウド構築ソリューション」 の開発ほかに従事 http://www.nttdata.co.jp/release/2010/040801.html OpenStackやクラウドストレージ技術などに注力中 その他、活動領域 Open Cloud Campus、日本OpenStackユーザ会(JOSUG)、JEUG、 VIOPS InterCloud SIG、GICTF等でも活動中 Copyright © 2010 NTT DATA CORPORATION 2
  • 4. 00 自己紹介(続き) Disclaimer 私の勤務先では、特に、InfiniBand に関する開発活動(製品、ソリュー ション等)は行っておりません。純粋に、ユーザの立場にあります。 Then, why me? その昔(前職の頃)、仕事で InfiniBand 他の高速インタコネクトに関 わっていたためです。具体的には・・・ • InfiniBand HCAカードの Linux 用デバイスドライバの開発 • SDPプロトコルの策定 • DAPL (Direct Access Provider Library)ライブラリの開発 • RDMA技術の応用の1つである、ICSC Socket Extension の仕様の策定 等々 Copyright © 2010 NTT DATA CORPORATION 3
  • 5. 01 概要 InfiniBand & Manycore Day シリーズの全体象 InfiniBand 関連 1.技術編 2.業界動向編 3.応用編 Manycore 関連 調整中? 本日のプレゼンテーションの概要 以下のトピックについて、システムプログラマ視線でみた技術的なポイン トをご紹介します。 • RDMA技術の代表格である、InfiniBandの機能概要 • RDMA技術のメリット • RDMA技術および InfiniBand の応用例(SDP, vSMP) Copyright © 2010 NTT DATA CORPORATION 4
  • 6. 02 InfiniBandの「機能」概要 Specification • 最新版スペックのバージョンは1.2.1+Errata • http://members.infinibandta.org/kwspub/spec/ • 意外にバージョンが上がっていない • 機能としては十分成熟したということか。 • 構成 • Volume 1 : 全体アーキテクチャ、リンク~トランスポート層、管理系 1727pp • Volume 2 : 物理層 834pp • Volume 1+2 合計で2500page以上! • 物理層(L1)からトランスポート層(L4)、管理系、およびコネクタ の規格等まで定められているため、膨大な量となっている Copyright © 2010 NTT DATA CORPORATION 5
  • 7. 02 InfiniBandの「機能」概要 全体像の理解への近道 • スペックの Volume1、Chapter 3 “Architectural Overview” が一番 網羅的でまとまっており、おすすめです。 • 豊富な図版入りで、55page (ただし、英文) システムプログラマの視線から見た特徴的な機能 • Addressing • パケットに埋め込まれているアドレスには2種類ある • サブネット単位でユニークな、LID (Local Identifier) : 16bit • 全世界でユニークな、GID (Global Identifier) : 128bit • GIDには、実は IPv6 が使用されている • つまり、InfiniBand “ルータ” という概念がある Copyright © 2010 NTT DATA CORPORATION 6
  • 8. 02 InfiniBandの「機能」概要 • 豊富なトランスポート層の機能 • 4種類のトランスポート • RC, RD, UC, UD • RDMA : Remote DMA • Atomic Operation (リモートでCompareAndSwap等ができる) • 以上はすべてハード(ファームも含む)で実装されている • Congestion Control • Slow Drain問題の考慮等が入っている • 管理系 • 管理用に外付けのネットワークは要求しない。インバンドで管理 Copyright © 2010 NTT DATA CORPORATION 7
  • 9. 03 RDMA技術の「機能」概要 InfiniBand HCAの基本的な構造 IB spec. 1.2.1 Vol1. p96より 引用 Copyright © 2010 NTT DATA CORPORATION 8
  • 10. 03 RDMA技術の「機能」概要 HCA ホストチャネルアダプタの略。要するにNIC WR Work Request。要するに通信コマンド QP Queue Pair。プログラムが使う、通信エンドポイント 全二重のチャネルの送信側と受信側のコマンド処理キューに対応 CQ Completion Queue。QPに投入したWR(通信コマンド)のうち、 処理が完了したWRに対応する情報エントリ(CQE)が格納される PD Protection Domain。アクセス保護のための単位 MR Memory Region。HCAに登録された、仮想連続なメモリ領域 MW Memory Window。MRを分割する単位 Copyright © 2010 NTT DATA CORPORATION 9
  • 11. 02 InfiniBandの「機能」概要 InfiniBandによる通信手順の概要 1. 事前準備 • HCAとの接続、PD、CQの準備等 2. 通信エンドポイントを作成する(QPをつくる) 3. コネクションを張る(RCを使う場合) 4. 通信バッファをHCAに登録する 2/3と4は逆でも構わない 5. 通信リクエストWRをQPにポストする Send/Recv、RDMAなど RDMAするリモートアドレスは、Send/Recvでコネクションの両側で 通知しあうのが普通 6. CQから通信リクエストの完了を刈り取る Copyright © 2010 NTT DATA CORPORATION 10
  • 12. 03 RDMA技術のメリット 広帯域通信?低遅延? 違います。それは、主にリンク層の性能によるメリット • リンク層の性能以外にも、 I/Oバスの性能、I/Oブリッジの性能、 DMAエンジンのI/Oバスの使い方の善し悪し、そもそも論としてソ フトからの使い方の善し悪し等、さまざまな要素が関係してきま す。 では何がRDMA技術のメリットなのか? コピーを減らせること システムバスの負荷が低いこと ≒SMPシステム全体の効率を上げられること Copyright © 2010 NTT DATA CORPORATION 11
  • 13. 03 RDMA技術のメリット まず、 プログラマ視点で見た、RDMAを復習しておきましょう • リモートノード上の、 • 仮想アドレス(user/kernel spaceを問わない)を指定して、 • 書き込み、読み込みができる • しかもCPUを介さずにデバイスがやってくれる • だから、Remote Direct Memory Access(RDMA) Copyright © 2010 NTT DATA CORPORATION 12
  • 14. 03 RDMA技術のメリット 「コピーを減らせる」とはどういうことか? 以下の2つのケースにおける、受信側でのデータの動きを比較してみます 1. 通常の socket 通信のケース 2. RDMAによるユーザレベル通信(ULT)のケース 0コピー通信? Copyright © 2010 NTT DATA CORPORATION 13
  • 15. 03 RDMA技術のメリット 1.通常のSocket通信などのケース 送受信バッファを使って Send/Recv する Main Memory HCA I/O I/O Bus Bridge Kernel Buffer User Buffer System Bus CPUによるメモリコピー : ca CPU #1 ch e Copyright © 2010 NTT DATA CORPORATION 14
  • 16. 03 RDMA技術のメリット 2.RDMAによるユーザレベル通信(ULT)のケース リモートのユーザバッファへ直接RDMA Write する Main Memory HCA I/O I/O Bus Bridge Kernel Buffer User Buffer System Bus CPUによるメモリコピーなし : ca CPU #1 ch e Copyright © 2010 NTT DATA CORPORATION 15
  • 17. 03 RDMA技術のメリット これら2つのケースにおける、受信側でのデータの動きの違い 1. 通常の socket 通信などのケース デバイス -> I/Oバス -> I/Oブリッジ -> システムバス -> メモリ (kernel buffer) -> メモリ(user buffer) 2. RDMAによるユーザレベル通信(ULT)のケース デバイス -> I/Oバス -> I/Oブリッジ -> システムバス -> メモリ (user buffer) 実は違いは最後のメモリコピーしかない • メモリコピーはシステムバスを2回通るのに注意 つまり、RDMAの有無で、システムバス上のトラフィックは(最悪)3倍違う! • これがSMPシステム全体の効率に効く。 Copyright © 2010 NTT DATA CORPORATION 16
  • 18. 03 RDMA技術のメリット(余談) I/Oバスに対する DMA READ/WRITE とRDMA Read/Writeの関係 RDMA Writeソース側のデバイス上のHCAのDMAエンジンからは、主 記憶上からのデータの読み出しが必要 • DMA READ を実行 RDMA Writeターゲット側のHCAのDMAエンジンからは、主記憶へ データの書き込みが必要 • DMA WRITE を実行 つまり、立ち位置によって、READとWRITEが逆転して見えることがあ るので混乱しないようにしましょう Copyright © 2010 NTT DATA CORPORATION 17
  • 19. 04 RDMAの応用例(1):SDP RDMA技術の問題点の一つ ハードの設定を気にするのは面倒だし、慣れたソケット通信でプログ ラムを書きたい 解決策 ソケットライブラリのすぐ下の層(ユーザ空間)で、通信処理を横取り し、RDMAを利用した低コスト・高性能通信処理にすげかえてしまえ ばいい! この種のアイデアは、古くは、UCB の FastSockets の研究[1] にさ かのぼります [1] Steven H.Rodrigues, Thomas E.Anderson, and David E.Culler. High-performance local area communication with fast sockets. USENIX, 1997. Copyright © 2010 NTT DATA CORPORATION 18
  • 20. 04 RDMAの応用例(1):SDP SDPの処理の概要 • TCPの代わりに独自プロトコル(Socket Direct Protocol)を定義。上 位プログラムには通常の byte-stream通信を見せる。 • ショートメッセージ、Recv Postingが間に合わない場合は Send/Recvを使用して通信 • ロングメッセージの場合は、プログラムが渡したバッファをメモリ登録 してからRDMAを使用して0コピー通信 使い方 通常のsocket通信を行うプログラムの起動時に、LD_PRELOADに libsdp.so を指定するだけ Copyright © 2010 NTT DATA CORPORATION 19
  • 21. 04 RDMAの応用例(1):SDP 効果 ベンチマークすると、物理層の実効性能の9割以上は達成できます。 例:SDRの測定例で、例えば7.6Gbpsくらい。 特性(というか、留意事項) • SDPでは、プログラムにTCPソケットに見えるパス1本について1つ、RC のコネクションをはります。なので、低通信量でコネクション確立・切断を 繰り返すような使い方をすると、性能が出ません。 • 送受信バッファを十分大きくする必要があります。でないと、0-copy通 信が走らないことがあります。 • RCコネクションはハード資源です。なので、多量のコネクションを張るよ うなプログラムは性能劣化を起こすことがあります。 Copyright © 2010 NTT DATA CORPORATION 20
  • 22. 05 InfiniBandの応用例(1):vSMP ScaleMP • リングトポロジのIBで接続した仮想SMP(vSMP)なるもの • 以下の例では 8core、16GB の4台を束ねて、32core、64GB の SSIにできる Virtual SMP Node#1 Node#2 2QC/16GB 2QC/16GB 2port InfiniBand でリング状に接続 HCA HCA HCA HCA 2QC/16GB 2QC/16GB Node#3 Node#4 Copyright © 2010 NTT DATA CORPORATION 21
  • 23. 05 InfiniBandの応用例(1):vSMP リングトポロジでvSMPを実現するにあたって気になること • 鶏と卵問題 このNノードなら、 IBサブネットもN個存在する サブネットごとに Subnet managerが必要 Subnet manager は SSI になった後に起動するのか? でも、Subnet Manager がいないと、SSIになれないはず では、vSMPってどうやって起動するんだろう? もしかしたら、各ノードごとにOSあげるのか? • そのあとでSSI化するなら納得できる Copyright © 2010 NTT DATA CORPORATION 22
  • 24. 05 InfiniBandの応用例(1):vSMP 考えるべきこと spinlock の実装 • spinlock を獲得しようとしたプログラムが動作している物理ノード の以外のノードも含めて、システムワイドでCAS操作を行う必要が ある。InfiniBand の Atomic Operation で実現するのか? ある物理ノードで動いているプロセスが、他ノードのメモリにアクセス したらどう処理するのか? • 別ノードにコンテキストを移動させる? 別物理ノードに接続されているI/Oアダプタに対してI/O要求が出た 場合にどう処理するのか? etc. 某所のScaleMP環境で実機検証・調査をしたいと思います ☺ Copyright © 2010 NTT DATA CORPORATION 23
  • 25. 06 今後の予定(?) • 今後の InfiniBand & Manycore Day でご紹介したいこと • InfiniBand以外のRDMA系技術の動向 • NFS/RDMAの概要とメリット • Oracle RACが使用する RDS : Reliable Datagram Socket の概 要とメリット • DAPL等、RDMA技術を利用可能な通信ライブラリの概要 • RDMA技術を活用するためのSocket API拡張 Copyright © 2010 NTT DATA CORPORATION
  • 26. 07 まとめ • システムプログラムからみたRDMAのメリット • メモリコピーを減らすことが、通信性能だけでなく、システム性能全 体に効く(意外と認知されていない) • 今後も、RDMA技術の応用例やメリットなど、ご紹介していきたいと思 います • 一緒に実機評価作業をしてくれるボランティア求む! ☺ Copyright © 2010 NTT DATA CORPORATION
  • 29. Q&A Copyright © 2010 NTT DATA CORPORATION 28
  • 30. References InfiniBandの規格 http://www.infinibandta.org/ メンバ登録(無料)をしなくてもスペックは以下から入手できるよ うです。 http://members.infinibandta.org/kwspub/spec/ OpenFabrics http://www.openfabrics.org/ InterConnect Software Consortium http://www.opengroup.org/icsc/ Copyright © 2010 NTT DATA CORPORATION 29
  • 33. Interconnect の歴史 Ethernet (1973-) Token Ring FDDI Fiber Channel SONET/SDH HIPPI, SP-Switch(IBM) , AP-net(Fujitsu), Memory-Channel(DEC), etc. Myrinet, SCI, Giganet,... (academic NW) Virtual Interface Architecture (1997) NGIO + Future I/O = InfiniBand (2000-) ←ココ 3GIO => PCI-Express (2002) Quadrics, PathScale…
  • 35. INDEX NN InfiniBandに至る、Interconnect の歴史 NN InfiniBandの「機能」概要 NN そもそもRDMAのメリットって何? NN RDMAの応用例:NFS/RDMA (RFC5532等) NN RDMAの応用例:SRP NN RD : Reliable Datagram の威力 NN End-to-end latency 1us の理想と現実 NN NW冗長化?昔々、APMというものがあっての~ NN SDPが効く場合と効かない場合 NN vSMPって、初代 Virtual Ironを思い出す… (OLS2005) NN それでも socket でいきたい人っているかしら? Copyright © 2010 NTT DATA CORPORATION 34
  • 36. E2E latency 1us の理想と現実 どうやればこんな性能を出せるか? CPUを busy poll で使いまくって通信完了を検出する。 これの繰り返し。 実用的には、割り込みベース 指定回数pollしてから blocking wait するのもあり
  • 37. APMによるパス・マイグレーション 通信経路冗長化機能の一つ RC作成時に、2つのパスレコード(通信経路を示す)を指定しておく プライマリ側の通信経路でエラーが発生した場合、ハード層でセカ ンダリ側の経路に切り替えてくれる • Failover可能な経路の制約 • Standby 側パスは同一HCA上のポートを使っていること(マルチ ポートHCAなら、別ポートでもいい) 絵を描く 経路変更をキックする人 ModifyQPでもできる SW
  • 38. 01 クラウド業界動向 Copyright © 2010 NTT DATA CORPORATION 37
  • 39. 05 IaaSインフラを自分で持つとはどういうことか? Eucalyptus で構築したオンプレミスのIaaSインフラの例で考えてみます 利用者PC インターネット 外部ネットワーク クラスタ#1(≒ラック#1) AWS S3 API AWS EC2 API NAT、F/W SC : Storage CLC : Cloud CC : Cluster Walrus Controller Controller Controller 内部ネットワーク 管理・ストレージ用 ネットワーク VM VM VM VM VM EBSボリューム EBSボリューム VM Image NC : Node … NC : Node Controller Controller 管理・ストレージ用ネットワーク Copyright © 2010 NTT DATA CORPORATION 38
  • 40. 05 Eucalyptusの論理構成 (参考)Eucalyptusの論理コンポーネント構成(階層構成イメージ) Walrus クラウドで1つ CLC (S3サーバ) クラスタで1つ SC SC CC CC (EBSサーバ) (EBSサーバ) … NC NC NC NC クラスタでn個 … VM VM VM VM VM VM VM VM … VM VM VM VM VM VM VM VM クラスタ #1 クラスタ #2 Copyright © 2010 NTT DATA CORPORATION 39
  • 41. 05 Eucalyptusの論理構成 (参考)Eucalyptusの論理コンポーネント構成 論理コンポーネント 論理コンポーネント 略称 役割 実装単位 備考 Cloud Controller CLC クラウド全体の制 eucalyptus-cloud クラウドで1つ 御 プロセス Walrus Walrus S3サーバ(イメージ 同上 クラウドで1つ データ等の保持) Storage SC EBSサーバ 同上 クラスタで1つ Controller Cluster Controller CC NAT、VLAN制御、 CCプロセス クラスタで1つ DHCP Node Controller NC VMの実行 NCプロセス クラスタごとにN台 (注)他のソフトもだいたい似たような論理構成になっていることが多いです。 Copyright © 2010 NTT DATA CORPORATION 40
  • 42. TIPS : 試験に出るOSSクラウド 「ごった煮」 ←今年はこれだ! NASA Nebula クラウドと、OpenNebula はまったくの別物 NASA Nebulaクラウドは、NASAエイムズ研究所のクラウド OpenNebulaはEU系の学術プロジェクト 名前がかぶっているだけ JOSUG (Japan OpenStack Users Group)は「ジョス・ユージー」と読 んであげてください。☺ OpenStackの 2nd リリースの Bexar は「ベア /ˈbɛər/ 」と読みます Eucalyptus 2.0 と Eucalyptus Enterprise Edition 2.0 基本的に別物です。評価された方は情報提供お願いします! Copyright © 2010 NTT DATA CORPORATION 41
  • 43. References : IaaS基盤 オープンソース OpenStack http://www.openstack.org/ Eucalyptus http://www.eucalyptus.com/ OpenNebula http://www.opennebula.org/ Nimbus http://www.nimbusproject.org/ Wakame-vdc http://wakame.axsh.jp/vdc.html Karesansui http://karesansui.sourceforge.jp/ CloudStack http://cloud.com/community 商用 Morph http://www.mor.ph/ja/ Enomaly http://www.enomaly.com/ Nimbula http://www.nimbula.com/ Copyright © 2010 NTT DATA CORPORATION 42
  • 44. References : IaaS基盤 その他 NASA Nebulaクラウド http://nebula.nasa.gov/ NII edubaseクラウド http://grace-center.jp/prj_educloud.html 国立情報学研究所(NII)プレスリリースより NASA Nebula とNII edubaseクラウドが連携 http://www.nii.ac.jp/index.php?action=pages_view_main&page_id=1106 WIDEクラウド http://www.wide.ad.jp/project/wg/wide-cloud-j.html Copyright © 2010 NTT DATA CORPORATION 43
  • 45. References : 関連コンポーネント ストレージ系 SheepDog http://www.osrg.net/sheepdog/ Ceph/RADOS http://ceph.newdream.net/ Vastsky http://sourceforge.net/projects/vastsky/ etc. NW系 Vyatta http://www.vyatta.com/ http://www.vyatta-users.jp/ Open vSwitch http://openvswitch.org/ CloudSwitch http://www.cloudswitch.com/ etc. Copyright © 2010 NTT DATA CORPORATION 44
  • 46. References : そのほか PaaS系 Heroku http://heroku.com/ Ruby on RailsベースのPaaS (「Heroku最強伝説」 by @nabehiro_ さん) FluxFlex http://www.fluxflex.com/ 第4回JAWS-UG勉強会LT AppScale http://appscale.cs.ucsb.edu/ OSSなGAEクローン etc. 国プロ系の取り組み 総務省 H21年度情報通信に関わる研究開発 「セキュアクラウドネットワーキングの研究開発」 http://www.idg.co.jp/expo/cns/ (クラウドネットワーキングシンポジウム) Copyright © 2010 NTT DATA CORPORATION 45
  • 47. References : そのほか ユーザ会 OpenStack http://openstack.org/ Eucalyptus http://eucalyptus-users.jp/ JAWSUG http://jaws-ug.jp/ JAZUG http://jazug.jp/ Copyright © 2010 NTT DATA CORPORATION 46
  • 49. OpenStackのコミュニティ動向 OpenStack そもそも OpenStack とは・・・ ようするに Yet Another Eucalyptus のようなもの NASAが開発したIaaS 基盤の Nova(EC2相当) + RackSpace社の Nova(EC2相当) 相当 CloudFiles 実装の Swift (S3相当)+α (S3相当 相当) 実装言語は、基本 Python 実装言語は ポリシー • Open な開発プロセス☺ • NO Enterprise Edition URL http ://www.openstack.org/ http://launchpad.net/openstack/
  • 50. 02 ねらい 有力ソフト 1 Eucalyptus Eucalytpus1.6.2は、なぜ注目に値するのか? Eucalyputs はどのような構造で実現されているのか? 2 OpenStack (ネットワーク視点を中心に) Eucalyptus 1.6.2 を活用する上で、なお注意が必要な事項 3 CloudStack とは何か? 4 そのほか 今後、期待される改善とは何か? Copyright © 2010 NTT DATA CORPORATION 49
  • 51. 図版 図版 Place holder Copyright © 2010 NTT DATA CORPORATION 50
  • 52. 参考:Sheepdog 特徴 IaaSのような、仮想化を前提としたクラスタ環境向けのストレージ基盤 VMに接続するディスクのイメージを配置することに特化して最適化 実現方式 クラスタを構成するノードのローカルディスクを利用 VMのディスクイメージを固定長のチャンクに分割 DHTでクラスタ内に分散、デフォルト3重のコピーを分散して保持 発想としては Hadoop HDFS(等)によく似ている VMインタフェース部(クライアント)は、qemu block device のドライバとして実 装 クラスタ管理、クラスタ内通信にはCorosyncを使用 開発元 日本電信電話株式会社 サイバースペース研究所 (@横須賀) 2010年7月、Sheepdogのクライアント部分が、qemu のメインラインにマー ジされました (^o^)v Copyright © 2010 NTT DATA CORPORATION 51
  • 53. 0x めも 2006/8 エリック・シュミット “Cloud Computing” 2006/8 Amazon EC2 Betaサービス開始 2006/x RightScale社創業 2008/4 Google App Engineプレビューリリース公開 2008/10 Windows Azure発表 2009/4 Google App Engine有料版サービス開始 2008/5 Eucalyptus 1.0 リリース 2009/3 AppScale 1.0 リリース 2010/2 Eucalyptus 1.6.2 リリース 2010/1 Windows Azure 正式サービス開始 2010/8 Eucalyptus 2.0 リリース 2010/7/19 OpenStack発表 2010/10/21 OpenStack 1st リリース(Austin Release) VMware vCloud (vExpress)(Vmware, EMC, Cisco) Oracle の発表 Nifty Cloud API正式リリース ‘10/ XCP 2008年4月:GAEプレビューリリース版を公開 2009年2月:GAE有料版のサービスを開始 2009年4月:Javaアプリケーションに対応 Copyright © 2010 NTT DATA CORPORATION
  • 54. 04 RDMAの応用例(1):NFS/RDMA NFSの問題点の一つ いくら高橋@VA Linux さんが、Zerocopy NFS 化してくれたとは言 え、POSIX セマンティクスを守るためには copy-in/copy-out が必 要 • メモリコピー! 物理メモリを全部 Registerしている! read() -> NFSサーバがクライアントへ RDMA Write write() -> NFSクライアントがサーバから RDMA Read Copyright © 2010 NTT DATA CORPORATION 53