论文部分内容阅读
随着因特网的蓬勃发展和社会的数字化变革,数据爆炸式增长对存储系统提出了巨大的挑战,传统的直连式存储难以满足日益严峻的数据存储需求,促使人们不断探索新型的存储系统。在这种背景下,存储技术与网络技术逐渐融合,产生了网络存储技术。网络存储具有高性能、大容量、可扩展、易管理等特点,已经越来越多地被应用于金融、石油、电力、通信等高性能计算领域中。作为解决I/O瓶颈问题的主要软件方法,缓存技术始终是存储系统的一个研究热点。缓存技术通过将数据暂存在相对高速的存储器中,可以提高后续的重复访问速度。由于缓存的容量通常远远小于I/O路径中下一级存储器的容量,当缓存满了以后,需要在一个恰当的时机选择恰当的数据进行淘汰,回收缓存空间以存储新的数据。这种选择的依据就是缓存替换策略,是影响缓存性能的关键因素。目前,网络存储服务器中使用的缓存策略大多是从直连式存储中移植过来的,由于没有充分考虑网络存储中特殊的缓存层次结构和多客户机访问模式,从而使得网络存储系统中的缓存性能在实际应用中表现不佳。本文从网络存储的缓存层次结构和多客户机访问模式出发,对适应于网络存储服务器的缓存替换策略进行了探讨和研究。着重对网络存储服务器自身、网络存储服务器-单客户机、网络存储服务器-多客户机三种应用架构,由简单到复杂,由集中到分布展开研究,提出了一系列具有低失效开销、高命中率的缓存替换策略,分别适用于不同的工作负载和应用模式,从而可以提高整个网络存储系统的性能。本文取得了如下的主要研究成果:1.提出了一种基于顺序检测的缓存替换算法SABER传统的缓存替换策略忽略了磁盘I/O特性对缓存性能的影响。本文提出的SABER算法通过对缓存块磁盘地址的连续性进行分析,确定缓存块在磁盘上分布的顺序程度,优先淘汰磁盘地址顺序程度高的缓存块,充分利用磁盘I/O所具有的顺序局部性特征,可以减少缓存失效引起的随机访问磁盘次数,避免不必要的磁头寻道和旋转,在时间局部性很弱的网络存储中,以较低的失效开销达到了高性能。2.提出了一种文件系统元信息感知的缓存替换算法FIMAR传统的缓存替换策略工作于文件系统之下,块设备驱动之上,文件系统元信息对于缓存是透明的。本文提出的FIMAR算法把文件系统元信息inode引入到缓存中,以此确定缓存块归属的文件,并预测缓存块在磁盘上分布的顺序程度,然后做出替换选择,使磁盘可以尽可能工作在顺序访问模式下。文件在磁盘上一般是顺序存储的,且具有很高的空间局部性,因此这种替换算法是有效的。3.提出了一种基于驻存时间的排他缓存替换算法RED网络存储中的缓存层次结构带来了数据冗余问题。传统的缓存替换策略在消除数据冗余的同时,往往引入了专用的通信协议,无法兼顾对客户机的友好和高效。本文提出的RED算法利用I/O接口的语义信息,监视客户机缓存的内容,使用数据块在客户机缓存中的驻存时间作为服务器缓存中的替换依据。RED算法不仅可以提供高性能,同时不需要改变客户机软件,具有很高的可用性。4.提出了一种多客户机自适应缓存替换算法MACOR在网络存储中,多客户机工作负载的数据相关性严重影响着服务器缓存的性能,传统的缓存策略往往只能适应于相关性很低或者很高的情况,无法兼顾。本文提出的MACOR算法,在不同缓存层次之间实现了排他缓存,在相同缓存层次之间实现了协作缓存,可以动态自适应多客户机工作负载相关性的变化。MACOR算法还提出了一种动态的缓存划分机制,解决了多客户机对服务器缓存的竞争问题。