时间和全局状态.ppt
《时间和全局状态.ppt》由会员分享,可在线阅读,更多相关《时间和全局状态.ppt(71页珍藏版)》请在三一办公上搜索。
1、第3章 时间和全局状态,第3章 时间和全局状态,简介 时钟、事件和进程状态同步物理时钟逻辑时间和逻辑时钟全局状态分布式调试小结,简介,如何计时?如何同步时钟?没有物理时钟能否确定事件的顺序?,简介,时间的重要性需要精确度量审计电子商务某些算法依赖于时钟同步数据一致性维护、make计算全局状态事件排序时间的复杂性节点具有独立的物理时钟精确同步物理时钟非常困难全局状态的捕获依赖于逻辑时钟逻辑时钟与物理时钟无必然联系,第3章 时间和全局状态,简介 时钟、事件和进程状态同步物理时钟逻辑时间和逻辑时钟全局状态分布式调试小结,时钟、事件和进程状态,假设每个进程在单处理器上执行处理器之间不共享内存进程之间通
2、过消息进行通信进程状态所有变量的值相关的本地操作系统环境中的对象的值事件定义:一个通信动作或进程状态转换动作进程历史:,时钟、事件和进程状态,计算机时钟晶体具有固定震荡频率硬件时钟:软件时钟:时钟漂移频率不同时钟频率随温度变化而有所差别时钟偏移不可避免,时钟、事件和进程状态,时间分类天文学时间-太阳日:两次连续的太阳中天之间的时间间隔-太阳秒:1/86400个太阳日国际原子时间(TAI)-基于铯原子跳跃周期-秒:9 192 631 770次跳跃周期通用协调时间(UTC)-基于原子时间-采用润秒,与天文时间保持一致,第3章 时间和全局状态,简介 时钟、事件和进程状态同步物理时钟逻辑时间和逻辑时钟
3、全局状态分布式调试小结,同步物理时钟,外部同步采用权威的外部时间源时钟Ci在范围D内是准确的内部同步无外部权威时间源,系统内时钟同步时钟Ci在范围D内是准确的关系 若P在范围D内外部同步,则P在范围2D内内部同步,同步物理时钟,时钟正确性基于漂移率基于单调性基于混合条件 单调性+漂移率有界+同步点跳跃前进时钟故障崩溃故障:时钟完全停止滴答随机故障:其它故障,如“千年虫”问题,同步物理时钟,同步系统中的同步假设条件-已知时钟漂移率范围-存在最大的消息传输延迟-进程每一步的执行时间已知方法 若一个进程将时间t发送至另一个进程,且消息传输时间的不确定性为u=maxmin,则接收进程:t+min,则时
4、钟偏移至多为u t+max,则时钟偏移可能为u t+(max+min)/2,则时钟偏移至多为u/2,同步物理时钟,Cristian方法应用条件-存在时间服务器,可与外部时间源同步-消息往返时间与系统所要求的精度相比足够短协议-进程p根据消息mr,mt计算消息往返时间Tround-根据服务器在mt中放置的时间t设置时钟为:t+Tround/2,同步物理时钟,精度分析若消息的最小传输时间为min,则精度为:(Tround/2 min),同步物理时钟,Berkeley算法主机周期轮询从属机时间主机通过消息往返时间估算从属机的时间与Cristian方法类似主机计算容错平均值主机发送每个从属机的调整量,
5、同步物理时钟,网络时间协议(NTP)设计目标-可外部同步 使得跨Internet的用户能精确地与UTC同步-高可靠性 可处理连接丢失,采用冗余服务器、路径等-扩展性好 大量用户可经常同步,以抵消漂移率的影响-安全性强 防止恶意或偶然的干扰,同步物理时钟,协议结构-层次结构-主服务器直接与外部UTC同步-同步子网可重新配置,同步物理时钟,同步模式-组播 适用于高速LAN 准确度较低,但效率高-过程调用 与Cristian算法类似 准确度较低-对称模式 保留时序信息 准确度最高,同步物理时钟,消息交换若消息m、m的实际传输时间分别为t、t;o为B时钟相对于A时钟的真正偏移,o为偏移估计,则 Ti-
6、2=Ti-3+t+o,Ti=Ti-1+t o 定义 oi=(Ti-2 Ti-3+Ti-1 Ti)/2,di=t+t=Ti-2 Ti-3+Ti Ti-1o=oi+(t-t)/2,同步物理时钟,NTP采用过滤离中趋势算法,保留8个最近的,用以估算偏移oNTP采用对等方选择算法,可改变用于同步的对等方-优先选择层次较低的对等方-优先选择过滤离中趋势数值较低的对等方,第3章 时间和全局状态,简介 时钟、事件和进程状态物理时钟同步逻辑时间和逻辑时钟全局状态分布式调试小结,逻辑时间和逻辑时钟,逻辑时间的引入分布式系统中的物理时钟无法完美同步-消息传输延时的不确定性事件排序是众多分布式算法的基石-互斥算法-
7、死锁检测算法缺乏全局时钟-后发生的事件有可能赋予较早的时间标记,逻辑时间和逻辑时钟,逻辑时钟众多应用只要求所有节点具有相同时间,该时间不一定与实际时间相同Lamport(1978)指出:不进行交互的两个进程之间不需要时钟同步对于不需要交互的两个进程而言,即使没有时钟同步,也无法察觉,更不会产生问题。所有的进程需要在时间的发生顺序上达成一致 如make程序,逻辑时间和逻辑时钟,事件排序“系统i中的事件a发生在系统j中的事件b之前”是不准确的-事件发生和观察之间存在时延-不同系统中的时钟存在偏差时间戳(Lamport 1978)-用于分布式系统中的事件排序-与物理时钟无关-实用高效,应用广泛,逻辑
8、时间和逻辑时钟,两个基本事实-同一进程中的两个事件存在关系“i”-任一消息的发送事件发生在该消息的接收事件之前“发生在先(happens-before)”关系定义-若存在进程pi满足eie,则ee-对于任一消息m,存在send(m)recv(m)-若事件满足ee 和ee,则ee并发关系定义 XY 与 YX均不成立,则称事件X、Y是并发的,表示为X|Y,逻辑时间和逻辑时钟,事件排序示例-bc,cd和d f成立-bf与ef均成立-事件b和e无法比较,即b|e,逻辑时间和逻辑时钟,Lamport时钟机制-进程维护一个单调递增的软件计数器,充当逻辑时钟-用逻辑时钟为事件添加时间戳-按事件的时间戳大小为
9、时间排序逻辑时钟修改规则-进程pi发出事件前,逻辑时钟Li:=Li+1-进程pi发送消息m时,在m中添加时间戳t=Li-进程pj在接收(m,t)时,更新Li:=max(Lj,t)+1,给s事件recv(m)添加时间戳后发送给应用程序,逻辑时间和逻辑时钟,Lamport时钟示例(一)ab L(a)L(b)L(e)L(b)b e,逻辑时间和逻辑时钟,(a)三个不同速率的时钟(b)Lamport算法校正时钟,Lamport时钟示例(二),逻辑时间和逻辑时钟,Lamport时钟练习假设系统中只存在消息发送和接收事件,如下图所示,请给出事件a-g的逻辑时钟。,逻辑时钟 0,逻辑时间和逻辑时钟,Lampo
10、rt时钟练习答案,逻辑时钟:0,逻辑时间和逻辑时钟,不同进程产生的消息可能具有相同数值的Lamport时间戳,物理时间,逻辑时间和逻辑时钟,基于Lamport时间戳的事件排序-总结算法不依赖于事件发生的真实时间与真实物理时间中事件的发生顺序可能不一致,基于Lamport时间戳的排序中,在时刻(2,1)发生的事件发生比在时刻(2,2)发生的事件要早,然而在真实物理时间中可能恰好相反。,逻辑时间和逻辑时钟,Lamport时钟不具备性质:若L(A)L(B)则AB没有捕获事件的因果关系节点B发布一篇文章并传送给节点A和C。节点A就此发表评论并传送给节点B和C。,我们无法准确确定r的先后关系:C(a)C
11、(r)a r,a 是节点A发布的文章r 是节点B对文章a的评论,全序逻辑时钟,引入进程标示符创建事件的全序关系若e、e分别为进程pi、pj中发生的事件,则其全局逻辑时间戳分别为(Ti,i)、(Tj,j)。ee TiTj|Ti=Tj&ij系统中各个事件Lamport时间戳均不相同,向量时钟,克服Lamport时钟的缺点:若L(e)L(e)不能推出则ee。每个进程维护它自己的向量时钟ViVC1:初始情况下,Vij=0,i,j=1,2,.N.VC2:在pi给事件加时间戳之前,设置Vii=Vii+1。VC3:pi在它发送的每个消息中包括tVi。VC4:当pi接收到消息中的时间戳t时,设置Vij=max
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时间 全局 状态
链接地址:https://www.31ppt.com/p-5277548.html