Weka™を使用してネットワーク化したファイルシステムで数百万IOPSを実現
最新のNVMeドライブの性能をデータセンター全体で共有するにはどうすればよいのでしょうか? この疑問に対する答えはさまざまで、多くの企業がエキサイティングなソリューションを提供しています。
使用するアプリケーションのニーズによって適切なソリューションは異なります。サーバーやアプリケーション間でデータを共有する最も簡単な方法は、リモートファイルシステムにデータを読み込むことです。NFSやWindows SMBのようなファイルベースのソリューションは、その使いやすさからどこにでもありますが、特に高性能であるというわけではありません。リモートファイルシステムストレージと超高性能が必要な場合はどうでしょうか? 人工知能のトレーニングや推論など、多くの高価値のファイルシステムベースのワークロードは、高性能ファイルストレージから恩恵を受けることができます。そこでWeka™の登場です。
先日マイクロンのソリューションエンジニアリングラボの私のチームは、Wekaを活用し、マイクロンのメインストリームであるMicron 7300 PROとNVMe SSDのプールを共有する実証試験を完了しました。その結果、ファイルシステムから数百万IOPSという、エキサイティングな検討すべき結果が得られました。
テスト構成
Wekaは、WekaFSと呼ばれる高性能な並列可能な共有ファイルシステムを構築しました。Wekaによると、実稼働環境では最低8ノードで実装するのが一般的ですが、ノードの再構築に仮想的な予備容量を必要としない場合は、6ノードでも運用可能だといいます。
私たちのテストでは、データ保護のために4 + 2(データ + パリティ)イレイジャーコーディング構成で6ノード使用しました。Wekaは、N + 2とN + 4イレイジャーコーディング構成をサポートし、2つまたは4つのデータ保護ノードをサポートしています。データ重視のノードの数が増えるにつれて、次の2つのことが起こります。書き込みパフォーマンスが向上し、データ露出の確率が低下します。(詳細はWekaデータ保護ホワイトペーパーを参照してください)。
テストで使用する構成は以下のとおりです(図1)。
- 6台のDell™ R740xd 2Uと2台のIntel 6142プロセッサー(16コア2.60GHz)
- 1台の100 GbE Mellanox™ ConnectX™-サーバーあたり5 NIC
- サーバーあたり6台の7300 PRO 7.68TB SSD(合計36ドライブ)
- 9台のFIOロードジェネレーターと各台に100 GbE NIC
- Cumulus™ Linux™ 100 GbEスイッチ(ジャンボフレーム対応)
- WekaFSバージョン3.6.1
- CentOS™ 7.6.1810(カーネル3.10.0-957.el7.x86_64)
このテストでは、その大容量と魅力的なパフォーマンスにより、Micron 7300 PRO 7.68TB SSDを使用しています(表1)。
Wekaのインストールと構成は簡単で、私たちはこのシステムを迅速に設定することができました。インストール中にヘルプが必要な場合も、Wekaの素晴らしいサポートチームが対応してくれます。
モデル | 容量 | 4KBのランダム読み取りIOPS | 4KBのランダム書き込みIOPS | 4KBのランダム70/30(IOPS) | 128KBシーケンシャル読み取り | 128KBシーケンシャル書き込み |
---|---|---|---|---|---|---|
Micron 7300 PRO | 7.68TB | 520KB | 85KB | 190KB | 3.0GB/秒 | 1.8GB/秒 |
テスト方法
Micron 7300 PRO SSDを使用したWekaソリューションのパフォーマンスを評価するため、従来の「4コーナー」テスト戦略を実施しました。その際に100%読み取り、100%書き込み、70%読み取り/30%書き込みの小さなブロックの混合ワークロードを提供し、1秒あたりのオペレーションをテストし、100%読み取りおよび書き込みの大きなブロックのワークロードを提供し、スループットをテストしました。
9つのクライアントノード(各ノードが8つのfioジョブを実行)を使用し、クライアント別に共有ファイルシステム上の個別ファイルフォルダをターゲットとしてすべてのテストを実施しました。それぞれのワークロードについて、最大のパフォーマンスレベルを決定するまでキュー深度(QD)を増加させました。19のCPUコアを使用するようWekaを構成し、そのうち6のコアを各Wekaデータノードの6台のデータドライブへのI/O管理専用としました。
パフォーマンスの結果
最初の3つのテストは、1秒あたりの入出力操作毎秒(IOPS)で測定される4KBブロックサイズに焦点を当てています。また、マイクロ秒(µs)単位で測定した平均レイテンシーも表示しています。
100%4KBランダム読み取りを実施した場合、キュー深度が増加するにつれて、一貫したパフォーマンスの向上が見られました。QD32では、460万IOPSを超える最大パフォーマンスが達成された一方で、平均レイテンシーはQD16に比べて63%増加し、487µsに達しました(図2)。
100%4KBのランダム書き込みを実施した場合、QD1からQD4に移行するにつれて、約626,000IOPSでパフォーマンスが急速に向上することがわかりました。より高いキュー深度に移動すると、IOPSの能力は大幅に低下し、最大696,000IOPSに達しますが、レイテンシーはQD8の830µsからQD16の1.6ミリ秒に増加します(図3)。
私たちの経験上、このようなレベルのパフォーマンスでリモートファイルシステムへの4KBランダム書き込みが1ミリ秒未満のレイテンシーを達成したことは素晴らしい成果であることがわかります。書き込みパフォーマンスは、実装されたデータノード数に大きく影響されることに注意する必要があります。より多くのノードを使用することで、全体的な書き込みパフォーマンスが向上します。
最後に、IOPSパフォーマンスについて、4KBの70%読み取り/30%書き込みのワークロードを使用してテストを実施しました。I/Oパフォーマンスは、160万IOPSを超えてピークに達し、QD16でのレイテンシーは読み取りで467μs、書き込みで3.6ミリ秒でした(図4)。
次の一連のテストでは、128KBの大きなブロックのシーケンシャルワークロードに焦点を当てます。大きなブロックのI/Oテストは、ビデオストリーミング、データベース意思決定支援システム、ビッグデータアナリティクスワークロードなどのユースケースのシミュレートを試みます。この種のワークロードテストでは、データスループットのデータレートをギガバイト/秒(GB/s)で測定します。
まず、128KBのシーケンシャル100%読み取りを、さまざまなキュー深度でテストしました。QD16で最大パフォーマンスに達し、平均レイテンシー2.3ミリ秒で62GB/秒を記録しました(図5)。
128KBの100%シーケンシャル書き込み作業負荷もQD16で最大スループットに達しました。しかし、128KBのシーケンシャル読み取りワークロードと同様に、QD16の書き込みパフォーマンスはQD8に比べてレイテンシーが増加し、この場合は約86%増加しました(図6)。
まとめ
今回実施したテストは、Wekaを使用することで素晴らしいパフォーマンスが達成できる可能性を示しています。Micron 7300のようなMicron NVMe SSDは、管理しやすいファイルシステムソリューションにおいて高レベルのパフォーマンスを達成できます。データ保護も提供するSoftware Definedソリューションから数百万IOPSとGB/秒のスループットを生み出すWekaは、高性能ファイルストレージの限界を押し広げています。
マイクロンのNVMe対応7300 SSDは、SATAソリューションにおいて一般的なコストプロファイルと消費電力量に関してNVMeに期待される優れたパフォーマンスを可能にします。これらの要因により、7300は、Wekaが提供するファイルベースのストレージインフラストラクチャのような、幅広い実装シナリオに最適なドライブとなっています。
詳しい情報
Wekaの分散ファイルシステムの詳細については、WekaFSのデータシートをダウンロードしてください。
Micron 7300のようなMicron NVMe SSDの詳細については、micron.comのデータセンターのSSDページをご覧ください。
また、Wekaが提供するようなデータセンターソリューションでのSSDの使用に関する今後の議論については、Twitterでマイクロンをフォローし、LinkedInで私たちとつながることで、最新情報を入手することができます。