机房360首页
当前位置:首页 » 虚拟化资讯 » 虚拟存储环境关键技术研究进展与应用

虚拟存储环境关键技术研究进展与应用

来源:搜狐网 作者: 更新时间:2022/7/11 10:44:10

摘要:当前,数据挖掘、图计算、机器学习等大数据应用飞速发展,数据资源规模呈现出爆发式增长态势,用户对存储资源的需求也时常出现大幅波动。

  数据是国家的重要战略资源,存储技术是数据发展与应用的重要保障。近年来,随着数据规模的急剧增加以及上层应用需求的不断提高,传统的大规模存储技术正面临着弹性扩展困难、存储硬件异构等挑战,而基于云计算的虚拟化存储为解决上述挑战提供了新的机遇。研究团队长期致力于虚拟存储环境关键技术与应用的相关研究,在弹性可伸缩存储架构和高效能聚合存储系统方面取得系列进展与突破,实现安全可靠的虚拟化存储服务,相关成果在“天河云存储服务”平台得到整合应用。

  当前,数据挖掘、图计算、机器学习等大数据应用飞速发展,数据资源规模呈现出爆发式增长态势,用户对存储资源的需求也时常出现大幅波动。应用需求的多样性以及大规模用户行为的不可预测性使得对存储系统任务规模变化的预测变得更为困难,应用的动态性和自治性则使存储系统中资源供给的不确定性和不平衡性表现得更为突出。传统存储系统架构已然无法适应新型大数据应用的弹性扩展需求。

  在大规模存储环境中往往同时存在着大量的异构存储资源,例如机械硬盘(HDD)、固态硬盘(SSD)、持久性内存以及传统内存等。这些异构存储资源彼此之间不但性能和成本的差异巨大,而且管理和使用的机制也各不相同。因此,如何根据上层应用的需求变化,按需在线聚合各种异构存储资源,实现高效能(高性能、低成本)的协同存储服务,保持系统服务容量、服务质量等关键能力的均衡性,已然成为传统存储系统难以应对的挑战。

  基于云计算的虚拟化存储可以实现存储容量的按需扩展,屏蔽底层存储硬件的性能差异,隔离不同应用的数据输入/输出(I/O)和各种软硬件失效,近年来已成为大数据应用的关键支撑技术,为突破弹性扩展困难、存储硬件异构等传统存储技术面临的困境提供了新的机遇。

  研究团队聚焦虚拟存储环境关键技术,开展长期研发和攻关。一方面,应用、用户和数据规模的剧烈变化要求底层存储系统能够按需在线增减存储资源,支持自适应的扩展和收缩。为此,团队研发了模块化存储系统拓扑维护方法、数据和存储资源的多维动态映射机制、存储敏感的大规模服务快速启动和迁移系统,以实现弹性可伸缩存储架构。另一方面,异构存储资源之间的巨大性能及成本差异要求底层存储系统可以根据上层应用的需求变化,按需在线聚合各种异构存储资源,实现高性能、低开销的协同存储服务。为此,团队针对大规模多级异构存储场景,研发了内存-SSD-HDD异构混合的分布式多副本存储、基于投机执行的纠删码-副本协同存储、DM-Cache自适应元数据维护方法、异构存储感知的图数据分区存储机制,以实现高效能聚合存储系统。

  弹性可伸缩存储架构

  ●模块化存储系统拓扑维护方法

  大规模存储系统需要将大量存储节点连接成一定的网络拓扑。Kautz图在给定节点度(即每个节点的连接数)的条件下具有理论最优的网络直径(即所有节点对上的最大距离)和容错特性。然而,传统的静态Kautz图无法支持存储系统拓扑的动态变化以及大数据存储的弹性伸缩需求。

  针对该问题,团队提出了一种基于Kautz图的模块化存储系统拓扑维护方法,并形成一种高性能高容错的模块化数据中心网络SCautz,如图1所示。该方法使用交换机将多个存储服务器连接成一个簇,在簇之间形成Kautz图拓扑,在降低系统整体成本的同时,实现了高带宽低延迟的数据I/O。分布式线图(Distributed Line Graphs, DLG)是团队提出的一种基于任意正则图来设计分布式哈希表(DHT)的通用技术。团队通过运用DLG技术,支持Kautz图拓扑的动态变化,实现模块化弹性存储系统,达到存储系统规模按需伸缩的目的。与目前主流的分布式存储系统拓扑架构FatTree相比,模块化存储系统的网络成本仅为FatTree的1/45,且容错性能还提高了3倍。

  ●数据和存储资源的多维动态映射机制

  数据到存储资源的高效映射是实现弹性可伸缩存储架构的关键。CRUSH(Controlled Replication Under Scalable Hashing)是目前广泛应用于Ceph等大型存储系统的分布式存储映射算法,通过将存储系统虚拟化为加权树,实现数据到存储资源的映射,支持自定义容错域、权重调整、伪随机负载均衡等特性。CRUSH使用逻辑集群映射(logical cluster map)来抽象存储集群的层次结构。图2展示的是一个三级存储层次结构:集群(根)由4个机柜构成,每个机柜由2个机架构成,每个机架下则有4个对象存储设备(OSD)。同时,图2也展示了CRUSH典型放置过程的一个示例:按照制定的放置规则(placement rule),先选择存储层次结构的根作为后续操作的输入,之后依次在根下选择3个机柜、在选中的机柜下分别选择1个机架、在选中的机架下分别选择1个OSD,最终得到被选中的3个OSD。

  即使以暂时的负载不平衡为代价,存储系统也通常会倾向于选择避免集群扩展后的数据迁移。然而,CRUSH在每次集群扩展后,都会将对象/OSD的新旧之别打破,导致大规模的数据迁移,进而引发严重的性能抖动。如图2所示,若在机柜cab4下添加1个新机架shf4_3(同样带有4个OSD),这将会对从新添机架到根这一支中各层次的权重(红色括号标出)产生影响,即数据不仅会从机柜cab4的其他机架移动到新添机架shf4_3,还会从其他机柜移动到机柜cab4。

  针对该问题,团队在CRUSH的基础上设计了MapX,这是一种基于多维映射的无迁移放置算法,在保留CRUSH的随机性和统一性等优点的同时,通过引入时间维度映射(从对象创建时间到集群扩展时间)来避免对象存储系统在扩展时的数据迁移。MapX将原始集群视为一个旧层,而将两种扩展情况分别视为一个新层,各层将分别以CRUSH根下的一个虚拟节点来表示,如图3所示。与CRUSH直接进行集群映射的整体更新不同,MapX可在进一步处理CRUSH之前,通过放置规则中新增的“select(1, layer)”操作,将新对象映射到新层,即通过新增的时间维度映射来区分对象/OSD的新与旧,由于新层不会影响旧层的权重,因此旧层中旧对象的放置也不会改变,从而实现无迁移扩展。此外,团队还在MapX中设计了放置组重映射(PG remapping)、集群收缩(cluster shrinking)、层合并(layer merging)等策略,以实现灵活动态的负载管理,解决潜在的负载不平衡问题。实验结果表明,在集群扩展时,MapX的尾部延迟(tail latency)性能较CRUSH提高了4.25倍,IOPS性能则提高了74.3%。MapX适用于块存储、文件存储等多种基于对象的存储场景,现已集成到当前主流的存储方案Ceph,总体来看,集群扩展时的I/O性能比原系统提高了一个数量级。

  ●存储敏感的大规模服务快速启动和迁移系统

  为实现弹性存储架构的按需扩展和收缩,系统必须要支持上层应用和服务实例的快速启动和动态迁移。一方面,团队设计实现了大规模大映像服务实例快速启动系统。针对大映像虚拟机/容器启动时间长的挑战,设计了基于动态标签的多层多根树逻辑拓扑,利用多层多根树的路径多样性,实现了基于对等网络(P2P)的映像按需传输和存储。另一方面,团队设计实现了存储敏感的云服务迁移和收缩机制。针对传统服务迁移方法的迁移抖动和调度低效等问题,基于历史统计数据提出了迁移时间数学模型,通过决策树等机器学习技术来分析有向无环图(DAG)依赖、预测资源需求,进行自适应实例迁移、存储资源整合、数据并行I/O作业资源预分配,解决了抖动和低效等问题。

  高效能聚合存储系统

  ●内存-SSD-HDD异构混合的分布式多副本存储

  大数据存储系统需要在降低存储成本的同时满足用户对延迟、每秒读写次数(IOPS)、吞吐率等I/O性能的需求。团队通过对异构资源存储机制的研究,提出了以高性能介质(如内存或SSD)作为主要存储、以低成本介质(如HDD)作为备份存储的高效能存储架构,采用异步日志作为主要存储和备份存储之间的桥梁;设计了延迟可控的区间索引机制,解决了日志和备份存储数据版本不一致的难题,比传统方法的索引性能提高两个数量级以上;设计了SSD缓存索引、转换层中间地址映射、存储条带化、乱序传输、并行I/O、路由与调度协同等机制,实现了异构混合的多副本存储系统,如图4所示,在降低存储成本的同时显著提升了I/O性能,并设计了多个副本的强一致性协议。该异构混合存储系统的性能比全SSD同构存储的Ceph系统略高,而成本仅为其1/3。

  ●基于投机执行的纠删码-副本协同存储

  多副本和纠删码(Erasure Code, EC)是存储系统中常用的数据可靠性方法。纠删码存储在数据持久性方面与多副本存储性能持平甚至更高,而在开销和成本方面优势明显,因此被云存储系统广泛采用。但是,纠删码方案的随机I/O性能较差,无法支持大规模高性能存储。值得注意的是,当前的纠删码方案无法为小写(small write)密集型工作负载模式提供高性能块存储,这是因为该模式需要执行频繁的部分写(partial write)操作。

  目前最先进的纠删码方案是一种采用校验日志(parity logging)的混合方案EC-PLog。该方案虽在一定程度上缓解了部分写速度慢的问题,但部分写性能仍显著低于多副本方案,这使得基于当前EC-PLog方案的块存储无法支持运行小写密集型应用的虚拟机。团队通过对纠删码底层机制的分析,发现其部分写性能不佳的根本原因在于:对于每次部分写,必须通过执行耗时低效的读后写(write-after-read)操作,读取最新数据值,然后计算并写入校验增量,该增量将在之后的日志重放(journal replay)中用于更新校验,如图5(a)所示。

  针对该问题,团队创新提出了一种基于投机执行的部分写方案PariX。该方案通过对纠删码算法进行变换,在校验计算中使用最新数据值与原始数据值之间的差值,解决了在纠删码存储系统中由读后写操作带来的性能下降问题。具体而言,对于每次部分写,数据服务器都会投机性地向校验服务器发送最新数据值,而不读取原始数据值,只有当校验服务器通过返回错误代码予以明确请求时,数据服务器才会读取原始数据值。这意味着,对于同一数据的若干次部分写,PariX只需在第1次以额外的网络往返时间(RTT)为代价完成写操作(投机失败),之后则全部仅需执行单纯的写操作(投机成功),如图5(b)所示。基于PariX,团队设计了一种可提供高性能虚拟磁盘服务的高效块存储系统PBS(PariX Block Storage),其不仅支持快速部分写,还实现了完全写(full write)、基于动态块索引的高效后台日志重放、快速故障恢复。进一步,团队实现了基于投机执行的纠删码-副本协同的高性能低开销聚合存储系统,I/O性能较基于EC-PLog方案的系统提高了38倍。

  ● DM-Cache自适应元数据维护方法

  Linux内核的Device Mapper机制支持将多个异构存储介质映射到一个虚拟存储设备,将小容量高速存储作为大容量低速存储的缓存(DM-Cache)。然而,为不影响正常I/O的缓存性能,DM-Cache采用异步方式更新缓存元数据,导致在发生失效时所有缓存(即高速存储设备)的数据都必须写回到低速存储设备。针对该问题,团队设计了基于自适应比特树(adaptive bit-tree)的DM-Cache元数据同步更新机制,利用数据I/O的局部性,使元数据中每一位可以代表一个连续存储空间(而非一个块)的状态,从而在支持快速数据恢复的同时不影响DM-Cache的正常I/O。与Linux内核DM-Cache相比,该机制在不影响正常I/O性能的前提下,失效恢复速度提高了160倍以上。

  ●异构存储感知的图数据分区存储机制

  超级计算机的多种存储硬件由多级网络进行连接,导致传统的分布式图存储方法在超级计算机上的存储效率较低,进而导致超大规模图计算的性能较差。针对该问题,团队提出了异构存储感知的图数据分区存储技术。该技术采用团队提出的虚拟拓扑重构(topology refactorization)机制,将超大规模图的拓扑结构和超级计算机的多级异构存储架构进行匹配,通过利用图的局部信息,以流水线方式对图顶点进行聚变操作(fusion)和裂变操作(fission),得到新拓扑图,以进行分区存储;进一步,提出了数据I/O和计算任务相结合的协同计算机制,实现了任务感知的存储-计算-传输的弹性调度。

  成果应用

  当前,团队多项研究成果已整合应用于国家超级计算天津中心新一代“天河云存储服务”平台,使天津中心实现了存储规模从百TB级到百PB级、I/O延迟从毫秒级到微秒级、IOPS从千级到百万级的巨大飞跃。“天河云存储服务”是国际领先的超算云存储平台,实现了计算密集型业务和数据密集型业务的有机融合,进一步拓展了天津中心的应用领域与服务能力,并已为资源勘探数据处理、生物医药研究、航空航天装备研制、卫星遥感数据处理、气象预报和气候研究、新材料和新能源研发、基础科学研究等数百个高性能计算用户提供了高效可信的存储服务,大幅提升了用户使用天河超级计算机的应用水平和创新能力,提高了存储资源利用率,为天津中心成为我国第一个同时提供云计算和存储服务的超级计算中心提供了有效支撑。

  在弹性可伸缩存储的实现上,“天河云存储服务”平台集成了团队创新研发的多项成果,例如:通过运用DLG技术,实现了超大规模存储系统的拓扑优化和模块化动态维护;针对传统数据映射算法CRUSH在扩展时的数据迁移问题,通过采用多维动态映射机制MapX,在避免大规模数据迁移的条件下实现了存储系统的按需自适应弹性扩展和收缩;针对大映像虚拟机启动时间长的问题,通过采用大规模虚拟机快速启动系统VirtMan,实现了存储敏感的大规模服务快速启动系统,启动上千个同构大映像服务实例的时间从60分钟缩短到2分钟以内。

  在高效能聚合存储的实现上,“天河云存储服务”平台集成了团队创新研发的多项成果,例如:面向超大规模异构存储资源,通过采用异构混合的分布式多副本存储技术Ursa,实现了内存-SSD-HDD多级协同的高效能存储,在存储总成本不变的条件下实现了I/O性能的显著提高;针对存储成本敏感的中低端用户,通过采用基于投机执行的纠删码-副本协同的块存储系统PBS,在国际上首次实现了支持高效随机I/O的低成本纠删码存储;针对Linux内核DM-Cache模块I/O性能和失效恢复速度难以兼顾的问题,通过采用基于I/O局部性的DM-Cache元数据同步更新机制MapperX,在支持快速数据恢复的同时不影响DM-Cache的正常I/O;针对超大规模图计算的需求,通过将包括图拓扑重构技术TopoX在内的异构存储感知的图数据分区存储机制应用于天河超级计算机新一代图计算系统TianheGraph,使其图计算性能提高了一个数量级,助力天河E级(百亿亿次)计算机关键技术验证系统在单源最短路径SSSP Graph500和大数据图计算效能BIG Data Green Graph500两项权威评测的最新榜单(2021年11月)中夺得世界第一,这也标志着天河超级计算机在数据密集型应用方面取得国际领先突破,对提升我国人工智能和大数据处理能力具有重要支撑作用。此外,成果应用也使平台实现了服务实例的本地隔离和网络I/O路径隔离,以及失效存储节点的秒级恢复。

  当前,团队通过构建弹性可伸缩的存储架构以及面向异构存储硬件的高效能‍聚合存储系统,实现了安全可靠的虚拟化存储服务,技术创新水平国际领先,成果服务于国家重要基础设施和商业云计算平台,经济和社会效益显著。未来,虚拟存储环境关键技术还可应用于专用大数据处理平台,用以支持复杂环境下的模块化容错存储及可靠I/O,支撑大型业务系统的快速部署启动和高效运行,保障国家重要行业和领域实现安全可靠的数据存储。

  专家简介

  张一鸣:现任厦门大学信息学院教授,长期从事系统软件和存储技术的研究及系统研发工作,相关成果曾获国家科学技术进步二等奖、湖南省自然科学一等奖、2021年度CCF科学技术奖科技进步卓越奖等,成果应用于天河超级计算机、阿里云等关键业务系统。

  尹路珈:现任国防科技大学系统工程学院助理研究员。

  李东升:现任国防科技大学计算机学院研究员。

  本文刊登于IEEE Spectrum中文版《科技纵览》2022年4月刊。

  责任编辑:张华

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:/news/2022711/n7468147253.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片