论文标题
混合一致性系统中的方法执行 - 技术报告
Anticipation of Method Execution in Mixed Consistency Systems -- Technical Report
论文作者
论文摘要
分布式应用程序通常处理具有不同一致性要求的数据:虽然社交网络中的帖子仅需要弱的一致性,但用户平衡反过来又具有强大的正确性要求,要求将突变同步。为了有效地处理分布式应用程序的不同复制品的操作序列,知道与他人上下班的操作很有用,因此,当可以预期操作不需要同步时,其他需要它,从而避免了不必要的等待。本文中,我们提供了基于语言的静态分析,以从代码信息中提取,以通过哪些操作可以与其他操作通勤,从而获得运行时支持可以使用的信息,以决定复制中的呼叫预期,而无需损害一致性。我们说明了几个范式示例的正式分析,并在Java中简要介绍了概念验证实施。
Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be synchronised. To deal efficiently with sequences of operations on different replicas of the distributed application, it is useful to know which operations commute with others and thus, when can an operation not requiring synchronisation be anticipated wrt other requiring it, thus avoiding unnecessary waits. Herein we present a language-based static analysis to extract at compile-time from code information on which operations can commute with which other operations and thus get information that can be used by the run-time support to decide on call anticipations of operations in replicas without compromising consistency. We illustrate the formal analysis on several paradigmatic examples and briefly present a proof-of-concept implementation in Java.