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)
PDF
Language: English |
|
Download this file (PDF/2MB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: http://dx.doi.org/10.1016/j.jpdc.2016.01.002 |
Abstract
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: | European Commission (https://ror.org/00k4n6c32) |
Depositing User: | S. Thompson |
Date Deposited: | 10 Feb 2016 13:26 UTC |
Last Modified: | 05 Nov 2024 10:41 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/54099 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):