A high performance Erlang Tcp/Ip stack

  • Authors:
  • Javier Paris;Victor Gulias;Alberto Valderruten

  • Affiliations:
  • University of A Coruna, A Coruna, Spain;University of A Coruna, A Coruna, Spain;University of A Coruna, A Coruna, Spain

  • Venue:
  • Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional languages are not often associated with the development of network stacks, mainly due to the lower performance and lack of support for system programming than more conventional languages such as C. However, there are functional languages that offer features which make it easier to develop network protocols than using a more conventional approach based on an imperative language. Erlang, for instance, offers support for distribution, concurrency and soft real time built-in into the language. All those features are desirable to ease the development of network protocol implementations. It is also possible to implement a reasonably efficient network stack in this language, provided some precautions are taken in the design. By using Erlang distribution it is possible to support fault tolerant distributed Tcp connections that take advantage of the distributed nature of the applications implemented in Erlang to provide low cost synchronization, with just some support from the application itself.