Parallel and Distributed Simulation from Many Cores to the Public Cloud