About SD Erlang

SD Erlang is a small extension of distributed Erlang programming language for reliable scalability. It was developed at the University of Glasgow as part of the RELEASE project in close collaboration with the project partners, in particular Erlang Solutions, ICCS, and Kent University.

SD Erlang targets reliable scalable general purpose computing on stock heterogeneous platforms. The application area is that of general server-side computation, e.g. a web or messaging server. This form of computation is ubiquitous, in contrast to more specialised forms such as traditional high-performance computing. Moreover, this is computation on stock platforms, with standard hardware, operating systems and middleware, rather than on more specialised software stacks on specific hardware. Key goals in scaling the computation model are to provide mechanisms for controlling locality and reducing connectivity, and to provide performance portability. The reducing of connectivity is achieved by introducing s_groups. That is nodes in SD Erlang transitively share connections only with nodes that belong to the same s_group. In addition global name registration is replaced by s_group name registration, i.e. names are replicated only on nodes of the given s_group. To use s_groups you'll need to install SD Erlang/OTP.

The locality control and performance portability are achieved by introducing node attributes and a notion of communication distances between Erlang nodes. Node attributes describe the properties of individual Erlang nodes and the physical machines on which they run; communication distances model the communication times between nodes in a distributed system. The portability libraries that consist of attribute and communication distance libraries do not require SD Erlang, and can be used with any version of distributed Erlang.


RELEASE is an EU FP7 STREP (287510) project that was running between October 2011 and March 2015. The aims of the project were to scale the radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines. The trend-setting language we used was Erlang/OTP which has concurrency and robustness designed in. At the final review in Brussels the project gained an overall rating of Excellent. The project was commended for scientific and industrial impact, and also for sound management. The consortium was strongly encouraged to apply for further research funding, and is likely to explore low energy cloud server technologies.