一种基于凸优化方法的分布式文件系统数据放置方法技术方案

技术编号:24409643 阅读:23 留言:0更新日期:2020-06-06 08:37
本发明专利技术提出了一种基于凸优化方法的分布式文件系统数据放置方法。包括如下步骤:步骤一:在支持纠删码的分布式文件系统集群上,获取存储集群各节点的历史读取时延信息,计算相关的统计量,作为凸优化问题中的参数;步骤二:构建基于M/G/1队列的文件读取时延上限模型,并利用基于凸优化问题的求解方法求得最优解;步骤三:基于求得的最优解计算出文件放置策略;本发明专利技术针对目前分布式文件系统过于原始的读写分布策略带来的读取时延过高以及负载不均衡问题,提出了基于凸优化方法的数据放置方法,优化数据文件在集群节点内的分布以及读取请求的分布,达到优化所有文件平均读取时延的效果。

A data placement method of distributed file system based on convex optimization

【技术实现步骤摘要】
一种基于凸优化方法的分布式文件系统数据放置方法
本专利技术涉及分布式文件系统和数据存储领域,具体的涉及一种基于凸优化方法的分布式文件系统数据放置方法。
技术介绍
据IDC发布最新版的白皮书《DataAge2025》所述,2018年全球数据总量达33ZB,到2025年则将达到175ZB,毫无疑问我们正处在一个数据爆炸的时代。面对激增的数据量,传统的数据存储和处理方式已然力不从心。而从2003年谷歌分布式文件系统GFS论文发表以来,涌现了一大批分布式文件系统,如HDFS、Ceph、Alluxio等,为大数据的存取问题提供了解决方案。数据冗余是分布式文件系统的一个重要特性,保证在存储节点故障的情况下不会造成数据永久性丢失,常用的数据冗余技术是多备份技术和纠删码技术。纠删码技术是成熟的数据冗余技术,近年来在分布式文件系统中得到了广泛的青睐。相比传统的多备份技术,可以在保证相同可靠性的情况下,大幅缩小存储空间占用。纠删码的一个非常优良的特性是,在所有的数据分块中,只要得到与原块数目一致的任意文件分块组合,就可以恢复原数据。该特性不仅可以提供高可靠性的数据冗余,同时也具有加速数据访问的潜力。最优化理论是运筹学的重要分支,在自然科学、社会科学、工程实践中都有重要应用。一般来讲,会把一个实际问题建模为最优化问题并求解,来达到收益最大化或是风险最小化。而如果能够证明一个最优化问题是凸优化问题或与凸优化问题等价,则一定可以得到全局最优解。排队论是研究系统随机聚散现象和随机服务系统工作过程的数学理论和方法,也是运筹学的一个重要分支。当前的数据放置策略,主要存在以下问题:在使用纠删码的分布式文件系统中,当客户端得到了需要的数据块后,并不能直接使用,还需要进行解码操作。但是,现有的研究工作往往没有对解码时延进行细致分析,或是直接忽略了这一部分的时延。另外,工作的开展往往基于理想条件,对掉队者的影响考虑不足。
技术实现思路
为了解决以上问题,本专利技术通过将读取时延和解码时延分别建模,在对读取时延进行更准确估计的同时,也细致分析了解码操作带来的延迟。另外,本专利技术中生成的读取策略也针对掉队者的情况进行了优化。本专利技术将存储节点抽象为的M/G/1队列模型,即服务时间分布是一般的,顾客相继到达时间为负指数分布,单服务台的情形。本专利技术提供了一种基于凸优化方法的分布式文件系统数据放置方法,包括如下步骤:步骤一:在支持纠删码的分布式文件系统集群上,获取存储集群各节点的历史读取时延信息,计算相关的统计量,作为凸优化问题中的参数;步骤二:构建基于M/G/1队列的文件读取时延上限模型,并利用基于凸优化问题的求解方法求得最优解;步骤三:基于求得的最优解计算出文件放置策略;所述步骤一包括以下步骤:步骤(1.1)获取各节点的传输时延和各文件相关信息;在集群中执行读取文件操作若干次,在每个节点记录读取单个文件分块的时延,所述的文件相关信息包括文件块的传输时延、解码时延、文件读取频率;步骤(1.2)计算相关统计量;计算每个节点传输时间的均值、方差、节点j的总请求量、二阶原点矩、三阶原点矩;j为节点序号;传输时间是从某文件块开始响应请求到传输完成的时间;所步骤二包括以下步骤:步骤(2.1)构建传输时延上限模型;根据排队论中的M/G/1队列模型,构建传输时延上限模型;步骤(2.2)构建解码时延模型;根据解码时延的影响因素,包括参与解码的冗余块数目、当前读写代理负载程度、文件分块大小,构建解码时延模型;步骤(2.3)建立凸优化问题;上述传输时延上限模型、解码时延模型两个模型之和代表总读取时延,以此为目标函数,加入实际问题中附带的约束条件,并对约束条件加入冗余读的处理,建立起一个凸优化问题;步骤(2.4)求解凸优化问题;以最小化目标函数为目标,利用基于梯度下降的求解方法,求解出读取概率p和辅助变量z;步骤(2.5)得到凸优化问题的最优解;步骤三包括以下步骤:步骤(3.1)计算数据分布;如果某个文件在某个节点上的读取概率为大于预定阈值的正值,则该节点上应该放置一个该文件的数据块以备读取;按此原则计算出各文件的数据块在各节点间的分布;步骤(3.2)计算读取策略并修正读取偏差;读取概率p无法直接用于指导文件的写入分布和读取请求分布,因此要经过转化变为实际的读取请求,即对于每个文件的每次读取,按照读取概率决定读取请求在存储节点间的分布;读取概率决定读取请求的数目,对于由于概率涨落导致读请求的数目不符合实际需要的请求数的情况,即比原块的数目多1,增加1个冗余请求,避免掉队者拖慢整个文件读取过程;对读取请求的数目进行修正以满足实际需求;步骤(3.3)按照策略读写文件;最后按照生成的策略对文件进行读写操作。进一步的,所述步骤(1.2)计算统计量如下:每个节点传输时间的均值E[Xj]、方差节点j的总请求量Λj、二阶原点矩、三阶原点矩Γ3;并用μj表示节点j的服务速率,ρj代表请求强度;ρj=Λjμj其中Xj为传输时延,包括io和网络时延,Di为解码时延,λi为文件访问率。进一步的,所述步骤(2.1)中,构建基于M/G/1队列的文件平均传输时延上限模型如下:用Qj代表在节点j上读取文件分块的总传输时延,包括在队列中等待时间和实际传输时间;用Pi,j,k代表在节点j上对文件i发出读取请求的概率,其中k=1代表请求的是原始文件分块,k=2代表请求的是冗余块;其中i代表文件序号,j代表节点序号,k代表分块类别,m代表文件总数,n代表节点总数;所有文件的加权平均传输时延上限如下:其中每个文件的平均传输时延上限如下:其中zi为一辅助变量,用于调节时延上限的紧度;P为一3阶张量,表示对文件i在节点j上请求一个原块或冗余块的概率;另外和的形式如下:该模型描述了该系统中文件的平均传输时延的上限。进一步的,步骤(2.2)构建的解码时延模型如下:利用冗余块数目与解码时延的线性相关关系,建立数学模型来估计解码时延Ti;其形式如下:解码时间与读写代理负载情况正相关;与文件块大小正相关;与参与解码的冗余块数正相关;对于文件i,其中缓存区中的ri,Cached块冗余块相当于已经在本地,因此一定会参与解码,其他该文件的冗余块则按相应读取概率参与解码;式中η为比例因子,S为文件大小,ki和ri分别为文件i的原块和冗余块数量;m代表文件总数,n代表节点总数;其中根据缓存区存放块的种类,ri,Cached写成如下两种形式,存放冗余块时,存放原块时,ri,Cached=0为了最小化解码时延,选用第二种形式。因此,解码时延玩为,进一步的,步骤(2.3)以最小化平均读取时延本文档来自技高网
...

