Efficient String Representation in Erlang/OTP

Publicerad

Författare

Typ

Examensarbete för masterexamen
Master Thesis

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

A string in Erlang is implemented as a linked list of integers. This leads to a large memory overhead on modern hardware (64 bits) causing each character to take 16 bytes, especially compared to the natural representation where each character takes 1 byte. In this report we show and compare alternative string representations to achieve less overhead. Furthermore, we explore the memory management in Erlang’s abstract machine (BEAM), and show how to measure and reason about its memory usage. As a case-study we use Ericsson’s SGSN-MME, a massively concurrent Erlang system running hundreds of thousands of Erlang processes. We have chosen a part of the system where the existing code has performance issues involving hostname processing and representation. In particular we analyse the behaviour of an existing algorithm used for selecting gateway hostnames by performing suffix matching. We give examples of improvements of this, both algorithmic and storage-wise.

Beskrivning

Ämne/nyckelord

Data- och informationsvetenskap, Computer and Information Science

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced