论文部分内容阅读
存储系统中的缓存系统研究一直是学术界和工业界的研究热点之一。随着当前以SAN为代表的集中式网络存储模式的兴起,现有缓存系统尚不能很好地满足网络存储环境对缓存系统在灵活性、通用性、易维护性和可扩展性等方面的新要求。本文通过对现有缓存系统的深入分析,研究了缓存系统中的多层语义及层次关系,提出一个分层通用缓存系统框架,并基于该框架在蓝鲸存储系统中实现了BW-Cache系统。通过测试评估了系统性能,并得到各参数对系统性能的影响。主要研究内容如下:
⑴提出一个分层通用缓存系统框架。该框架重点满足了网络存储环境对缓存系统在灵活性(包括“部署位置”和“模块层叠”两方面的灵活性)、通用性、易维护性及可扩展性等方面的需求,实现了缓存管理语义和资源映射语义的分离,有利于将复杂的整体问题局部化,降低系统的开发成本和难度。
⑵设计并实现了BW-Cache缓存系统。在分层框架的指导下,实现了一个基于该框架的缓存系统BW-Cache,提高了蓝鲸存储系统的性能和可扩展性。基于实际trace的性能测试结果显示:BW-Cache能有效结合SATA磁盘的大容量优势和SSD、RAM Disk等设备的高性能优势,得到一个大容量、高性能的存储系统。在系统并发度较高时,BW-Cache系统的请求平均响应时间最多能降低到SATA磁盘的16.43%。
⑶提出了一种基于“结合radix-tree的多级位图模型”的海量元数据组织管理方法针对BW-Cache中海量缓存元数据的内存开销问题,提出并实现了一种基于“结合radix-tree的多级位图模型”的海量元数据组织管理方法,在保证系统元数据操作性能的前提下,实现了海量元数据的有效组织和管理。
⑷提出一种基于DFA(确定的有限自动机)的数据块载入机制。针对BW-Cache在缓存不命中时缓存数据块载入过程复杂,且随时可能出错的特殊环境,提出了一种基于DFA的数据块载入机制,保证了系统的正确性和健壮性。