Investigating the scalability limits of distributed Erlang

Investigating the scalability limits of distributed Erlang
复制标题

研究分布式 Erlang 的可扩展性限制

DOI:
10.1145/2633448.2633449
复制
发表时间:
2014
期刊:
Proceedings of the Thirteenth ACM SIGPLAN workshop on Erlang
影响因子:
--
通讯作者:
A. Ghaffari
A. Ghaffari
中科院分区:
--
文献类型:
--
作者:
A. Ghaffari

文献摘要

被引文献

相似文献

随着多核体系结构的出现,可伸缩性是编程语言的一个关键属性。像Erlang这样的基于参与者的框架基本上是可伸缩的,但在实践中它们有一些可伸缩性限制。该发布项目旨在提高Erlang在拥有100,000个核心的新兴商用架构上的可伸缩性。本文使用DE-BENCH研究了分布式Erlang在多达150个节点上的可伸缩性限制。我们讨论了一个可扩展的分布式Erlang对等基准测试工具DE-BENCH的设计和实现。我们的基准测试结果表明,全局命令的频率限制了分布式Erlang的可伸缩性。还有一种普遍看法认为,分布式Erlang不能扩展到具有数百个节点和数千个核心的大型体系结构。我们提供了反对这一观点的证据,并表明,在没有发出全局命令的情况下,分布式Erlang线性扩展到150个节点和1200个核心,具有相对繁重的数据和计算负载。测量常用的分布式Erlang命令的延迟显示,RPC调用的延迟随着集群大小的增加而增加。我们的结果还表明,Gen_SERVER和Gen_FSM等服务器进程具有较低的延迟和良好的可扩展性。
With the advent of many-core architectures, scalability is a key property for programming languages. Actor-based frameworks like Erlang are fundamentally scalable, but in practice they have some scalability limitations. The RELEASE project aims to improve the scalability of Erlang on emergent commodity architectures with 100,000 cores. This paper investigates the scalability limits of distributed Erlang on up to 150 nodes by using DE-Bench. We discuss the design and implementation of DE-Bench, a scalable peer-to-peer benchmarking tool for distributed Erlang. Our benchmarking results demonstrate that the frequency of global commands limits the scalability of distributed Erlang. There is also a common belief that distributed Erlang does not scale on large architectures with hundreds of nodes and thousands of cores. We provide evidence against this belief and show that distributed Erlang scales linearly up to 150 nodes and 1200 cores with relatively heavy data and computation loads when no global command is made. Measuring the latency of commonly-used distributed Erlang commands reveals that the latency of rpc calls rises as cluster size grows. Our results also show that server processes like gen_server and gen_fsm have low latency and good scalability.