Scaling Reliably

Scaling Reliably
复制标题

可靠地扩展

DOI:
10.1145/3107937
复制
发表时间:
2017
期刊:
ACM Transactions on Programming Languages and Systems (TOPLAS)
影响因子:
--
通讯作者:
Kjell Winblad
Kjell Winblad
中科院分区:
--
文献类型:
--
作者:
P. Trinder;Natalia Chechina;N. Papaspyrou;Konstantinos Sagonas;S. Thompson;Stephen Adams;Stavros Aronis;Robert Baker;Eva Bihari;Olivier Boudeville;Francesco Cesarini;M. D. Stefano;Sverker Eriksson;Viktória Fördős;A. Ghaffari;Aggelos Giantsios;Rickard Green;Csaba Hoch;David Klaftenegger;Huiqing Li;Kenneth Lundin;K. Mackenzie;Katerina Roukounaki;Yiannis Tsiouris;Kjell Winblad

文献摘要

参考文献

被引文献

相似文献

分布式Actor语言是构建可伸缩的可靠系统的有效手段,Erlang编程语言有一个建立良好的和有影响力的模型。虽然Erlang模型在概念上提供了可靠的可伸缩性,但它有一些固有的可伸缩性限制,这些限制迫使开发人员偏离大规模的模型。本文确定了Erlang系统的可伸缩性限制,并报告了EU RELEASE项目为提高Erlang可靠分布式参与者模型的可伸缩性和可理解性所做的工作。我们系统地研究了Erlang的可伸缩性限制,然后在虚拟机、语言和工具级别上解决这些问题。更具体地说:(1)我们改进了Erlang虚拟机,使其能够在大规模单主机多核和NUMA架构中有效工作。我们对广泛使用的Erlang/OTP版本进行了重要的更改和架构改进。(2)我们设计并实现了可扩展分布式(SD)Erlang库,以解决语言级的可扩展性问题,并为新的语言结构提供并验证了一组语义。(3)为了使大型Erlang系统更易于部署、监控和调试,我们开发并开源了五个补充工具,其中一些是专门针对SD Erlang的。在本文中,我们使用两个案例研究来研究我们的新技术和工具的功能:基于分布式哈希表的轨道计算和蚁群优化(ACO)。Chaos Monkey的实验表明,两个版本的ACO生存随机过程失败,因此SD Erlang保持Erlang可靠性模型。虽然我们报告了一系列NUMA和集群架构的测量结果,但关键的可伸缩性实验是在具有256台主机(6,144个核心)的Athos集群上进行的。即使对于没有全局恢复数据需要维护的程序,SD Erlang也会对网络进行分区以减少网络流量,从而提高80台主机以上的Orbit和ACO基准测试的性能。ACO测量表明,维护全局恢复数据极大地限制了可伸缩性;然而,通过对恢复数据进行分区可以恢复可伸缩性。我们超过了分布式Erlang的可扩展性限制,并且在这种规模下(256台主机,6,144个内核)没有达到SD Erlang对这些基准的限制。
Distributed actor languages are an effective means of constructing scalable reliable systems, and the Erlang programming language has a well-established and influential model. While the Erlang model conceptually provides reliable scalability, it has some inherent scalability limits and these force developers to depart from the model at scale. This article establishes the scalability limits of Erlang systems and reports the work of the EU RELEASE project to improve the scalability and understandability of the Erlang reliable distributed actor model. We systematically study the scalability limits of Erlang and then address the issues at the virtual machine, language, and tool levels. More specifically: (1) We have evolved the Erlang virtual machine so that it can work effectively in large-scale single-host multicore and NUMA architectures. We have made important changes and architectural improvements to the widely used Erlang/OTP release. (2) We have designed and implemented Scalable Distributed (SD) Erlang libraries to address language-level scalability issues and provided and validated a set of semantics for the new language constructs. (3) To make large Erlang systems easier to deploy, monitor, and debug, we have developed and made open source releases of five complementary tools, some specific to SD Erlang. Throughout the article we use two case studies to investigate the capabilities of our new technologies and tools: a distributed hash table based Orbit calculation and Ant Colony Optimisation (ACO). Chaos Monkey experiments show that two versions of ACO survive random process failure and hence that SD Erlang preserves the Erlang reliability model. While we report measurements on a range of NUMA and cluster architectures, the key scalability experiments are conducted on the Athos cluster with 256 hosts (6,144 cores). Even for programs with no global recovery data to maintain, SD Erlang partitions the network to reduce network traffic and hence improves performance of the Orbit and ACO benchmarks above 80 hosts. ACO measurements show that maintaining global recovery data dramatically limits scalability; however, scalability is recovered by partitioning the recovery data. We exceed the established scalability limits of distributed Erlang, and do not reach the limits of SD Erlang for these benchmarks at this scale (256 hosts, 6,144 cores).
DOI: 10.1109/tpds.2017.2654246
发表时间: 2017-08
影响因子: 5.3
作者:
Natalia Chechina;K. Mackenzie;S. Thompson;P. Trinder;Olivier Boudeville;Viktoria Fordós;Csaba Hoch;A. Ghaffari;M. Hernandez
通讯作者: Natalia Chechina;K. Mackenzie;S. Thompson;P. Trinder;Olivier Boudeville;Viktoria Fordós;Csaba Hoch;A. Ghaffari;M. Hernandez
提高Erlang的网络可扩展性
DOI: 10.1016/j.jpdc.2016.01.002
发表时间: 2016
影响因子: 3.8
作者:
Chechina N
通讯作者: Chechina N
使用 SD Erlang 库的可扩展可靠即时通讯程序
DOI: 10.1145/2975969.2975973
发表时间: 2016
期刊: --
影响因子: --
作者:
Chechina N
通讯作者: Chechina N
实现可靠且可扩展的机器人通信
DOI: 10.1145/2975969.2975971
发表时间: 2016
期刊: --
影响因子: --
作者:
Lutac A
通讯作者: Lutac A