一种定向副本模式放置对象到异构存储系统的方法

一种定向副本模式放置对象到异构存储系统的方法

摘要: 数据副本是一种关键的技术,在分布式存储系统中更容易取得数据的可用性,稳定性以及优化性能。最近几年存储系统的发展,新的异构存储设备的不断更新,诸如具有不同异构的硬盘驱动,固态磁盘以及非易失性内存设备的混合,这种不同异构设备结合了不同设备的优点特性。然而,存在的数据放置方法没有更好的考虑存储设备的异构特性,这就容易引起次优特性。本文介绍一种新的数据副本方案命名定向模式直接副本方案(PRS)在异构设备的存储系统中取得高效的数据副本放置。不同于传统的数据副本复制方案,PRS选择备份数据对象,分布数据副本到不同的存储设备,是基于这些设备的不同特性。PRS主要原理是聚集这些具有I/O相关联的对象到对象组中,根据计算对象之间的距离来证明对象之间的关联性,根据确定的应用数据访问模式对分组的数据对象进行备份。此外,通过考虑存储设备的性能与容量特性,PRS使用伪随机算法优化数据副本放置。通过实验评估PRS,使用广泛的测试场景在分布式存储环境Sheepdog,它一个具有典型的对象存储系统。这个实验证明推荐的方法具有很高的效率在这个异构存储系统环境中。例如读性能比存在的方法提高了10倍等。

