1.什么是前瞻量?
前瞻量(Lookahead),是时间调节的联邦成员在设置其时间管理机制为时间调节时所指定的一个时间段。在餐馆联邦中,前瞻量必须为正值。然而,事实上前瞻量在某些情况下,可以甚至需要设置为0。我们将在之后详细介绍使用零前瞻量的情形。
2.为什么需要前瞻量?
之所以引入前瞻量,是为了避免死锁的出现。比如有一个采用保守机制的联邦,它有2个联邦成员A和B,A和B都是既时间受限又时间调节,且没有前瞻量。这样,当A和B都到达某一时刻T时,将导致A和B的仿真时间都不能超过T。比如,A的仿真时间超过了T到达T1,这时候B还处于T,因此B有可能会向A发出时间戳为T的事件,这将导致A收到过去发生的事件,这在保守的联邦机制中是不被允许的。同理,B的仿真时间也不能超过T,这样会导致A和B都不能向前推进仿真时间,相互等待,形成死锁。
解决死锁,有两种方法:
一是采用优化的联邦机制,允许联邦成员收