Parallel and Distributed Simulation from Many Cores to the Public Cloud (Extended Version)