1. 引言
   把文件抽象为更多的数据对象存储在基于对象存储系统中的存储对象模型对于分布式数据中心存储系统变得更加重要(M. Mesnier, G. R. Ganger, and E. Riedel, “Object-based storage,” IEEE Commun. Mag., vol. 41, no. 8, pp. 84–90, Aug. 2003.)。这些对象存储被广泛应用到Lustre, Ceph, and Sheedog.等分布式存储系统。最近,对象异构存储系统充分利用新设备的特性,结合不同存储设备的特性优点。在另一方面副本放置也是一个关键的技术在取得数据的可用性,稳定性在存储系统中,主要原理是给予数据对象备份,然后把他们分布到更多的存储设备。随着副本复制,当一个数据副本不可用或者无法访问,数据能够从其他复制副本得到提取。
  虽然很多研究更加关注数据副本复制方案的设计与开发,但是数据副本对异构设备以及基于对象存储设备的研究却不多。由于异构设备的存储容量与性能的不同,基于异构设备的特性合理地放置数据副本是比较重要的研究。目前对于数据的存储在异构设备主要是按照异构设备的类型以及层次。这样的方式主要考虑的数异构设备的容量,而忽略了其他特性,诸如带宽。没有充分利用异构设备的优点。因此在本文,主要考虑数据复制策略考虑异构设备的特性(容量以及带宽)与数据的可靠性。
  当数据在存储系统复制,理解数据的访问模式是提高存储系统的有效的方式。当前的复制策略主要使用频率与顺序在存储系统异构存储。在存储系统中放置热而频繁访问的副本到快速的设备中,而处于冷,顺序访问的数据则放置在缓慢的存储设备。
   在本文,我们推荐一个新的复制方案,命名为模式定向复制策略(PRS)对于异构基于对象存储策略。 PRS分析应用访问模式,且根据数据访问模式分布副本,同时考虑异构设备的特性。PRS基于局部模式对对象进行分组,局部模式命名为时间相关性。全局模式命名为频率相关性,且合并这些对象并进行复制。创建一个新的对象副本,不仅减少了I/O的访问时间,而且对空间局部性更加受益。在一个对象组中,也需要考虑数据的访问序列,伪随机分布算法设计目的是优化数据副本布局,依据设备的带宽,保证数据在容量利用的平衡性。通过充分利用这些快速设备的潜力,数据访问以及副本复制在存储系统具有明显的提高。对于本文的设计完整的方法包括数据访问模式的分析,在访问模式下的目标对象的复制,以及模式定向复制的策略。目前的研究还没有使用数据对象的关联性放置副本到异构设备的特性。
  本文的研究具体的贡献如下:

  1. 推荐一个定向模式复制方案中通过理解数据访问模式在异构存储系统能够取得有效的数据分布
  2. 引入一个模式分析方法确认局部与全局的数据访问模式对于对象以及对象集群划分到对象组按照数据对象的I/O关联性。
  3. 设计一个数据复制算法按照相同的模式去分配对象组,且优化副本放置,通过伪随机算法,考虑不同的节点特性。
  4. 在分布式存储系统Sheepdog实现一个模式定向复制方案,实验结果证明PRS能够提高I/O性能,且有效地分布副本到异构设备。
    2. 背景与动机
    2.1 文件的分块以及数据对象
      为了满足I/O的分布式应用的需求,大规模集群对象需要依赖存储系统去管理数据。存储对象是存储设备上的字节的逻辑集合,需要适应合适的方法特性描述数据的特性以及其他需要考虑的问题比如安全策略。对象存储不向块存储,它能够存储整个数据结构,诸如文件,数据库表等。在对象存储系统文件被划分为固定大小的对象,且每个对象都是独立存储。图1展示了基于对象存储系统数据放置的例子。在这哥图中单个文件被划分为4MB的对象。对于每个对象,都有一个ID给予对应,分别命名为 o b j e c t 0 , o b j e c t 1 , o b j e c t 2 object0,object1,object2 object0,object1,object2 . 所有的对象以及他们的副本都被分布到不同的节点以及设备存储。
    2.2 副本在异构存储系统的管理
      复制技术是数据可靠性与容错性的关键技术。这是一个具有自动数据复制,且分布多个副本到存储系统。通过复制技术,如果需要提取的数据不可用或者损坏,则需要从其他复制副本中去获取数据副本。在并行分布式文件系统,复制技术将被使用提高并行性通过分销I/O任务负载到不同的节点。当放置副本时,存储系统为应用程序访问数据提供不同层次的保证。如果副本没有分配的更好,它将会引起节点的不平衡性,且减少系统效率。为了减少这些问题,我们推荐一个新的,异构的数据副本放置策略,通过考虑设备的特性容量以及性能去优化分布副本。
    2.3 副本在异构存储系统的管理
    在大规模存储系统中,不同的应用会产生不同的I/O负载,由于非均匀的数据访问。例如一些应用会频繁访问一些热数据在一段时间,然而其他的并不没有访问。如果热数据没有放置在快速访问的设备上,这将会影响复制技术的效率。另一方面,不同的数据访问模式,取决于访问的顺序以及请求大小这将会改变异构设备的性能。在本文的研究中,使用对象的关联性去探究数据访问的局部与全局模式,考虑到每种模式的访问顺序,且使用相同模式适应在异构存储系统的数据副本。
    3. 模式定向副本方案
    在这一节,介绍一个详细的模式定向复制策略对于异构的对象存储系统。PRS方案的成功依赖于解决两个技术问题:第一个问题就是分析对象的访问模式,从而指导数据副本复制。第二个问题优化副本布局在异构存储系统。具体的细节探讨如下:
    3.1 总体架构
      PRS的基本思想时考虑不同的存储设备的特性,然后采用模式定向的方法收集对象,根据对对象的相同的访问模式,其次对对象组进行复制,放置到异构存储系统。目的是提高数据的稳定性和给予存在的存储系统复制策略的性能效率。具体的原理描述如下:
      第一,如图2所示,运行在物理机或者虚拟机的应用程序发送I/O请求到对象存储系统。对象的默认的放置是第一第二个副本。然后使用哈希算法分配数据副本到分布式存储系统。数据初始地复制为两个副本对于冗余目标,以至于第一个副本换掉,还能继续访问第二个目标。
    Fig。2 . Overview
       第二,对于一个对象的剩余副本是由PRS模式分析创建。这些被创建的而副本能够获得很好的性能。数据访问模式分析是基于历史的对象I/O请求,这些请求是由I/O tracing collector收集器收集。且分析这个trace,主要关注对象的ID。对象的开始偏移量,访问的大小,访问的时间,以及操作代码。trace收集方式是在线收集。在分布式存储系统中,每个存储节点产生一个trace file,它包括节点接受和转发的所有请求。trace文件被应用于数据访问模式的分析以及对象的重组,以及节点的复制技术。
       PRS分析trace,确认数据访问的模式,对象分组是基于局部模式于全局模式。分析阶段一般执行在离线阶段,原因是trace分析是基于整个运行程序,而不是实时的运行程序。第二,分析结果可以在后台获得,并应用复制技术,因为PRS以异步方式生成新的分组对象副本,它对系统的性能影响忽略不计。
       查找数据访问模式和对象分组能够考虑被应用到同构的环境中。在异构环境中,使用优化的复制技术算法应用于数据的分布。,伴随着PRS复制技术,分到单个节点的原始的对象将复制到其他节点,不会影响数据的访问,因为PRS通过I/O重定向发现副本到新的优化数据布局。
       第三,伴随着相同的模式与PRS产生的副本,未来的数据访问会从这个方法中获得较好的益处。当一个对象被访问,并寻找到PRS产生的对象副本。一个读取策略会读取到PRS产生的对象副本,通过I/O重定向层,相继的读取的数据对象将被加载。与非PRS副本方案向比较,在不同的设备中,将会产生关联的对象副本,这表明PRS能够提高性能。
    3.2数据访问模式分析
    PRS方案目标是提供一个有效的数据副本复制策略在异构设备存储系统。我们研究了应用程序的trace,通过分析结果进行数据复制。
    3.2.1 访问模式定义
       局部访问模式,表示基于时间访问的关联性,它反映对象的时间访问顺序。I/O请求来自不同进程或者应用,这些请求将被转化为对底层存储节点的对象的请求。全局访问模式被定义为在应用运行时间内频繁访问的数据对象。
    在这里插入图片描述
    3.2.2 数据对象距离计算

   定义两种类型数据访问模式,具体探讨如下,PRS分析trace确认这些访问模式。具有相同访问模式的对象被分到同一组,然后进行复制。存在对象分组的两种分组方式分别为基于时间相关与基于访问频率,基于对象的分组原理是将对不同节点的对象请求转化为对单个节点对象的请求,这种是基于时间的局部分组,目的是减少I/O访问的时间避免增加网络通讯与磁盘I/O总体开销。第二个原因是,基于频繁访问的数据对象更偏向放置副本到固态磁盘中。把数据对象放置到固态磁盘,尽管能够提高数据的读取速度,但也产生了局部热点问题。解决局部热点方法包含两个方面。首先,数据副本分配策略将数据对象的副本从少数的节点复制到更多的节点上,根据伪随机算法。第二个方面,如果这个节点出现过载,就减少对某一个节点的读取频率。在分布式存储中,我们使用夫人对象距离计算两个对象以确认数据访问模式。然后使用对象分类算法分组对象基于对象之间的距离,避免分组的对象数量太大,限制对象的目标数量,会预先定义一个对象数量阈值。为应用程序收集的对象trace是按照时间序列的对象请求列表。PRS需要限制时间间隔去计算对象距离,因此需要定义一个时间窗口,这个窗口是连续访问持续的对象所经历的时间,最大阈值表示为 max ⁡ W i n d o w \max_Window maxWindow.
