X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9f21f35eadfc5d1f43d3e7a4b591711fd7fb9616..6a64ba4381f5fe7d2a7d1a849de233d9c500a4b6:/examples/msg/energy-vm/energy-vm.c diff --git a/examples/msg/energy-vm/energy-vm.c b/examples/msg/energy-vm/energy-vm.c index c885f51f5c..9b3a0020a8 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_host3", 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); + 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); + 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); + 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)"); @@ -49,16 +49,16 @@ static int dvfs(int argc, char *argv[]) MSG_process_sleep(5); MSG_vm_shutdown(vm_host1); - MSG_vm_shutdown(vm_host3); + MSG_vm_shutdown(vm_host2); MSG_vm_destroy(vm_host1); - MSG_vm_destroy(vm_host3); + MSG_vm_destroy(vm_host2); return 0; } int main(int argc, char *argv[]) { - sg_energy_plugin_init(); + sg_host_energy_plugin_init(); MSG_init(&argc, argv); xbt_assert(argc > 1, "Usage: %s platform_file\n\tExample: %s msg_platform.xml\n", argv[0], argv[0]); @@ -69,7 +69,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; }