● 摘要
随着数据密集型应用的快速发展以及计算和存储硬件发展速度不匹配问题的日益凸显,并行I/O系统逐渐成为影响高性能计算机系统性能的主要因素。并行文件系统作为并行I/O系统协议栈的关键层次,负责衔接底层存储系统和I/O接口访问层,其性能直接影响到整个并行I/O系统的效率。随着高性能计算机系统的应用领域和范围不断扩大,并行文件系统不仅服务于传统的科学计算应用,同时也对金融计算、文件共享、互联网应用等非科学计算应用提供访问存储资源的服务。目前并行文件系统一般采用“one-size-fits-all”的系统架构,即对所有负载的同类型I/O请求采用相同的处理方式,难以满足来自不同领域的应用负载对存储资源的多样性访问需求,导致底层存储系统的性能无法被充分利用。本文针对并行文件系统在多类型应用负载环境中存在的问题,设计了基于负载特征的并行文件系统架构,并针对大规模目录结构的查找、高并发访问和小文件访问等三种典型的负载特征,分别提出了文件查找操作、客户端缓存策略和文件存储方式等关键技术的性能优化方法,满足不同负载的存储访问需求。具体的研究内容和主要成果如下:(1)针对不同领域的应用负载对存储资源的多样性访问需求,设计了一种基于负载特征的并行文件系统架构。该架构将文件句柄扩充为“富句柄”,对I/O负载所启用的I/O优化策略进行细粒度的配置,并支持在运行时根据句柄信息选择相应的I/O优化策略,以服务于不同负载产生的I/O请求。在该架构下,为支持在运行时对I/O负载的性能进行调优,提出了一种调整优化策略的交互协议,并设计了数据一致性算法,避免了并发访问对数据一致性的影响。在原型系统中,通过研究小文件访问操作的优化和客户端数据缓存策略的优化等两种应用案例,分别验证了该架构在配置文件操作和文件系统功能模块的优化策略方面的有效性。实验结果表明,该架构根据负载特征选择合理的I/O优化策略处理I/O请求,可以有效地提高负载的I/O性能。大规模模拟环境中的实验结果也表明,该架构能很好地控制由内存拷贝和数据一致性算法带来的开销,具有较好的可扩展能力。(2)针对现有目录查找表结构由于存储开销大而无法满足大规模文件系统中文件查找的性能需求问题,提出了一种基于目录查找表缓存的文件查找优化方法CEFLS。该方法通过设计高效的目录查找表数据结构和基于目录子树的分区方法,提高了缓存空间的利用率,降低了文件查找和目录重命名操作的平均时延。实验结果表明,在相同缓存大小的环境中,相比现有的目录查找表结构,CEFLS可缓存的目录查找表表项数量最多可增加305%左右,文件查找操作和目录重命名操作的平均时延分别可降低17.1%左右和94.5%左右。 (3)针对高并发访问负载环境下基于数据块索引的缓存结构所产生的小文件缓存性能问题,提出了一种基于混合缓存管理策略的客户端数据缓存优化方法HCCache。该方法结合对象索引和数据块索引等两种缓存管理策略的优势,采用三层缓存结构管理文件的缓存数据,通过区分大小文件的缓存替换和缓存数据管理策略,提高小文件的缓存性能。实验结果表明,在实验采用的I/O密集型负载环境下,相对于基于数据块索引的缓存结构,HCCache可以提高小文件访问的聚合带宽34.2%左右,并降低小文件访问的平均时延6.1%左右。在缓存数据的管理方面,相对于采用固定长度的内容解析技术,HCCache可以减少由小文件访问所产生的内容解析数据块查找次数96%左右,降低小文件访问的平均时延4.5%左右。(4)针对基于元数据填充技术的小文件优化方法可能导致的元数据服务器过载问题,提出了一种自适应权衡的小文件存储优化方法。该方法基于所建立的小文件阈值的长期和短期权衡模型,决策小文件的存储位置,并基于I/O调度队列中请求的数据量等信息,检测可能的小文件和元数据突发负载,通过在文件系统服务器间动态迁移小文件负载,来避免对正常元数据负载的性能影响。实验结果表明,在保证元数据负载性能不受影响的前提下,该方法能够最大程度地提高小文件的访问性能。
相关内容
相关标签