計算可能なストレージ:透過的な圧縮、データベースIOモデル、SSDの寿命

出典:パブリックアカウントScaleFlux

将来のスピード

アンディが与えるもの、ビルは奪う。 

Intelがより強力なコンピューティングパワーを提供するたびに、Microsoftは何もできません。

1990年に誕生したAndyand Bill'Lawは今でも効果的であり、データ量の急激な増加に伴い、データの保存と処理の分野でますます激しくなっています。「今後10年間で、会社の変更は過去50年間の変更の合計を超えるでしょう。」これはBillGatesの1999年の本「FutureSpeed」のテキストです。すべての重要な変更を1つずつリストすることは困難ですが、ストレージフィールドでもこの予測に従います。たとえば、最近言及されたHuaweiの天才少年、Zhang Jiはディスクとデータベースに関連するインテリジェントな最適化を研究し、Yao Tingは新しいストレージメディアとキーバリューストレージシステムを研究し、ZuoPengfeiは不揮発性メモリシステムを研究しています。これらはすべてストレージ分野に直接関係しています。この関係は、ストレージフィールドの変更がまだ行われていることを示しているようです。

より効率的な生産性は、元の生産性と生産関係を置き換えることになります。メインフレームとミニコンピューターのパーティショニングテクノロジーからx86仮想化、そして現在流行しているコンテナーとコンテナーオーケストレーションテクノロジーまで、アプリケーションの展開密度を高め、コンピューティングリソースの使用率を高め、最終的に所有コストを削減するためにあらゆる努力が払われています。ストレージフィールドも例外ではありません。Flashの歴史を見てみましょう。

SSDは、主要なエンタープライズアプリケーションに大規模に着陸し、展開し続けています。MLC、TLC、QLCに至るまで、容量は徐々に増加し、コストは徐々に減少していますが、SSDテクノロジーの実現原理に基づいて、寿命の問題はますます顕著になっています。

増幅と人生を書く

SSDは、メモリやメカニカルハードドライブなどの古いデータを直接上書きすることはできません。SSDは、ブロックを消去して「クリーンな」ページの1つを書き込むことしかできません。SSDの残りのスペースが少なくなり、大量のデータフラグメントが表示された場合、ブロックデータ全体を読み取る必要があり、有効なデータが消去されたブロックに書き換えられます。このプロセスはガベージコレクション(GC)と呼ばれ、書き込み増幅につながります。実際、書き込み増幅を測定するためのより定量的な指標があります。これは、書き込み増幅係数(略してWAF)と呼ばれます。JEDEC(Solid State Technology Association、SSD標準を立ち上げた組織)は、書き込み増幅係数WAFを定義します。


写真は、JEDECでのWAFの計算方法の例を示しています。このブロックには64ページ(256セクター)が含まれています。Pag​​e1〜Page3(8セクター)のデータを更新する必要があるとすると、アルゴリズムは次のようになります。

  1. すべてのpage0〜page63をDRAMにコピーします。

  2. DRAMのPage1〜Page3を更新します。

  3. このブロックを消去し、DRAMデータを書き戻します。

????このとき、書き込み増幅率は256/8 = 32であり、書き込み増幅により書き込み量が32倍になり、消去と書き込みが増加します。

ご存知のように、フラッシュメモリパーティクルには消去と書き込みの数に制限があるため、SSDの寿命を測定する場合、通常、TBW(またはDWPD)が測定の基礎として使用されます。書き込み増幅により、フラッシュメモリ粒子の消去時間と書き込み時間が「拡大」し、寿命がさらに短くなります。計算式は次のとおりです。

同時に、書き込み量が増えると、不良ブロックの可能性が高くなります。信頼性のために、より重要な測定指標はUBER(Unrepairable Error Bit Rate)です。これは、エラー修正メカニズムが適用された後もまだ生成されている読み取りの総数に対する、読み取られたビットあたりのデータエラーの数の比率を測定するために使用されます。

UBERは、データ読み取りエラーの確率を表します。値が小さいほど良いです。次の図は、UBERと書き込まれたデータの量との間の線形関係を示しています。

  • 0〜600、UBERは常に0です

  • 600〜800。このとき、書き込み量が増え続けるため、不良ブロックが少なくなり、UBERが0から0.003までゆっくりと増加します。

  • 800〜1000の場合、より多くの粒子の障害と、粒子の消去と書き込みへの書き込み増幅の重ね合わせにより、残りのNAND粒子が不良ブロックを形成する可能性が高くなり、書き込み量がわずかに増加し、UBERも急激に増加します。このとき、データ読み取りエラー率急増。

