Skip to content

PACTHEMAN123/Qzram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proj64-linux-anony-page-compression

Task

题目链接

Linux 内核中的内存缓存机制zram是将匿名页压缩后进行保存,以节省内存的开销。zram使用的压缩算法的性能及压缩率对内存回收的效率有很大的影响,且解压缩性能会影响pagefault的响应时间,因此,zram使用的压缩算法的压缩率和性能非常关键。当前内核支持的压缩算法(lz4lzo等)并非针对匿名页定制的压缩算法,本项目目标是针对匿名页特征,设计出高压缩率高性能的压缩算法。

Introduction

我们利用了 Intel® 机器的特性,使用 Intel® QuickAssist Technology (QAT) 的硬件支持来增强压缩效果。将原 zram 的部分压缩算法使用 QATzip 加速。

安装方法

1.克隆本项目至本地

git clone https://gitlab.eduxiji.net/T202418123994973

2.部署QAT

QATzip安装

参照官方仓库安装。具体需要先 QATlib (QATzip运行的必要硬件驱动支持)。接着安装QATzip

3.编译该项目

记模块的名字为NAME,在Makefile中默认为qzram,用户也可以自定义。

编译

make

清除所有编译结果

make clean

4.基本使用

加入模块,默认创建一个zram设备:使用lz4算法压缩、8G大小、作为系统内最高优先级的交换空间

make insmod

移除模块

make rmmod

基本用法和原来的zram保持一致,因为我们只对压缩的部分进行了处理。

项目文档

关键代码

测试部分

开发总结

About

a toy of combining QAT and zram

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages