理论教育 汽车嵌入式系统手册:获取可靠的分布式实时系统关键

汽车嵌入式系统手册:获取可靠的分布式实时系统关键

时间:2023-08-26 理论教育 版权反馈
【摘要】:可靠的分布式实时系统的关键取决于容错时钟同步。通过反复地调整节点的物理时钟,一个时钟同步协议实现了每个节点的所谓的“逻辑时钟”。TTP/C的时钟同步算法,属于所谓的平均收敛算法,其特征在于通过使用平均函数从其他时钟收集的读数中计算一个新的时钟。此外,节点为保持同步的四个时钟读数被进一步限制。因此,为了正确地运作时钟同步,会员服务协议的保持即所有非故障节点属于同一组是至关重要的。

汽车嵌入式系统手册:获取可靠的分布式实时系统关键

可靠的分布式实时系统的关键取决于容错时钟同步。这点对于TTA来说,尤其正确,因为TTA中的节点是根据预定的静态调度也就是说触发时间的推移来执行任务。很显然,所有节点的时钟必须保持足够靠近,且同步性可以在一定程度上容错。

为了容错的原因,每一个节点都配有自己的本地时钟——“物理时钟”,一般地由一个离散的计数器实施,计数器由晶体振荡器定期触发。由于这些振荡器不以恒定频率振动,因此时钟漂移与它们的外部参考时间有关,且它们之间彼此相似。因此,必须通过调整节点的物理时钟来定期再同步节点的时钟,以保持它与其他节点的时钟同步。这样,节点必须获得其他节点的时钟信息。

通过反复地调整节点的物理时钟,一个时钟同步协议实现了每个节点的所谓的“逻辑时钟”。同步算法的任务就是给偏离定界,即任何两种无故障的节点的逻辑时钟的读数之间的绝对差减小到最小值。

协定:在任何时候,所有无故障节点的逻辑时钟的值应该接近相等。

要解决这个问题,通常需要对物理时钟读数进行调整,使其被限制在一些较小的值。(www.daowen.com)

精度:一个无故障节点的时钟在每个同步间隔内改变的值被限制在较小的范围内。

时钟同步的问题是很好理解的,相当数量的不同的算法已被用来产生同步时钟,它们对硬件架构、故障模型、同步时钟的质量或附加信息过载有不同的要求或假设。

TTP/C的时钟同步算法,属于所谓的平均收敛算法,其特征在于通过使用平均函数从其他时钟收集的读数中计算一个新的时钟。典型的平均算法舍掉定义数量的最大和最小的时钟读数,以补偿可能的错误读数,并根据均值或剩余数(或其中一些)的中值来调整该节点的时钟。然而,在TTP/C实现的算法中,显示了几种特殊的特性。首先,它完全融入节点的常规的信息交换中。它是通过利用系统的时序行为的常识来完成的:由于TDMA驱动的通信机制,每个节点确切地知道在什么时候有信息从发送节点发送。这方面的知识,更精确地说,信息预计到达的时间与实际到达的时间之间的偏差,被用来计算发出节点的时钟读数的预估值。但是,节点只保留四个最近接收到的所测量的时间的差值信息。在重新同步时,节点舍弃这四个时钟读数中的最大值和最小值,并使用剩下的两个值的平均值来调整本地时钟。这个过程被称为容错平均算法[14]。此外,节点为保持同步的四个时钟读数被进一步限制。如果该信息被接收节点认为是正确的,那么节点才计量抵达时间。特别的是,这意味着发送方和接收方同意包括当前成员的当前协议状态。因而,只有发送节点属于接收器相同组时,时间差值才会被保留。因此,为了正确地运作时钟同步,会员服务协议的保持即所有非故障节点属于同一组是至关重要的。这充分体现了在TTP/C中不同算法中的深层次和有趣的相互作用。

除了它的特殊性外,TTP/C的算法和众所周知的同步算法是密切相关的,实际上它可以被看做是Lundelius-Welch与Lynch[15]的容错中点算法和Lamport与Melliar-Smith的交互收敛算法[16]的一个变体。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