论文部分内容阅读
存储系统作为计算机组成的一个核心部分,其组织和管理对于计算机整体的性能和功耗有至关重要的影响。传统的计算机系统一般采用硬盘作为二级存储设备,操作系统中的存储管理技术都针对硬盘的特性进行设计和优化。闪存(Flash)作为一种非易失性存储器,因低功耗、抗震动、体积小等优势被广泛使用。Flash不仅可以作为独立的二级存储设备,也可以与硬盘结合使用,以改善原硬盘存储系统的性能和功耗。由于Flash的物理特性不同于硬盘,传统的存储管理技术并不完全适用,对存储系统管理提出了新的挑战。
本文以北大众志计算机系统和Linux操作系统为研究平台,系统地开展了Flash存储系统管理技术的研究,尤其是Flash独立作为二级存储设备时的文件系统加载性能优化、交换分区管理,以及Flash与硬盘异构二级存储系统的组织与实现。本文的主要研究成果和创新点如下:
1.基于块的Flash文件系统快速启动策略
Flash文件系统的异地更新策略导致文件系统加载扫描耗时过长,成为制约系统启动性能的主要因素。本文提出基于块的B-FSS Flash文件系统快速启动策略,结合快照在系统正常卸载时的高效性以及日志在意外断电时的有效性,以尽可能地降低系统启动代价。快照和日志的存放充分利用Flash以块为单位的擦除特性,快照保存在独立的块中,日志以块为单位跟踪数据更新,以降低对Flash文件系统损耗平衡的影响。本文在YAFFS2文件系统实现了该策略,并在北大众志计算机系统进行了评测。结果显示,在系统正常关机和意外断电情形下,B-FSS能将Opcnrnoko根文件系统的加载时间分别降低97%和92%,运行时保存日志带来的性能损失仅为0.5%,不会带来额外的损耗平衡问题。
2.基于Flash的交换分区结构设计与管理
交换分区是扩展虚拟内存空间可用物理内存的一种有效方式。Flash慢速的写性能以及使用寿命限制,是Flash实现交换分区管理面临的主要问题。本文提出了使用内存压缩交换分区和Flash交换分区的混合交换分区结构ASA,并通过分析CPU性能和I/O性能对内存压缩交换分区、Flash压缩交换分区和Flash非压缩交换分区的换入换出代价,提出了交换分区动态选择策略ASSP,以决定换出页面的存放形式。模拟评测表明,该交换分区管理策略与单独使用内存压缩交换分区、Flash压缩交换分区相比,性能可以提高9%~35%,Flash写次数比采用Flash交换分区减少约40%,比采用Flash压缩交换分区减少约15%。通过LZO、ZLIB、WK4x4、WKdm多种压缩算法的比较发现,WK4x4在性能以及Flash损耗两方面能实现较好的权衡,是比较适用于本文提出的交换分区结构的一种软件压缩算法。
3.Flash与硬盘异构二级存储系统的缓存式管理方案
当计算机系统的存储需求远远大于当前Flash在低成本前提下可以提供的容量时,使用Flash和硬盘组成异构二级存储系统是一种可行方案。本文提出了采用缓存策略的异构二级存储系统管理方案,将最有可能访问的文件存放在Flash中,从而减少对硬盘的访问,以充分利用Flash的低功耗特性以及硬盘大容量、低成本优势;探讨了Flash和硬盘缓存式异构二级存储系统管理技术的实现,包括被缓存文件选择策略、替换文件选择策略、预取策略,并且对这些技术对性能和能耗的影响进行了评测。通过踪迹驱动的模拟评测表明,缓存式异构二级存储管理比在单硬盘系统中扩展内存方式、PB-PDC迁移式异构二级存储管理更能有效地降低二级存储系统的能耗,I/O访问时间也得到改善。
4.支持缓存式异构二级存储的缓存文件系统
为实现缓存式异构二级存储系统的管理,本文提出了采用堆叠式文件系统结构的缓存文件系统CFS。该文件系统将文件管理策略与底层具体的设备文件系统分隔开来,能够充分利用现有的Flash文件系统与硬盘文件系统的研究成果,为异构二级存储系统提供了灵活、高效的解决方案。CFS的设计中采用了缓存文件重命名机制,结合文件缓存管理策略,尽可能地减少对硬盘的访问。本文基于Linux实现了该文件系统原型,并且在北大众志计算机系统进行了评测。结果表明,虽然CFS相对于Flash和硬盘本地文件系统有一定的性能损失,但是能够有效地降低系统能耗。
综上所述,本文从Flash替换硬盘作为二级存储设备以及Flash与硬盘结合使用两种应用角度,开展了Flash存储系统管理技术的研究,提出的各种管理技术均针对Flash的特性进行设计,对其他采用Flash作为存储设备的系统具有普适性。