[erlang-questions] Why are messages between processes copied?

Jachym Holecek <>
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
  http://www.cs.kent.ac.uk/pubs/2009/2928/content.pdf

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

BR,
	-- Jachym



More information about the erlang-questions mailing list