实验室博士生亓文杰的论文“InDeF: An Advanced Defragmenter Supporting Migration Offloading on ZNS SSD”、博士生张健顺的论文“HaLSM: A Hotspot-aware LSM-tree based Key-Value Storage Engine”被The 40th IEEE International Conference on Computer Design(ICCD 2022)作为长文全文录用。
分区命名空间(ZNS)作为一种新型的存储接口,具有低垃圾回收开销和低配置开销等优点。然而,由于其异地更新和应用程序的多线程写入行为,容易造成碎片。碎片(Fragmentation)会切割I/O请求,导致设备内部资源冲突,影响I/O性能。大多数碎片整理工具需要将文件的整个内容从SSD读取到主机内存,然后将数据重写到SSD中的连续空间。这种主机级的迁移操作会延长碎片整理消耗的时间,而过多的数据迁移写操作甚至会降低设备寿命。
博士生亓文杰在谭支鹏教授的指导下提出了一种新的碎片整理工具,称为InDeF,以减少碎片整理开销。实验发现,对碎片化程度较低的数据或冷数据进行碎片整理对性能提升甚微。InDeF结合逻辑物理碎片度和访问热度,过滤出对I/O性能影响较小的碎片,从而减少SSD的写流量。InDeF利用flash芯片内部的并行性,将数据迁移任务转移到SSD上,减少碎片整理耗时。实验结果表明,与传统的数据整理工具相比,InDeF显著减少了数据整理耗时和数据迁移量。该研究工作得到了OPPO反碎片化项目的资助。
图1 整体架构
图2 碎片识别
图3 迁移卸载
图4 性能测试
基于日志结构合并树(Log-Structured Merge Tree,简称LSM树)的键值存储由于其优异的写性能在现代存储系统中得到了广泛的应用,但是由于其多层结构,其查询性能经常受到诟病。缓存是提高读性能的最常见方法之一,但是基于日志结构合并树的存储系统中现有的缓存常常会因为内部数据的压缩而失效。同时,重复写入带来的老旧数据可能会在压缩过程中造成较大的读写放大。缓存失效以及对老旧数据的重复压缩都会显著影响性能。
博士生张健顺在王芳教授的指导下提出了一种热点感知的基于LSM树的键值存储引擎,HaLSM。HaLSM设计了细粒度条目缓存有效地将热数据高效地缓存在内存中,不受压缩操作的影响,且支持就地更新,提升了缓存效率。与此同时,HaLSM提出的热点感知的压缩策略可以对压缩过程中的老旧数据进行剪枝,吸收压缩过程中的数据的重复写入,在压缩过程中预取较热的数据块到缓存中减少缓存失效,提升读性能。实验结果表明,HaLSM显著减少了读写放大,提升了整体的读写性能。该研究工作得到了国家自然基金(61832020、61821003)和山东省自然科学基金(ZR2019LZH012)项目的资助。
图5 HaLSM 整体结构图
图6 HaLSM Trimmer在Compaction过程中对数据进行剪枝以减小读写放大