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 是一种无损压缩系统,通过用针对真实世界 Dropbox JPEG 图像大规模语料库调优的自定义算术编码方案替代基线 Huffman 编码,将 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 中的 Huffman 编码层。
  • 设计一种使用“Huffman 切换字”实现早期输出和并行解码的流式、多线程解压缩流水线。
  • 通过限制系统调用(read、write、exit、sigreturn)和预分配内存,实现受限执行环境,防止因处理不受信任输入而引发的安全漏洞。
  • 采用逐行处理模型以限制内存使用,避免在解压缩过程中将整个文件加载到 RAM 中。
  • 引入确定性、带版本的格式,并采用“带验证的构建”系统,确保软件更新期间的兼容性。
  • 将 Lepton 作为文件存储栈中的透明层部署,支持上传时自动压缩,并逐步对现有文件重新压缩。

实验结果

研究问题

  • RQ1在分布式、分片存储环境中,专用格式的无损压缩系统能否同时实现高效率压缩和亚毫秒级解压缩延迟?
  • RQ2如何使无损图像压缩系统对客户端完全透明,同时确保在软件更新后仍能实现确定性、位级完全相同的原始 JPEG 重建?
  • RQ3在分布式后端中,实现对任意文件子串的流式、低延迟解压缩,需要哪些架构与实现技术?
  • RQ4在高吞吐、生产规模系统中处理用户生成的不受信任 JPEG 文件时,如何确保安全与内存安全?
  • RQ5在数百 PB 用户数据上大规模部署新型压缩系统时,会面临哪些实际运维挑战?

主要发现

  • Lepton 在 1500 亿个用户文件上实现了平均 23% 的 JPEG 文件大小缩减,从初始 203 PiB 的输入中节省了超过 46 PiB 存储空间。
  • Lepton 的解压缩速度比先前工具(如 PackJPG)快逾 9 倍,且首次字节到达时间和最后字节到达时间显著改善。
  • 通过引入“Huffman 切换字”,系统成功实现了流式、多线程解压缩,支持早期输出和并行处理。
  • 尽管设计严谨,但一次人为部署错误导致配置错误,造成 2 小时服务降级,并需重新编码 18 个文件,凸显了运维风险。
  • 系统在一年的生产使用中保持了完全透明和正确性,未发生任何解压缩失败或数据丢失事件。
  • 部署过程暴露出文档、入职培训和配置管理方面的关键缺陷,促使团队实施改进措施以防止未来类似事件。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。