论文部分内容阅读
在当今的云数据中心,受共享式存储架构和I/O虚拟化技术的限制,虚拟机的存储性能已经成为虚拟机整体系统性能的瓶颈,阻碍了数据密集型应用在云平台上的部署。同时,随着近年来存储技术的飞速发展,新型存储器件不断涌现,比如NVMe SSD和存储级内存(SCM)。与传统的旋转磁盘相比,这些新型存储器件在访问延迟和能源消耗方面具有很大优势。因此,如何将新型存储器件合理地纳入到当前的虚拟机存储架构中来提高虚拟机的存储性能已经成为学术界和工业界的研究热点。 目前主要有两种方式来使用新型存储器件加速虚拟机的存储性能。第一种方式是将新型存储器件部署在宿主机服务器端,用作缓存设备来加速虚拟机对远端数据的访问。由于该种方法通常使用基于闪存的固态硬盘,因此它也叫做宿主机端SSD缓存加速方案。第二种方式是直接将新型存储器件用作虚拟机的本地存储来提高其存储性能。针对这两种应用场景,目前已经有很多优化工作,但仍存在如下问题。(1)现有的宿主机端SSD缓存架构大都是基于I/O请求地址来设计和优化的,忽略了缓存设备内重复冗余数据对缓存性能的影响。(2)现有的宿主机端SSD缓存大都采用商用的SSD产品,通用的块设备接口使缓存管理模块和物理闪存管理模块间存在语义缺失,限制了SSD缓存性能的充分发挥。(3)现有的虚拟机本地存储虚拟化架构没有发挥SCM设备字节可寻址的优势,降低了虚拟机对SCM设备的使用效率。为了解决上述问题,本文做了如下工作。 (1)为了减小重复冗余数据对宿主机端SSD缓存性能的影响,本文对在SSD缓存中应用数据去重技术的可行性进行了分析,并提出了一个重复数据感知的SSD缓存架构。该架构在设计时摒弃了传统的基于I/O请求地址的缓存管理方式,而是基于I/O请求内容来对缓存块进行管理。此外,本文还为所提架构设计了一个重复数据感知的缓存替换算法。实验结果表明所提架构可以有效地提高虚拟机的存储I/O性能,在某些负载下性能提升率可达63%。同时该架构也可以大大减轻缓存负载对SSD设备的磨损,延长了SSD缓存设备的使用寿命。 (2)为了移除缓存管理模块和闪存管理模块间的语义屏障,本文对传统的SSD缓存架构进行了重构,提出了一个融合的SSD缓存架构。该架构在设计时将SSD设备中的FTL功能模块移到了宿主机的内核中,并将它与缓存管理模块紧密地糅合在了一起。该架构可以有效地去除模块间的语义屏障,同时也缩短了数据访问路径长度。此外,还针对所提架构的特点设计了一个高效的缓存管理策略。实验结果表明,与传统的缓存架构相比,所提出的融合缓存架构在I/O性能、SSD设备磨损情况以及对后端存储服务器的压力方面都有较大优势。 (3)为了充分发挥SCM设备在虚拟机环境下的性能优势,本文提出了一个基于内存总线的新型虚拟机存储架构。在该架构下,SCM设备被直接以内存的形式分配给虚拟机,绕过了冗长、耗时的I/O处理栈。该架构可以大大缩短虚拟机的数据请求处理路径,并且也提高了虚拟机使用SCM设备的灵活性。此外,为了延长SCM设备的使用寿命,本文还为其设计了一个轻量、高效的磨损均衡算法。实验结果表明,所提架构可以将虚拟机的存储性能提高到传统存储架构下性能的2.55倍。所提算法也可以非常好地均衡对SCM设备的写操作,并且带来的性能损失不超过3%。