【技术保护点】
1.一种基于凸优化方法的分布式文件系统数据放置方法,其特征在于,包括如下步骤:/n步骤一:在支持纠删码的分布式文件系统集群上,获取存储集群各节点的历史读取时延信息,计算相关的统计量,作为凸优化问题中的参数;/n步骤二:构建基于M/G/1队列的文件读取时延上限模型,并利用基于凸优化问题的求解方法求得最优解;/n步骤三:基于求得的最优解计算出文件放置策略;/n所述步骤一包括以下步骤:/n步骤(1.1)获取各节点的传输时延和各文件相关信息;/n在集群中执行读取文件操作若干次,在每个节点记录读取单个文件分块的时延,所述的文件相关信息包括文件块的传输时延、解码时延、文件读取频率;/n步骤(1.2)计算相关统计量;/n计算每个节点传输时间的均值、方差、节点j的总请求量、二阶原点矩、三阶原点矩;j为节点序号;传输时间是从某文件块开始响应请求到传输完成的时间;/n所步骤二包括以下步骤:/n步骤(2.1)构建传输时延上限模型;/n根据排队论中的M/G/1队列模型,构建传输时延上限模型;/n步骤(2.2)构建解码时延模型;/n根据解码时延的影响因素,包括参与解码的冗余块数目、当前读写代理负载程度、文件分块大小,构建解码时延模型;/n步骤(2.3)建立凸优化问题;/n上述传输时延上限模型、解码时延模型两个模型之和代表总读取时延,以此为目标函数,加入实际问题中附带的约束条件,并对约束条件加入冗余读的处理,建立起一个凸优化问题;/n步骤(2.4)求解凸优化问题;/n以最小化目标函数为目标,利用基于梯度下降的求解方法,求解出读取概率p和辅助变量z;/n步骤(2.5)得到凸优化问题的最优解;/n步骤三包括以下步骤:/n步骤(3.1)计算数据分布;/n如果某个文件在某个节点上的读取概率为大于预定阈值的正值,则该节点上应该放置一个该文件的数据块以备读取;按此原则计算出各文件的数据块在各节点间的分布;/n步骤(3.2)计算读取策略并修正读取偏差;/n读取概率p无法直接用于指导文件的写入分布和读取请求分布,因此要经过转化变为实际的读取请求,即对于每个文件的每次读取,按照读取概率决定读取请求在存储节点间的分布;读取概率决定读取请求的数目,对于由于概率涨落导致读请求的数目不符合实际需要的请求数的情况,即比原块的数目多1,增加1个冗余请求,避免掉队者拖慢整个文件读取过程;对读取请求的数目进行修正以满足实际需求;/n步骤(3.3)按照策略读写文件;/n最后按照生成的策略对文件进行读写操作。/n...

