Computations can't be just "parallelized" in any automatic fashion. The code has to be written in such a way that it understands it's running concurrently. So splitting up an emulation of a single machine into multiple execution units isn't really feasible. It could SORT of work if the execution was split up by process, but then you'd run into the fact that Erlang isn't very fast at math.