デザインツール
ストレージ

Aerospikeを使用する実際のワークロードにおけるFDPのメリット

ジョン・マジー | 2024年3月

Flexible Data Placement(FDP)は、GoogleとMetaが提案した、NVMe™仕様1の一機能です。この機能の目的は、複数のアプリケーションが同じNVMe SSDにデータを書き込み、修正する際に、書き込み増幅(WA)を低減することです。両社にとってのWAの低減によるメリットには、(オーバープロビジョニングの必要性が低くなることによる)使用可能容量の増加や、(摩耗の低減による)デバイスの長寿命化などがあります。

マイクロンは、FDPがどの程度役立つかを判断するための実験を提案しました。このテストでは、7.68TBのMicron® 7450 PRO SSDを4つのネームスペースに均等に(1.92TB)分割し、Aerospike NoSQLデータベースの並列インスタンスを実行しました。AerospikeはSSDを使用するために高度に最適化し、デバイスへのシーケンシャルな書き込みのみ行います。これにより、1つのインスタンスの書き込み増幅率(WAF)は非常に低くなりますが、同じ物理デバイスで複数のインスタンスを実行すると、トランザクションが混在し、ワークロードにランダム性が生じます。

各Aerospikeインスタンスは、さまざまな顧客が仮想環境でスペースを共有している状況をシミュレートするために、さまざまなブロックサイズ(32KB、64KB、128KB、256KB)で書き込みを行うように設定しました。また、1.92TBずつ、4つに分割したMicron 7450 PRO SSDで個別にこれらのワークロードを実行します。FDPの最適な導入を想定して、すべてのアプリケーションデータが専用のNAND領域を受け取り、図1のようにデバイスでデータがインターリーブされないようにします。

図1:FDPを使用しないデータ形式(インターリーブ)

図2:FDPを使用したデータ形式(インターリーブ)

 

Aerospikeの最適化で私たちが予想したのは、アプリケーションの1つのインスタンスを専用のストレージデバイスで実行すると、WAFが1に近くなることでした。これは、ドライブが複数回埋まるまでYCSBワークロードA(読み取り50%/更新50%)を実行することで確認されました。理想的なシナリオでは、大型デバイス上の4つのネームスペースは、4つの単一デバイスと同じように動作します。このシナリオの形式を図2に示します。

FDPを使用せず、7.68TBのデバイスで複数のワークロードを実行すると、そのドライブはネームスペースごとにNANDを分けていないため、実行中のインスタンスのコンテキストでどのAerospikeデータを同じグループにしたらよいかを判断する方法がありません。図1に示すように、インターリーブとは、個々のワークロードがシーケンシャルでも、ドライブの観点ではワークロードが事実上、よりランダムになるということです。このランダム性の増加により、図3で示すように、単独の専用デバイスの1つのインスタンスでは1.08だったWAが、FDPを使用しないデバイスに配置された4つのインスタンスでは1.84に増加します。

図3:Aerospikeの書き込み増幅 – FDPを使用した場合と使用しなかった場合の比較

 

これは基本的な実験ですが、今後のデバイスにFDPを導入する場合の潜在的なメリットを示しています。また、できる限りシーケンシャルに書き込みを行うように設計された一部のアプリケーションが、同じドライブリソースで競う場合のFDPのメリットも示しています。

1 クリス・サボル氏(Google)とロス・ステンフォート氏(Meta)がNVM Expressに対するプレゼンテーションで紹介したその他の詳細については、https://nvmexpress.org/wp-content/uploads/Hyperscale-Innovation-Flexible-Data-Placement-Mode-FDP.pdf参照。

MTSシステムパフォーマンスエンジニア

John Mazzie

ジョンは、テキサス州オースティンを拠点とするデータセンターワークロードエンジニアリンググループのテクニカルスタッフの一員です。2008年にウェストバージニア大学で電気工学の修士号(MSEE)を取得しました。専攻は無線通信です。Dellでは、ストレージMD3シリーズのストレージアレイの開発とサステナビリティの両側面を担当していました。2016年にマイクロンに入社し、Cassandra、MongoDB、Cephなどの先進的なストレージワークロードに取り組んできました。