Performance Portability Through Semi-explicit Placement in Distributed Erlang

MacKenzie, K., Chechina, N. and Trinder, P. (2015) Performance Portability Through Semi-explicit Placement in Distributed Erlang. In: 14th ACM SIGPLAN Erlang Workshop, Vancouver, B.C., Canada, 31 Aug - 2 Sep 2015, pp. 27-38. ISBN 9781450338059 (doi:10.1145/2804295.2804299)

108319.pdf - Accepted Version


Publisher's URL:


We consider the problem of adapting distributed Erlang applications to large or heterogeneous architectures to achieve good performance in a portable way. In many architectures, and especially large architectures, the communication latency between pairs of virtual machines (nodes) is no longer uniform. We propose two language-level methods that enable programs to automatically adapt to heterogeneity and non-uniform communication latencies, and both provide information enabling a program to identify an appropriate node when spawning a process. We provide a means of recording node attributes describing the hardware and software capabilities of nodes, and mechanisms that allow an application to examine the attributes of remote nodes. We provide an abstraction of communication distances that enables an application to select nodes to facilitate efficient communication. We have developed open source libraries that implement these ideas. We show that the use of attributes for node selection can lead to significant performance improvements if different components of the application have different processing requirements. We report a detailed empirical investigation of non-uniform communication times in several representative architectures, and show that our abstract model provides a good description of the hierarchy of communication times.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Chechina, Dr Natalia and Trinder, Professor Phil
Authors: MacKenzie, K., Chechina, N., and Trinder, P.
College/School:College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © 2015 ACM
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
635432RELEASEPhil TrinderEuropean Commission (EC)IST-2011-287510COM - COMPUTING SCIENCE