分析ストレージのスタートアップ企業 WekaIO は、パフォーマンスの大幅な向上とレイテンシの低減を実現するファイル システム技術の進歩に取り組む技術者集団に加わりました。
同社は、史上最高のパフォーマンスと最低のレイテンシのファイルシステムを開発したと主張しているが、これはかなり大胆な発言である。しかし、この技術分野は急速に発展しているため、ほとんど驚くようなことではない。
WekaIOについては、以前もこちらやこちらで触れたことがありました。そして今、ステルス状態から脱却しました。
このソフトウェアは、専用ストレージサーバー、ハイパーコンバージドクラスター、またはパブリッククラウドで実行できます。アプリケーションレベルの4K IOレイテンシはオールフラッシュストレージアレイよりも低く、クラスターサイズの拡大に伴ってIOPSが線形に増加するとされています。
WekaIO は、MatrixFS 分散型並列ファイルシステムをベースとした同社のソフトウェアが、大小さまざまなファイルの読み取りと書き込み、ランダム、シーケンシャル、メタデータを多用する作業負荷など、あらゆる作業負荷に対して高いパフォーマンスを実現すると主張しています。
そのテクノロジーについて説明したホワイトペーパーと、簡単なビデオ紹介があります。
YouTubeビデオ
ビデオメッセージ
まず、従来のストレージ アーキテクチャの制限に関する見解を説明します。
動画では、WekaIOのソフトウェアが、数十台、数百台、あるいは数千台のサーバーで構成される顧客のサーバークラスタ内のサーバーで動作していることが分かります。WekaIOは、カーネル空間ではなくLinuxユーザー空間で独自のRTOS(リアルタイムオペレーティングシステム)を動作させ、独自のスケジューリングおよびネットワークスタックを実行します。ネットワークスタックは、PCIe仮想化を介してサーバーのネットワークインターフェースカード(NIC)と直接通信します。
WekaIOのソフトウェアは、サーバーのSSDと直接通信します。独自のメモリ管理機能を備えており、Linuxカーネルに依存せずに非常に低いレイテンシを実現します。
アプリケーションがファイルサービスを必要とする場合、システムコールを使用してLinuxドライバ(この場合はWekaIO独自のVFSドライバ)と通信します。これはPOSIX準拠、分散型、並列型、そして一貫性を備えています。
ドライバは、非常に効率的と言われているロックレスキューを介してWekaIOのクラスタ対応フロントエンドモジュールに接続します。そして、ネットワークコンポーネントを介して適切なバックエンドと通信します。
バックエンドモジュールは、クラウドまたはオンプレミスのオブジェクトストレージに対して、データ配置、データ保護、メタデータサービス、そして階層化(定義済みの場合)を提供します。ユーザーは必要な数のバックエンドを持つことができ、より多くのバックエンド(つまり、より多くのサーバー)をインストールすることで、より高いパフォーマンスを実現できます。
バックエンドはネットワーク層を介してSSDエージェントと通信します。SSDエージェントは独自のカーネルバイパスIOスタックを備えており、SSDへの低レイテンシアクセスを実現します。つまり、SSDは基本的にネットワーク接続コンポーネントです。4K IOには150マイクロ秒かかります。
Linuxで動作しないアプリケーション向けに、WekaIOはUnix、Solaris、AIXなどのサーバー上のアプリケーション向けにNFSインターフェース、Windowsシステム向けにSMBインターフェースを備えています。Hadoopアプリケーション向けにはネイティブHDFSサポートも提供しています。
WekaIO は、オブジェクト ストレージへの階層化のための S3 アクセスもサポートしています。
MatrixFS データ サービスには、ローカル スナップショットとクラウドへのリモート スナップショット、クローン作成、自動クラウド階層化、動的クラスター再バランス調整が含まれると言われています。
より詳細なソフトウェア アーキテクチャ図を以下に示します。
ソフトウェア コンポーネントは次のとおりです。
- ファイルサービス(フロントエンド) - マルチプロトコル接続を管理します。
- ファイルシステムクラスタリング(バックエンド) - データ分散、データ保護、ファイルシステムを管理します。
- SSDアクセスエージェント – SSDを効率的なネットワークデバイスに変換します。
- 管理ノード – イベント、CLI、統計、コールホームを管理します。
- オブジェクト コネクタ - オブジェクト ストアの読み取りと書き込みを行います。
WekaIO は、カーネルをバイパスすることで、Matrix の I/O ソフトウェア スタックはより高速になり、レイテンシも低くなるだけでなく、さまざまなベアメタル、VM、コンテナ化、クラウド インスタンス環境間で移植可能になると主張しています。
同社によると、同社のソフトウェアは効率性が高く、リソース使用量は通常約5%と小さく、残りの95%をアプリケーション処理に使用できるという。わずか1つのサーバーコアと少量のRAMといった、割り当てられたリソースのみを使用する。
データの局所性は無関係
WekaIO のホワイトペーパーには次のように書かれています。
Matrixではデータの局所性が意識されないため、パフォーマンスと耐障害性が向上します。しかし、一般的に考えられていることとは異なり、データの局所性はデータのホットスポットやシステムのスケーラビリティの問題を引き起こし、パフォーマンスと信頼性の低下につながります。MatrixFSはSSDレイヤー上のデータ配置を直接管理することで、データをシャーディングし、ユーザーが設定可能なストライプサイズに基づいて最適な配置に分散させることができます。
シャーディングされたデータは、基盤となるフラッシュメモリで使用されるブロックサイズと完全に一致するため、パフォーマンスが向上し、SSDの寿命が延びます。ストライプサイズは4から16までの任意の値に設定でき、システムパフォーマンスに影響を与えることなくいつでも変更できます。
WekaIO が注目している市場分野はどれですか?
- 電子設計自動化(EDA)、
- ライフサイエンス、
- 機械学習、人工知能、
- Web 2.0、オンラインコンテンツ、クラウドサービス、
- あらゆるアプリケーションをパブリッククラウドまたはプライベートクラウドに移植し、
- メディアとエンターテイメント(レンダリング、アフターエフェクト、色補正)、
- 金融取引とリスク管理、
- 一般的なハイパフォーマンス コンピューティング (HPC)。
パフォーマンス
Weka には、SPEC SFS 2014 ソフトウェア ビルド ベンチマークなど、パフォーマンスに関するリファレンスがいくつかあります。
自動運転車プロジェクトで使用した場合、単一のGPUサーバーをサポートするFlashBladeシステムはメタデータの「検索」実行に6.5時間を要しました。WekaIOシステムでは2時間でした。
ls
同社によれば、100万ファイルディレクトリのメタデータコマンドは、FlashBlade では55秒、WekaIO では10秒かかったという。
ドリームワークス・アニメーションは、レンダリングとシミュレーションのワークロード向けに、バーストバッファ型の一時ストレージとしてWekaIOソフトウェアを使用しています。通常、バーストバッファアプリケーションには追加のハードウェアが必要ですが、同社ではそうではないと主張しています。
ちなみに、NVMe over fabrics のスタートアップ企業 Excelero も、自社のストレージ ソフトウェアがバースト バッファーとして使用されていることを確認しています。
+Regコメント
これは、技術面でも、そして当然ながらマーケティング面でも、多大な熱意が込められた本格的なストレージ ソフトウェアです。
ストレージデータアクセスのレイテンシを大幅に削減し、ストレージ帯域幅を大幅に向上させると謳うサプライヤーは数多く存在しますが、WekaIOもその一つです。WekaIOのホワイトペーパー(登録が必要です)は、じっくりと読む価値があります。®