The “halfword” virtual machine


By Erlang Central | Published: October 31, 2011



The 64bit Erlang Virtual machine can host very large Erlang applications. However, the amount of memory consumed for an ordinary Erlang process is doubled compared to a 32bit virtual machine. Memory bandwidth is a bottleneck in modern computer environments, so wasting memory on 64bit heaps (with e.g. 128 bits consumed for every character in a string) is a problem. The halfword virtual machine addresses these problems for applications having vast amounts of data in ETS tables and binaries, but does not need more than 4GB of primary memory for regular Erlang processes – a class of applications that is quite common. Using the halfword virtual machine gets you the best of two worlds – even higher speed than with any of the ordinary virtual machines, but a huge memory address range for data stored in i.e. mnesia and ETS and as binaries.

The linux halfword virtual machine has been in OTP since the R14B02 release, but few people know about it and ever consider using it, a fact that we want to change.

Audience:Developers and people with a general interest in how the virtual machine works.

Objectives:To describe the halfword virtual machine, it’s inner workings and what you can gain from using it. A lot of applications would have use for it, but few people knows what this is and how it works.

Download Presentation Download

Speakers:

  • Patrik Nyblom

    Erlang VM developer and OTP team member
    Ericsson AB

    Patrik Nyblom works in the OTP project developing the Erlang virtual machine and has done so for the past ten years.

    Patrik Nyblom


Follow Erlang Central:


Have an Erlang Question?

Reach out to the Erlang community





Tags