论文部分内容阅读
NANDFlash具有高性能、低延迟、低功耗等优势,因此被广泛应用于数据密集型存储系统。日志结构文件系统(Log-structured File System,LFS)对Flash特性友好,其通过异地更新,将随机写转化为顺序写,具有更高的随机写性能和更低的一致性维护开销。然而,LFS在运行过程中仍然存在段清理开销过大、文件系统写放大严重等问题,导致LFS的性能和Flash设备的寿命大幅降低。
I/O负载中普遍的数据热度差异,加剧了LFS的段清理开销和写放大问题。针对上述问题,提出了一种基于热度的日志结构文件系统优化方法,称为OLH。OLH采用基于数据聚类的冷热数据识别策略,通过对热度元数据抽样、聚类,能够动态识别冷热数据。写入过程中,将冷热数据分别写入不同的日志中,减少段清理开销,并按照热度值延迟热数据写入日志的过程,减少其频繁更新导致的"wanderingtree"写放大,同时为了避免多日志引入的随机写造成性能下降,延迟提交日志到文件系统,使OLH能批量写入日志数据提升写性能。段清理过程中,采用了一种基于热度的victim选择算法,充分考虑热度对victim的影响,同时释放victim时只下刷victim段相关的脏索引数据,减少段清理开销和一致性维护的写放大。设计并实现了热度元数据缓存策略,减少OLH引入的热度元数据访问开销。
在多种真实负载下进行测试,验证OLH的有效性和性能。实验结果表明,OLH能适应系统热度变化,与F2FS的优化策略相比,OLH的段清理迁移块数减少了36.3%-36.5%,带宽提升了62.8%-71.4%,写放大方面,文件和索引数据总写入量减少了6.8%-9.3%,文件系统的元数据总写入量减少了44.4%-53.1%。在引入的开销方面,热度元数据缓存的命中率可以达到64.3%-97.3%,大部分热度元数据的读取都能在内存中完成,访问开销较小。
I/O负载中普遍的数据热度差异,加剧了LFS的段清理开销和写放大问题。针对上述问题,提出了一种基于热度的日志结构文件系统优化方法,称为OLH。OLH采用基于数据聚类的冷热数据识别策略,通过对热度元数据抽样、聚类,能够动态识别冷热数据。写入过程中,将冷热数据分别写入不同的日志中,减少段清理开销,并按照热度值延迟热数据写入日志的过程,减少其频繁更新导致的"wanderingtree"写放大,同时为了避免多日志引入的随机写造成性能下降,延迟提交日志到文件系统,使OLH能批量写入日志数据提升写性能。段清理过程中,采用了一种基于热度的victim选择算法,充分考虑热度对victim的影响,同时释放victim时只下刷victim段相关的脏索引数据,减少段清理开销和一致性维护的写放大。设计并实现了热度元数据缓存策略,减少OLH引入的热度元数据访问开销。
在多种真实负载下进行测试,验证OLH的有效性和性能。实验结果表明,OLH能适应系统热度变化,与F2FS的优化策略相比,OLH的段清理迁移块数减少了36.3%-36.5%,带宽提升了62.8%-71.4%,写放大方面,文件和索引数据总写入量减少了6.8%-9.3%,文件系统的元数据总写入量减少了44.4%-53.1%。在引入的开销方面,热度元数据缓存的命中率可以达到64.3%-97.3%,大部分热度元数据的读取都能在内存中完成,访问开销较小。