Cloud Computing之时钟和顺序Time and Ordering
创始人
2024-01-20 23:38:20
0

文章目录

  • Total order
    • Implementation of total order
  • Linearizability
  • FIFO rder
    • Implementation of FIFO-order
  • Happen-before ordering
  • Causal ordering
  • Summary

参考文献:

Lamport’s logical clock

这章重点介绍了分布式系统下各种类型的时序,其实在分布式场景下并不需要确切的时间,我们只是需要时间来对事件进行排序ordering. 并且还聊到了哪种order顺序是正确correct的,这其实没有绝对的定论,而是要根据各种场景选择合适的顺序,重点在于不同的节点对于正确性correctness的定义需要一致。

Total order

all replicas process messages in same order, 对于多个replica节点来说,所有的replica节点都遵循相同的处理顺序,但是不一定服从real-time,也就是不一定和client发来的处理顺序一致。
请添加图片描述

Implementation of total order

Total-order是可以实现的,不过需要选出一个leader,并且每次分发消息的时候都需要一个时间戳。
请添加图片描述

Linearizability

total order + respect the real-time,在total order的情况下加上了real-time的要求,即和client发来的处理顺序一致,并且所有replicas都是相同的处理顺序。
请添加图片描述
linearizability是没法在distributed system分布式系统中实现的,这里有个CAP的理论,参考轻松理解CAP理论,简单来说就是在P的场景下,无法保证C和A同时成立,除非有特殊的场景设计,比如Google对P的场景进行了独特的设计。

但是linearizability却可以在parallel system并行系统中实现,因为这个系统是个同步的场景synchronous setting,并且parallel system就应当保证linearizability的唯一正确性。

FIFO rder

different servers can get different orders as long as the order from the same client is preserved. 这里强调了多个client的要求,对于多个replica server来说,他们是可以按不同的顺序处理消息的,但是对于给他们发消息的每个client,每个服务器server需要按client发来的消息一样的顺序对消息进行处理。
请添加图片描述

Implementation of FIFO-order

同样可以在distributed system中实现,clients需要维护一个本地的计数器,server端需要为每一个client维护一个处理队列。
请添加图片描述

Happen-before ordering

可以通过逻辑表示出发送方和接收方的顺序关系。
请添加图片描述
这里我们重点关注如何在日志中记录这种前后关系,也就是采用了Lamport’s Logical Clock的方法如下:
请添加图片描述
简单理解来看,对于同一个process的先后事件,后一个事件为前一个LC++,对于不同process具有happen-before关系的事件,后一个事件也为前一个LC++,最终该事件的LC为这两个值中的max.

但是这种记录方法有它的局限性,即当LC(x) 在这里插入图片描述

Causal ordering

Causal ordering可以表示不同进程间的因果关系,下面这个例子很生动,如果我们只是维持FIFO order,那么分别保证了mother(client)的顺序和father(client)的顺序,但是它们两者综合起来看就会产生意想不到的后果。因此我们需要一种因果关系去表征不同process间的关系,这就是causal relationship。
请添加图片描述
在实现上,采取了vector clock这种时钟,VC不是一个值,而是一个有N个分量的向量,其中N是processors的个数。在进行更新的时候,和Logistic Clock一样是取最大值,不过是对每一个分量都要取当前的最大值;对于先后事件时间中TjT_jTj​的加1,也是针对一个分量,该分量是receiver所在的第jjj个processor代表的分量。
请添加图片描述

Summary

请添加图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...