基于Multi-Paxos分组的自适应一致性协议优化方法与流程

文档序号:18451256发布日期:2019-08-17 01:17阅读:232来源:国知局
基于Multi-Paxos分组的自适应一致性协议优化方法与流程

本发明涉及分布式存储,尤其涉及一种基于multi-paxos分组的自适应一致性协议优化方法。



背景技术:

跨地域的广域分布式存储系统正成为社交网络、电子商务等大规模应用的首选平台。此类存储系统通常将数据在多个数据中心之间复制存储,客户端可以在本地请求来自最近数据中心内的数据并获得快速的响应[1]。更重要的是,通过在不同地理区域中冗余复制可以在全球范围内实现数据持久化、容错和容灾等功能。具体实例有google’scloudspanner[2]、azure’scosmosdb[3]等。

伴随着数据复制产生的一个重大问题是如何保证各数据中心副本的数据一致性[4][5]。数据一致性问题在分布式系统已经得到了广泛的研究,并且有许多不同水平的一致性保证如强一致性[6]、最终一致性[7]等已经被提出。最初,系统的复制服务只能选择一种一致性水平,若选择强一致性就必须忍受影响用户体验的高时延,若选择最终一致性就必须承受数据不一致的惩罚。随着应用类型的增加,系统不再满足于单一的一致性水平。因此,像cassandra和dynamo这样的存储服务都开始为用户提供多种一致性水平以供选择。更进一步的,学者们将一致性水平连续化成0-100%而不再是只有几个选择,并对实现系统根据应用的不同自适应的选择最佳一致性水平,进行了大量的研究[10]。

在[8]中,harmany通过收集存储系统相关信息并计算过期读取操作的比率来定义应用程序的一致性级别。在[9]中,pileus使用数值误差,排序误差和到期作为指标来自适应地选择一致性水平,并选择延迟更新传播方法来同步dc。在[10]中,提出了概率cap(pcap)来实时自适应地调整一致性并改变网络状况。作者尽可能地提高一致性以满足延迟要求,同时减少延迟以满足一致性要求。在[11]中,作者引入了概率模型来捕获工作负载,网络延迟和客户端观察到的一致性之间的关系。然后,他们基于测量和数学建模实现权衡结果。

然而,在带宽受限的大环境下,现有的自适应一致性方案无论选择何种一致性水平,所依赖的协议都是将请求内容发送给全部的数据中心[12],在传输能力不足的情况下,即便较低的一致性水平都存在较高的时延。同时,现有方案中没有考虑数据中心间的差异性,只要已同步的数据中心数量达到所需一致性的要求就认为执行完成。

广域分布式存储系统依赖数据复制实现系统的可靠性,数据复制存在的一个主要挑战是数据一致性。随着应用种类的增加,系统的数据一致性水平已由传统的强一致和最终一致性等单一的一致性水平发展到能够根据应用的不同自适应的选择最佳一致性水平。但是,现有的自适应一致性方案大多基于传统的数据一致性协议,在带宽受限的情况下不考虑数据中心的多样性,时延高、用户体验差。然而,现有的自适应一致性方案主要依赖于传统的最终一致性协议,例如multi-paxos,同时他们很少考虑dc(datacenter)的多样性,这导致高延迟和低吞吐量。

因此,如何提供一种新的自适应一致性方案,以减少延迟并提高吞吐量是本领域技术人员所亟待解决的技术问题。

参考文献如下:

[1]z.huetal.,theneedforend-to-endevaluationofcloudavailability.inpassiveandactivemeasurement.15thinternationalconference,pam2014,losangeles,ca,usa,mar.2014,pp.11930.

[2]d.f.baconetal.,spanner:becomingasqlsystem,inproceedingsofthe2017acminternationalconferenceonmanagementofdata,chicago,illinois,usa,may2017,pp.331343.

[3]r.ramakrishnanetal.,azuredatalakestore:ahyperscaledistributedfileserviceforbigdataanalytics,inproceedingsofthe2017acminternationalconferenceonmanagementofdata,chicago,illinois,usa,may2017,pp.5163.

[4]d.d.akkoorath,v.fordos,anda.bieniusa,observingtheconsistencyofdistributedsystems,inproceedingsofthe15thinternationalworkshoponerlang,nara,japan,sept.2016,pp.5455.[5]z.wu,e.wijaya,m.uluyol,andh.v.madhyastha,bolt-onglobalconsistencyforthecloud,inproceedingsoftheacmsymposiumoncloudcomputing,seattle,wa,usa,oct.2018,pp.5567.

