HDD 使用による 500MB/s 級、 1000MB/s(1GB/s)級 ストレージサーバ
〜メモリディスクとの共存を考えた、HDDによる高スループット構成の実現〜
2009/03/18
はじめに
メモリディスクの得失
高スループットとデータ量
HDD で作る高スループット構成
500MB/s クラス構成
600MB/s クラス構成
1000MB/s クラス構成
まとめ
ダウンロード
WEB サーバ、E コマースサーバ、コンテンツ配信サーバなどにおいて非常に高速のランダムI/O を要求する
ニーズは従来から存在していました。一方で非圧縮もしくは低圧縮(高品位、高レート)の映像を扱う分野や、
高速で生成されるデータを記録しなければならない科学技術分野においてもシーケンシャルI/O で高いスループットを要求するニーズがありました。これらは一見高い性能を要求する点で似ていますが、ランダム I/O と シーケンシャルI/O と異なった性格の使用方法になります。
従来、一般的に入手可能なハードディスクによる記録装置ではディスク単体の性能から来るシステム上のボ
トルネックと対ホスト間I/F のボトルネックが存在し、数100MB/sと言った帯域が実態である為に、これを上回る帯域を要求される場合には大量のDRAM を使用した半導体ディスク装置を選択する事が解決策として選
択されて来ました。 HDD にはランダムI/O 性能がシーケンシャルI/O 性能より落ちる宿命がありますが、
メモリを使用した記憶装置ではランダムI/O でもシーケンシャルI/O でも同じレベルの性能が得られます。
しかし、これらの半導体ディスクは高速である反面、大容量化が困難であったり、価格面で苦しい立場に
立たされるケースも多々見られました。
2008 年後半から民生用コンピュータ部品として急速な成長を見せているパーツとしてSSD(Solid State Disk)
があります。これは不揮発性メモリを搭載し、HDD と物理互換、容量的にHDD に迫る容量を備えたパーツ
であり、従来問題とされてきた繰り返し書き込みで発生するエラー率の上昇への対処(書込み位置の平均
化)と価格の低減を図ったもので、以下の様なメリットを持っています。
- モーターを搭載しない為、省電力化と衝撃への耐性が高い
- メモリー使用のため高いランダムI/O性能が期待できる
- READ性能が高く、Write性能についても次々と改良製品が発表されている
当初はバッテリー駆動を行うノート型PC において、省電力化と耐衝撃性が注目され、その後デスクトップ、
サーバ、ブレードサーバと適用製品は拡大を続けています。繰り返し書込みでのエラー率の懸念について
は、2009 年1Q にブレードサーバメーカーが相次いでSSD 搭載モデルを発表したことで、PC 側の実用
寿命年数をはるかに超えて使用を続けないとのエラー上昇は起こらないとするSSD メーカーの主張が受け
入れられ始めたと見ることができます。
これに続き、2009 年3 月には 米FUSIONIO 社 ( http://www.fusionio.com/ )がメモリベースの、 またOCZ
Technology 社 (http://www.ocztechnology.com/ ) が RAID コントローラと複数自社製SSD を一体化した、
PCI-Express バス直結の高速なディスク装置を相次いで発表しています。 これらは容量として1~1.5TB 、
スループットとして800MB/s 前後を公称しています。
コンシューマ向け/サーバ向けの2.5”/3.5” HDD 互換SSD はSATA/SAS のI/F(RAID コントローラ)を介して接続されますが、これらの新しい発想に基づく製品はPCI-Express スロットに直接実装することで、I/Fのボトルネックに縛られること無く、高スループットかつ低遅延のランダムI/O に強いディスク装置が利用できる環境を提供することになります。
これらのメモリディスク装置は量産効果により、比較的低価格で高速のI/O デバイスとして提供される見込み
です。旧来型の半導体ディスクやSATA SSD ベースのRAID に比べるとメリットが目立ちますが、全ての用途で万能ではありません。○ ランダムアクセス時の遅延が小さい
○ シーケンシャル、ランダムアクセス共に性能が変わらない
○ 容量とニーズに合えば安価に入手できる
× PCI-Express バスに実装されているため、増設限界が早い
× 最大容量が現在のHDD に比べ小さい(転送レートに比べ記録可能時間が短い)これらの特徴から導き出される最適のメモリディスク装置の用途は、小さいサイズのランダムI/O が大量に発
生する(高いIOPS が要求される)WEB サーバ、E コマースサーバ、データベースサーバとなります。一方
で、スループット上限近くでデータの記録/再生をする場合には依然として短時間の容量しか取れない弱点
があります。
高速で大量のデータを扱う一例として映画、CG のマスターデータがあります。エフェクト処理、編集等が終
わった後の上映版データでは圧縮をかけるため、データは小さく(要求スループットも低く)なっていますが、
圧縮データでは合成がきれいにできないため、マスター画像としては非圧縮を支持する声が依然として多くあります。高精細の映画フォーマットとして利用される4Kx2K 10bit のデータは796MB/s の帯域を必要とします。映画の上映時間を2時間としても、元データはその数倍から十倍程度は存在しているため、数10TB の容量が必要となります。これにワークエリアを考えるとさらに容量が必要となります。
従来のHDD ベース装置では容量的な問題は無い反面、スループットが追いつかない為に、ダイレクトにHDD ベース装置からリアルタイムの記録・再生ができない問題がありました。メモリによる記録装置でも帯域的な余裕が無く、さらに容量が追いつかないと言う問題が発生します。表1 4Kx2K 映像のデータ量
1.5TB 10TB 20TB 40TB 80TB 4Kx2K 24P 10bit
796MB/s 31 分
(0.5 時間) 209 分
(3.49 時間) 418 分
(6.9 時間) 837 分
(13 時間) 1675 分
(27.9 時間)映像配信を行うコンテンツメディアサーバは、多くのクライアントリクエストに答える為にランダムI/O になると 思われがちですが、ある程度の大きさで連続的に読み出す動作が複数重なるため、かなりシーケンシャル
I/O に近い性能が出る傾向が有ります。この場合には容量の上限からメモリベースの装置は不利となりHDD ベースの装置が使用されます。トータルスループットが足りない場合には(冗長性確保の面からも)サーバを複数立ち上げ、負荷分散を行うシステム構成が取られています。
メモリディスクとHDD はその特質にあった使い方をする事で、お互いを補完しあうべきです。 とは言え、メ
モリディスクに比べ非常に低速なHDD 装置ではバランスが取れません。
特に帯域上限近くでの大量データを扱う場合にはシーケンシャルI/O となるため、HDD でも実現が可能です。弊社ではその実現性を探るため、いくつかの実験を行いました。実験の詳細については、下記リンクよりご覧ください。
500MB/s クラス構成 600MB/s クラス構成 1000MB/s クラス構成
システム構築の際にはSSD とHDD を適材適所で使い分ける必要があります。
単純に「速そうだから」とメモリを選択する事も常に正解とは言えません。PCI-Express x8 は片道2GB/s の帯域を持っていますが、メモリによるPCI-Express 直結のディスク装置はまだその帯域まで届いておらず、逆にHDD でもスループット的には同等になっています。
ランダムI/Oの場合はメモリ、シーケンシャルI/Oで大量記録の場合はHDDとの使い分けが 現実の解となり得ます。シーケンシャルI/O かつ大量記録で応答も速くとの要求にはSATA に代えてSAS HDD を使用することで折り合いをつける事も考えられます。
またデータアクセスのパターンによっては、メモリとHDD 両方を使い、ランダムアクセス部分をメモリでこなし、背後で大容量のHDD がアーカイブする構成も考えられます。
適用しようとするシステムとデータアクセスの性格を正しく評価し、最適なデバイスを選択する必要があります。【関連リンク】
・【資料】デジタルHD映像に必要なデータ量とは
・【導入事例】超高精細4Kデジタル画像のデータ移動時間をゼロにする高速SANファイル共有