今年初め、Supermicro SuperServer 1029U-TN10RTプラットフォームのレビューで、Intel Optane DC パーシステント メモリのデータを掲載しました。Supermicroは、Intel パーシステント メモリのサポートをいち早く導入した企業の 1 つです。このデュアル プロセッサ 2U システムは、パーシステント メモリのテスト ベッドとして優れた性能を発揮してきました。Optane DC パーシステント メモリの速度を従来のブロック ストレージ方式で確認することは有益ですが、パーシステント メモリの真の価値は、この新しいメディアをネイティブに活用し、アプリケーションのニーズに応じてデータを DRAM、パーシステント メモリ、またはオンボード ストレージにインテリジェントに配置するアプリケーションによって明らかになります。Optane DC パーシステント メモリのパフォーマンス プロファイルをより深く理解するために、Supermicro サーバーを主要な NoSQL プラットフォームである Aerospike を使用してテストしました。

Supermicro サーバーのインテル Optane DC 永続メモリ モジュール
エアロスパイクとは?
Aerospike は、運用データを含む要求の厳しい読み取り/書き込みワークロードに対応する、分散型で拡張性の高い非リレーショナル データベース管理システムを提供します。数十から数百 TB のデータベース内の数十億のレコードにまたがるデータ セットにアクセスする際に、非常に高速で予測可能な応答時間を実現するように設計されています。 Aerospike は、詐欺防止、デジタル決済、推奨エンジン、リアルタイム入札などを含む、さまざまな戦略的アプリケーションを強化します。 Aerospike の顧客には、Adobe、Airtel、FlipKart、Kayak、Nielsen、PayPal、Wayfair などの大手企業が含まれます。
ユース ケースとデータ セットに応じて、Aerospike は、ユース ケースに合わせてシステム リソースを最適化するさまざまな構成で導入できます。 Aerospike は、メモリ内のデータを使用して起動することも、SSD 上のデータを使用してメモリ内のインデックスを作成することも、SSD 上のデータを使用して SSD のインデックスを作成することもできます。最近、Aerospike は、AppDirect モードで Intel の Optane DC 永続メモリを利用する新しい構成をリリースしました。インデックスは、SSD 上のデータとともに PMEM に保存されます。この新しいモードは、SSD 上のデータを使用してメモリ内のインデックスに非常に近いパフォーマンスを維持しながら、Aerospike の容量を拡張します。この新しいモードでは、ミリ秒未満のレイテンシが提供されるだけでなく、プライマリ インデックスの再構築なしで Aerospike の高速完全再起動も可能です。
さまざまな Aerospike 構成にさまざまなタイプのワークロードを適用することで、SuperMicro SuperServer で Intel Optane DC 永続メモリを利用することによるメリットとパフォーマンスを評価できます。 SSD 構成上のメモリ/データのインデックスと SSD 上の PMEM/データのインデックスに対してベンチマークを実行して比較すると、永続メモリと DRAM の使用について情報に基づいた選択を行うための情報が得られます。永続メモリのパフォーマンスに関する追加の洞察を提供できる追加の構成が 1 つあります。 PMEM のインデックスと PMEM のデータ機能はリリースされていませんが、サーバー上の PMEM を構成して PMEM のインデックスを使用して実行し、ブロック デバイスとして構成された PMEM の一部を実行する方法があります。 PMEM のインデックスと PMEM のデータのパフォーマンスの可能性。
Aerospike NoSQL 構成
50 つの異なるワークロードが 50 つの異なる構成のそれぞれに適用されました。 Aerospike Java ベンチマークは、4 台のクライアント サーバーから XNUMX/XNUMX の読み取り/書き込みワークロード、読み取り専用ワークロード、および書き込み専用ワークロードを生成しました。各テストは複数のフェーズで構成されています。
- 取り込みフェーズ – データをデータベースにロードします。
- ウォームアップ フェーズ – 書き込み負荷を 2 時間実行して、データベースの定常状態を作成します。
- テスト フェーズ – テスト用の実際のワークロードを 1 時間実行します。
テストを実行する前に、データに適切なキー セットとオブジェクト サイズが選択されました。 Aerospike には、数バイトから 440 万バイトまで幅広いオブジェクト サイズがありますが、キー セットとオブジェクト サイズは、サーバー ハードウェアを動作させ、PMEM 構成のパフォーマンスを実証するために選択されました。オブジェクトのサイズが大きくなると、ネットワークのボトルネックが発生し、Optane DC 永続メモリの能力が十分に発揮されなくなる可能性があります。したがって、すべてのテストで XNUMX バイトのオブジェクト サイズが使用されました。
キー セットのサイズは、SSD 構成のメモリ/データのインデックスに使用されるメモリの量によって制限されました。メモリ構成のインデックスは、4 億オブジェクトのデータ セットに制限されていました。 PMEM のインデックスは 15.5 億キーの容量を処理できますが、メモリ テストのインデックスとより適切に比較するには、4 億キーのみが使用されました。最終的なテスト セットは、PMEM のインデックスと PMEM のデータを使用して実行されました。サーバーには合計 1.5 TB の PMEM が搭載されていたため、これらのテストには XNUMX 億個のキーのみが使用されました。
ハードウェア構成
ハードウェア構成には 2 つの主要なコンポーネントが含まれています。単一のデータベース サーバーには、Intel Optane PC 永続メモリが収容されています。 4 つのクライアント サーバーは、データベース サーバーに対する負荷を生成します。
データベースサーバー
- シャーシ – SuperMicro Ultra 1U SYS-1029U-TN10RT
- CPU
- 2 x Intel Xeon スケーラブル 8268 (2.9GHz、24C)
- 2 x Intel Xeon スケーラブル 8280 (2.7GHz、28C)
- ストレージ – 10 x Intel DC P4510 2TB NVMe SSD、1DWPD
- DRAM – 12 x 32GB DDR4-2933
- 永続メモリ – 12 x 128GB DDR4-2666 Intel Optane DC PMM
- ネットワーク – 100 GbE
- OS – Fedora 29
クライアントサーバー
- シャーシ – Dell R740xd
- CPU – 2 x Intel Xeon スケーラブル 6130
- DRAM – 256GB
- ネットワーク – 2 x 25 GbE
- OS – Ubuntu – 18.04
- ソフトウェア – Aerospike Enterprise 4.5.1
- ロード ジェネレーター – Aerospike Java ベンチマーク (Aerospike Java クライアント 4.4.0)
エアロスパイクのパフォーマンス結果
前述のとおり、さまざまなワークロード構成とインデックスおよびデータベースの場所でテストを実行しました。さらに、第2世代Intel Xeon Scalable CPUの2つの異なるセットを使用しました。データベースサーバーでは、8268と8280の両方を実行しました。8280 CPUは、Optane DCパーシステントメモリをサポートするIntel CPUの中で最高グレードです。クロック速度に関しては、8280は8268よりも12GHz高く、パフォーマンスが8.6%向上しています。以下の表には記載されていませんが、サービス品質の観点から、テストのレイテンシ結果はすべてサーバーで100%サブミリ秒以下であったことに留意してください。
メモリ内のインデックス、NVMe SSD 上のデータ
| アクティビティXNUMX | スループット操作 インテル8268 |
スループット操作 インテル8280 |
|---|---|---|
| 読み取り/書き込み 50/50 | 2,100,000 | 2,298,000 |
| 100%読む | 2,240,000 | 2,720,000 |
| 100%書き込み | 1,760,000 | 2,020,000 |
8280 が 8.6 と比較して生のクロック速度が 8268% 向上していることはわかっていますが、それがアプリケーションの改善にどのように変換されるかを確認することが中心的な目的です。 Aerospike では、インデックスがメモリ内にあり、データが NVMe SSD 上にあるため、次の項目の変更が見られました。読み取り/書き込み混合の 50/50 パフォーマンスは 9.4% 向上し、100% 読み取りでは 21.4% 向上し、100% 書き込みではパフォーマンスが 14.8% 向上しました。
Optane DC 永続メモリのインデックス、NVMe SSD のデータ
| アクティビティXNUMX | スループット操作 インテル8268 |
スループット操作 インテル8280 |
|---|---|---|
| 読み取り/書き込み 50/50 | 2,000,000 | 2,252,000 |
| 100%読む | 2,200,000 | 2,630,000 |
| 100%書き込み | 1,740,000 | 1,980,000 |
このデータからわかるように、インデックスを DRAM から永続メモリに移動しても、トランザクション パフォーマンスにはほとんど影響がありません。ただし、本番環境では、これが意味するのは、Aerospike はインデックスに DRAM の代わりに永続メモリを使用できるため、再構築のために大規模な DRAM プールを SSD に移動する必要がないため、データベース ノードの再起動後の復元がはるかに高速になるということです。テスト対象の 128GB Optane DC 永続メモリ モジュールは 128GB DIMM よりも大幅に安価であるため、高密度ボックスのコストも削減されます。
Optane DC 永続メモリのインデックスとデータ
| アクティビティXNUMX | スループット操作 インテル8268 |
スループット操作 インテル8280 |
|---|---|---|
| 読み取り/書き込み 50/50 | 2,600,000 | 2,866,000 |
| 100%読む | 2,810,000 | 3,100,000 |
| 100%書き込み | 2,120,000 | 2,210,000 |
前述したように、Aerospike は、Intel Optane DC 永続メモリ上でインデックスとデータベースの両方を実行する機能の一般提供を発表しましたが、まだ提供していません。とはいえ、それを可能にする現在のコード ビルドのデモを行ったところ、混合ワークロードにおいて 33 秒あたり約 600,000%、つまり XNUMX オペレーションが増加したことがわかりました。
結論
Intel Optane DC 永続メモリは、データ階層の非常に強力な部分です。 RAM とストレージの間にスロットを配置する Intel の永続メモリは、ついにテクノロジーの主流をもたらします。しかし、新しいストレージ テクノロジにアクセスできるだけでは十分ではありません。永続メモリをネイティブに活用できるアプリケーションは、大きな競争上の優位性を持つことになります。 Aerospike の柔軟性は、Optane DC 永続メモリのアプリ ダイレクト モード サポート (ブロック ストレージ) を最初から備えていたことを示しています。さらに、インデックスとデータの両方を永続メモリ モジュールに保持するという点では、NoSQL の世界のリーダーです。後者はまだ新たなビジョンですが、初期の結果は非常に有望に見えます。




Amazon