[erlang-questions] Why are messages between processes copied?
Thu Feb 23 14:55:03 CET 2012
# Matthew Evans 2012-02-23:
> Taking this a bit further, I've often wondered if you would gain
> anything having some kind of process to core affinity. Trying to
> ensure that processes that exchange lots of messages with one
> another run on the same core.
FWIW there's previous work on this, one paper I came across recently:
Multicore Scheduling for Lightweight Communicating Processes
Carl G. Ritson, Adam T. Sampson, and Frederick R. M. Barnes
>From the abstract:
Runtime heuristics dynamically group processes into cache-affine work
units based on communication patterns. Work units are then distributed
via wait-free work-stealing. Initial performance analysis shows that,
using the algorithms presented in this paper, process-oriented software
can execute with an efficiency approaching that of optimised sequential
and coarse-grain threaded designs.
More information about the erlang-questions