欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    分布式系统的同步.ppt

    • 资源ID:6094358       资源大小:1.30MB        全文页数:56页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    分布式系统的同步.ppt

    第3章 分布式系统的同步,中国科技大学软件学院丁箐,2,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,3,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,4,3.1 时钟同步,分布式算法的特点相关信息散布在多个场地上每个进程只能基于本地信息做决定应避免因单点故障造成整个系统的失败不存在公共时钟或精确的全局时间,5,时钟同步问题,例:makefile误差,时间,output.o:cc C output.c,6,逻辑时钟,计时器:石英晶体+计数器时钟偏差(clock skew)逻辑时钟:相对时间物理时钟:真实时间“之前”关系:事件a在b之前出现,则aba为发送消息m,b为接收m,则ab具有传递性:ab,bc,则ac并发事件(concurrent),7,Lamport算法,对每一事件a,在所有进程中都认可给它分配一个时间值C(a)if ab;则C(a)C(b)a,b C(a)C(b)C是递增的校正算法ab,if C(b)C(a),则C(b)=C(a)+1,8,Lamport算法,时间,慢,快,慢,快,9,物理时钟与现实时钟,(1)如何用现实世界的时钟将它们同步起来;(2)如何使各时钟之间保持同步。太阳日:连续的两次日中天的时间太阳秒:solar-day/86400平均太阳秒:如,格林威治时间,10,现实时钟,铯原子钟:9192631770次跃迁=1秒TAI秒:国际原子时间UTC秒:世界时间(在TAI秒中加入闰秒)时间服务:WWV电台、GEOS卫星,10,20,11,时钟同步算法,如何与现实时钟同步如何使不同机器之间相互同步设机器时钟值Cp(t),t 为UTC时间最大偏移率精确时钟:dC/dt=1快时钟:dC/dt 1慢时钟:dC/dt 1,12,Christians 算法-逐步调整法,时间服务器,可接受WWV的UTC时间每隔/2校准时间(允许误差,存在误差),两个问题:时间决不能倒退,延迟假设:每秒产生100次中断,每次中断将时间加10毫秒若调慢时钟,中断服务程序每次只加9毫秒;若加快时钟,则加11毫秒。传播时间,13,Berkeley 算法 主动式方法,时间监控器定期查询其他机器时间计算出平均值通知其他机器调整时间,14,平均值算法 非集中式方法,将时间划分成固定长度的再同步间隔,第i次间隔开始于T0+iR,而结束于 T0+(i+1)R 所有机器广播自己的时钟时间启动本地计时器收集在S时间间隔中到达的其他机器广播的时间执行平均时间计算算法,得到新的时间值(取平均值,去掉两端值),15,多个外部时间源法,例:OSF DCE方法接受所有时间源的当前UTC区间去掉与其他区间不相交的区间将相交部分的中点作为校准时间,16,使用同步时钟,最多一次消息提交每个消息携带一个ID和一个时间印ts(timestamp)服务器的表T中,记录每个连接C最近的时间印t如果到达的消息m,ts(m)t,则拒绝m,服务器要一直保存一个全局变量 G=CurrentTime MaxLifetime MaxClockSkew所有G的时间印从表T中清除对于具有新的ID的到达消息m,如果ts(m)G则拒绝m,否则,接受m按照一定时间间隔T,定期地将G写入磁盘。当系统重启后,G=G+T,17,使用同步时钟,基于时钟的缓存一致性当客户读取一个副本到缓存时,设置一个租期(lease)在租期过期之前,客户可更新副本,重续租期如果已经过期,缓存中的副本失效,改进的一致性协议当客户修改文件时,只需将所有没有到期的缓存副本设为无效如果某个客户崩溃,则等待直到该客户的租期过期,18,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,19,3.2 互 斥,基本概念当一个进程使用某个共享资源,其他进程不允许对这个资源操作临界区(Critical Section):对共享资源进行操作的程序段基本方法:信号量、管程问题:死锁活锁饥饿,20,集中式算法(仿照单处理机系统的方法),协调者:确定那个进程可进入临界区通信量:3个消息:请求-许可-释放缺点:单点失败单协调者会成为执行的瓶颈,C,C,C,21,Win Thread 临界区,CreateMutex()WaitForSingleObject()ReleaseMutex()InitializeCriticalSection()EnterCriticalSection()LeaveCriticalSection(),22,分布式算法(Ricart-Agrawala算法),要求系统中所有事件都是全序的1.在一个进程P打算进入临界区R之前,向所有其他进程广播消息 2.当一个进程P收到消息后,做如下决定:若P不在临界区R中,也不想进入R,它就向P发送OK消息;若P已经在临界区R中,则不回答,并将P放入请求队列;若P也同时要进入临界区R,但是还没有进入时,则将发来的消息和它发送给其余进程的时间戳对比。如果P时间印小,则P发送OK消息;否则,不回答,并将P放入请求队列;3.当P收到所有的OK消息后,进入R。否则,等待。4.当P退出R时,如果存在等待队列,则取出请求者,向其发送OK消息。,23,分布式算法举例,举例:共有0,1,2三个进程。进程0,2申请进入临界区,0,2,0,0,2,2,24,分布式算法评价,缺点:n点失败n点瓶颈2(n-1)个消息改进方案:超时重发组通信简单多数同意比原来集中式算法慢,复杂,昂贵,而且不健壮。,25,令牌环算法,构造一个逻辑环,得到令牌才可进入临界区,26,三种互斥算法的比较,27,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,28,3.3 选举算法,许多分布式算法需要一个进程充当协调者,发起者,排序者或其他特定的角色。作用:做出统一的的决定例如:确定协调者,29,欺负(Bully)算法,将进程进行排序P向高的进程发E消息如果没有响应,P选举获胜如果有进程Q响应,则P结束,Q接管选举并继续下去。,4,5,6,5,6,4,6,5,6,30,环算法,所有进程按逻辑或物理次序排序,形成一个环当一个进程P发现协调者C失效后,向后续进程发送E消息每个进程继续向后传递E消息,直到返回PP在将新确定的协调者C传给所有进程,5,2,31,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,32,3.4 原子性(Atomic)事务,原子性:组成原子事务的一组操作要么全部执行,要么一个也不执行,并且事务失败后能返回到最初状态例1:老式磁带系统(备份)例2:汇款(提款存款),33,事务模型,稳定存储器(Stable Storage):通过一对双工磁盘实现,34,事务原语,(1)BEGIN_TRA NSACTION:标记一个事务的开始;(2)END_TRANSACTION:结束事务并设法提交;(3)ABORT_TRANSACTION:取消事务并恢复旧值;(4)READ:从一个文件(或其他类型的对象,如数据库)读取数据;(5)WRITE:将数据写入一个文件(或其他类型的对象,如数据库),35,事务举例,BEGIN TRANSACTION reserve WPJFK reserve JFKNairobi reserve NairobiMalindi END TRANSACTION,BEGIN TRANSACTION reserve WPJFK reserve JFKNairobi NairobiMalindi fullABORT TRASACTION 当第三个航班的机票预定失败后事务中止,预定三个航班机票:中转站是JFK、Nairobi,36,事务的特性,原子性(Atomic):对外部世界来说,事务的发生是不可分割的;一致性(Consistent):事务不会破坏系统的恒定;隔离性(Isolated):并发的事务之间不会互相干扰;可串行性(Serializable):多个事务并发执行的结果,与它们顺序地执行效果相同。持久性(Durable):一旦一个事务提交,它的更新结果不会因故障而丢失。,37,隔离性(Isolated),38,事务的实现,私有工作空间与影子更新:当进程启动事务T时,分配一个私有工作空间W,在提交或中止T前所有的读写操作都是在W中进行,0,3,影子块,39,先写日志(WAL),就地更新(in-place)日志纪录事务标识,文件标识,块号,前像,后像例:,40,先写日志协议,回滚(Rollback):反做(undo)废弃事务的更新结果只有当日志成功地写入稳存之后,才可以修改文件。如果事务执行成功并被提交,则它的提交记录将被写入日志。如果事务异常中止,则用日志来备份初始状态。从日志的未尾开始,向回逐个读取日志记录,反做记录中描述的修改,即回滚处理。在系统崩溃后,日志也可用来进行的恢复。,41,示例,(a)一个事务(b)-(d)每条语句执行前的日志,42,两阶段提交协议(two-phase commit protocol),准备阶段:取得一致决定执行阶段:执行命令(提交或废弃),43,并发控制(Concurrency Control),加锁法正确性标准:可串行性(serializable)封锁加锁:获得资源上的封锁解锁:释放已拥有的锁封锁的类型和相容性读锁(R)写锁(W)锁的粒度细粒度:如字段粗粒度:如文件,44,两阶段封锁协议(2PL),恰好在需要或不再需要锁时去请求或释放锁可能会导致不一致和死锁?加锁阶段开锁阶段严格的2PL与2PC结合避免级联废弃(cascaded abort)死锁:等待图(WFG)检查是否有环路 超时检测(timeout),45,乐观法(Optimistic),最适合于基于私有工空间的情况 读阶段:将文件读入私有工作区确认阶段:提交前,检查是否有冲突有,则废弃事务,重启。无,则提交事务写阶段:如可以提交,则将修改内容从私有工作区,写入文件。,46,时间戳(Timestamp),每个事务的操作带有该事务的时间戳每个文件带有对它操作的最后一个提交事务的读时间戳、写时间戳算法:如果当前事务T的时间戳文件的时间戳,则执行;否则,废弃T;,47,时间戳法示例,设有三个事务,。T()T()T(),(),48,三种方法比较,49,主要内容,3.1 时钟同步3.2 互斥3.3 选举算法3.4 原子性事务3.5 分布式系统中的死锁,50,3.5 分布式系统的死锁处理,通信死锁和资源死锁 死锁解决策略鸵鸟法:(忽略问题,留给用户考虑)检测法:(允许死锁发生,在检测到后想办法恢复)预防法:(静态的使死锁在结构上是不可能发生的)避免法:(在运行中,通过仔细的分配资源以避免死锁)实际在分布式系统中从来都不采用 银行家算法Dijkstra,1965P,free,51,检测方法:集中式,一台中心机器拥有整个系统(所有资源图的集合)的资源图 进程-资源等待图节点:进程P、资源R有向边:(1)PR请求关系;(2)R P拥有关系;死锁检测协调者负责检测死锁资源图的维护策略:当资源图中,有一条边加入/删除时,通知协调者每个进程周期性地向协调者发送图的更新消息协调者在需要时,向参入者请求,52,检测方法:集中式举例,假死锁问题:B释放R,请求T。若请求T消息先到达协调者(a)机器0初始资源图(b)机器1初始资源图(c)协调者对系统的观察(d)延迟信息后的系统情况 解决方案一:协调者确认(消息的全局时序),53,检测方法:分布式,ChandyMisraHaas分布式死锁检测算法,探测消息:阻塞Pid,请求Pid,接收Pid e.g.(0,2,3),(0,4,6),(0,5,7),(0,8,0)构成死锁,54,分布式深度限制算法(DWDL),90%的死锁发生在两个进程之间算法:/p1为请求者;L(p1)为p1的寿命 1)if(waitQueue=p2-p1-p0)then if(L(p1)p1-p0)then if(L(p1)p1-p1-p0)then if(L(p1)L(p2)or L(p1)L(p0)then restart p1;else restart p1;,55,等-死算法(wait-die)设请求进程0的时间印t0,拥有资源的进程1的时间印t1如果t0t1,0等待;否则,撤销0,分布式死锁预防,56,分布式死锁的预防,伤-等算法(wound-wait)设请求进程0的时间印t0,拥有资源的进程1的时间印t1如果t0t1,撤销1;否则,0等待,

    注意事项

    本文(分布式系统的同步.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开