[6]z.wu,e.wijaya,m.uluyol,andh.v.madhyastha,bolt-onglobalconsistencyforthecloud,inproceedingsoftheacmsymposiumoncloudcomputing,seattle,wa,usa,oct.2018,pp.5567.

[7]w.vogels,eventuallyconsistent,queue,vol.6,no.6,pp.1419,oct.2008.

[8]h.chihoub,s.ibrahim,g.antoniu,andm.s.prez,harmony:towardsautomatedself-adaptiveconsistencyincloudstorage,inproceedingsofthe2012ieeeinternationalconferenceonclustercomputing,washington,dc,usa,sept.2012,pp.293301.

[9]d.terry,v.prabhakaran,r.kotla,m.balakrishnan,aguilera,andm.k.,transactionswithconsistencychoicesongeoreplicatedcloudstorage,tech.rep.,sept.2013.[online].available:https://www.microsoft.com/en-us/research/publication/transactions-with-consistency-choices-on-geo-replicated-cloud-storage.

[10]m.r.rahman,l.tseng,s.nguyen,i.gupta,andn.vaidya,characterizingandadaptingtheconsistency-latencytradeoffindistributedkey-valuestores,acmtrans.auton.adapt.syst.,vol.11,no.4,pp.136,jan.2017.

[11]m.r.rahman,l.tseng,s.nguyen,i.gupta,andn.vaidya,characterizingandadaptingtheconsistency-latencytradeoffindistributedkey-valuestores,acmtrans.auton.adapt.syst.,vol.11,no.4,pp.136,jan.2017.

[12]l.lamport,paxosmadesimple,acmsigactnews,vol.32,no.4,pp.1825,2001.



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种基于multi-paxos分组的自适应一致性协议优化方法。

本发明提供了一种基于multi-paxos分组的自适应一致性协议优化方法,将数据中心划分为主分组和辅助分组,当客户端发送一个请求到一个数据中心时,只先将客户端的请求内容发送给主分组的数据中心。

作为本发明的进一步改进,在主分组的数据中心完成同步后认为请求执行完成,再在带宽空闲期,将请求内容发送给辅助分组的数据中心。

作为本发明的进一步改进,根据数据中心副本一致性程度、相关性程度和传输平均时延三个指标动态规划主分组,通过构建优化函数设计分组算法求解出唯一最佳主分组,实现自适应一致性。

作为本发明的进一步改进,数据中心副本一致性程度、相关性程度和传输平均时延三个指标具体定义如下:

定义1:假设单个数据中心到其他数据中心的传输时延分别为t1、t2、……tn-1、,定义单个数据中心的平均时延t为该数据中心到其他数据中心传输时延总和与总数据中心个数n的比值;

传输时延越小,系统响应时间越短,可用性越好;

定义2:定义单个数据中心的一致性程度s为已处理的请求数qcomplete与客户端总请求数qsum的比值;

一致性程度高则该数据中心未实现同步的请求较少,新的请求能较快

的得到执行;

定义3:定义单个数据中心的相关性程度r为一段时间内访问该数据中心的访问量vdb与总访问量vsum的比值;

相关性程度高,则系统的可靠性高。

作为本发明的进一步改进,每一个数据中心均有数据中心副本一致性程度、相关性程度和传输平均时延三个指标,将这三个指标与一个公式结合得到效率指标,效率指标定义如下:

定义4:定义单个数据中心的分组效率指标e为本数据中心的相关性程度和传输时延与等待时延的比值;

其中,β为系统参数,用效率指标评判数据中心成为主分组的优先程度及该数据中心在集群里所占的权重,即决策权的大小;

定义主分组中数据中心的效率指标总和必须大于所有数据中心总和的一半,以确保同时没有两个主分组,要求主分组的数量不超过所有数据中心数量的一半,可以减少请求的响应时间,由于数据中心的效率指标不同,因此,可以保证即使主分组的数量小于所有数据中心的数量的一半,效率指标的总和仍然可以超过所有数据中心的总和的一半,并且可以保证主分组的唯一性;

根据上述要求,得到多个符合条件的集合,因此,构建一个优化目标函数,通过权衡效率指标和主要群体的数量,找到满足高效率指标的最佳主分组,并且主分组的数量要尽可能小,优化目标函数如下。

s.t.e·j≥e’

这里,e是各数据中心效率指标e组成的向量,表示为:

e=[e1,e2,…en]

j是反映各数据中心是否属于主分组的向量,表示为:

j=[j1,j2,…jn],其中ji∈[0,1],i=0,1,…n,

