面向NVMe高性能存储系统的多队列软件栈优化研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:hutao95
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
新型快速存储设备NVMeSSD(Non-volatile Memory Express SSD)以其高性能,低延迟的特点,逐渐替代传统硬件设备成为构建大规模高性能存储系统的首选。硬件设备变更推动了I/O软件栈的变革,为了降低I/O路径的软件开销以及充分发挥硬件性能,NVMe精简软件栈逐渐成为NVMeSSD等高性能存储设备的标配。然而无论内核NVMe软件栈还是用户态NVMe软件栈均以减少I/O请求处理过程中的软件开销为主要目标,并未考虑到底层设备组件状态和应用场景需求。
  当前主流高性能存储系统,其核心目标之一为向用户提供极低延迟I/O访问。由于NVMe软件栈设计中并未考虑底层设备组件状态,如I/O请求在NVMeSSD设备处理中可能出现CMT缺失(Cached Mapping Table Miss),从而导致后续I/O请求的排队等待延迟增加。因此结合SPDK(Storage Performance Development Kit)用户态NVMe软件栈,提出一种多队列映射感知的I/O调度策略,即在主机端模拟底层设备CMT信息,用于预判I/O请求是否命中,并根据预判信息将请求分发至不同优先级队列进行服务,从而减少CMT命中请求在队列中的排队等待延迟。测试结果表明,对比当前NVMe软件栈中主流None调度策略以及Read/WriteQueue策略,该方案可降低7%~24%延迟。
  高性能存储系统的另一核心目标是向用户提供可保证的存储服务。由于NVMe精简软件栈并未考虑底层存储设备的I/O流资源争用,同一NVMeSSD上来自不同用户的多个I/O流争用设备资源时,低强度I/O流性能降级严重,使得构建其上的高性能存储系统服务质量无法保障。针对此问题,提出一种基于队列流控的多队列软件栈性能保障方案,通过实现Chunk绑定以及基于性能反馈的令牌桶算法,为上层应用提供必要的性能指标保障。基于SPDK多队列软件栈设计,该方案具有较高的性能保障准确度,其平均误差为2%,最大误差不超过5%。
其他文献
作为知识图谱补全的重要技术手段,知识推理已经成为当下研究的热点。其中基于路径的知识表示学习模型由于同时考虑了关系路径和实体的语义信息,大大提高了知识推理的准确度。虽然该模型以知识表示学习为基础,通过引入复杂关系路径建模提高了知识推理准确度,但同时也增加了时间开销,难以适应规模日益庞大的知识图谱。  针对复杂关系路径建模存在的效率问题,提出了一种利用子关系路径特征进行建模的方法(Sub-relati
随着大数据和云计算技术的发展,越来越多的数据和服务都部署在数据中心中,这就使得数据中心存储系统的容量变大和异构性突出,导致存储系统的软硬件故障发生的概率变高,进而导致存储系统可靠性和可用性严重降低,增加运行维护成本。硬盘故障预测作为一种主动容错的技术,以其故障前瞻性提高存储系统的可靠性和可用性,越来越受到工业界和学术界的关注。但是,磁盘故障预测还是面临着许多问题,例如数据集的不平衡性、检出率和误报
NANDFlash具有高性能、低延迟、低功耗等优势,因此被广泛应用于数据密集型存储系统。日志结构文件系统(Log-structured File System,LFS)对Flash特性友好,其通过异地更新,将随机写转化为顺序写,具有更高的随机写性能和更低的一致性维护开销。然而,LFS在运行过程中仍然存在段清理开销过大、文件系统写放大严重等问题,导致LFS的性能和Flash设备的寿命大幅降低。  I
大数据时代,闪存凭借优越的性能逐渐取代磁盘成为主流的存储设备。在闪存存储系统中,闪存文件系统的日志结构写方式和闪存转换层的地址映射功能,使数据块和空闲块离散地分布在文件系统和闪存中,带来了严重的碎片化问题。碎片的管理分为碎片避免和碎片整理,现有的碎片避免方案主要面向磁盘文件系统,不适合闪存文件系统;而碎片整理引入了大量的写开销,严重缩短了闪存的寿命。  针对闪存文件系统的逻辑层碎片问题,提出了一种
学位
基于阻变存储器(Resistive Random Access Memory,RRAM)的交叉开关(Crossbar)阵列结构支持高能效存内计算(Processing-In-Memory,PIM),是实现神经形态计算系统最具潜力的架构之一。然而,RRAM器件其单元本身及RRAM单元构成的阵列具有一些非理想因素,这些非理想因素会影响计算的操作数进而使系统的计算准确率降低。选用单元稳定性更高的数字RR
传统动态随机存储器(Dynamic Random Access Memory,DRAM)面临存储密度难以进一步提升、刷新功耗高等问题。而新兴持久内存(Persistent Memory,PM)的读写性能与DRAM接近,同时还具有低功耗、非易失等特性。这使得PM正在成为DRAM内存的一种补充。在PM的几种访问模式中,直接访问(Direct Access, DAX)模式支持应用利用PM的非易失性,且避
随着闪存工艺尺寸的缩小以及单元内多比特存储技术的发展,闪存芯片的容量逐渐增加,但闪存的可靠性问题变得更加严重。固态硬盘(Solid State Driver,SSD)内部现有的可靠性方案(如ECC、RAID)不能很好的应对闪存的多级可靠性问题;另外,固定的可靠性方案未考虑块间磨损不平衡:在SSD前期提供了过多的冗余,从而增加了闪存的写放大,并且在SSD后期也不能容忍条带内出现多个错误的情况。  针
学位
键值存储系统是当前数据中心的主要存储技术,具有高性能、高可用和高扩展性的特点,能够满足大数据环境下的数据存储需求。另外,非易失性内存(Non-Volatile Memory,NVM)是一种新型存储设备,具有数据非易失、高存储密度、高性能和高并发等特点。新型NVM设备的出现,也为研究更高效的键值存储系统带来了机遇与挑战。  基于日志结构合并树(Log-StructuredMerged-Tree,LS
基于日志结构合并树(Log Structured Merged Tree,LSM-tree)的键值存储系统以其良好的存储扩展性而被广泛地用作于各类互联网应用的存储服务。然而,互联网中数据总量的急剧增长为键值存储系统带来了新的问题。一方面,键值存储系统的缓存容量逐渐变得相对不足,而缓存往往对整个系统的性能起到关键性作用。另一方面,键值存储系统往往为多种应用提供服务,如出行类、餐饮类以及办公类应用等。
学位
互联网即将进入5G时代,智慧终端和传感器等设备产生的数据呈指数级增长,对云基础设施的需求不断扩大。键值存储系统作为非结构化数据库的代表,在数据中心扮演着举足轻重的角色,其主要存储引擎是日志结构合并树(Log-StructuredMerge-Tree,LSM树)。但测试发现,由于LSM树的L0层SST文件的键范围存在重叠,加上L0层容量控制机制,使得LSM树的合并操作会引起系统写性能周期性波动。  
学位