要約:
Linux カーネルは、広く使用されている LZ4 圧縮アルゴリズムへのメジャー アップグレードを行っています。開発者らは最近、カーネル内の LZ4 実装を完全に再構築することを期待して、一連の大規模パッチを提出しました。これにより、大幅なパフォーマンスの向上がもたらされるだけでなく、上流プロジェクトからのコードの長期的な分離と保守も終了します。

現在、Linux カーネルの LZ4 コードは実際には独自に保守されているフォーク バージョンであり、その基本コードはほぼ 2017 年から 2018 年の状態のままです。それ以来、長年にわたり、LZ4 アップストリーム プロジェクトは多数のバグ修正、パフォーマンスの最適化、コードの改善を続けてきましたが、これらの更新は Linux カーネルに完全には反映されていません。
このアップグレードは、Samsung エンジニアの Michal Wilczynski が主導しました。提出されたパッチ計画によると、Linux は特別に修正された LZ4 フォーク バージョンを維持しなくなり、代わりにアップストリームの LZ4 ソース コードを直接導入して同期することになります。言い換えれば、将来の Linux カーネルは、最新の LZ4 圧縮および解凍の改善をより簡単に取得できるようになります。
開発者らは、この調整によりメンテナンスの作業負荷が軽減されるだけでなく、長期間のフォークによって引き起こされる互換性や同期の問題の回避にも役立つと述べています。将来、LZ4 プロジェクトが新しい最適化や修正をリリースすると、Linux カーネルはこれらの更新をより簡単に直接吸収できるようになります。
パフォーマンス テストの結果から判断すると、このアップグレードによってもたらされるメリットは明らかです。
LZ4 圧縮を使用した EROFS 読み取り専用ファイル システムのテストでは、4KB データ ブロックを使用すると、読み取りスループットが約 11% 増加しました。 64KB データ ブロックを使用すると、読み取りスループットが最大 14% 増加しました。
EROFS に加えて、他の Linux カーネル内部 LZ4 テストでもさらなる改善が見られます。ベンチマーク テストの結果によっては、LZ4 の新バージョンによって達成されるパフォーマンスの向上が最大 21% に達する可能性があることが示されています。
LZ4 は、Linux エコシステムで最も一般的な高速圧縮アルゴリズムの 1 つです。ファイル システム、メモリ圧縮、起動イメージ、コンテナ環境、および高速な圧縮と解凍が必要なさまざまなシナリオで広く使用されています。 LZ4の最大の特徴は、より高い圧縮率を追求するアルゴリズムと比較して、極めて低いレイテンシーと極めて高いスループットであるため、パフォーマンスが重視される分野で多くの応用がなされています。
業界関係者は、このアップデートは新しいプロセッサのサポートや大規模な機能の追加ほど人目を引くものではないものの、Linux の根本的なパフォーマンスにとって非常に重要であると考えています。 LZ4 は多くのサブシステムで広く使用されているため、1 桁のパーセンテージの最適化であっても、長期的にはかなりのメリットがもたらされます。
同時に、Linux カーネルは最近、圧縮テクノロジの最適化を推進し続けています。 LZ4 に加えて、Zstd 圧縮コードも改良され、パフォーマンスが強化されています。データのサイズが増大し続け、AI、クラウド コンピューティング、コンテナ導入の需要が拡大するにつれて、高性能圧縮テクノロジの重要性がますます高まっています。
このパッチのセットが最終的にメインライン カーネルに受け入れられれば、Linux は将来、より現代的で効率的で保守が容易な LZ4 実装を持ち、数年前に現状維持に留まっていたカーネル バージョンは正式に歴史となるでしょう。
コメント