お知らせ

HOME
お知らせ
ITインフラストラクチャの効率の最大化:圧縮する場所  #3
2023/12/07
製品知識

ITインフラストラクチャの効率の最大化:圧縮する場所  #3


最終章
パート1では、圧縮アルゴリズムと粒度のトレードオフの概要を説明し、ITインフラへの要求の高まりから生じる苦痛を軽減するために圧縮がどのように役立つかを深掘りした。第2部では、ハードウェアとソフトウェアの圧縮コストとメリットについて説明した。さて、この旅の最終段階に移るにあたり、最終的な疑問である「どこで圧縮するか?暗号化はどうするか?そして、圧縮を使い始めた後の有効容量をどのように管理するか?

どこで圧縮するか?
圧縮/解凍機能をどこで(あるいはいつ)実行するかについては、いくつかの選択肢がある。

CPU
前のセクションで説明したように、CPUでSW圧縮を使用するという選択は、単に “CPUサイクルに余裕があるか?”と自問するよりも大きな意味を持つ。CPUを使用することは、パフォーマンス、スケーラビリティ、電力においてもトレードオフを生じさせる。
圧縮にCPUを使用する場合、一般的な妥協点は、LZ4やSnappyのような軽量アルゴリズムを使用することである。これは、作業負荷が極めて軽い、または書き込みが最小限のデプロイメントでは問題ないかもしれません。しかし、もしあなたのデプロイメントに多くの “フリーCPUサイクル “がある場合、これらのサイクルは利用可能かもしれませんが、”タダ “ではなかったので、全体的な構成を見直す必要があるかもしれません。高性能プロセッサ、メモリ、電源、その他すべてのコンポーネント、ソフトウェアライセンスには、かなりの金額を支払っているのです。
I/Oアライメントは、SW圧縮によって達成されたスペースの節約をさらに損なう。アプリケーションやディスクが最小4Kまたは16Kの書き込みを必要とする場合、圧縮に対するCPUの努力のかなりの部分が無駄になる可能性がある。たとえば、16Kのチャンクは9Kに圧縮されるかもしれない。しかし、4KのディスクI/Oに合わせるために、システムまたはドライブは9Kを12Kに「肥大化」させ、それぞれ4Kの3つのI/Oを作成する必要があります。8Kまたは16KのI/Oアライメントを持つデータベースでは、この「肥大化」は非常に顕著になります。
CPUで圧縮すると、各圧縮ブロックのメタデータを管理するタスクをファイルシステムに押し付けることになる。ファイルシステムがない場合は、CPUとホストメモリがメタデータ管理のオーバーヘッドを引き受ける。
アクセラレータカード
アクセラレーターカードを使用すると、圧縮機能の負担がCPUから軽減されます。圧縮/解凍アクセラレーターカードは、ハードウェアステートマシン(SoC、ASIC、またはFPGA)を使用して、非常に低いレイテンシーで高速に圧縮機能を実行します。アクセラレーター「カード」は、PCIeフォーム・ファクターとして展開することができ、従来の「アドイン・カード」フォーム・ファクターである必要はない。アクセラレーターは、U.2、U.3、E3、E1フォームファクターに設計することができます(それぞれ、潜在的なパフォーマンスに関するトレードオフがあります!)。
圧縮をオフロードするためにアクセラレーターカードを使用するには、ファイルシステムとの統合や、アクセラレーターカードを介してデータを転送し、メタデータを管理するためのベンダー独自のソフトウェアのインストールが必要になります。
専用の圧縮アクセラレーターカードは、カードスロットまたはドライブベイを占有するため、システム内で追加のスペースと電力を消費する。いずれの場合も、圧縮機能を有効にするために、機能やストレージ、IO密度をあきらめることになります。
ローカルドライブへの圧縮に使用する場合、ディスクとホスト間のすべての読み取りと書き込みのトラフィックがこのカードを通過する必要があるため、アクセラレータカードがボトルネックになる可能性があります。 2-4 台の NVMe SSD は、そのスループット能力ですぐに 1 枚のアクセラレータ・カードを圧倒することができます。また、ホストとストレージ間のレイテンシを増加させる、もう1つの「ワイヤの段差」も生じます。
圧縮カードは、その背後で任意のSSDを使用することができます。
スマートNICまたはDPU
スマートNICまたはDPUでの圧縮は、ネットワーク帯域幅の削減という目標に対応します。ハードウェア圧縮エンジンは、SmartNICのネットワークインターフェイスまたはPCIeインターフェイスに合わせて拡張できます。
SmartNICでの圧縮は、ローカルにより多くのデータを保存したり、ローカルストレージのコストを削減したりする目的には対応しません。
ドライブ内圧縮
ドライブ内で圧縮を実行することにより、CPUから圧縮の負担が取り除かれます。さらに、ドライブのフラッシュ・トランスレーション・レイヤー(FTL)が圧縮によって生じる可変長のデータ・ブロックを追跡するように設計されている場合、ドライブはファイルシステムやCPUからメタデータを管理するタスクの負荷を軽減します。
可変長マッピングFTLにより、ドライブは、ファイルシステムやアプリケーションの統合を必要とせず、カスタムソフトウェアやドライバをインストールすることなく、また、圧縮/解凍機能をトリガするためのユーザーのアクションを必要とすることなく、圧縮と解凍を実行することができます。
FTLは可変長のチャンクを管理するため、アンアラインI/Oのパディングが不要になります。CPUベースの圧縮が陥りやすい「肥大化」を回避し、CPUで実行される同様の圧縮アルゴリズムで通常達成される圧縮率よりも高い圧縮率を達成する。
圧縮ステートマシンは、PCIeまたはフラッシュのスループットに合わせて設計できる。このようにコンプレッサーのスループットとドライブのスループットを一致させることで、システム内のドライブ数に応じて圧縮能力を正確に拡張することができます。
暗号化に関連して、いつ圧縮を行うべきか?
圧縮作業から何らかの価値を得たい場合は、暗号化の前に圧縮を行う必要があります。暗号化されたデータは、識別可能なパターンのないランダムなデータとして表示されます。圧縮は、データ内のパターンに依存し、元のデータの短い表現に置き換えます。圧縮する前に暗号化すると、圧縮後のデータサイズは元のデータと同じか、それよりも大きくなる可能性がある。だから、圧縮しようとする労力を無駄にしてはいけない。 暗号化する前に圧縮すれば、暗号化によってデータを保護しながら、圧縮による容量削減のメリットを得ることができる。

多くの企業では、TCG Opal標準に準拠した自己暗号化ドライブ(SED)を使用して、ドライブ内の静止データを暗号化しています。この機能を備えたドライブを使用することで、アクセラレータ・カードとドライブ内圧縮オプションを選択することができます。

まとめと結論

まとめ圧縮オプションとトレードオフの比較

ITインフラストラクチャ
各オプションがそれぞれ特有の長所と短所をもたらすことは明らかです。最終的な選択は、解決しようとしている問題によって異なります。インフラストラクチャを完全に最適化するには、複数のソリューションを導入する必要があるかもしれません。
ITおよびデータセンター・インフラの能力と利用を向上させるニーズと、予算、スペース、電力、スキルセットに関する厳しい制約とのバランスを取るソリューションを見つけるために、インフラストラクチャ&オペレーション・チームが遭遇する障害のもつれたジャングルをナビゲートすることは、容易なことではありません! データ圧縮は、そのバランスを見つけるのに役立つ確立された技術です。圧縮の目標だけでなく、アルゴリズム間、ハードウェアとソフトウェア間、場所間のトレードオフを考慮して戦略的に圧縮を導入すれば、圧縮は真の宝になります!🪙🪙🪙