在这里插入图片描述
   如公式所示, c o u n t ( o 1 , o 2 ) count(o_1,o_2) count(o1,o2)是指两个对象共同访问的值, c o u n t ( o 1 ) count(o_1) count(o1), c o u n t ( o 2 ) count(o_2) count(o2)是指单独访问的值。假设这里在设定的时间窗内,共同访问对象1与对象2 的 c o u n t ( o 1 , o 2 ) count(o_1,o_2) count(o1,o2)值为3. 在其他时间区域(不在时间窗内)访问的对象1是1次,对象2是2次,即 c o u n t ( o 1 ) = 4 count(o_1)=4 count(o1)=4 c o u n t ( o 2 ) = 5 count(o_2)=5 count(o2)=5。代入等式(1)中可知 d i s t ( o 1 , o 2 ) = 1 − M i n ( 0.75 , 0.6 ) = 0.4 dist(o_1,o_2)=1-Min(0.75, 0.6)=0.4 dist(o1,o2)=1Min(0.75,0.6)=0.4.如果对象1与对象2访问的频次越多,说明对象1,2之间的距离越低,证明两者之间的相关性就越低。
   不同于局部模式,我们考虑到全局模式的数据访问频率去寻找到对象。
在这里插入图片描述
对于全局访问模式,两个对象之间的距离是根据这两个对象各自的访问频率计算,如等式(2)所示,两个对象访问的越频繁,两者之间的距离越小。例如对象1与对象2具有各自的值分别为55,45.则它们之间距离 d i s t ( o 1 , o 2 ) = 0.1 dist(o_1,o_2)=0.1 dist(o1,o2)=0.1. 由于访问频率的相似性,这两者之间的具有很紧密的关联性。然而,如果两个对象之间的差异性更大说明两者之间的紧密型就更低。
3.2.3 对象聚集算法
   利用等式计算对象之间的距离,然后利用对象聚集算法根据距离公式将对象分配到不同的组。对象的分组顺序是首先根据对象的访问频率分配基于全局模式的对象组,然后在根据阈值确定局部模式的对象组。
