A.M.B.R.O.S.I.A

A.M.B.R.O.S.I.A
复制标题

神的食物

DOI:
10.14778/3377369.3377370
复制
发表时间:
2020
影响因子:
2.5
通讯作者:
Irene Zhang
Irene Zhang
中科院分区:
计算机科学2区
文献类型:
--
作者:
J. Goldstein;Ahmed Sayed Abdelhamid;Mike Barnett;S. Burckhardt;Badrish Chandramouli;Darren Gehring;Niel Lebeck;Christopher S. Meiklejohn;U. F. Minhas;Ryan Newton;Rahee Peshawaria;Tal Zaccai;Irene Zhang

文献摘要

被引文献

相似文献

在编写今天的分布式程序时,这些程序经常跨越设备和云服务,程序员面临着复杂的决策和编码任务,特别是当这些分布式组件是有状态的时候。如果他们的应用程序可以转换为纯数据处理,那么他们将受益于数据库社区过去40- 50年的工作,这些工作表明声明性数据库系统如何能够以高性能的方式将开发人员与失败的可能性完全隔离开来。不幸的是,虽然已经有一些尝试将类似的功能引入更通用的分布式编程空间,但一个引人注目的通用系统必须处理非确定性、高性能、支持具有不同弹性目标的各种机器类型,并且是语言无关的,允许用不同语言编写的分布式组件进行通信。本文介绍了第一个满足这些要求的系统Ambrosia。我们创造了术语“虚拟弹性”,类似于虚拟内存,用于平台特性,该特性允许故障无关代码以故障弹性方式运行。我们还引入了新的编程语言结构来弹性地处理非确定性。更令人感兴趣的是,它有效地重新应用了许多数据库性能优化技术,使Ambrosia比当今许多非弹性云解决方案的性能更高。
When writing today's distributed programs, which frequently span both devices and cloud services, programmers are faced with complex decisions and coding tasks around coping with failure, especially when these distributed components are stateful. If their application can be cast as pure data processing, they benefit from the past 40--50 years of work from the database community, which has shown how declarative database systems can completely isolate the developer from the possibility of failure in a performant manner. Unfortunately, while there have been some attempts at bringing similar functionality into the more general distributed programming space, a compelling general-purpose system must handle non-determinism, be performant, support a variety of machine types with varying resiliency goals, and be language agnostic, allowing distributed components written in different languages to communicate. This paper introduces Ambrosia, the first system to satisfy all these requirements. We coin the term "virtual resiliency", analogous to virtual memory, for the platform feature which allows failure oblivious code to run in a failure resilient manner. We also introduce novel programming language constructs for resiliently handling non-determinism. Of further interest is the effective reapplication of much database performance optimization technology to make Ambrosia more performant than many of today's non-resilient cloud solutions.