Skip to main content
QUICK REVIEW

[論文レビュー] The Design, Implementation, and Deployment of a System to Transparently Compress Hundreds of Petabytes of Image Files for a File-Storage Service

Daniel Reiter Horn, Ken Elkabany|arXiv (Cornell University)|Mar 25, 2017
Advanced Data Storage Technologies被引用数 4
ひとこと要約

Lepton は、ベースラインのハフマン符号化をカスタム算術符号化方式に置き換えることで、平均してJPEG画像のサイズを23%削減するロスレス圧縮システムであり、ストリーミング可能で低遅延の解処理を可能にし、Dropboxのファイルストレージバックエンドに透明に統合されている。203 PiBを超えるユーザーのJPEGを圧縮し、46 PiB以上のストレージを節約した。本番環境でのデプロイでは、従来のツールよりも9倍速いデコード速度を達成しながら、完全な往復透過性とフェイルセーフ性を維持している。

ABSTRACT

We report the design, implementation, and deployment of Lepton, a fault-tolerant system that losslessly compresses JPEG images to 77% of their original size on average. Lepton replaces the lowest layer of baseline JPEG compression-a Huffman code-with a parallelized arithmetic code, so that the exact bytes of the original JPEG file can be recovered quickly. Lepton matches the compression efficiency of the best prior work, while decoding more than nine times faster and in a streaming manner. Lepton has been released as open-source software and has been deployed for a year on the Dropbox file-storage backend. As of February 2017, it had compressed more than 203 PiB of user JPEG files, saving more than 46 PiB.

研究の動機と目的

  • ユーザーのデータを変更せず、クライントップでの変更なしに大規模なファイルストレージシステムにおけるJPEG画像のストレージ容量を削減すること。
  • 最高水準の先行研究と同等の圧縮効率を達成すると同時に、デコード速度を著しく向上させ、ストリーミング可能で低遅延の解処理を可能にすること。
  • ソフトウェアのアップデートや破損した入力データに対しても、元のJPEGバイトを正確に復元できる、往復透過性を保証すること。
  • 分散ストレージシステムがファイルをサーバー間でシャーディングする上で不可欠な、任意の圧縮JPEGファイルのサブストリングに対する独立したランダムアクセスを可能にすること。
  • バックエンドサーバーでのリソース使用量を最小限に抑え、強固なフェイルセーフ性とセキュリティ強化を備えた大規模なスケールでのデプロイを可能にすること。

提案手法

  • 実際のDropboxのJPEGデータコロナスに最適化されたカスタム算術符号化方式を、ベースラインJPEGのハフマン符号化層に置き換える。
  • 「ハフマン・ハンドオーバー・ワード」を導入することで、早期出力と並列処理を可能にするストリーミングでマルチスレッド対応の解処理パイプラインを設計する。
  • 制限されたシステムコール(read, write, exit, sigreturn)と事前割り当て済みメモリを備えた制限付き実行環境を実装し、信頼できない入力からのセキュリティ脆弱性を防止する。
  • メモリ使用量を制限するための行単位処理モデルを採用し、解処理中にファイル全体をRAMにロードしないようにする。
  • 決定論的でバージョン管理されたフォーマットと「クォリファイドビルド」システムを導入し、ソフトウェアのアップデート間での互換性を保証する。
  • ファイルストレージスタックに透明なレイヤーとしてLeptonをデプロイし、アップロード時に自動的に圧縮し、既存ファイルの段階的再圧縮を実行する。

実験結果

リサーチクエスチョン

  • RQ1分散型でシャーディングされたストレージ環境において、フォーマット特化型のロスレス圧縮システムが、高い圧縮効率とミリ秒未塔の解処理遅延を両立できるか?
  • RQ2クライントに完全に透明なまま、ソフトウェアのアップデート後でも、決定論的かつビット単位で同一の元のJPEGを再構築できるようにするには、どのような方法が必要か?
  • RQ3分散型バックエンドにおいて、任意のファイルサブストリングのストリーミングで低遅延の解処理を実現するには、どのようなアーキテクチャ的・実装的技術が必要か?
  • RQ4高スルーレートで本番環境で稼働するシステムにおいて、信頼できないユーザー生成JPEGを処理する際、セキュリティとメモリ安全をどのように確保できるか?
  • RQ5数百ペタバイトのユーザーデータに対して、新しい圧縮システムを大規模にデプロイするにあたり、どのような運用上の課題が生じるか?

主な発見

  • Lepton は1500億枚のユーザーJPEGファイルに対して平均23%のサイズ削減を達成し、初期入力の203 PiBから46 PiB以上のストレージを節約した。
  • PackJPGなどの従来ツールと比較して、Lepton の解処理速度は9倍以上速く、初回バイト到着時間(time-to-first-byte)および最終バイト到着時間(time-to-last-byte)も顕著に改善された。
  • 「ハフマン・ハンドオーバー・ワード」の導入により、ストリーミングでマルチスレッド対応の解処理が可能になり、早期出力と並列処理が実現した。
  • 洗練された設計にもかかわらず、人的ミスによるデプロイ時の構成ミスが原因で2時間にわたりサービス品質が低下し、18件のファイルの再エンコードが必要となった。これは運用上のリスクを浮き彫りにした。
  • 1年間にわたり本番環境での運用を経て、解処理失敗やデータ損失の事例は一切なく、完全な透過性と正しさを維持した。
  • デプロイプロセスの検証から、ドキュメンテーション、オンボーディング、構成管理の重大なギャップが明らかになり、今後の事故を防ぐための改善措置が講じられた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。