论文部分内容阅读
计算机、通信与网络技术的发展和普及,使信息处理的方式发生了根本性的转变,传统的集中处理方式转变为分布处理的方式。分布于不同地域、松散耦合、基于不同环境和平台的多个计算实体和信息资源,在具体的任务驱动下,整合在一起并相互协作完成指定的业务。
相对于传统的集中式计算,分布式环境下任务的达成依赖于网络通信,而网络通信时刻受到链路故障、消息丢失、通信阻塞等诸多不利因素的威胁。因此,分布式协议领域一个重要的研究方向是在分布式环境下如何保证协议的正确性和效率(服务质量)。近几年来,该领域研究的一个新方向是利用失效检测机制来设计和实现分布式环境下的容错协议和算法。该方向研究的主要目标是要在通信链接易失、操作和消息延迟不可预期、消息丢失等不利条件下,设计出满足两个关键性质(完全性和精确性)的容错和失效检测协议。其解决方案在很多实际的分布式系统中得到了应用,例如PAXOS、HARP、ChainReplication、BOXWOOD等等。
本文提出了两个基于“存活授权/自杀失效”机制的分布式失效检测协议,证明协议满足完全性和精确性,并对协议的服务质量进行了分析。主要的工作包括:
1.提出了两个基于“受限异步假设”的失效检测协议。受限异步假设中,系统中各个进程无法获得准确的全局时钟,但是局部时钟运行速度同全局精确时钟一致,系统中消息传递的延迟时间不存在预设上界。两个协议分为“基于时段的失效检测协议”和“基于状态的失效检测协议”。它们具有相同的物理构成,包括一个被检测的主进程,多个监控主进程状态的观测进程和一个用户进程。主进程周期性的向观测进程发送存活授权请求,观测进程收到请求后向主进程发送授权消息以支持其存活,用户进程通过考察观测进程的状态,对主进程存活与否做出判断:
2.定义和证明了协议的完全性和永久精确性。协议的检测完全性定义为:主进程失效后,最终能被用户进程判为失效:协议的检测永久精确性定义为:主进程失效前,不会被用户进程判断为失效。本文证明了两个协议对上述性质的满足性;
3.分析了上述两个协议的服务质量。失效检测协议的服务质量具体包含三个指标,即“主进程自杀失效间隔时间期望”、“失效检测时间期望”和“正常响应时间期望”。本文为协议的运行流程建立了数学模型,并运用随机过程和概率分析技术对上述三个服务质量指标进行了理论上的分析;
4.通过计算机模拟和参数估计技术对上一步取得的服务质量理论数据进行了精确度分析。我们采用蒙特卡洛方法,模拟协议实际运行的流程,并获得三个服务质量指标在模拟运行中取得的数据。将模拟数据作为对理论值的采样,获得了理论结果的95%置信区间。结果显示,在绝大多数参数设置下,理论数据同模拟结果非常接近,并且都被相应的置信区间所覆盖,从而表明了理论模型的可信度。