与临界稳定性相反,渐近稳定性的干扰最终会消散。Letov[95]在解释Lyapunov的第二定理时指出,在渐近稳定性下,受干扰的运动随着时间推移到无穷大时会收敛到一个无干扰状态。控制系统工程师们发现这个定义非常有吸引力,它构成了本章中对“强稳定性”进行定义的基础。
令Casavant[96]感到遗憾的是很难将控制理论直接运用到分布式系统中,因为常规使用的数学方法难以适用于分布式系统,这主要是由于分布式系统中存在复杂的交互作用,很难通过一组微分方程或转移函数来描述它们的一般非线性性质,除非先将假设条件大大简化。与之相反,在本章所采用的方法中,虽然评价的精度是取决于假设简化的影响有多大,但是控制理论在分析RYNSORD这样的ADDM系统的性质时也是非常有价值的。许多控制理论的基本概念也适用于严谨的数学基础理论不适用的地方。
在分布式系统的理论研究中,稳定性的讨论总是与自稳定性、正确性,即避免死锁、鲁棒性、容错和服务质量等性质有关。
1.自稳定性
1973年Dijkstra开始研究分布式系统中的自稳定性。他写道:“我将一个系统称为‘自稳定性’时,不论其初始状态是怎么样的,它都可以保证在有限的步骤内到达一个合法的状态”[97]。因此,自稳定性意味着系统具有足够强的鲁棒性,使其能从非法状态中恢复到合法状态。Dijkstra[98]根据优先权定义了合法状态,而对优先权的判断是基于进程本身的状态及其近邻的状态。然而,很难找到符合这个合法状态和优先权定义的现实系统。另一个问题是,这个定义是基于对特定状态的识别,而识别全局状态哪些是合法的,哪些不合法,这是一个很困难的问题,因为对于一个大型复杂的系统而言,各种状态的组合数量可能是巨大的。
在不考虑优先权的条件下,Awerbuch等[99]给出了一个更一般化的定义:“自稳定性将下列直觉上的目标进行了形式化:尽管灾难性故障长期都存在,但一旦灾难性故障停止时,系统应能稳定到无需人工干预的正确行为上来。”这里,灾难性故障被定义为“全局状态被严重破坏”的状态。这个定义比Dijkstra的定义更加实用。如果我们将“正确行为”定义为一个合法状态,这两个定义就是一样的。本章中提出的定义也可以看做是这个直觉目标的一种形式化,但并不只局限于状态的破坏。Awerbuch的工作着重于非交互式系统和方法的自稳定性,通过定期检查正确性,无论何时只要发现了一个错误,就会重新执行一次整个程序。与此相反,RYNSORD系统是不断与环境相互作用的,基于实际的考虑,不能停止,也不能重新执行。
2.稳定性质
与分布式系统模型相关的是由Chandy和Lamport[100]定义的稳定性质。他们指出:如果y是一个判断参数,并且是分布式系统D的一个稳定性质,那么在D的计算中,一旦y为真,计算的其余部分也都为真。包括Venkatesan和Garg[101,102]在内的其他研究人员却使用稳定“判断参数”而不是稳定性质。然而,这个稳定性质的定义与一般情况不同,一般情况下所说的“性质”会被定义为系统的判断参数,而这里的定义是指全系统的稳定性。例如,在参考文献[100]中,死锁被看做是一个稳定性质。相反,在本章中,如果一个系统被死锁,它会导致系统的不稳定。这个明显的矛盾反映了这样一个观点:系统的稳定性是建立在系统中的错误是有限的基础上的,而死锁系统是一种无限(无边界)错误的情况。这里存在的一个假设是系统不会因为设计的原因形成死锁,就像RYNSORD和最实用的系统那样,所以死锁是不稳定系统的一个特征。(https://www.xing528.com)
3.鲁棒性
鲁棒性是指尽管发生一些变化,系统也能够保持正确行为的能力。Schreiber[103]根据错误的类型来区分鲁棒性和故障弱化的行为:鲁棒性处理的是输入的错误,而故障弱化行为是由系统中的故障造成的。Stankovic[104]提出了一个不同的定义:“在计算机科学文献中,鲁棒性通常是指一个系统处理故障的能力”。目前的争议在于定义的范围。Schreiber的定义仅限于考虑输入中的错误,而Stank-ovic是从“故障”的角度进行定义的。Meyer[105]确定了分布式实时系统的4个属性:①并发性;②及时性;③容错;④故障的可降解性。在控制理论中,一个鲁棒系统是指尽管处于受干扰状态,但仍能正确执行的系统。本章既研究输入模式变化对系统性能的影响,也研究故障对系统性能的影响。干扰并不一定就意味着故障,但是干扰代表正常运行环境发生了一些变化。所以,这里涉及的定义包括鲁棒性、故障弱化行为和降解性能。
4.容错
容错注重的是系统对故障的承受力,这与本章所研究的问题根本不同。稳定性注重的是发生故障后的表现,而不是如何从故障中恢复。
5.服务质量
在参考文献[106]中,Garg等定义了分布式应用程序的稳定性。他们从稳定性表现这一角度出发,采用提供给用户的服务质量(QoS)作为其性能指标。他们定义了一个稳定的分布式应用程序,它的QoS,在包括干扰在内的所有时间内一直会受到约束。该定义具有局限性,因为,第一,QoS属性与RYNSORD和其他系统无关;第二,受干扰期间的错误可能是无界的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
