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 comuter 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 adresses 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.