sg4::this_actor::thread_execute(multicore_host, 1e9, 6);
XBT_INFO("Computed 6-thread activity on a 4-core host. Took %g s", e->get_clock() - start_time);
- auto MyHost1 = e->host_by_name("MyHost1");
- simgrid::s4u::ExecPtr background_task = MyHost1->exec_async(2.5e9);
+ simgrid::s4u::ExecPtr background_task = sg4::this_actor::exec_async(2.5e9);
XBT_INFO("Start a 1-core background task on the 4-core host.");
start_time = sg4::Engine::get_clock();
background_task->wait();
XBT_INFO("The background task has ended.");
+
+ background_task = sg4::this_actor::exec_init(2e9)->set_thread_count(4)->start();
+ XBT_INFO("Start a 4-core background task on the 4-core host.");
+
+ XBT_INFO("Sleep for 5 seconds before starting another competing task");
+ sg4::this_actor::sleep_for(5);
+
+ start_time = sg4::Engine::get_clock();
+ sg4::this_actor::execute(1e9);
+ XBT_INFO("Computed 1-thread activity on a 4-core host. Took %g s", e->get_clock() - start_time);
+
+ background_task->wait();
+ XBT_INFO("The background task has ended.");
}
int main(int argc, char* argv[])
> [ 45.000000] Computed 2-thread activity on a 4-core host. Took 10 s
> [ 57.500000] Computed 4-thread activity on a 4-core host. Took 12.5 s
> [ 62.500000] The background task has ended.
-> [ 62.500000] Simulation done.
\ No newline at end of file
+> [ 62.500000] Start a 4-core background task on the 4-core host.
+> [ 62.500000] Sleep for 5 seconds before starting another competing task
+> [ 80.000000] Computed 1-thread activity on a 4-core host. Took 12.5 s
+> [ 85.000000] The background task has ended.
+> [ 85.000000] Simulation done.
{
Exec::init()->set_flops_amount(flops_amount)->set_host(host)->set_thread_count(thread_count)->wait();
}
+
ExecPtr exec_init(double flops_amount)
{
return Exec::init()->set_flops_amount(flops_amount)->set_host(get_host());