Linux-5.13内核module支持Zstd压缩算法
Zstd(Zstandard)是由Facebook的Yann Collet开发的一个无损数据压缩算法,其他压缩算法要么专注压缩比要么专注压缩/解压缩性能不同,Zstd在压缩/解压缩速度和压缩比上都很突出。表
Zstd介绍 Zstd(Zstandard)是由Facebook的Yann Collet开发的一个无损数据压缩算法,其他压缩算法要么专注压缩比要么专注压缩/解压缩性能不同,Zstd在压缩/解压缩速度和压缩比上都很突出。表1是zstd官网给出的性能测试数据linux 压缩,数据表明Zstd在压缩比和压缩速度综合性能上比snappy、lzo等算法更有优势。Zstd还有一个特别的功能,支持以训练方式生成字典文件,相比传统压缩方式能大大的提高小数据包的压缩率。 表1 zstd官网各种压缩算法压缩数据对比 Linux-5.13内核模块将支持zstd压缩 目前HTTP协议和一些大数据工具(包括Hadoop 3.0.0,HBase 2.0.0,Spark 2.3.0,Kafka 2.1.0)等都已经加入了对zstd的支持, 而Linux内核中当前已有不少组件已经支持Zstd压缩算法。 不过此之前Linux中内核模块只支持Gzip和xz两种压缩方式,在Linux-5.13开发版本中内核模块即将新增对Zstd压缩算法的支持,内核模块压缩文件以.ko.zst为后缀。 与内核相配合的用户管理工具方面,用户态模块管理工具KMOD version-28目前已经可支持Zstd压缩的内核模块文件了。 此次对于内核模块Zstd压缩的补丁并不是太大,该补丁仅仅只是Linux-5.13开发分支"Kbuild updates"板块的一个小补丁。而Kbuild补丁板块中目前更多的还是LLVM Clang、LTO优化等等方面的更新。 除了要进行Kbuild的修改,Linux内核对于Zstd的支持还有更重要的工作要做--将Zstd上游最新的版本更新到Linux内核Zstd实现中来,参考这些补丁(可能要在Linux-5.13之后才会合入)。 Zstd上游代码目前可以自动生成Linux内核Zstd代码;当前Linux中的Zstd代码取自Zstd-1.3.1,若将Zstd上游最新修改更新到Linux内核后,在使用Zstd压缩算法的情况下Btrfs速度会提升5~15%,SquashFS的解压缩速度提高了?15%,F2FS Zstd的速度提高了3?20%,内核Zstd的解压缩速度提高了35%,Zram的解压和读取速度提高了30%,initramfs Zstd压缩速度提高了5%左右。 另外,在重新构建内核的Zstd代码库时,还进行了一些错误修复和其他改进。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |