[论文解读] CCS: It's not Fair! Fair Schedulers cannot be implemented in CCS-like languages even under progress and certain fairness assumptions
本文表明,标准的类似CCS的进程演算无法在不施加外部公平性假设的前提下正确表达公平调度器——例如Dekker和Peterson互斥协议中的调度器。即使在满足进展性和某些公平性条件的情况下,CCS仍然缺乏表达此类调度器预期行为的表达能力,揭示了其在不附加语义的情况下建模公平并发系统时的根本局限性。
In the process algebra community it is sometimes suggested that, on some level of abstraction, any distributed system can be modelled in standard process-algebraic specification formalisms like CCS. This sentiment is strengthened by results testifying that CCS, like many similar formalisms, is Turing powerful and provides a mechanism for interaction. This paper counters that sentiment by presenting a simple fair scheduler---one that in suitable variations occurs in many distributed systems---of which no implementation can be expressed in CCS, unless CCS is enriched with a fairness assumption. Since Dekker's and Peterson's mutual exclusion protocols implement fair schedulers, it follows that these protocols cannot be rendered correctly in CCS without imposing a fairness assumption. Peterson expressed this algorithm correctly in pseudocode without resorting to a fairness assumption, so it furthermore follows that CCS lacks the expressive power to accurately capture such pseudocode.
研究动机与目标
- 挑战一种广泛持有的信念,即CCS能够在适当的抽象层次上建模任何分布式系统。
- 证明公平调度器——在分布式系统中至关重要——无法在标准CCS中被正确实现。
- 表明即使在进展性和公平性假设下,CCS仍然不足以在无外部约束的情况下指定公平行为。
- 突出CCS在捕捉Dekker和Peterson互斥算法等协议时的表达局限性。
- 主张CCS中的公平性假设不应被理所当然地接受,因为它们在某些情境下可能导致错误推导。
提出的方法
- 将一个简单的公平调度器形式化为Petri网,并利用结构属性证明其正确性。
- 将Petri网模型转换为CCS进程,并在标准语义下分析其行为。
- 应用诸如公正性(justness)等公平性假设,以评估它们是否能使CCS中正确指定该调度器。
- 使用LTL中的逻辑规格来刻画期望的公平性属性,并与CCS的行为进行比较。
- 构建一个CCS+LTL混合规格,以隔离对公平性组件的需求。
- 通过分析标记转移系统中的路径和使能条件,证明在无外部假设的情况下,任何标准CCS进程都无法满足所需的公平性条件。
实验结果
研究问题
- RQ1在不附加公平性假设的前提下,能否在标准CCS中正确实现一个公平调度器?
- RQ2为何Dekker和Peterson的互斥协议无法在CCS中被忠实建模?
- RQ3CCS在表达并发系统中固有的公平性属性方面存在哪些局限性?
- RQ4能否在不增强形式化本身的前提下,将LTL中表达的公平性属性完全捕捉到CCS中?
- RQ5是否存在一个CCS的最小扩展,使得无需依赖公平性假设即可指定公平调度器?
主要发现
- 即使在进展性和公正性假设下,也无法在标准CCS中表达任何公平调度器的实现。
- Dekker和Peterson的互斥协议无法在不施加公平性假设的前提下被正确表示于CCS中。
- 本文证明,CCS缺乏表达公平调度器预期行为的表达能力,如Peterson原始描述中的伪代码所指定的那样。
- 只有在增强更强的公平性假设或添加额外操作符的前提下,CCS才能正确指定公平调度器。
- 在CCS中使用公平性假设可能导致在某些情境下产生错误推导,提示应谨慎应用此类假设。
- 通过扩展CCS引入优先级或非阻塞读取等操作符,可在不依赖公平性假设的前提下正确指定公平调度器。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。