何かがあればそれは彼に追加されます;そうでなければ彼が持っていたものさえも奪われます。

つまり、エンタープライズクリティカルなビジネスを頻繁に行うSSDの場合、書き込みの量だけでなく、信頼性を考慮します。消去と書き込みの数が増えると、発生する読み取りエラーもエンタープライズレベルのアプリケーションでは受け入れられなくなります。データベースフィールドのように、TBWとUBERを別々に議論するべきではありません。リカバリ時間目標(RTO)とリカバリポイント目標(RPO)が常に同時に表示され、データサービスのリカバリ時間についてのみ話したり、データ損失がゼロであることを盲目的に強調したりするのは不正です。 。もちろん、業界ではSSDストレージパーティクルとGCアルゴリズムの消去と書き込みの数も増え続けています。同時に、計算​​可能なストレージの透過的な圧縮と組み合わせることで、SSDの寿命と安定性を向上させるための新しい方向性ももたらします。

圧縮と寿命

定性的に言えば、圧縮は必然的にデータの書き込みを減らし、最終的にはストレージパーティクルの書き込み寿命を延ばします。しかし、エンジニアリングの分野では、より詳細なデータが必要です。圧縮の寿命上の利点を検討するために、まず第一に、前提としてビジネスに影響を与えません(「計算可能なストレージ:データ圧縮とデータベースコンピューティングのプッシュダウン」を参照)。ストレージパーティクルの品質、データモデル、温度、湿度、形而上学など、書き込み寿命を決定する多くの要因があります。書き込みモデルは最も重要な要素の1つである必要があり、最初にSSDのエンタープライズレベルのサービスの重要なビジネスシナリオに戻る必要があります。JESD219(SSD寿命テストで分析ワークロードを具体的に紹介するJEDECのドキュメント)は、エンタープライズレベルのSSDワークロードの特性を分析し、これに基づいて厳密なデータ負荷シミュレーションテストを実行します。事実上の標準JESD219の助けを借りて、書き込み増幅を減らすためのデータ圧縮の利点をさらに検証するのに便利です。

JESD219ワークロード

次の点が含まれています。

  • データの人気:データセットへのアクセスは比較的集中しており、データの5%が50%のアクセス頻度を取得し、データの20%が80%のアクセス頻度を取得します。

  • IOサイズ:主に小さいIO、IOサイズの67%は4KB、大きすぎるIOまたは小さすぎるIOは、次の図に示すように、さまざまなI / Oサイズの比率で比較的小さくなります。

  • テスト期間:JESD219は、このワークロードモデルを使用して圧縮率と書き込み増幅をテストし、さまざまな圧縮率データ、さまざまな予約スペースサイズ、さまざまな容量サイズのテストを実施しました。その中で、実際のビジネスシナリオを概算し、継続的なテストを保証するために期間は非常に必要です。このために、上記のIOパターンを使用して10,000分間テストを続行します。

  • 記録方法:1分に1回増幅係数サンプリングを書き込みます。

魔法の変更(傍受された部分)の後に負荷を作成するスクリプトを見てみましょう:

最終的な完了レコードを次の図に示します。

写真は、同じ負荷モデルに基づいて、エンタープライズレベルで一般的に使用されている3.2TB / 3.84TB / 6.4TB SSD容量テストを使用したJESD219を示しています。データ圧縮率は、1:1 / 1.2:1/2:1 / 2.13:1 / 3.7:1です。 / 9:1は徐々に増加し、10000分続き、拡大されたデータを記録および書き込みます。テスト結果から見える

  1. すべてのモデルは、一定期間の継続的なテスト後に定常状態に達します。その時点で、書き込み増幅は安定する傾向があります。

  2. 同じ3.2TBSSD、データ圧縮率は1:1 / 1.2:1 / 2.13:1/9:1で、書き込み増幅は大幅に減少し、3.84TBと6.4TBSSDの結果は類似しています。

圧縮率が高くなると、さまざまなタイプのSSDが書き込み増幅を減らすという利点を継続的に得ることができることがわかります。

次の図に示すように、一般的なSSD容量比を選択し、特定のデータを比較および分析します。

一般に、エンタープライズSSDの予約スペースは28%(使用可能スペースは3.2TB)です。データ圧縮率が1:1の場合、書き込み増幅率は1.79です。データ圧縮率が1.2:1の場合、書き込み増幅率は1.48に減少します(増加のみ)。 20%の圧縮と書き込み増幅が17%減少しました)。データ圧縮率が2.1:1の場合、書き込み増幅率は0.58であり、書き込み増幅は67%減少します。