【技术特征摘要】
1.一种基于凸优化方法的分布式文件系统数据放置方法,其特征在于,包括如下步骤:
步骤一:在支持纠删码的分布式文件系统集群上,获取存储集群各节点的历史读取时延信息,计算相关的统计量,作为凸优化问题中的参数;
步骤二:构建基于M/G/1队列的文件读取时延上限模型,并利用基于凸优化问题的求解方法求得最优解;
步骤三:基于求得的最优解计算出文件放置策略;
所述步骤一包括以下步骤:
步骤(1.1)获取各节点的传输时延和各文件相关信息;
在集群中执行读取文件操作若干次,在每个节点记录读取单个文件分块的时延,所述的文件相关信息包括文件块的传输时延、解码时延、文件读取频率;
步骤(1.2)计算相关统计量;
计算每个节点传输时间的均值、方差、节点j的总请求量、二阶原点矩、三阶原点矩;j为节点序号;传输时间是从某文件块开始响应请求到传输完成的时间;
所步骤二包括以下步骤:
步骤(2.1)构建传输时延上限模型;
根据排队论中的M/G/1队列模型,构建传输时延上限模型;
步骤(2.2)构建解码时延模型;
根据解码时延的影响因素,包括参与解码的冗余块数目、当前读写代理负载程度、文件分块大小,构建解码时延模型;
步骤(2.3)建立凸优化问题;
上述传输时延上限模型、解码时延模型两个模型之和代表总读取时延,以此为目标函数,加入实际问题中附带的约束条件,并对约束条件加入冗余读的处理,建立起一个凸优化问题;
步骤(2.4)求解凸优化问题;
以最小化目标函数为目标,利用基于梯度下降的求解方法,求解出读取概率p和辅助变量z;
步骤(2.5)得到凸优化问题的最优解;
步骤三包括以下步骤:
步骤(3.1)计算数据分布;
如果某个文件在某个节点上的读取概率为大于预定阈值的正值,则该节点上应该放置一个该文件的数据块以备读取;按此原则计算出各文件的数据块在各节点间的分布;
步骤(3.2)计算读取策略并修正读取偏差;
读取概率p无法直接用于指导文件的写入分布和读取请求分布,因此要经过转化变为实际的读取请求,即对于每个文件的每次读取,按照读取概率决定读取请求在存储节点间的分布;读取概率决定读取请求的数目,对于由于概率涨落导致读请求的数目不符合实际需要的请求数的情况,即比原块的数目多1,增加1个冗余请求,避免掉队者拖慢整个文件读取过程;对读取请求的数目进行修正以满足实际需求;
步骤(3.3)按照策略读写文件;
最后按照生成的策略对文件进行读写操作。


2.根据权利要求1所述的基于凸优化方法的分布式文件系统数据放置方法,其特征在于:
所述步骤(1.2)计算统计量如下:
每个节点传输时间的均值E[Xj]、方差节点j的总请求量Λj、二阶原点矩、三阶原点矩Γ3;并用μj表示节点j的服务速率,ρj代表请求强度;









ρj=Λjμj




其中Xj为传输时延,包括io和网络时延,Di为解码时延,λi为文件访问率。


3.根据权利要求1所述的基于凸优化方法的分布式文件系统数据放置方法,其特征在于:
所述步骤(2.1)中,构建基于M/G/1队列的文件平均传输时延上限模型如下:
用Qj代表在节点j上读取文件分块的总传输时延,包括在队列中等待时间和实际传输时间;用Pi,j,k代表在节点j上对文件i发出读取请求的概率,其中k=1代表请求的是原始文件分块,k=2代表请求的是冗余块;其中i代表文件序号,j代表节点序号,k代表分块类别,m代表文件总数,n代表节点总数;
所有文件的加权平均传输时延上限如下:



其中每个文件的平均传输时延上限如下:



其中zi为一辅助变量,用于调节时延上限的紧度;P为一3阶张量,表示对文件i在节点j上请...

【专利技术属性】
技术研发人员:杨海龙吴树涵李云春
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1