论文部分内容阅读
随着高性能计算和互联网技术的不断发展,数据的规模出现快速增长,系统面临的数据存储和管理需求也越来越高。在计算机系统中,现在的处理器的性能得到快速提高,但存储能力却成为了制约计算机系统性能的瓶颈之一。因此,如何提高存储部件的性能成为提高计算机系统性能的主要方式之一。近年来,随着闪存存储容量的增长、数据读写速度的提高,闪存存储器已经成为构建高性能外存系统的重要存储介质,但闪存设备也存在写寿命和上层文件系统无法针对闪存转换层进行优化等问题。本文在不带闪存转换层的定制闪存设备的基础上,设计和实现面向闪存设备对象文件系统。 首先,本文在定制闪存设备的基础上,将闪存转换层从闪存设备中剥离,融合到文件系统中;针对文件系统写放大问题给闪存寿命带来的影响,引入对象闪存转换层OFTL,实现了基于对象的定制闪存设备驱动。此外设计与实现了基于块的定制闪存设备驱动,解决现有文件系统无法运行在不带闪存转换层的定制闪存设备上的问题,为面向对象闪存文件系统与现有文件系统的测试与分析奠定了基础。 其次,本文针对闪存设备的写寿命问题和文件系统I/O性能,设计基于OFTL的闪存对象文件系统。利用OFTL接口访问闪存设备,提高闪存设备的寿命;设计了以对象属性形式访问元数据的方法,在延长闪存设备寿命的同时,提高文件系统的I/O性能。 最后,本文在开源的基于OSD文件系统EXOFS上,使用OFTL模块替换原有的OSD模块,实现了面向闪存设备对象文件系统的原型。使用FileBench和YCSB作为测试工具,使用定制闪存设备,测试与分析了面向闪存设备对象文件系统与Ext2、Ext4、F2FS的I/O性能与写数据量大小。结果表明,在I/O性能方面相比现有的文件系统,面向闪存设备对象文件系统使用FileBench时提升了5.94%~8.12%,使用YCSB时提升了3.09%~8.69%。在写入数据量方面,使用FileBench时相比Ext2和Ext4,面向闪存设备对象文件系统降低了32.48%~50.61%,与F2FS基本持平仅相差0.5%;使用YCSB时,面向闪存设备对象文件系统相比Ext2、Ext4和F2FS能减少1.85%~2.67%的写入数据量。