カットスルーアーキテクチャによる圧倒的なパフォーマンス
Fusion-ioは、なぜこれほどまで急激に多くのユーザに採用されているのか。
その背景には、サーバーのCPUの性能は大きく向上していて、メモリも大容量化している。これに対し、ストレージは容量が増えてはいるけれど速度が追いついていない現状がある。結果的に、アプリケーションの性能を向上させようとすると、ストレージのスピンドル数を増やす、メモリを増やす、アプリケーションそのものにチューニングを施すという方法をとることになる。これらの対策を実施するには、コストも工数もかかってしまう。そして、これらの方法で性能向上させようとすると「問題はよくなるどころか、複雑化してしまいます」と大浦氏は指摘する。
この課題解決のために、SSDを用いる方法がある。たしかにHDDをSSDに置き換えれば、性能は向上する。しかし、大浦氏によれば、HDDよりは速くても、SSDはミリ秒の世界のソリューションとのこと。CPUの近くにあるメモリはナノ秒の世界。ミリ秒とナノ秒の間には大きな隔たりがある。Fusion-ioはこの隔たりの間に、新しいメモリ階層を作ったものだと大浦氏は説明する。「Fusion-ioはマイクロ秒の世界を実現しました。これで、HDDのミリ秒に対して3桁の性能改善につながります」(大浦氏)
HDD型のSSDと比較すると、Fusion-ioではとくに書き込みのパフォーマンスが向上する。「現状のSSDは書き込みが遅いというのが課題です。書き込み処理が入るとなかなか性能が出ない。Fusion-ioは、読み込みも書き込みも性能が出るというのが特長です」(大浦氏)
この性能向上をもたらしているのは、ハードウェア技術だと思われがちだ。しかしそうではないという。
「Virtual Storage Layerという、デバイスドライバなどのミドルウェア部分が肝です。SSDの場合は、通常はRAIDコントローラ経由でフラッシュメモリにアクセスする。これだとRAIDコントローラ、SSDのコントローラという形で多くのステップを経ることになります。これに対しFusion-ioでは、CPU自体が、Virtual Storage Layer経由で直接フラッシュメモリを読み書きする。Virtual Storage Layerは、新しいフラッシュメモリ用のOSを作っているようなものなのです」(大浦氏)
そして、これこそがSSDとの大きな差になっているのだ。
フラッシュメモリについては、エンタープライズ用途で利用する際には、寿命を気にすることも多い。これについても、さまざまな特許技術で信頼性の確保を行っているという。SSDで持っているような信頼性技術に加え、SANストレージ同等の信頼性技術がカードの中に詰め込まれている。また、640ギガバイトのストレージ容量に対して、実際は800ギガバイトぶんのフラッシュメモリを搭載している。つまり、160ギガバイトぶんの領域を予備として保持しており、これを信頼性確保やパフォーマンス向上に利用しているとのこと。
このFusion-ioとMicrosoft SQL Serverとを組み合わせることで、大きな性能向上が図られることも紹介された。とくに、SQL Server 2012で新たに実装されたAlways Onを加速する。
「超高速なレプリケーション、フェイルオーバーが実現されます。また、tempdbをFusion-ioを搭載したローカルサーバーの上に置いて、NASやSANのストレージと組み合わせた構成も、データベースの処理を効率的に高速化することに寄与します」(大浦氏)
また、Fusion-ioは、ストレージとしてだけでなく、従来ストレージ用のキャッシュとしても利用できる。なので、アプリケーションの状況に応じ最適な方法で、フラッシュメモリの性能を最大限に利用できるのだ。
「サーバーの性能を大きく向上させることは、結果的にハードウェアコストを大きく削減することにつながります」と大浦氏は言い、SSDにはない、Fusion-ioならではのさまざまなメリットを示した。