[erlang-questions] Soft realtime stats
Fri Nov 9 11:27:54 CET 2007
> 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.
More information about the erlang-questions