SMP Paper
Greg Perry
Greg.Perry@REDACTED
Tue Jun 2 19:01:58 CEST 2009
I found this reference on the SMP/multicore question, "Inside the Erlang
VM with Focus on SMP", Kenneth Lundin, Ericsson AB:
----------
Performance and scalability
The SMP VM with only one scheduler is slightly slower (10%) than the non
SMP VM.
This is because the SMP VM need to use locks for all shared
datastructures. But as
long as there are no lock-conflicts the overhead caused by locking is
not that high (it
is the lock conflicts that takes time).
This explains why it in some cases can be more efficient to run several
SMP VM's
with one scheduler each instead on one SMP VM with several schedulers.
Of course
the running of several VM's require that the application can run in many
parallel tasks
which has no or very little communication with each other.
If a program scale well with the SMP VM over many cores depends very
much on the
characteristics of the program, some programs scale linearly up to 8 and
even 16
cores while other programs barely scale at all even on 2 cores.
----------
>From this paragraph what would be an example of a shared datastructure?
And can anyone comment on what consitutes an application or process that
uses tail recursion properly?
More information about the erlang-questions
mailing list