其中1表示该数据中心处于主分组内,0表示该数据中心处于主分组外;pc是指系统中该请求已完成同步的数据中心与全部数据中心的百分比,表示为:

其中,∝为系统参数,e’是约束条件,代表全部数据中心效率指标总和的一半,选择的主分组必须满足超过此阈值才能代表多数派,保证两个分组的最终一致;ec具体表现形式:

将e·j-pc定义为效率函数f,通过找到满足约束条件的向量中,满足效率函数f最大的向量j作为主分组。

作为本发明的进一步改进,所述分组算法包括:当客户端向系统提出请求时,首先求出系统中各数据中心的效率指标ei,得到向量e和阈值e’,通过遍历所有的j可能存在的形式,找到满足能代表多数派前提下实现效率函数f最高的j向量,从该j向量就可得知具体主分组由哪些数据中心组成。

本发明的有益效果是:提供了一种基于multi-paxos分组的自适应一致性协议优化方法,减少了延迟并提高了吞吐量。

附图说明

图1是本发明一种基于multi-paxos分组的自适应一致性协议优化方法的分组示意图。

图2是本发明一种基于multi-paxos分组的自适应一致性协议优化方法的系统内部示意图。

图3是本发明一种基于multi-paxos分组的自适应一致性协议优化方法的流程图。

图4是gm-paoxs与multi-paxos的平均时延对比图。

图5是gm-paoxs与multi-paxos的吞吐量对比图。

具体实施方式

下面结合附图说明及具体实施方式对本发明作进一步说明。

如图1所示,广域网下分布n个数据中心(dc),每个数据中心都给若干客户端提供服务。当客户端发送一个请求到一个数据中心时,传统的multi-paxos协议要求该数据中心将请求内容发送给其他全部数据中心,且当半数以上数据中心回复后认为请求执行完成。在带宽受限的情况将很快达到带宽上限,系统性能较差。因此,本发明提供了一种基于multi-paxos分组的自适应一致性协议groupingmulti-paxos(gm-paxos)优化方法,考虑在数据中心接收到客户端请求后,只先将请求内容发送给部分数据中心,且在这些数据中心完成同步后认为请求执行完成。在带宽允许的情况下再将请求内容发送给其他数据中心。本发明将这些数据中心归为主分组,其他数据中心归为辅助分组。如何选择主分组内的的数据中心是一个重点,且主分组数据中心的个数决定了该请求的一致性水平。

因为数据中心分布在各地,处理请求的能力,通信的环境等都有所不同,因此我们认为数据中心是有差异性的,我们可以通过数据中心的差异性来选择主分组。在数据复制的过程中,时延是直接影响用户体验的,因此最受关注。不同的数据中心距离不同,通信质量不同,传输时延就会不同。我们可以选择传输时延作为一个指标。数据中心的处理能力也十分重要,未处理请求越多,则排队执行请求的时间就越长,数据中心的一致性程度越低。因此,我们将一致性程度作为一个指标。同时,数据中心对于不同的请求内容敏感度不同,部分数据中心对该数据的实时性要求高,访问量大,那么需要考虑优先同步这些数据中心,保证系统的可靠性。所以我们将相关程度也作为一个指标。综上所述,我们选择传输时延、数据中心一致性程度和相关程度作为选择主分组的三个指标,具体定义如下:

定义1:假设单个数据中心到其他数据中心的传输时延分别为t1、t2、……tn-1、,定义单个数据中心的平均时延t为该数据中心到其他数据中心传输时延总和与总数据中心个数n的比值;

传输时延越小,系统响应时间越短,可用性越好;

定义2:定义单个数据中心的一致性程度s为已处理的请求数qcomplete与客户端总请求数qsum的比值;

一致性程度高则该数据中心未实现同步的请求较少,新的请求能较快的得到执行;

定义3:定义单个数据中心的相关性程度r为一段时间内访问该数据中心的访问量vdb与总访问量vsum的比值;

相关性程度高,则系统的可靠性高。

系统的内部结构如图2所示。不同的dc具有不同的特性。就一致性程度而言,阴影部分表示已处理的交易,而白色部分表示未处理的交易。阴影部分的比例越大,导致稠度程度越高。相关度r由连接到dc的客户端的数量表示。如果客户端数量很大,则相关度很高。平均传输延迟t直接由两个dc之间的距离表示,并且如果一个dc远离大多数dc,则它的延迟很大。根据这三个指标,我们可以选择几个具有高一致性,高相关度和低平均传输延迟的dc作为主要组,这将提高一致性水平和可用性。需要注意的是,主要群体必须能够代表多数人,以保证决策的唯一性。

