Rethinking safe consistency in distributed object-oriented programming

Rethinking safe consistency in distributed object-oriented programming
复制标题

DOI:
10.1145/3428256
复制
发表时间:
2020-11
影响因子:
--
通讯作者:
M. Köhler;Nafise Eskandani;P. Weisenburger;Alessandro Margara;G. Salvaneschi
M. Köhler;Nafise Eskandani;P. Weisenburger;Alessandro Margara;G. Salvaneschi
中科院分区:
--
文献类型:
--
作者:
M. Köhler;Nafise Eskandani;P. Weisenburger;Alessandro Margara;G. Salvaneschi

文献摘要

被引文献

相似文献

大规模分布式系统需要在一致性和可用性之间进行权衡,接受较低级别的一致性以保证较高的可用性。然而,现有的编程语言对这种妥协是不可知的,导致一致性保证对整个应用程序都是相同的,并且从中间件隐式地采用或硬编码在配置文件中。在本文中,我们建议在面向对象语言的设计中集成可用性,允许开发人员在同一应用程序中以单个对象的粒度指定不同的一致性和隔离约束。我们研究了可用性级别如何与对象结构交互,并定义了一个保留正确程序行为的类型系统。我们的评估表明,我们的解决方案执行有效,改进了分布式应用程序的设计。
Large scale distributed systems require to embrace the trade off between consistency and availability, accepting lower levels of consistency to guarantee higher availability. Existing programming languages are, however, agnostic to this compromise, resulting in consistency guarantees that are the same for the whole application and are implicitly adopted from the middleware or hardcoded in configuration files. In this paper, we propose to integrate availability in the design of an object-oriented language, allowing developers to specify different consistency and isolation constraints in the same application at the granularity of single objects. We investigate how availability levels interact with object structure and define a type system that preserves correct program behavior. Our evaluation shows that our solution performs efficiently and improves the design of distributed applications.