使用 AEON 编程可扩展云服务
分布式、并行与集群计算
2019-12-10 v1
摘要
设计适应不可预测工作负载并高效利用现代云计算平台的低延迟基于云的应用是困难的。Actor 模型是一种可用于开发分布式应用的流行范式:actor 封装状态并通过发送事件相互通信。若每个事件仅访问单个 actor,则一致性得以保证,从而消除潜在的数据竞争与死锁。然而,为跨多个 actor 的并发事件提供一致性并非易事。本文通过引入 AEON 解决此问题:一个提供如下性质的框架:(i) 可编程性:程序员在推理由多 actor 事件引发的并发时只需考虑顺序语义;(ii) 可扩展性:AEON 运行时协议保证多 actor 事件的可串行化且无饥饿执行,同时最大化并行执行;(iii) 弹性:AEON 支持细粒度弹性,使程序员能够透明地迁移单个 actor 而不破坏一致性或带来显著性能开销。我们的实证结果表明,可以在不损害应用性能的前提下结合上述三个世界的最佳特性。
引用
@article{arxiv.1912.03506,
title = {Programming Scalable Cloud Services with AEON},
author = {Bo Sang and Gustavo Petri and Masoud Saeida Ardekani and Srivatsan Ravi and Patrick Eugster},
journal= {arXiv preprint arXiv:1912.03506},
year = {2019}
}