I/O Accelerator(IOA) について 株式会社サイバーエージェント 桑野 章弘
自己紹介
自己紹介 桑野 章弘 twitter: @kuwa_tw 新規開発局 インフラテクノロジーグループ 最近自分で何やってんのかわからなくなってきた 勉強会とか好きです Twitter フォローしてください
はじめに 初めて聞いた人向けに IOA とはどういう物なのかについてまとめてみました。
アジェンダ IOA について IOA を使用したパフォーマンスについて マッチするシステム まとめ
IOA って何?
IOA とは SSD 等の NAND 型ストレージにメモリモジュールを組み合わせた物です。 I/O Accerarator の略です。 HP 社で使用している名前が IOA です。 製品名としては FusionIO とか言われてます。 まずは SSD と HDD の違いから
NAND 型ストレージ フラッシュメモリの事 SSD 等と同じ。 HDD までは行かないが比較的大容量( 512GB など) HDD の様に駆動部分が無いのでランダム IO が非常に早い
HDD 回転 ヘッド アクセスできるのはこのタイミングのみ 磁気によってデータの状態を保存 ヘッド ヘッド
SSD データの場所によってアクセス速度は変わらない 電位の状態でデータの状態を保存 メモリ コントローラ
IOA SSD ( NAND 型フラッシュデバイス)を束ねて並列構成 メモリ コントローラ OS 側 ドライバ メモリキャッシュ ファイルシステム OS 側のメモリも使用してキャッシュなども行う
加えて SSD や HDD と違って接続する場所が違います SSD や HDD は主に SATA 等のインタフェースに接続します IOA は PCI-e のスロットに接続します これによって転送速度に違いが出ます 詳しくいうと
IOA PCI-e 500MB/s * 4 レーン  = 2.0GB/s 300MB/s 現状これ以上はでません CPU ノースブリッジ サウスブリッジ メモリ GPU HDD ・ SSD IOA LAN キーボード マウス よーするにめっちゃ太い
実際のパフォーマンス
シーケンシャル
ランダム
ランダムシーク
ファイル書いてみた 100GB のファイル書くのにドンだけかかるか。
ファイル書いてみた HDD IOA 4min30sec 14min00sec 16min00sec メインメモリからディスクに書出が動いているタイムラグ
ってのもありますが、、、 一番でかいのは、、、 LA=I/O Wait が少ない事 要するに「データが書込待ちによるメモリでの書込遅延が発生していない」 = 実データに現れる以上にめちゃくちゃ I/O 性能がいい、という事。
ってのもありますが、、、 HDD IOA 3 11 HDD 側は体感でも重いのが分かるが、 IOA 側は処理の遅延はほぼ無い
マッチするシステム
利用場面としては? 条件 超高速 I/O が必要である 超大容量が必要では「ない」(最大 320GB ) 寿命は考慮に入れない(十分長いから。 1 日 5TB の書込  * 15 年のスペック値)
利用場面としては? 使用用途 RDBMS キャッシュサーバ 検索インデックス 永続化 KVS などなど、、、使用用途は無限大
まとめ
まとめ IOA は今までの「一番最初にボトルネックになるのはディスク I/O である」という常識を覆す可能性のあるデバイスです まだ色々ありまして、(ホントに、、、あったんだ、、、)実環境には入れられていませんが近々実際に環境に入れた結果をお見せできたらと思っています。
ご清聴ありがとうございました

IOAについて

Editor's Notes

  • #16 シーケンシャル作成 シーケンシャル読出 シーケンシャル削除 7513 685665 8057 19897 226454 25801 112116 683694 147053
  • #17 ランダム作成 ランダム読出 ランダム削除 7653 656622 6175 20066 342891 28711 114971 1199167 152857
  • #18 ランダムシーク 537.3 5012.9 48473.6
  • #25 RDBMS もはやマスタ、スレーブ等の括りすらいらない キャッシュサーバ ディスクキャッシュなのに超高速 検索インデックス 構築にリソースのかかるインデックスを高速に作成できる 永続化 KVS memcached とまでは行かないがかなり高速かつ永続化を実現できる