Skip to main content

Improving the network scalability of Erlang

Chechina, Natalia, Li, Huiqing, Ghaffari, Amir, Thompson, Simon, Trinder, Phil (2016) Improving the network scalability of Erlang. Journal of Parallel and Distributed Computing, 90-91 . pp. 22-34. ISSN 0743-7315. (doi:10.1016/j.jpdc.2016.01.002) (KAR id:54099)

Language: English
Click to download this file (2MB) Preview
[thumbnail of SD-Erlang published.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


As the number of cores grows in commodity architectures so does the like- lihood of failures. A distributed actor model potentially facilitates the de- velopment of reliable and scalable software on these architectures. Key com- ponents include lightweight processes which ‘share nothing’ and hence can fail independently. Erlang is not only increasingly widely used, but the un- derlying actor model has been a beacon for programming language design, influencing for example Scala, Clojure and Cloud Haskell.

While the Erlang distributed actor model is inherently scalable, we demon- strate that it is limited by some pragmatic factors. We address two network scalability issues here: globally registered process names must be updated on every node (virtual machine) in the system, and any Erlang nodes that com- municate maintain an active connection. That is, there is a fully connected O(n^2) network of n nodes.

We present the design, implementation, and initial evaluation of a con- servative extension of Erlang – Scalable Distributed (SD) Erlang. SD Erlang partitions the global namespace and connection network using s groups. An s group is a set of nodes with its own process namespace and with a fully connected network within the s group, but only individual connections out- side it. As a node may belong to more than one s group it is possible to construct arbitrary connection topologies like trees or rings.

Item Type: Article
DOI/Identification number: 10.1016/j.jpdc.2016.01.002
Projects: RELEASE
Uncontrolled keywords: Erlang, distributed system, SD Erlang, s_group, scalability
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: Organisations -1 not found.
Depositing User: S. Thompson
Date Deposited: 10 Feb 2016 13:26 UTC
Last Modified: 11 Dec 2022 03:07 UTC
Resource URI: (The current URI for this page, for reference purposes)
Thompson, Simon:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.