摘要:
近年来,虚拟化应用场景日益增多,多用户拥有独立逻辑空间、共享后台资源,随着CPU计算资源和网络带宽资源大幅提升,存储资源逐渐成为性能瓶颈。固态盘(SSD)具有高性能、低能耗的优势,存储系统使用SSD作cache,可以提高存储性能。这种混合存储系统,逐渐成为存储领域的研究热点。使用SSD并配合少量RAM作磁盘缓存层,构建缓存存储系统。面对多用户应用场景和系统加速需求,将缓存层逻辑上分为顺序区和随机区,系统相应地包含顺序识别模块和随机热点识别模块。顺序区主要由RAM构成,顺序识别模块用于识别多用户环境下发生随机化的顺序请求,并将预取数据存储到顺序区,从而降低顺序请求在磁盘中发生随机化而带来的性能损失。随机区主要由RAM和SSD共同构成,并在RAM和SSD中分别划分读区和写区。在随机热点识别模块中,定义和用户优先级相关的数据块热度值,优先满足高优先级用户的数据缓存需求,并根据块的热度值和读写属性,识别出随机热点/次热点的读/写数据,根据策略缓存到RAM/SSD的读区/写区;读/写区比例根据选取的读/写区热度阈值的差值,进行动态调整,这样在加速经常访问数据的同时,适度控制了SSD的写操作次数。顺序识别模块和随机热点识别模块构成上下层关系,通过顺序识别模块的过滤以及随机热点识别模块内部的过滤作用,减少了热度统计的元数据量。根据设计方案,对系统做了实现和测试。测试表明本文能够识别来自多用户的顺序请求,小块请求下可以有数倍的提升,大块请求下也能有10~20%的加速作用。对随机请求的处理,大大降低了缓存的污染分配,相比LRU方案有大幅性能提高。
展开