From: Adrien Lebre Date: Wed, 16 Jul 2014 17:39:34 +0000 (+0200) Subject: Push Takahiro Patch and fix cloud.tesh - Adrien X-Git-Tag: v3_12~895 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/4636ae2abfffeed6d3c21c565f9fdd6908826402 Push Takahiro Patch and fix cloud.tesh - Adrien --- diff --git a/examples/java/cloud/cloud.tesh b/examples/java/cloud/cloud.tesh index b5ea23db20..faf82a5d7f 100644 --- a/examples/java/cloud/cloud.tesh +++ b/examples/java/cloud/cloud.tesh @@ -5,45 +5,45 @@ $ java -classpath ${classpath:=.} cloud/Cloud ${srcdir:=.}/../platforms/platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" > [ 0.000000] (0:@) Using regular java threads. Coroutines could speed your simulation up. > [ 0.000000] (0:@) Start2 hosts -> [ 0.000000] (1:Master@Jacquelin) create VM00 > [ 0.000000] (0:@) Create VM(VM00)@PM(Intel) with 0 mounted disks +> [ 0.000000] (0:@) Create VM(VM01)@PM(Provost) with 0 mounted disks +> [ 0.000000] (1:Master@Jacquelin) create VM00 > [ 0.000000] (1:Master@Jacquelin) Put Worker WRK00 on VM00 -> [ 0.000000] (2:WRK00@VM00) WRK00 is listenning on MBOX:WRK00 > [ 0.000000] (1:Master@Jacquelin) create VM01 -> [ 0.000000] (0:@) Create VM(VM01)@PM(Provost) with 0 mounted disks > [ 0.000000] (1:Master@Jacquelin) Put Worker WRK01 on VM01 -> [ 0.000000] (3:WRK01@VM01) WRK01 is listenning on MBOX:WRK01 > [ 0.000000] (1:Master@Jacquelin) Launched 2 VMs > [ 0.000000] (1:Master@Jacquelin) Send a first batch of work to everyone > [ 0.000000] (1:Master@Jacquelin) Sending to WRK00 -> [ 0.918721] (2:WRK00@VM00) Received "Task00". Processing it. +> [ 0.000000] (2:WRK00@VM00) WRK00 is listenning on MBOX:WRK00 +> [ 0.000000] (3:WRK01@VM01) WRK01 is listenning on MBOX:WRK01 > [ 0.918721] (1:Master@Jacquelin) Sending to WRK01 +> [ 0.918721] (2:WRK00@VM00) Received "Task00". Processing it. > [ 0.918721] (2:WRK00@VM00) WRK00 executed task (Task00) -> [ 2.798398] (3:WRK01@VM01) Received "Task01". Processing it. > [ 2.798398] (1:Master@Jacquelin) Suspend all VMs > [ 2.798398] (1:Master@Jacquelin) Suspend VM00 > [ 2.798398] (1:Master@Jacquelin) Suspend VM01 > [ 2.798398] (1:Master@Jacquelin) Wait a while +> [ 2.798398] (3:WRK01@VM01) Received "Task01". Processing it. > [ 4.798398] (1:Master@Jacquelin) Resume all VMs. > [ 4.798398] (1:Master@Jacquelin) Sleep long enough for everyone to be done with previous batch of work > [ 4.798398] (3:WRK01@VM01) WRK01 executed task (Task01) > [1000.000000] (1:Master@Jacquelin) Migrate everyone to Fernand > [1000.000000] (1:Master@Jacquelin) Migrate VM00fromIntelto Fernand -> [1000.000000] (5:__pr_mig_tx:VM00(Intel-Provost)@Intel) mig-stage1: remaining_size 1073741824.000000 -> [3463.851592] (5:__pr_mig_tx:VM00(Intel-Provost)@Intel) actual bandwidth 0.415609 (MB/s), threshold 13073.942775 -> [3463.851592] (5:__pr_mig_tx:VM00(Intel-Provost)@Intel) mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 966367641.600000 -> [3463.851592] (5:__pr_mig_tx:VM00(Intel-Provost)@Intel) mig-stage2.0: remaining_size 0.000000 (< threshold 13073.942775) -> [3463.851592] (5:__pr_mig_tx:VM00(Intel-Provost)@Intel) mig-stage3: remaining_size 0.000000 -> [3465.859709] (0:@) migrate VM(VM00): set bound (137333000.000000) at Provost -> [3465.859709] (4:__pr_mig_rx:VM00(Intel-Provost)@Provost) set affinity(0x0000@Provost) for VM00 -> [3467.739363] (1:Master@Jacquelin) Migrate VM01fromProvostto Fernand -> [3467.739363] (9:__pr_mig_tx:VM01(Provost-Provost)@Provost) mig-stage1: remaining_size 1073741824.000000 -> [3469.895666] (9:__pr_mig_tx:VM01(Provost-Provost)@Provost) actual bandwidth 474.886827 (MB/s), threshold 14938647.898423 -> [3469.895666] (9:__pr_mig_tx:VM01(Provost-Provost)@Provost) mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 966367641.600000 -> [3469.895666] (9:__pr_mig_tx:VM01(Provost-Provost)@Provost) mig-stage2.0: remaining_size 0.000000 (< threshold 14938647.898423) -> [3469.895666] (9:__pr_mig_tx:VM01(Provost-Provost)@Provost) mig-stage3: remaining_size 0.000000 -> [3469.895861] (0:@) migrate VM(VM01): set bound (137333000.000000) at Provost -> [3469.895861] (8:__pr_mig_rx:VM01(Provost-Provost)@Provost) set affinity(0x0000@Provost) for VM01 -> [3471.775515] (1:Master@Jacquelin) Let's shut down the simulation and kill everyone. -> [3471.775515] (1:Master@Jacquelin) Master done. -> [3471.775515] (0:@) MSG_main finished; Cleaning up the simulation... +> [1000.000000] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) mig-stage1: remaining_size 1073741824.000000 +> [3463.797594] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) actual bandwidth 0.415619 (MB/s), threshold 13074.229313 +> [3463.797594] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 966367641.600000 +> [3463.797594] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) mig-stage2.0: remaining_size 0.000000 (< threshold 13074.229313) +> [3463.797594] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) mig-stage3: remaining_size 0.000000 +> [3465.751712] (0:@) migrate VM(VM00): set bound (137333000.000000) at Fernand +> [3465.751712] (4:__pr_mig_rx:VM00(Intel-Fernand)@Fernand) set affinity(0x0000@Fernand) for VM00 +> [3467.577368] (1:Master@Jacquelin) Migrate VM01fromProvostto Fernand +> [3467.577368] (9:__pr_mig_tx:VM01(Provost-Fernand)@Provost) mig-stage1: remaining_size 1073741824.000000 +> [5929.514531] (9:__pr_mig_tx:VM01(Provost-Fernand)@Provost) actual bandwidth 0.415933 (MB/s), threshold 13084.109212 +> [5929.514531] (9:__pr_mig_tx:VM01(Provost-Fernand)@Provost) mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 966367641.600000 +> [5929.514531] (9:__pr_mig_tx:VM01(Provost-Fernand)@Provost) mig-stage2.0: remaining_size 0.000000 (< threshold 13084.109212) +> [5929.514531] (9:__pr_mig_tx:VM01(Provost-Fernand)@Provost) mig-stage3: remaining_size 0.000000 +> [5929.608220] (0:@) migrate VM(VM01): set bound (137333000.000000) at Fernand +> [5929.608220] (8:__pr_mig_rx:VM01(Provost-Fernand)@Fernand) set affinity(0x0000@Fernand) for VM01 +> [5931.433875] (0:@) MSG_main finished; Cleaning up the simulation... +> [5931.433875] (1:Master@Jacquelin) Let's shut down the simulation and kill everyone. +> [5931.433875] (1:Master@Jacquelin) Master done. diff --git a/src/msg/msg_vm.c b/src/msg/msg_vm.c index 62d0cbfb60..4539a93497 100644 --- a/src/msg/msg_vm.c +++ b/src/msg/msg_vm.c @@ -1077,8 +1077,25 @@ static void do_migration(msg_vm_t vm, msg_host_t src_pm, msg_host_t dst_pm) char *pr_rx_name = get_mig_process_rx_name(vm, src_pm, dst_pm); char *pr_tx_name = get_mig_process_tx_name(vm, src_pm, dst_pm); - MSG_process_create(pr_rx_name, migration_rx_fun, ms, dst_pm); - MSG_process_create(pr_tx_name, migration_tx_fun, ms, src_pm); +// MSG_process_create(pr_rx_name, migration_rx_fun, ms, dst_pm); +// MSG_process_create(pr_tx_name, migration_tx_fun, ms, src_pm); +#if 1 + { + char **argv = xbt_new(char *, 2); + argv[0] = pr_rx_name; + argv[1] = NULL; + MSG_process_create_with_arguments(pr_rx_name, migration_rx_fun, ms, dst_pm, 1, argv); + } + { + char **argv = xbt_new(char *, 2); + argv[0] = pr_tx_name; + argv[1] = NULL; + MSG_process_create_with_arguments(pr_tx_name, migration_tx_fun, ms, src_pm, 1, argv); + } +#endif + + + /* wait until the migration have finished */ {