欢迎来到天天文库
浏览记录
ID:15093501
大小:380.68 KB
页数:8页
时间:2018-08-01
《分布式系统中的时间问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分布式操作系统中的时间问题摘要实践表明,分布式操作系统的同步问题常常比单处理器或者多处理器系统中的同步问题更加困难。本文从时间同步问题开始着手讨论,分析在分布式系统中同步问题的重要性以及如何在分布式系统中实现时间的同步。本文讨论的问题及其解决方式本质上是比较常见的并且出现在分布式操作系统的不同情况下。关键词:分布式操作系统、同步、时间问题AbstractThepracticeshowsthatthesynchronizationproblemsindistributed operatingsystemsoftenmoredifficultthansync
2、hronousproblemofsingle processorormultiprocessorsystem.Thispaper beginsto discuss fromthe timesynchronizationproblem,analysisoftheimportanceof synchronizationproblems indistributedsystem andhowtorealizethe time synchronization indistributedsystem.Thispaperdiscussesthe problemsand
3、thesolutionsarerelativelycommon and occurindifferent situations underthe distributed operatingsystem.KeyWords:distributed operatingsystems、synchronization、timingissue一、时钟同步问题分布式系统中的同步比集中式系统中的同步要复杂一些,因为分布式系统中的同步只能通过分布式算法来实现,如果像集中式系统一样,在某地收集有关系统的所有有关信息,让某个进程分析并做出决定是不切实际的,一般来说分布式算法有
4、如下的性质:ß相关的信息分布在多台机器中ß进程决策仅仅依赖于本地信息ß系统中单点故障应该避免ß没有公共时钟和其他精确的全局时间资源存在前三点都说明了收集所有的有关信息并对它进行处理是不可接受的。比如:资源分配(以一种无死锁的分配方式分配)向单一的管理进程发送所有俄I/O请求,由该管理进程来检查这些请求,但是根据表中的信息允许或者是拒绝请求是不切实际的,在一个大的系统中,这样就会给进程造成太大的负担。进一步而言,一个故障点就会造成系统的不可靠。而对于分布式系统来说他应该比单机系统更可靠,也就是说最理想的情况是:一台机器的崩溃不会影响其他机器的使用,而不是因
5、为一台机器的故障而系统停滞不前在集中式系统中,时间的概念很清楚,当进程想知道时间时,它使用由内核提供的系统调用。比如进程A先询问时间,然后进程B再询问时间,那么B得到的时间值就应该大于等于A得到的时间值,因此在分布式系统中获得一致的时间很不容易。output.o:cc–Coutput.c例:makefile误差二、物理时钟问题在一些实时系统中,实际时钟时间很重要,对这些系统都需要用到外部的物理时钟,为了提高效率和冗余性,一般使用多个物理时钟,但是又会出现两个问题:1.如何使物理时钟与世界的时钟同步?2.物理时间之间如何保持同步?ß太阳日:连续的两次日中天
6、的时间ß太阳秒:solar-day/86400ß平均太阳秒:如,格林威治时间每天太阳都是从东方地平线升起,升到天空最高处,然后落到西边。太阳在最高点称为中天,它发生在每天的中午,连续两次中天之间的时间称为太阳日,每天24小时,每小时3600秒,所以精确的定义太阳秒为1/86400个太阳日,太阳日的几何计算方法如上图。ß原子时钟:原子时钟能精确地计算时间。ß国际原子时间(TAI):虽然TAI相对稳定但是也有各种问题ßBIH:通过引入闺秒来解决问题。当原子秒计时与太阳秒计时差距增到800微秒时使用闺秒。如下图:三、逻辑时钟问题1.逻辑时钟简介ß只关心时钟内部
7、一致性,不关心时钟是否与实际时间一致ß1978年Lamport指出,系统中的时钟并不需要绝对的同步ß重要的不是进程有完全一致的时间,而是事件发生的先后次序要一致发生之前(happens-before)关系定义2.Lamport算法ß时钟时间C必须向前(不断增加),不能后退(减小)ß对时间的更新,只能是在时钟上加一个正数,不能减正数四、时钟同步的几种算法1.时钟同步算法²条件:ß如果某台机器有WWV接收器ß时钟同步的目的是使其它机器与这台机器同步ü如何与现实时钟同步?ü如何使不同机器之间相互同步?²介绍时间同步算法:ß设每台机器都有个计时器,该计时器每秒中
8、断H次,计时器溢出时,中断处理程序就将软件时钟加1,软件时钟是从过去某一已知时间
此文档下载收益归作者所有