Evaluating Scalable Distributed Erlang for Scalability and Reliability

Chechina, Natalia and MacKenzie, Kenneth and Thompson, Simon and Trinder, Phil and Boudeville, Olivier and Fordos, Viktoria and Hoch, csaba and Ghaffari, Amir and Moro Hernandez, Mario (2017) Evaluating Scalable Distributed Erlang for Scalability and Reliability. IEEE Transactions on Parallel and Distributed Systems, 28 (8). pp. 2244-2257. ISSN 1045-9219. (doi:https://doi.org/10.1109/TPDS.2017.2654246) (Full text available)

PDF (Evaluating Scalable Distributed Erlang for Scalability and Reliability) - Author's Accepted Manuscript
Download (683kB) Preview
Official URL


Large scale servers with hundreds of hosts and tens of thousands of cores are becoming common. To exploit these platforms software must be both scalable and reliable, and distributed actor languages like Erlang are a proven technology in this area. While distributed Erlang conceptually supports the engineering of large scale reliable systems, in practice it has some scalability limits that force developers to depart from the standard language mechanisms at scale. In earlier work we have explored these scalability limitations, and addressed them by providing a Scalable Distributed (SD) Erlang library that partitions the network of Erlang Virtual Machines (VMs) into scalable groups (s groups). This paper presents the first systematic evaluation of SD Erlang s groups and associated tools, and how they can be used. We present a comprehensive evaluation of the scalability and reliability of SD Erlang using three typical benchmarks and a case study. We demonstrate that s groups improve the scalability of reliable and unreliable Erlang applications on up to 256 hosts (6144 cores). We show that SD Erlang preserves the class-leading distributed Erlang reliability model, but scales far better than the standard model. We present a novel, systematic, and tool-supported approach for refactoring distributed Erlang applications into SD Erlang. We outline the new and improved monitoring, debugging and deployment tools for large scale SD Erlang applications. We demonstrate the scaling characteristics of key tools on systems comprising up to 10K Erlang VMs.

Item Type: Article
Uncontrolled keywords: Scalability, Servers, Software reliability, Benchmark testing, Monitoring, Reliability engineering Erlang, Scalability, Reliability, Actors
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Divisions: Faculties > Sciences > School of Computing
Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Simon Thompson
Date Deposited: 25 Jan 2017 15:13 UTC
Last Modified: 06 Oct 2017 09:43 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/60077 (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year