[erlang-questions] Soft realtime stats

Richard Carlsson <>
Fri Nov 9 11:27:54 CET 2007


Joern wrote:
> Dear erlang-questions,
> 
> I am looking for papers or documentation regarding the (amount or lack
> thereof) runtime determinism of the Erlang VM. Any pointers?

No papers, as far as I know, but this is basically how things work:

1. The scheduler is in itself very deterministic, so if you run on
    a single-core cpu (or with a single scheduler on a multicore cpu)
    and you don't get any timeouts, then the execution tends to be
    quite deterministic. (In fact, too deterministic, because it means
    that it is harder to be sure that you have tested your program
    properly - you may have missed some interleavings that can cause
    problems if you run it on a more indeterministic system.)

2. Multiple schedulers on SMP add true indeterminism (between schedulers),
    and of course, the different schedulers can influence each other if
    a process on one scheduler sends a message to a process on another.

3. I/O and operating system events of course add indeterminism.

4. Timeouts while waiting for messages are another source of
    indeterminism, since timers are never exact.

     /Richard




More information about the erlang-questions mailing list