CC-Paxos:整合广域存储系统的一致性和可靠性
发布时间:2020-07-12 21:39
【摘要】:针对因果一致性模型约束过多且表达能力不足的问题,提出一种强的分布式上下文一致性模型。剔除同一用户的操作中非强制性的依赖关系,以及在不同客户端间定义所需的操作依赖;在此基础上,设计一种解决Paxos不能满足上层一致性需求问题的、实现分布式上下文一致性模型的共识算法CC-Paxos。利用时间戳给分布式上下文中的操作定序,采用细粒度的依赖检测,高效减少冲突操作的数目。实验结果表明,与在上层使用causal+一致性、下层用Egalitarian Paxos的方法相比,CC-Paxos显著降低了延迟,增加了吞吐量,且不需牺牲可扩展性。
【图文】:
,客户端不断发送请求。副本在请求执行后回复客户端,通过测试单位时间内客户端收到的回复来测量吞吐量。延时是指从发送请求到收到副本回复之间经过的时间。我们测量的是所有请求执行延迟的中值。在实验过程中,客户端一共发送64000个请求,每个上下文对应20个客户端。3.2自相关率自相关率是两条命令属于同一上下文的概率,高自相关率意味着同一上下文中的命令数增加,即更多的命令需要保持顺序关系,因此我们预期吞吐量会下降和延时增加。在这组实验中设定上下文的数目和键群组的数目为4。图4和图5展现了不同自相关率下CC-Paxos和CE-Paxos的吞吐量和延时。从图4中可以看出,随着自相关率的从0%变化到10%,CEPaxos的吞吐量猛烈下降。当自相关率为0%时,所有的请求都是没有依赖的,全部都可以并行执行。在这种情况下,CC-Paxos的吞吐量比CEPaxos略低(0.891%),因为与CEPaxos相比,CC-Paxos在提交图4吞吐量随着自相关率的变化图5执行延迟中值随着自相关率的变化·630·
断发送请求。副本在请求执行后回复客户端,通过测试单位时间内客户端收到的回复来测量吞吐量。延时是指从发送请求到收到副本回复之间经过的时间。我们测量的是所有请求执行延迟的中值。在实验过程中,客户端一共发送64000个请求,每个上下文对应20个客户端。3.2自相关率自相关率是两条命令属于同一上下文的概率,高自相关率意味着同一上下文中的命令数增加,即更多的命令需要保持顺序关系,因此我们预期吞吐量会下降和延时增加。在这组实验中设定上下文的数目和键群组的数目为4。图4和图5展现了不同自相关率下CC-Paxos和CE-Paxos的吞吐量和延时。从图4中可以看出,随着自相关率的从0%变化到10%,CEPaxos的吞吐量猛烈下降。当自相关率为0%时,所有的请求都是没有依赖的,全部都可以并行执行。在这种情况下,CC-Paxos的吞吐量比CEPaxos略低(0.891%),因为与CEPaxos相比,CC-Paxos在提交图4吞吐量随着自相关率的变化图5执行延迟中值随着自相关率的变化·630·
般情况下,CC-Paxos的吞吐量明显优于CEPaxos,这是因为CC-Paxos高效的处理并发的请求。随着自相关率的增加,CC-Paxos性能相对稳定。从自相关率在50%左右开始,CC-Paxos的延时中值开始优于CEPaxos,并随着自相关率的增加,持续好于CEPaxos。3.3键群组大小我们还检测键群组大小即每个键群组包含的键的数目K对系统性能的影响。在这系列的实验中我们设置上下文数目为P从1变换或者4,而自相关率设置为70%。图6和图7分别展示了K对CC-Paxos和CEPaxos的吞吐量和延时的影响。很容易可以看出,在不同的上下文数目的情况下,随着K的增加,两个算法的吞吐量和延时的性能都有所提升。在更高的上下文数目情况下,两个算法都取得更好的性能。这是因为每个键群组的键数目越多,上下文的数目越多,命令的键分布的更广,从而导致冲突率降低。因此请求的平均冲突依赖降低,减少了递归计算冲突依赖集以及递归构建依赖图的时间,更加重要的是,减少了客户端和副本间为保持一致性所进行的协调。图6吞吐量随着健群组大小的变化图7执行延迟中值随着键群组大小的变化如图6当上下文的数目为4时,CC-Paxos的吞吐量比CEPaxos高17%。当上下文为1时,这个比例变为116%。这种性能的优势来源于高效的监测到可并发执行的请求。图7展示了两个算法的执行延时的中位值。无论每个键群组包含多少键值或者上下文的数目,CC-Paxos这方面的性能都好于CEPaxos。3.4上下文数目如上文所述,上下文数目P影响相关率和
本文编号:2752523
【图文】:
,客户端不断发送请求。副本在请求执行后回复客户端,通过测试单位时间内客户端收到的回复来测量吞吐量。延时是指从发送请求到收到副本回复之间经过的时间。我们测量的是所有请求执行延迟的中值。在实验过程中,客户端一共发送64000个请求,每个上下文对应20个客户端。3.2自相关率自相关率是两条命令属于同一上下文的概率,高自相关率意味着同一上下文中的命令数增加,即更多的命令需要保持顺序关系,因此我们预期吞吐量会下降和延时增加。在这组实验中设定上下文的数目和键群组的数目为4。图4和图5展现了不同自相关率下CC-Paxos和CE-Paxos的吞吐量和延时。从图4中可以看出,随着自相关率的从0%变化到10%,CEPaxos的吞吐量猛烈下降。当自相关率为0%时,所有的请求都是没有依赖的,全部都可以并行执行。在这种情况下,CC-Paxos的吞吐量比CEPaxos略低(0.891%),因为与CEPaxos相比,CC-Paxos在提交图4吞吐量随着自相关率的变化图5执行延迟中值随着自相关率的变化·630·
断发送请求。副本在请求执行后回复客户端,通过测试单位时间内客户端收到的回复来测量吞吐量。延时是指从发送请求到收到副本回复之间经过的时间。我们测量的是所有请求执行延迟的中值。在实验过程中,客户端一共发送64000个请求,每个上下文对应20个客户端。3.2自相关率自相关率是两条命令属于同一上下文的概率,高自相关率意味着同一上下文中的命令数增加,即更多的命令需要保持顺序关系,因此我们预期吞吐量会下降和延时增加。在这组实验中设定上下文的数目和键群组的数目为4。图4和图5展现了不同自相关率下CC-Paxos和CE-Paxos的吞吐量和延时。从图4中可以看出,随着自相关率的从0%变化到10%,CEPaxos的吞吐量猛烈下降。当自相关率为0%时,所有的请求都是没有依赖的,全部都可以并行执行。在这种情况下,CC-Paxos的吞吐量比CEPaxos略低(0.891%),因为与CEPaxos相比,CC-Paxos在提交图4吞吐量随着自相关率的变化图5执行延迟中值随着自相关率的变化·630·
般情况下,CC-Paxos的吞吐量明显优于CEPaxos,这是因为CC-Paxos高效的处理并发的请求。随着自相关率的增加,CC-Paxos性能相对稳定。从自相关率在50%左右开始,CC-Paxos的延时中值开始优于CEPaxos,并随着自相关率的增加,持续好于CEPaxos。3.3键群组大小我们还检测键群组大小即每个键群组包含的键的数目K对系统性能的影响。在这系列的实验中我们设置上下文数目为P从1变换或者4,而自相关率设置为70%。图6和图7分别展示了K对CC-Paxos和CEPaxos的吞吐量和延时的影响。很容易可以看出,在不同的上下文数目的情况下,随着K的增加,两个算法的吞吐量和延时的性能都有所提升。在更高的上下文数目情况下,两个算法都取得更好的性能。这是因为每个键群组的键数目越多,上下文的数目越多,命令的键分布的更广,从而导致冲突率降低。因此请求的平均冲突依赖降低,减少了递归计算冲突依赖集以及递归构建依赖图的时间,更加重要的是,减少了客户端和副本间为保持一致性所进行的协调。图6吞吐量随着健群组大小的变化图7执行延迟中值随着键群组大小的变化如图6当上下文的数目为4时,CC-Paxos的吞吐量比CEPaxos高17%。当上下文为1时,这个比例变为116%。这种性能的优势来源于高效的监测到可并发执行的请求。图7展示了两个算法的执行延时的中位值。无论每个键群组包含多少键值或者上下文的数目,CC-Paxos这方面的性能都好于CEPaxos。3.4上下文数目如上文所述,上下文数目P影响相关率和
本文编号:2752523
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2752523.html