一般に、コンシューマーグレードのSSDの予約スペースは7%(使用可能なスペースは3.84TB)です。データ圧縮率が1:1の場合、書き込み増幅率は3.67です。データ圧縮率が1.2:1の場合、書き込み増幅率は1.95に減少します。 20%の圧縮書き込み増幅は49%減少します。これは、書き込み増幅係数1.79でエンタープライズレベルのSSDデータ圧縮比1:1に近い値です。データ圧縮率が2.1:1の場合、書き込み増幅率は0.62であり、書き込み増幅は83%減少します。

TBWとUBERを振り返ると、次のように要約できます。

圧縮はパフォーマンスを向上させるだけでなく、寿命と安定性も向上させます。

圧縮自体を考慮することに加えて、ビジネスに対して透過的であるかどうか、ゼロコピーが追加のオーバーヘッドやスケーラビリティをもたらさないかどうかなど、エンタープライズレベルのサービスと組み合わせて考慮する必要がある多くの側面があります。計算ストレージ:データ圧縮とデータベースコンピューティングのプッシュダウンを参照できます。次の図は、参照用の計算可能なストレージの透過的な圧縮に基づいています。

JESD219は十分に検討しましたが、アプリケーションの負荷に近づきたい場合は、さらに先に進む必要があります。データベースシナリオを例にとると、MySQLを使用し、Sysbenchを使用して読み取りと書き込みの圧力を作成します(OLTP混合読み取りと書き込みoltp_read_write、データセット2TB)、そのIOモデル(eBPF追跡IOに基づく)とJESD219はまだかなり異なっていることがわかります。

  1. I / Oサイズ、I / Oの73%が16〜31kバイトに集中しているため、InnodDBデータページのデフォルトは16KBです。I / O操作のREDOログのデフォルトは512バイトであるため、I / Oの15%は1KB未満に集中しています。

  2. 主にディスクリートI / Oであるsysbenchテストでのデータの人気は、完全な2TBデータセットに均等にアクセスしようとします。

もちろん、これは、ここでは展開されていないJESD219スクリプトの魔法の変更を通じて、アプリケーションの負荷をシミュレートすることをよりターゲットにすることができます。

10倍の変化

底には十分なスペースがあります。

物理学者のリチャードP.ファインマンは、1959年12月の米国物理学年次会議で、「下部にはまだ十分な余地がある」(「下部にはまだやるべきことがたくさんある」)というタイトルのスピーチを行いました。将来の物理学の発展は大きな影響を与えるでしょう。アプリケーションの「ボトム」としての計算可能なストレージテクノロジーも、アプリケーションアーキテクチャに大きな影響を与えます。

参照

  • 計算可能なストレージ:データ圧縮とデータベース計算のプッシュダウン:https//mp.weixin.qq.com/s/VFgBtn1dyHW0VUsHxKW6BA

  • フラッシュベースのSSD耐久性に対するガベージコレクションの影響について:https://www.usenix.org/system/files/conference/inflow16/inflow16-paper-verschoren.pdf

  • フラッシュベースの販売済み状態ドライブでのライトアンプリフィケーション分析:https://dl.acm.org/doi/abs/10.1145/1534530.1534544

  • QZFS:アプリケーションにとらわれずコスト効率の高いデータストレージのためのファイルシステムでのQAT高速圧縮:https://www.usenix.org/system/files/atc19-hu.pdf

  • ハードウェアアクセラレーションによる圧縮を使用したソリッドステートドライブのパフォーマンスと寿命の改善:https://ieeexplore.ieee.org/document/6131148

  • ゾーン名前空間(ZNS)SSD:https://zonedstorage.io/introduction/zns/#:〜:text =よくある質問-、ゾーン名前空間(ZNS)SSD™(NVMe™)組織。

  • JESD219:https://www.jedec.org/sites/default/files/docs/JESD219.pdf

著者:

Jin Ge @ Scaleflux、熊中哲@ Scaleflux

トレーニング、インタビュー、製品紹介などのビデオ情報の詳細については、WeChatの公式アカウント-ビデオ情報チャネルをフォローしてください。

ScaleFluxビデオ情報公式ウェブサイト:
http
//scaleflux.com/videos.html ScaleFlux Youkuチャンネル:
https ://i.youku.com/scaleflux spm = a2hzp.8244740.0.0

                                                        

全文は終わりました。

MySQLをお楽しみください:)


TeacherYeの「MySQLCoreOptimization」クラスがMySQL8.0にアップグレードされました。コードをスキャンして、MySQL8.0の練習の旅を始めてください。

おすすめ

転載: blog.csdn.net/n88Lpo/article/details/108459087