Bluish Coder

Programming Languages, Martials Arts and Computers. The Weblog of Chris Double.


Erlang SMP support

Snapshots of the upcoming Erlang release with SMP support are available from the Erlang site.

As mentioned by this post on the Erlang mailing list, any of the P11B snapshots have SMP support and should be built with the following flags to enable it:

./configure --enable-smp-support --disable-lock-checking

Remember that this is a snapshot and as it says from the post:

Don't expect huge performance gains, or any performance gains at all for that matter. Almost all of our work so far has been focused on stability.

A later post to the list further notes that this is a snapshot and should not be used for production:

Our snapshots are only meant to be used for evaluation and testing purposes, not to be used in production use. We do consider the SMP emulator "stable enough" for that purpose.

SMP support in Erlang provides multiple native threads that run Erlang processes. The use of native threads allows machines with multiple CPU's to make effective use of the additional CPU's.

In current non-SMP versions of Erlang all Erlang processes run in a single thread which results in only one CPU on SMP machines being used. This has been an often raised barrier regarding non-native threading mechanisms in alternative langauges. By providing SMP support it lowers one of the barriers of entry for people wanting to create highly scalable applications on multi-CPU machines.

More information on the upcoming SMP version is available in this powerpoint presentation.


This site is accessable over tor as hidden service mh7mkfvezts5j6yu.onion, or Freenet using key: