1. A method, comprising: accepting a simulation task for simulation by a simulator that controls multiple co-simulators; assigning each of the multiple co-simulators to execute one or more respective sub-tasks of the simulation task; and executing the simulation task by invoking each co-simulator to execute the respective assigned sub-tasks.