Strong and Efficient Consistency with Consistency-Aware Durability(组会讲解)

有道云笔记:文章于此一样
思维导图:本篇论文思维导图

一、介绍

  1. 一致性划分
    (1)按照一致性的强弱程度
    一致性
    在这里插入图片描述

(2)一般划分
另一种划分
在这里插入图片描述
2. 持久化模型
在这里插入图片描述

  1. 跨客户端单调读一致性:
    从客户端读取的状态至少与之前从任何客户端读取时返回的状态是一样新的,不管是否有故障,也不管是否跨会话。

  2. 内容:
    实现跨客户端单调读取一致性的方案,高性能+强一致性,支持在副本读取。对于可容忍写完后数据同步到大多数成员组之前机器故障导致数据丢失的应用来说,可以解决问题。

二、CAD(consistency-aware durability)

  1. 主要思想:
    (1)异步完成写入,读取时强制执行持久性。(将持久性的点从写转移到了读)
    通过延迟写入的持久性,CAD实现了高性能。
    通过确保数据在被读取之前是持久的,CAD可以实现单调的读取,甚至跨故障。
  2. 状态持久性保证:
    当读取一个key时,CAD保证直到修改key的最后一次更新的整个状态都是持久的,而不仅仅是这个key。
    例如:[a,b1,c,b2,d]。
  3. 基本流程
    (1)索引:
    在这里插入图片描述

(2)写操作:跟随者在响应中包含persisted-index,领导者在请求或心跳中向跟随者发送 durable-index
在这里插入图片描述
(3)读操作(持久性检查机制):
Leader:当读key请求到达,比较key的update-index与durable-index。
update-index>durable-index:强制将update-index之前的
未被复制的日志同步复制到大多数节点并持久化,
更新durable-index
update-index<=durable-index:直接服务
Follower:
update-index>durable-index:转发给Leader节点
update-index<=durable-index:直接服务
在这里插入图片描述

三、跨客户端单调读取

  1. 保证
    这个属性保证了从一个客户端读取的状态,无论服务器和客户端是否故障,总是会返回一个至少和之前从任何客户端读取的状态一样新的状态,而且是跨会话的。
  2. 允许在副本处读取
    (1)在Follower上读取的问题:(S5分区,虽然持久性检查成功)
    在这里插入图片描述

四、ORCA设计
1.保证
使用异步持久性,能够保证顺序一致性,提供在所有故障下和跨会话的跨客户端单调读取。但是,ORCA不能保证永远不会看到陈旧的数据。其实ORCA是基于ZooKeeper的修改版本,它包含了CAD和跨客户端单调读取,又通过持久性检查机制、基于租约的活动集技术以及两步断租机制来保证其正确性。
在这里插入图片描述
2.解决方案-----活动集(Active set)
(1)至少包含大多数节点
(2)当Leader持久化数据时,必须确保活动集内的所有节点都已经持久化了。
(3)只有活动集内的节点才能允许提供读服务。
那么,我们可以知道,活动集的大小在可扩展性和延迟性之间存在着权衡。
就上述问题,为了确保正确性,一个Follower必须在Leader将其从活动集中移除之前将自己标记出来。
3. 解决方案----两步断租机制:
(1)内容:
首先,一个断开的Follower将自己从活动集中标记出来;然后Leader将Follower从活动集中移除。
(2)两个超时:
标记超时(mark-out timeout , mt):一旦mt过后,Follower将自己标记出;时间与心跳间隔相同。
移除超时(removal timeout, rt):一旦rt过后,Leader将Follower从活动集中移除。 rt>=5∗mt(时钟问题)
在这里插入图片描述
五、测评
1.CAD与同步和异步持久性相比表现如何?(CDF:累积分布函数)
在这里插入图片描述
CAD延迟比同步持久性低,并与异步持久性性能相似。(0.8%触发同步持久性的读的百分比)

2.与weak-ZooKeeper和strong-ZooKeeper相比,ORCA的表现如何?
在这里插入图片描述
ORCA表现良好的原因:
1.避免了写入过程中同步复制和持久化的成本
2.允许在许多副本处进行读取

ORCA比Weak-Zookeeper慢的原因:
1.访问非持久化项目的读取必须在活动集的所有节点上持久化数据
2.在Follower处访问非持久化数据的读取会产生额外的往返,因为它们被重定向到Leader

3.ORCA是否能保证在故障情况下的跨客户端单调读取?
如果节点被领导者删除,则拒绝读请求。若重新恢复,则返回最新数据。因此,可以是现跨客户端单调读。

4.ORCA是否为应用提供了更好的保证?
位置共享应用:一组用户在存储系统上更新他们的位置,而另一组用户读取这些位置。
开源的Twitter克隆:发布文章、观看时间线。(读取为主)
在这里插入图片描述

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值