论文部分内容阅读
在分布式实时系统中,如果任务到来不均衡地分布到结点上,那么有些结点可能过载,而另外一些结点处于空载或轻载状态,这时,即使整个系统完全有能力完成所有任务,也有些任务不能在截止时间以前完成,减少这个问题的一种方法是LS(负载共享)。 本文提出了一个在实时分布式系统有失败结点情况下容错的、动态的带区域状态变化信息广播的负载共享算法。无论何时当一个结点的状态从轻载状态到重载状态或相反,它都会向被称为伙伴集的一个结点集合中的其他结点广播这种变化,同样,一个超载的结点不通过探查其他结点的状态也能从它的优先列表中选择第一个可用的结点。本文主要讨论两个问题:确定最佳的超时值Tout(i),以便一个结点的失败能被其他的结点检测出来,即如果结点n自从最后一次收到结点i的广播信息以后还Tout(i)没有收到结点i的广播信息,就认为结点i失败,并且在再次收到广播消息以前不考虑把任务交给结点i;提出了调整结点的优先列表的算法,以保证每个结点被一个也只能是一个结点选择做自己的第七个优先结点,并相应地提出了一个处理结点失败的算法。 用于诊断一个结点是否失败的超时值Tout(i)的确定取决于以下三个因素:系统负载的动态变化;此结点上的负载分配;结点的初始状态。用于计算Tout(i)所需的参数可以通过贝叶斯估技术在结点i上在线估计得到,然后应用状态信息计算Tout(i)。 本文的实验结果显示,带有在线估计参数、超时机制和额外的及时广播信息的动态LS算法相比其他没有任何超时机制或带有固定超时值的算法,能有效地减少任务的失败率;同时实验结果还显示,无论系统中失败结点数有多少,应用相应算法调整之后的优先列表都能保持原来的特性,而且简单的容错的备份队列方法能减少任务丢失数。