ABSTRACT
We investigate the distributed part of the Erlang programminglanguage, with an aim to develop robust distributed systems andalgorithms running on top of Erlang runtime systems. Although the stepto convert an application running on a single node to a fullydistributed (multi-node) application is deceptively simple (changingcalls to spawn so that processes are spawned on differentnodes), there are some corner cases in the Erlang language and APIwhere the introduction of distribution can cause problems. In thispaper we discuss a number of such pitfalls, where the semantics ofcommunicating processes differs significantly depending if theprocesses reside on the same node or not, we also provide someguidelines for safe programming of distributed systems.
- J. Barklund and R. Virding. Erlang 4.7.3 reference manual. Draft (0.7), Ericsson Computer Science Laboratory, 1999.Google Scholar
- K. Claessen and H. Svensson. A semantics for distributed Erlang. In Proceedings of the ACM SIPGLAN 2005 Erlang Workshop, 2005. Google ScholarDigital Library
- L- Å. Fredlund and C. Benac Earle. Model checking Erlang programs: The functional approach. In Proceedings of the ACM SIPGLAN 2006 Erlang Workshop, 2006. Google ScholarDigital Library
- L-Å. Fredlund and H. Svensson. McErlang: A model checker for a distributed functional programming language. In Proc. of International Conference on Functional Programming (ICFP). ACM SIGPLAN, 2007. Google ScholarDigital Library
- H. Svensson and L-Å. Fredlund. A more accurate semantics for distributed Erlang. In Proceedings of the ACM SIPGLAN 2007 Erlang Workshop, 2007. Google ScholarDigital Library
Index Terms
- Programming distributed erlang applications: pitfalls and recipes
Recommendations
A more accurate semantics for distributed erlang
ERLANG '07: Proceedings of the 2007 SIGPLAN workshop on ERLANG WorkshopIn order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that ...
Visual programming of fault-tolerant distributed applications
VL '95: Proceedings of the 11th International IEEE Symposium on Visual LanguagesThe design of fault-tolerant distributed applications is a complex task. In addition to application functionalities, the programmer must consider issues related to both replication and distribution for every application component concerned with fault-...
Investigating the scalability limits of distributed Erlang
Erlang '14: Proceedings of the Thirteenth ACM SIGPLAN workshop on ErlangWith 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 ...
Comments