[erlang-questions] VM not able to use available cores

Matthias Lang <>
Sun Jan 20 09:16:08 CET 2008


Hi,

You're measuring the performance of processes which do no useful work
and which all communicate a lot with everything else.

Such a set up makes it likely a lock somewhere will dominate. Perhaps
there's a lock on each process' message queue and the CPUs spend most
of their time fighting over those N locks. If so, then partitioning
the problem can be expected to completely change the results.

Micro benchmarks such as this one tend to spawn thickets of
clueless long-winded speculation. I've tried to keep mine short.

Matt

----------------------------------------------------------------------

Paul Brown writes:
 > 
 > EQ --
 > 
 > On a somewhat random lark, I decided to fire up the "big.erl"  
 > exerciser on a new box (8 cores, Xeon, Mac OS 10.5, R12B) that  
 > replaced an old box (4 cores, PPC G5, Mac OS 10.4, R11B), and the  
 > initial returns were surprising -- the 8-core box exhibited more or  
 > less equivalent performance to the 4-core...  (Pretty graphs, links to  
 > big.erl source I used, etc., are here - http://mult.ifario.us/p/use-the-cores-erl
 > 
 > A little more digging, and it turned out that the VM was only able to  
 > use the equivalent of 3 cores worth of CPU cycles, no matter how many  
 > schedulers I ran from the command line.  Two VMs does a reasonable job  
 > of using all 8 cores worth of cycles, but I'm left with the question  
 > of why a single VM couldn't use more cores.
 > 
 > Any thoughts?
 > 
 > -- Paul
 > _______________________________________________
 > erlang-questions mailing list
 > 
 > http://www.erlang.org/mailman/listinfo/erlang-questions
 > 



More information about the erlang-questions mailing list