ELT.ZIP
团队,ELT<=>Elite(精英),.ZIP为压缩格式,ELT.ZIP即压缩精英。6个地方
的同学,我们在OpenHarmony成长计划啃论文俱乐部
里,与华为、软通动力、润和软件、拓维信息、深开鸿
等公司一起,学习和研究操作系统技术
…@[toc]
① 2月23日 《老子到此一游系列》之 老子为什么是老子 —— ++综述视角解读压缩编码++
② 3月11日 《老子到此一游系列》之 老子带你看懂这些风景 —— ++多维探秘通用无损压缩++
③ 3月25日 《老子到此一游系列》之 老子见证的沧海桑田 —— ++轻翻那些永垂不朽的诗篇++
④ 4月4日 《老子到此一游系列》之 老子游玩了一条河 —— ++细数生活中的压缩点滴++
⑤ 4月18日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——一文穿透多媒体过往前沿++
⑥ 4月18日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——这些小风景你不应该错过++
⑦ 4月18日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——浅析稀疏表示医学图像++
⑧ 4月29日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——计算机视觉数据压缩应用++
⑨ 4月29日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——点燃主缓存压缩技术火花++
⑩ 4月29日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——即刻征服3D网格压缩编码++
⑪ 5月10日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——云计算数据压缩方案++
⑫ 5月10日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——大数据框架性能优化系统++
⑬ 5月10日 ++【ELT.ZIP】OpenHarmony啃论文俱乐部——物联网摇摆门趋势算法++
HCompress在多层存储环境中大放光彩
揭秘消费类电子设备软件更新压缩算法
AIMCS如何压缩短字符串
********** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** | ******************** |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
场景 | 自动驾驶 / AR | 语音信号 | 流视频 | GPU 渲染 | 科学、云计算 | 内存缩减 | 科学应用 | 医学图像 | 数据库服务器 | 人工智能图像 | 文本传输 | GAN媒体压缩 | 图像压缩 | 文件同步 |
技术 | 点云压缩 | 稀疏快速傅里叶变换 | 有损视频压缩 | 网格压缩 | 动态选择压缩算法框架 | 无损压缩 | 分层数据压缩 | 医学图像压缩 | 无损通用压缩 | 人工智能图像压缩 | 短字符串压缩 | GAN 压缩的在线多粒度蒸馏 | 图像压缩 | 文件传输压缩 |
开源项目 | Draco / 基于深度学习算法/PCL/OctNet | SFFT | AV1 / H.266编码 / H.266解码/VP9 | MeshOpt / Draco | Ares | LZ4 | HCompress | DICOM | Brotli | RAISR | AIMCS | OMGD | OpenJPEG | rsync |
数据缓存、数据预取、数据聚合
这类数据访问优化措施,将 I/O 消耗转移至一个中间的临时空间(主存、缓冲区、SSD等)中;此外,还可以在系统架构中包含中间的、专门的
资源,例如 I/O 转发器、突发缓冲区以及更接近计算节点的数据暂存节点。最后,使用多种数据缩减优化操作,压缩是其中一项。关键点是,以上所有解决方案的有效与否均取决于中间临时存储(ITS)
的可用空间量和利用率。ITS 的容量越大,越有助于避免我们上述的 I/O 瓶颈。高带宽内存(HBM)
、非易失性RAM(NVRAM)
和固态硬盘(SSD)
等,将它们组织在一个多层存储层次中(更高层次速度更快,但容量更小);减少数据量最常用的是数据压缩,在合适的场景和环境下匹配对应的压缩技术是尤其需要关注的。自然而然地,我们就会联想到:如果二者同时进行,不就可以相互受益了吗? 愿望总是美好的,然而现实情况是,现有的软件要么不压缩就直接将数据放在各个层中,要么就是天真地将相同的压缩应用于所有层(很早之前我们提到过,压缩如果应用不当,最终结果相比原始可能反而会变大)。于是,相关学者设计并实现了 HCompress,它是一个分层数据压缩引擎,可协调利用多层存储和数据压缩来提高应用程序性能,下面我们即对其展开研究。Hcompress是图像压缩包,用于太空望远镜科学研究所。Hcompress用于压缩STScI数字化巡天并且还用于压缩哈勃数据档案。该技术为天文图像提供了非常好的压缩,并且速度很快,在压缩或解压缩512x512图像需要大约1秒。可以压缩2字节整数图像,采用少量输入格式。
多层缓冲(即 Hermes)
时,VPIC 的运行时间相比作为基线的 PFS 优化了 2.5 倍,当启用压缩
时,我们可以看到显著的性能变化,尤以 Google Brotil 效果最优,减少了 1.93 倍的耗费时间,实现了 2 倍的压缩比,但却只花费了 90 秒的压缩时间,相比动辄几千秒的总时间,可以说是微不足道了。而使用 Zlib
时,压缩的优势被延长的压缩时间所抵消,实现了 5 倍的压缩比,但花费了 3431 秒的总时间。若使用 Bzip
就属于不适当的一类,VPIC 的数据类型不能被其压缩。压缩时间
与减少 I/O 时间
之间的平衡。分层的数据压缩库,可以通过和谐地利用多层存储和数据压缩来提高应用程序的性能。智能的、层次感知的
压缩与数据放置算法(HCDP)
。HCompress 使用了一个输入数据分析器、一个可以访问压缩库语料库的压缩管理器、一个系统监视器、一个压缩性能预测器和一个 HCDP 选择引擎。总结一下,HCompress 的优势可以概括为以下三点:
libhcompress.so
)来链接并调用其原生 API (compress()
/ decompress()
)。在红色箭头所指出的压缩流程下,程序使用 HCompress 库 API,然后将相关数据传递给输入分析器(IA)
进行分析,输入分析器可以识别数据属性,即数据类型、数据分布和表示格式
。压缩成本预测器(CCP)
则为上述属性的每个组合维护一个预期的压缩成本表。系统监视器(SM)
监视当前的系统状态,即可用层和它们各自的剩余容量。HCDP
引擎最后基于以上我们列出的三项标准,也就是数据属性、预测成本、系统状态
,计算出最佳压缩和放置模式。压缩管理器(CM)
和存储硬件接口(SHI)
负责相互协调,根据已指定的压缩模式使用相应元数据对原始数据进行编码,实现压缩与还原的过程。CM
负责管理几个压缩库的接口,它将几个 API 统一在一个通用接口下,再用丰富的元数据修饰压缩数据。在 HCompress 中,压缩库的统一由压缩库池(CLP)
完成,CLP 包含三个主要部分:
bzip2
、zlib
、huffman
、brotil
、lzma
、lz4
、lzo
、pithy
、snappy
和 quicklz
.
HCDP 引擎
可以为不同的输入数据和存储层选择不同的压缩库,因此 HCompress 需要维护应用的压缩库、如何应用它(即输入缓冲区的偏移量)以及未压缩数据的原始大小。NVMe(非易失性内存主机控制器接口规范)
的原理,它本质是上建立了多个计算机与存储设备的通路。在NVMe协议
中,多个通路其实就是多个队列来提升转运数据的数量,NVM 感知缓冲区管理器
和存储系统设计器
提高了系统吞吐量并降低了跨不同事务和分析处理工作负载的系统成本。条条大路通罗马,但如果可以,你一定不会选择和千军万马过独木桥。而HCompress方案,用更少的NVMe,较少的内存占用,减少了大量总执行时间, 有显著的性能提升,与没有压缩的库相比,最高可提高 8 倍,与其他压缩库相比,至少提高 1.72 倍。更多回帖