- Comm.detach(): start and forget about asynchronous emission
- this_actor::send(mailbox) is now mailbox->put()
- New: simgrid::s4u::Comm::wait_all()
+ - New: Host.execute() for remote executions.
SURF
- Unused option network/sender-gap is removed.
void routeTo(Host * dest, std::vector<Link*> * links, double* latency);
void routeTo(Host * dest, std::vector<surf::LinkImpl*> * links, double* latency);
+ /** Block the calling actor on an execution located on the called host
+ *
+ * It is not a problem if the actor is not located on the called host.
+ * The actor will not be migrated in this case. Such remote execution are easy in simulation.
+ */
+ void execute(double flops);
+
private:
simgrid::xbt::string name_ = "noname";
std::unordered_map<std::string, Storage*>* mounts = nullptr; // caching
return *mounts;
}
+void Host::execute(double flops)
+{
+ Host* host_list[1] = {this};
+ double flops_list[1] = {flops};
+ smx_activity_t s = simcall_execution_parallel_start(nullptr /*name*/, 1, host_list, flops_list,
+ nullptr /*comm_sizes */, -1.0, -1 /*timeout*/);
+ simcall_execution_wait(s);
+}
+
} // namespace simgrid
} // namespace s4u