论文部分内容阅读
客户端缓存技术是优化各种分布式或集中式存储系统的重要技术手段,它具有降低客户端访问延迟、降低服务器负载、以及平滑数据访问行为的优点。SSD技术的迅猛发展进一步增加了客户端缓存技术的重要性。根据[Guo2012]的研究,客户端缓存经常面临阶段间缺失带来的负面影响。基于稳定集模型(SEM)的缓存管理方法能够提高阶段间数据换入换出效率,对于此问题有出色的理论优化效果。但是该方法停留在模拟器阶段。实现和验证SEM缓存管理方法在实际系统中的有效性,对解决客户端缓存系统中的阶段间缺失问题具有重要的意义。 FS-Cache/CacheFiles缓存设备是一个稳定、通用的客户端缓存系统,广泛应用于各种工业和科研系统中,也在中科院计算所存储中心的蓝鲸Parallel NFS系统中被用作客户端缓存。但原版FS-Cache/CacheFiles缓存设备存在扩展性差、不支持预取机制等问题。如何优化FS-Cache/CacheFiles缓存设备本身的扩展性和性能,并利用SEM缓存管理方法优化其在阶段间缺失问题上的表现,对于工业应用和科学研究具有广泛的意义。本文的主要贡献如下: 设计并实现了Enhanced FS-Cache缓存系统新框架。本文通过分层解耦的设计,使新框架具有高可扩展性,能够方便的支持多种预取和替换策略以及SEM缓存管理方法的实现。该框架以文件内的可变长数据块为缓存管理的单位,结合了文件级和块级的信息,保留了上层语义的同时支持了SEM缓存管理方法。根据实现SEM缓存管理方法的经验,本文提出了在E-FS-Cache上实现新策略的方法步骤,并评价了框架的扩展性。最后测试了框架引入对系统带来的负面影响,在多种常用应用下,框架引入只带来0.659%到8.8%的性能损失,影响轻微。 设计并实现了Enhanced FS-Cache中的高性能预取机制。使用异步化和并行化、队列、内核线程、红黑树、增大单次读上限等技术,设计实现了新的FS-Cache预取机制,同时保证了对SEM缓存管理方法的支持。经过测试,新的预取机制的优化效果是FS-Cache with Prefetch[王超2012]的5到7倍。 首次在实际缓存系统中移植实现SEM缓存管理方法。本文根据优化后的E-FS-Cache缓存系统的水位式缓存管理、异步预读等特点,修改并实现了SEM缓存管理方法。模拟应用交替负载的测试结果表明,本文实现的SEM缓存管理方法能够将客户端应用响应时间降低到原来的1.55%到55%。