Partisan:支持云规模 Erlang 应用
分布式、并行与集群计算
2018-02-09 v1
摘要
在本工作中,我们提出一种用于 Erlang 的替代分发层,名为 Partisan。Partisan 是一种拓扑无关的分布编程模型与分发层,支持面向不同应用场景的若干网络拓扑:全网状、点对点、客户端-服务器以及发布-订阅。Partisan 允许应用开发者在运行时指定网络拓扑,而非将特定拓扑的关注点编码进应用代码中。Partisan 还额外增加了对更多信道的支持,使用户能够通过多个信道分发消息,有时并行进行。我们在 Erlang 编程语言中实现并评估了 Partisan,并在三个场景的评估中使用了它。第一个场景比较了分布式 Erlang 与 Partisan 的原始性能,表明 Partisan 表现与分布式 Erlang 相当或更好。第二个场景表明,在正常条件下将流量分布在多个连接上使 Partisan 性能提升高达 18 倍,而在网络拥塞和高并发情况下提升高达 30 倍。第三个场景利用现有应用表明,在运行时配置拓扑使应用性能提升高达 13.5 倍,或相较通用运行时分发层扩展到数千节点的集群。
引用
@article{arxiv.1802.02652,
title = {Partisan: Enabling Cloud-Scale Erlang Applications},
author = {Christopher Meiklejohn and Heather Miller},
journal= {arXiv preprint arXiv:1802.02652},
year = {2018}
}