High-level distribution for the rapid production of robust telecoms software: Comparing C++ and ERLANG

J. H. Nyström, P. W. Trinder, D. J. King

Research output: Contribution to journalArticle

6 Citations (Scopus)

Abstract

Currently most distributed telecoms software is engineered using low- and mid-level distributed technologies, but there is a drive to use high-level distribution. This paper reports the first systematic comparison of a high-level distributed programming language in the context of substantial commercial products. Our research strategy is to reengineer some C++/CORBA telecoms applications in ERLANG, a high-level distributed language, and make comparative measurements. Investigating the potential advantages of the high-level ERLANG technology shows that two significant benefits are realized. Firstly, robust configurable systems are easily developed using the high-level constructs for fault tolerance and distribution. The ERLANG code exhibits resilience: sustaining throughput at extreme loads and automatically recovering when load drops; availability: remaining available despite repeated and multiple failures; dynamic reconfigurability: with throughput scaling near-linearly when resources are added or removed. Secondly, ERLANG delivers significant productivity and maintainability benefits: the ERLANG components are less than one-third of the size of their C++ counterparts. The productivity gains are attributed to specific language features, for example, high-level communication saves 22%, and automatic memory management saves 11%-compared with the C++ implementation. Investigating the feasibility of the high-level ERLANG technology demonstrates that it fulfils several essential requirements. The requisite distributed functionality is readily specified, even although control of low-level distributed coordination aspects is abrogated to the ERLANG implementation. At the expense of additional memory residency, excellent time performance is achieved, e.g. three times faster than the C++ implementation, due to ERLANG's lightweight processes. ERLANG interoperates at low cost with conventional technologies, allowing School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh,U.K. 'E-mail: trinder@macs.hw.ac.uk incremental reengineering of large distributed systems. The technology is available on the required hardware/operating system platforms, and is well supported. Copyright © 2007 John Wiley & Sons, Ltd.

Original languageEnglish
Pages (from-to)941-968
Number of pages28
JournalConcurrency and Computation: Practice and Experience
Volume20
Issue number8
DOIs
Publication statusPublished - 10 Jun 2008

Keywords

  • Distributed systems
  • ERLANG
  • Telecoms software

Fingerprint Dive into the research topics of 'High-level distribution for the rapid production of robust telecoms software: Comparing C++ and ERLANG'. Together they form a unique fingerprint.

  • Cite this