X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d8a58294b59b5660e91410d5c9e5a48e44c67005..fb16f4c723e37838d8a7f216ad8616c139fc7f31:/examples/msg/energy-vm/energy-vm.c?ds=sidebyside diff --git a/examples/msg/energy-vm/energy-vm.c b/examples/msg/energy-vm/energy-vm.c index 8a2011dc9f..1bdd14b87f 100644 --- a/examples/msg/energy-vm/energy-vm.c +++ b/examples/msg/energy-vm/energy-vm.c @@ -9,7 +9,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(energy_vm, "Messages of this example"); -static int worker_func() { +static int worker_func(int argc, char *argv[]) { msg_task_t task1 = MSG_task_create("t1", 300E6, 0, NULL); MSG_task_execute (task1); MSG_task_destroy(task1); @@ -25,22 +25,22 @@ static int dvfs(int argc, char *argv[]) /* Host 1 */ XBT_INFO("Creating and starting two VMs"); - msg_vm_t vm_host1 = MSG_vm_create(host1, "vm_host1", 2048, 10, 50); + msg_vm_t vm_host1 = MSG_vm_create(host1, "vm_host1", 1, 2048, 10, 50); MSG_vm_start(vm_host1); - msg_vm_t vm_host3 = MSG_vm_create(host3, "vm_host3", 2048, 10, 50); - MSG_vm_start(vm_host3); + msg_vm_t vm_host2 = MSG_vm_create(host2, "vm_host2", 1, 2048, 10, 50); + MSG_vm_start(vm_host2); - XBT_INFO("Create two tasks on Host1: one inside a VM, the other directly on the host"); - MSG_process_create("p11", worker_func, NULL, vm_host1); - MSG_process_create("p12", worker_func, NULL, host1); + XBT_INFO("Create two tasks on Host1: both inside a VM"); + MSG_process_create("p11", worker_func, NULL, (msg_host_t)vm_host1); + MSG_process_create("p12", worker_func, NULL, (msg_host_t)vm_host1); - XBT_INFO("Create two tasks on Host2: both directly on the host"); - MSG_process_create("p21", worker_func, NULL, host2); + XBT_INFO("Create two tasks on Host2: one inside a VM, the other directly on the host"); + MSG_process_create("p21", worker_func, NULL, (msg_host_t)vm_host2); MSG_process_create("p22", worker_func, NULL, host2); - XBT_INFO("Create two tasks on Host3: both inside a VM"); - MSG_process_create("p31", worker_func, NULL, vm_host3); - MSG_process_create("p32", worker_func, NULL, vm_host3); + XBT_INFO("Create two tasks on Host3: both directly on the host"); + MSG_process_create("p31", worker_func, NULL, host3); + MSG_process_create("p32", worker_func, NULL, host3); XBT_INFO("Wait 5 seconds. The tasks are still running (they run for 3 seconds, but 2 tasks are co-located, " "so they run for 6 seconds)"); @@ -48,10 +48,8 @@ static int dvfs(int argc, char *argv[]) XBT_INFO("Wait another 5 seconds. The tasks stop at some point in between"); MSG_process_sleep(5); - MSG_vm_shutdown(vm_host1); - MSG_vm_shutdown(vm_host3); MSG_vm_destroy(vm_host1); - MSG_vm_destroy(vm_host3); + MSG_vm_destroy(vm_host2); return 0; } @@ -69,7 +67,9 @@ int main(int argc, char *argv[]) msg_error_t res = MSG_main(); - XBT_INFO("Total simulation time: %.2f; All hosts must have the exact same energy consumption.", MSG_get_clock()); + XBT_INFO("Total simulation time: %.2f; Host2 and Host3 must have the exact same energy consumption; Host1 is " + "multi-core and will differ.", + MSG_get_clock()); return res != MSG_OK; }