gm-paxos的系统流程图如图3所示,系统中分配了7个dc,命名为a到g。

整个系统流程大致如图3:客户端发送请求到最近的数据中心g,数据中心先从管理者d处获得最新的各个指标数值,通过计算得到主分组由b、c组成,g将请求发送给主分组内的数据中心,在收到b和c反馈信息后向客户端反馈请求执行完成。再在带宽空闲期将请求发送给其他数据中心,系统将实现最终一致。其中,管理者d是随机选择的,其他数据中心必须定期发送单位时间内已完成的请求数、访问量和平均传输时延。

每个dc都有上述三个指标,我们将这三个指标与一个公式结合得到一个新的指标,我们把这个新指标称为效率指标。效率指标定义如下:

定义4:定义单个数据中心的分组效率指标e为本数据中心的相关性程度和传输时延与等待时延的比值。

其中,β为系统参数。用效率指标评判数据中心成为主分组的优先程度及该数据中心在集群里所占的权重,即决策权的大小。

我们定义主分组中dc的效率指标总和必须大于所有dc总和的一半,以确保同时没有两个主分组。我们还要求主分组的数量不超过所有dc数量的一半,这可以减少请求的响应时间。由于dc的效率指标不同,因此我们可以保证即使主分组的数量小于所有dc的数量的一半,效率指标的总和仍然可以超过所有dc的总和的一半,并且可以保证主分组的唯一性。

根据上述要求,我们可以得到多个符合条件的集合,因此我们需要构建一个优化目标函数。通过权衡效率指标和主要群体的数量,我们试图找到满足高效率指标的最佳主分组,并且主分组的数量要尽可能小。

优化目标函数如下。

s.t.e·j≥e’

这里,e是各数据中心效率指标e组成的向量,可表示为:

e=[e1,e2,…en]

j是反映各数据中心是否属于主分组的向量,可表示为:

j=[j1,j2,…jn],其中ji∈[0,1],i=0,1,…n,

其中1表示该数据中心处于主分组内,0表示该数据中心处于主分组外。pc是指系统中该请求已完成同步的数据中心与全部数据中心的百分比,表示为:

其中,∝为系统参数。e’是约束条件,代表全部数据中心效率指标总和的一半,选择的主分组必须满足超过此阈值才能代表多数派,保证两个分组的最终一致。ec具体表现形式:

文中将e·j-pc定义为效率函数f,通过找到满足约束条件的向量中,满足效率函数f最大的向量j作为主分组。

分组算法如下:

其中,gp是主分组,gs是主分组以外的数据中心组成的集合。当客户端向系统提出请求时,首先求出系统中各数据中心的效率指标ei,得到向量e和阈值e’(步骤1-4)。通过遍历所有的j可能存在的形式,找到满足能代表多数派前提下实现效率函数f最高的j向量(步骤5-12),从该j向量就可得知具体主分组由哪些数据中心组成。

在选出主分组后,gm-paxos可以开始数据同步。与multi-paxos相比,我们仅同步主分组内的dc以减少响应延迟。同时,当请求完成时,需要传输的数据量将减少,系统的吞吐量将增加。

本文将通过两个证明定理来比较gm-paxos和multi-paxos的延迟和吞吐量。

定理1:假设每个dc的相关度相同,则gm-paxos的请求响应延迟t小于multi-paxos协议的响应延迟tmedian。

证明:dc的平均传输延迟t=[t1,t2,...,tn],相关度r=[r1,r2,...,rn],一致性程度为s=[s1,s2,...,sn],请求总数为n。假设dc以v的速度处理请求,则每个dc更新到最新数据所花费的时间是multi-paxos协议中各数据中心的总时延ttotal为:

因为协议是在收到半数以上数据中心的回复后认为请求已执行完成,则multi-paxos协议的响应时间是而gm-paoxs的响应时间是其中,m指主分组,m=[m1,m2…ml],l为主分组个数。

假设因为主分组内任意数据中心满足

其中,em-rest指主分组内剩余dc的效率指标,rp=rmedian此时不满足因此不成立,可得gm-paoxs降低时延得证。

定理2:gm-paxos的吞吐量高于多paxos协议的吞吐量。

证明:假设系统n个数据中心的单个请求的平均大小为sreq,确认消息的大小为sans,数据中心回复客户端消息大小为sack。gm-paoxs在请求执行成功时发送的数据量d小于multi-paxos协议的数据量dmulti-paxos。

在multi-paxos协议中,领导者发送的数据总量为(n-1)sreq,普通节点的确认消息数据总量为当请求执行完成时,multi-paxos协议发送的数据总量dmulti-paxos为:

gm-paoxs发送的数据总量d为:

因为所以

由此可知当请求成功执行时,gm-paxos发送的数据少于multi-paxos。gm-paxos在传输能力不足的情况下,当请求执行完成时减少了数据传输,并且能够快速执行系统的不同请求。因此,当带宽相同时,单位时间内gm-paxos可以处理比multi-paxos更多的请求,所以gm-paxos的吞吐量大于multi-paxos协议的吞吐量。

本节通过实验评估gm-paxos的性能,并在同一环境下与multi-paxos协议进行比较。具体实验参数见表1。

表1仿真参数的含义及取值

本文模拟了9个数据中心,设置客户端到距离最近的数据中心的延迟为1ms、所有数据中心之间是由有效带宽为1mbps的广域网相连,传输延迟t服从均值25方差10的高斯分布以模拟实际通信环境,客户端任意分布在各个数据中心,在当前请求完成之前,客户端不会发送下一个请求。通过仿真平均时延和吞吐量等来比较性能优劣。

图4对比了gm-paoxs与multi-paxos的平均时延。由图可知,gm-paoxs的平均时延明显低于multi-paxos。这时因为主分组由一致性程度,相关性程度和平均传输延迟这三个指标组成,且主分组中的dc数量通常小于所有dc的一半。当请求数量很少,带宽资源充足时,所有请求都被视为同时发送。然而,一致性程度和平均传输延迟与总延迟相关,并且主分组中的dc通常具有较低的等待时间。当主分组中具有最高延迟的dc完成同步时,时间仍然比multi-paxos短。当客户端数量接近1000时,由于请求内容同时发送给所有dc,因此带宽已无法满足multi-paxos的需求。从图4可以看出,multi-paxos的延迟大大增加,并且无法快速完成大量请求。而我们的策略仅选择向主要组发送请求,因此我们为每个请求使用比multi-paxos更小的带宽。当客户端数量接近1200时,我们仍然保持低延迟。同时,我们首先将具有高相关度的dc同步,以确保具有高数据实时要求的dc可以访问最新数据。总之,gm-paxos的平均延迟低于multi-paxos。且当带宽有限时,gm-paxos的优势十分明显。

在图5中,我们比较了gm-paoxs和multi-paxos的吞吐量。在图中,两条曲线在前一时期稳步上升,但gm-paoxs吞吐量高于multi-paxos。这是因为我们首先只将请求内容发送到主要组而不是所有dc。当请求执行完成时,我们传输的数据量远远小于multi-paxos。因此,在相同的带宽条件下,gm-paxos在单位时间可以完成更多的请求,吞吐量更大。由于带宽有限,multi-paxos的曲线快速趋于平缓,但gm-paxos的曲线仍稳步上升。因此,gm-paxos的吞吐量高于multi-paxos,且当传输容量不足时,优势更为明显。

本发明提供了一种基于multi-paxos分组的自适应一致性协议优化方法,通过代表数据中心差异性的三个指标设计rg算法为客户端请求选出部分数据中心作为唯一主分组,并针对带宽受限将客户端请求只先发送给主分组内的数据中心。系统能在更短的时间,更小的传输数据量下完成请求,提高系统的处理能力。同时,对数据实时性准确性要求高的数据中心优先同步,保证系统的可靠性。

本发明提出了基于multi-paxos分组的自适应一致性协议groupingmulti-paxos(gm-paxos)来减少带宽对系统的影响并自适应地选择一致性级别。结合dc的特性和系统环境,本发明设计了一个分组算法来寻找主分组,并且首先只将请求内容发送到主分组内的dc(datacenter,数据中心)以节省带宽消耗。实验表明,gm-paxos可以显着减少延迟并提高吞吐量。此外,本发明优先同步具有高实时数据要求的dc,以确保系统的可靠性。

本发明提供了一种基于multi-paxos分组的自适应一致性协议优化方法,具有以下优点:

1.提出了一种基于multi-paxos分组的自适应一致性协议gm-paxos,根据数据中心副本一致性程度、相关性程度和传输平均时延三个指标动态规划主分组,通过构建优化函数设计分组算法求解出唯一最佳主分组,实现自适应一致性。

2.基于带宽受限问题,本发明优化改进了multi-paxos协议,将客户端请求由原先的发送到全部数据中心改为只发送到主分组内的数据中心。

3.实验证明,在带宽受限的情况下,gm-paxos相比于传统的multi-paxos协议时延大幅度降低,且请求执行完成时传输的数据量减少,吞吐量得到提高,系统的处理能力得到提升。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1