3.3对于访问模式的对象复制
   具有相同组的对象通过对象聚类算法被分配到新的数据组,然后进行复制。
在这里插入图片描述
图4是基于局部模式的对象分组,对象组副本1包含4个对象,且ID是不一样的,通过聚类算法将这4个对象分配到同一个组中。然后将该对象组进行复制到存储原始对象的本地文件系统的专用目录中。
在这里插入图片描述
   从图5可以看出,具有三个对象组副本,且每个副本包含多个对象,且这些对象具有相同的全局模式。当对象被分配到新的对象组,重组的方式也是随机序列重组。且每个对象的指标被记录到重新定向表中。
3.4 模式定向副本策略
   按照局部模式或者全局模式产生的对象副本时,根据不同的设备特性如何放置副本是很重要的问题。为了解决这个问题,采用异构设备感知数据复制策略。创新点包括考虑的设备容量与数据分布的带宽,且放置的具有相同访问模式的对象组副本到不同的设备。具体的说,采用为随机算法优化副本布局到异构环境中。
3.4.1 局部模式与全局模式的访问序列
   上述已经描述了如何对数据对象按照局部或者全局模式进行分组。为了确定对象组放置到设备中,需要考虑对象组中的数据访问序列,由于不同的I/O负载会影响设备的特性。
在这里插入图片描述
   图6已经展示出I/O性能在HDD与SDD上的比较i,测试基准FIO函数在一个节点的文件系统,从图中可以观察出,SSD支持具有随机而且小的I/O大小负载。测试结果展现出访问顺序在数据访问中具有重要的影响。为了探索访问序列,我们进一步分析一个对象组中对象的访问大小,如果每个对象块少于设置的阈值,例如为128kb,对象组被却认为是随机而小块的访问,因为所有数据的访问都是分散而且小块的访问。对象组应该放置在SSD上,因为SSD比HDD获得性能较高。相反,具有大块访问的对象被放置在HDDs,因为超过阈值的SSD与HDD差异不大。同样的,对于全局模式的访问,具有随机而且小块访问也放置在SSDs上。大块而且有序的访问放置在HDDs上。
在这里插入图片描述

3.4.2 优化数据分布到异构存储系统
   在本节,设计优化副本放置算法在异构存储系统,考虑对象访问模式与设备特性。采用伪随机算法分布对象组到异构环境中。PRS的思想是组织异构节点,且分配这些节点到不同的逻辑段。每个节点都被划分为一个或者两个段,根据平均带宽处于带宽的性能参数。
在这里插入图片描述
在这里插入图片描述
选择伪随机算法映射,是因为它能分配数据按照比例到不同的片段。为了进一步优化副本房主算法,数据访问序列考虑分布数据到异构节点。对于具有随机而小块的对象组,如果通过伪随机算法分配到HDDs, 新的随机数将持续产生,直到对象被映射到SSDs。匹配函数意味着映射对象组到节点的过程。

3.5 对象重定向
典型的数据访问请求包含三个参数分别为:对象ID,数据偏移量,请求大小。伴随着这些参数和访问模式,对象重定向表被构建转换数据访问从一个对象到它的副本。
在这里插入图片描述
重定向表的映射一旦对象被形成副本,将不被修改。对于对象的读写操作,PRS将首先搜索在重定向表中的对象。对于重定向表的搜索采用二进制搜索数对数据结构的管理。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值