From b5153dbf05347b73879a8eff9702e9411c61cb56 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20B=C3=A9daride?= Date: Fri, 31 Jan 2014 16:43:48 +0100 Subject: [PATCH] Add c and tesh files for the new test --- examples/msg/cloud/two_tasks_vm.c | 111 +++++++++++++++++++++++++++ examples/msg/cloud/two_tasks_vm.tesh | 110 ++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 examples/msg/cloud/two_tasks_vm.c create mode 100644 examples/msg/cloud/two_tasks_vm.tesh diff --git a/examples/msg/cloud/two_tasks_vm.c b/examples/msg/cloud/two_tasks_vm.c new file mode 100644 index 0000000000..a4c1017e54 --- /dev/null +++ b/examples/msg/cloud/two_tasks_vm.c @@ -0,0 +1,111 @@ +/* + * vm_bug.c + * + * Created on: Jan 30, 2014 + * Author: bedaride + */ + +#include +#include "msg/msg.h" +#include "xbt/sysdep.h" + +#include "xbt/log.h" +#include "xbt/asserts.h" +XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, + "Messages specific for this msg example"); + +msg_task_t atask = NULL; + +static int computation_fun(int argc, char *argv[]) +{ + const char *pr_name = MSG_process_get_name(MSG_process_self()); + const char *host_name = MSG_host_get_name(MSG_host_self()); + double clock_sta, clock_end; + atask = MSG_task_create("Task1", 1e9, 1e9, NULL); + clock_sta = MSG_get_clock(); + XBT_INFO("%s:%s task 1 created %g", host_name, pr_name, clock_sta); + MSG_task_execute(atask); + clock_end = MSG_get_clock(); + + XBT_INFO("%s:%s task 1 executed %g", host_name, pr_name, clock_end - clock_sta); + + MSG_task_destroy(atask); + atask = NULL; + + MSG_process_sleep(1); + + atask = MSG_task_create("Task2", 1e10, 1e10, NULL); + + clock_sta = MSG_get_clock(); + XBT_INFO("%s:%s task 2 created %g", host_name, pr_name, clock_sta); + MSG_task_execute(atask); + clock_end = MSG_get_clock(); + + XBT_INFO("%s:%s task 2 executed %g", host_name, pr_name, clock_end - clock_sta); + + MSG_task_destroy(atask); + atask = NULL; + + return 0; +} + +static void launch_computation_worker(msg_host_t host) +{ + const char *pr_name = "compute"; + char **argv = xbt_new(char *, 2); + argv[0] = xbt_strdup(pr_name); + argv[1] = NULL; + + MSG_process_create_with_arguments(pr_name, computation_fun, NULL, host, 1, argv); +} + +static int master_main(int argc, char *argv[]) +{ + xbt_dynar_t hosts_dynar = MSG_hosts_as_dynar(); + msg_host_t pm0 = xbt_dynar_get_as(hosts_dynar, 0, msg_host_t); + msg_vm_t vm0; + vm0 = MSG_vm_create_core(pm0, "VM0"); + + //MSG_process_sleep(1); + + launch_computation_worker(pm0); + + while(MSG_get_clock()<100) { + if (atask != NULL) + XBT_INFO("aTask remaining duration: %g", MSG_task_get_remaining_computation(atask)); + MSG_process_sleep(1); + } + + MSG_process_sleep(10000); + return 1; +} + +static void launch_master(msg_host_t host) +{ + const char *pr_name = "master_"; + char **argv = xbt_new(char *, 2); + argv[0] = xbt_strdup(pr_name); + argv[1] = NULL; + + MSG_process_create_with_arguments(pr_name, master_main, NULL, host, 1, argv); +} + +int main(int argc, char *argv[]){ + MSG_init(&argc, argv); + + xbt_assert(argc == 2); + MSG_create_environment(argv[1]); + + xbt_dynar_t hosts_dynar = MSG_hosts_as_dynar(); + msg_host_t pm0 = xbt_dynar_get_as(hosts_dynar, 0, msg_host_t); + launch_master(pm0); + + int res = MSG_main(); + XBT_INFO("Bye (simulation time %g)", MSG_get_clock()); + + return !(res == MSG_OK); +} + + + + diff --git a/examples/msg/cloud/two_tasks_vm.tesh b/examples/msg/cloud/two_tasks_vm.tesh new file mode 100644 index 0000000000..c177793aa5 --- /dev/null +++ b/examples/msg/cloud/two_tasks_vm.tesh @@ -0,0 +1,110 @@ +#! ./tesh + +p Testing a vm with two successive tasks + +$ $SG_TEST_EXENV two_tasks_vm$EXEEXT ${srcdir:=.}/simple_plat.xml +> [0.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks +> [PM0:compute:(2) 0.000000] [msg_test/INFO] PM0:compute task 1 created 0 +> [PM0:master_:(1) 0.000000] [msg_test/INFO] aTask remaining duration: 1e+09 +> [PM0:master_:(1) 1.000000] [msg_test/INFO] aTask remaining duration: 9e+08 +> [PM0:master_:(1) 2.000000] [msg_test/INFO] aTask remaining duration: 8e+08 +> [PM0:master_:(1) 3.000000] [msg_test/INFO] aTask remaining duration: 7e+08 +> [PM0:master_:(1) 4.000000] [msg_test/INFO] aTask remaining duration: 6e+08 +> [PM0:master_:(1) 5.000000] [msg_test/INFO] aTask remaining duration: 5e+08 +> [PM0:master_:(1) 6.000000] [msg_test/INFO] aTask remaining duration: 4e+08 +> [PM0:master_:(1) 7.000000] [msg_test/INFO] aTask remaining duration: 3e+08 +> [PM0:master_:(1) 8.000000] [msg_test/INFO] aTask remaining duration: 2e+08 +> [PM0:master_:(1) 9.000000] [msg_test/INFO] aTask remaining duration: 1e+08 +> [PM0:compute:(2) 10.000000] [msg_test/INFO] PM0:compute task 1 executed 10 +> [PM0:master_:(1) 10.000000] [msg_test/INFO] aTask remaining duration: 0 +> [PM0:compute:(2) 11.000000] [msg_test/INFO] PM0:compute task 2 created 11 +> [PM0:master_:(1) 12.000000] [msg_test/INFO] aTask remaining duration: 9.9e+09 +> [PM0:master_:(1) 13.000000] [msg_test/INFO] aTask remaining duration: 9.8e+09 +> [PM0:master_:(1) 14.000000] [msg_test/INFO] aTask remaining duration: 9.7e+09 +> [PM0:master_:(1) 15.000000] [msg_test/INFO] aTask remaining duration: 9.6e+09 +> [PM0:master_:(1) 16.000000] [msg_test/INFO] aTask remaining duration: 9.5e+09 +> [PM0:master_:(1) 17.000000] [msg_test/INFO] aTask remaining duration: 9.4e+09 +> [PM0:master_:(1) 18.000000] [msg_test/INFO] aTask remaining duration: 9.3e+09 +> [PM0:master_:(1) 19.000000] [msg_test/INFO] aTask remaining duration: 9.2e+09 +> [PM0:master_:(1) 20.000000] [msg_test/INFO] aTask remaining duration: 9.1e+09 +> [PM0:master_:(1) 21.000000] [msg_test/INFO] aTask remaining duration: 9e+09 +> [PM0:master_:(1) 22.000000] [msg_test/INFO] aTask remaining duration: 8.9e+09 +> [PM0:master_:(1) 23.000000] [msg_test/INFO] aTask remaining duration: 8.8e+09 +> [PM0:master_:(1) 24.000000] [msg_test/INFO] aTask remaining duration: 8.7e+09 +> [PM0:master_:(1) 25.000000] [msg_test/INFO] aTask remaining duration: 8.6e+09 +> [PM0:master_:(1) 26.000000] [msg_test/INFO] aTask remaining duration: 8.5e+09 +> [PM0:master_:(1) 27.000000] [msg_test/INFO] aTask remaining duration: 8.4e+09 +> [PM0:master_:(1) 28.000000] [msg_test/INFO] aTask remaining duration: 8.3e+09 +> [PM0:master_:(1) 29.000000] [msg_test/INFO] aTask remaining duration: 8.2e+09 +> [PM0:master_:(1) 30.000000] [msg_test/INFO] aTask remaining duration: 8.1e+09 +> [PM0:master_:(1) 31.000000] [msg_test/INFO] aTask remaining duration: 8e+09 +> [PM0:master_:(1) 32.000000] [msg_test/INFO] aTask remaining duration: 7.9e+09 +> [PM0:master_:(1) 33.000000] [msg_test/INFO] aTask remaining duration: 7.8e+09 +> [PM0:master_:(1) 34.000000] [msg_test/INFO] aTask remaining duration: 7.7e+09 +> [PM0:master_:(1) 35.000000] [msg_test/INFO] aTask remaining duration: 7.6e+09 +> [PM0:master_:(1) 36.000000] [msg_test/INFO] aTask remaining duration: 7.5e+09 +> [PM0:master_:(1) 37.000000] [msg_test/INFO] aTask remaining duration: 7.4e+09 +> [PM0:master_:(1) 38.000000] [msg_test/INFO] aTask remaining duration: 7.3e+09 +> [PM0:master_:(1) 39.000000] [msg_test/INFO] aTask remaining duration: 7.2e+09 +> [PM0:master_:(1) 40.000000] [msg_test/INFO] aTask remaining duration: 7.1e+09 +> [PM0:master_:(1) 41.000000] [msg_test/INFO] aTask remaining duration: 7e+09 +> [PM0:master_:(1) 42.000000] [msg_test/INFO] aTask remaining duration: 6.9e+09 +> [PM0:master_:(1) 43.000000] [msg_test/INFO] aTask remaining duration: 6.8e+09 +> [PM0:master_:(1) 44.000000] [msg_test/INFO] aTask remaining duration: 6.7e+09 +> [PM0:master_:(1) 45.000000] [msg_test/INFO] aTask remaining duration: 6.6e+09 +> [PM0:master_:(1) 46.000000] [msg_test/INFO] aTask remaining duration: 6.5e+09 +> [PM0:master_:(1) 47.000000] [msg_test/INFO] aTask remaining duration: 6.4e+09 +> [PM0:master_:(1) 48.000000] [msg_test/INFO] aTask remaining duration: 6.3e+09 +> [PM0:master_:(1) 49.000000] [msg_test/INFO] aTask remaining duration: 6.2e+09 +> [PM0:master_:(1) 50.000000] [msg_test/INFO] aTask remaining duration: 6.1e+09 +> [PM0:master_:(1) 51.000000] [msg_test/INFO] aTask remaining duration: 6e+09 +> [PM0:master_:(1) 52.000000] [msg_test/INFO] aTask remaining duration: 5.9e+09 +> [PM0:master_:(1) 53.000000] [msg_test/INFO] aTask remaining duration: 5.8e+09 +> [PM0:master_:(1) 54.000000] [msg_test/INFO] aTask remaining duration: 5.7e+09 +> [PM0:master_:(1) 55.000000] [msg_test/INFO] aTask remaining duration: 5.6e+09 +> [PM0:master_:(1) 56.000000] [msg_test/INFO] aTask remaining duration: 5.5e+09 +> [PM0:master_:(1) 57.000000] [msg_test/INFO] aTask remaining duration: 5.4e+09 +> [PM0:master_:(1) 58.000000] [msg_test/INFO] aTask remaining duration: 5.3e+09 +> [PM0:master_:(1) 59.000000] [msg_test/INFO] aTask remaining duration: 5.2e+09 +> [PM0:master_:(1) 60.000000] [msg_test/INFO] aTask remaining duration: 5.1e+09 +> [PM0:master_:(1) 61.000000] [msg_test/INFO] aTask remaining duration: 5e+09 +> [PM0:master_:(1) 62.000000] [msg_test/INFO] aTask remaining duration: 4.9e+09 +> [PM0:master_:(1) 63.000000] [msg_test/INFO] aTask remaining duration: 4.8e+09 +> [PM0:master_:(1) 64.000000] [msg_test/INFO] aTask remaining duration: 4.7e+09 +> [PM0:master_:(1) 65.000000] [msg_test/INFO] aTask remaining duration: 4.6e+09 +> [PM0:master_:(1) 66.000000] [msg_test/INFO] aTask remaining duration: 4.5e+09 +> [PM0:master_:(1) 67.000000] [msg_test/INFO] aTask remaining duration: 4.4e+09 +> [PM0:master_:(1) 68.000000] [msg_test/INFO] aTask remaining duration: 4.3e+09 +> [PM0:master_:(1) 69.000000] [msg_test/INFO] aTask remaining duration: 4.2e+09 +> [PM0:master_:(1) 70.000000] [msg_test/INFO] aTask remaining duration: 4.1e+09 +> [PM0:master_:(1) 71.000000] [msg_test/INFO] aTask remaining duration: 4e+09 +> [PM0:master_:(1) 72.000000] [msg_test/INFO] aTask remaining duration: 3.9e+09 +> [PM0:master_:(1) 73.000000] [msg_test/INFO] aTask remaining duration: 3.8e+09 +> [PM0:master_:(1) 74.000000] [msg_test/INFO] aTask remaining duration: 3.7e+09 +> [PM0:master_:(1) 75.000000] [msg_test/INFO] aTask remaining duration: 3.6e+09 +> [PM0:master_:(1) 76.000000] [msg_test/INFO] aTask remaining duration: 3.5e+09 +> [PM0:master_:(1) 77.000000] [msg_test/INFO] aTask remaining duration: 3.4e+09 +> [PM0:master_:(1) 78.000000] [msg_test/INFO] aTask remaining duration: 3.3e+09 +> [PM0:master_:(1) 79.000000] [msg_test/INFO] aTask remaining duration: 3.2e+09 +> [PM0:master_:(1) 80.000000] [msg_test/INFO] aTask remaining duration: 3.1e+09 +> [PM0:master_:(1) 81.000000] [msg_test/INFO] aTask remaining duration: 3e+09 +> [PM0:master_:(1) 82.000000] [msg_test/INFO] aTask remaining duration: 2.9e+09 +> [PM0:master_:(1) 83.000000] [msg_test/INFO] aTask remaining duration: 2.8e+09 +> [PM0:master_:(1) 84.000000] [msg_test/INFO] aTask remaining duration: 2.7e+09 +> [PM0:master_:(1) 85.000000] [msg_test/INFO] aTask remaining duration: 2.6e+09 +> [PM0:master_:(1) 86.000000] [msg_test/INFO] aTask remaining duration: 2.5e+09 +> [PM0:master_:(1) 87.000000] [msg_test/INFO] aTask remaining duration: 2.4e+09 +> [PM0:master_:(1) 88.000000] [msg_test/INFO] aTask remaining duration: 2.3e+09 +> [PM0:master_:(1) 89.000000] [msg_test/INFO] aTask remaining duration: 2.2e+09 +> [PM0:master_:(1) 90.000000] [msg_test/INFO] aTask remaining duration: 2.1e+09 +> [PM0:master_:(1) 91.000000] [msg_test/INFO] aTask remaining duration: 2e+09 +> [PM0:master_:(1) 92.000000] [msg_test/INFO] aTask remaining duration: 1.9e+09 +> [PM0:master_:(1) 93.000000] [msg_test/INFO] aTask remaining duration: 1.8e+09 +> [PM0:master_:(1) 94.000000] [msg_test/INFO] aTask remaining duration: 1.7e+09 +> [PM0:master_:(1) 95.000000] [msg_test/INFO] aTask remaining duration: 1.6e+09 +> [PM0:master_:(1) 96.000000] [msg_test/INFO] aTask remaining duration: 1.5e+09 +> [PM0:master_:(1) 97.000000] [msg_test/INFO] aTask remaining duration: 1.4e+09 +> [PM0:master_:(1) 98.000000] [msg_test/INFO] aTask remaining duration: 1.3e+09 +> [PM0:master_:(1) 99.000000] [msg_test/INFO] aTask remaining duration: 1.2e+09 +> [PM0:compute:(2) 111.000000] [msg_test/INFO] PM0:compute task 2 executed 100 +> [10100.000000] [msg_test/INFO] Bye (simulation time 10100) -- 2.20.1