Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add simple vm tesh
authorPaul Bédaride <paul.bedaride@gmail.com>
Fri, 31 Jan 2014 16:11:56 +0000 (17:11 +0100)
committerPaul Bédaride <paul.bedaride@gmail.com>
Fri, 31 Jan 2014 16:11:56 +0000 (17:11 +0100)
buildtools/Cmake/AddTests.cmake
examples/msg/cloud/CMakeLists.txt
examples/msg/cloud/simple_vm.tesh [new file with mode: 0644]

index 1f81839..a1f5d93 100644 (file)
@@ -175,6 +175,8 @@ if(NOT enable_memcheck)
 
   ADD_TEST(msg-cloud-two-tasks-vm-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
   
 
   ADD_TEST(msg-cloud-two-tasks-vm-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
   
+  ADD_TEST(msg-cloud-simple-vm-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/simple_vm.tesh)
+
   if(CONTEXT_UCONTEXT)
     ADD_TEST(msg-sendrecv-CLM03-ucontext        ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_CLM03.tesh)
     ADD_TEST(msg-sendrecv-Vegas-ucontext        ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_Vegas.tesh)
   if(CONTEXT_UCONTEXT)
     ADD_TEST(msg-sendrecv-CLM03-ucontext        ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_CLM03.tesh)
     ADD_TEST(msg-sendrecv-Vegas-ucontext        ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_Vegas.tesh)
@@ -200,6 +202,7 @@ if(NOT enable_memcheck)
     ADD_TEST(msg-masterslave-virtual-machines-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
 
     ADD_TEST(msg-cloud-two-tasks-vm-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
     ADD_TEST(msg-masterslave-virtual-machines-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
 
     ADD_TEST(msg-cloud-two-tasks-vm-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
+     ADD_TEST(msg-cloud-simple-vm-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/simple_vm.tesh)
   endif()
 
   if(HAVE_RAWCTX)
   endif()
 
   if(HAVE_RAWCTX)
@@ -227,7 +230,7 @@ if(NOT enable_memcheck)
     ADD_TEST(msg-masterslave-virtual-machines-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
 
     ADD_TEST(msg-cloud-two-tasks-vm-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
     ADD_TEST(msg-masterslave-virtual-machines-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
 
     ADD_TEST(msg-cloud-two-tasks-vm-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/two_tasks_vm.tesh)
-
+  ADD_TEST(msg-cloud-simple-vm-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/ --cd ${CMAKE_BINARY_DIR}/examples/msg/cloud/ ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/simple_vm.tesh)
   endif()
 
   ADD_TEST(msg-energy-pstates-thread            ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
   endif()
 
   ADD_TEST(msg-energy-pstates-thread            ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
index f609e8e..a79cbcc 100644 (file)
@@ -24,6 +24,7 @@ set(tesh_files
   ${tesh_files}
   ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_virtual_machines.tesh
   ${CMAKE_CURRENT_SOURCE_DIR}/two_tasks_vm.tesh
   ${tesh_files}
   ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_virtual_machines.tesh
   ${CMAKE_CURRENT_SOURCE_DIR}/two_tasks_vm.tesh
+   ${CMAKE_CURRENT_SOURCE_DIR}/simple_vm.tesh
   PARENT_SCOPE
   )
 set(xml_files
   PARENT_SCOPE
   )
 set(xml_files
diff --git a/examples/msg/cloud/simple_vm.tesh b/examples/msg/cloud/simple_vm.tesh
new file mode 100644 (file)
index 0000000..0ba6a4b
--- /dev/null
@@ -0,0 +1,83 @@
+#! ./tesh
+
+p Testing a vm with two successive tasks
+
+$ $SG_TEST_EXENV simple_vm$EXEEXT ${srcdir:=.}/simple_plat.xml
+> [PM0:master_:(1) 0.000000] [msg_test/INFO] ## Test 1 (started): check computation on normal PMs
+> [PM0:master_:(1) 0.000000] [msg_test/INFO] ### Put a task on a PM
+> [PM0:compute:(2) 0.010000] [msg_test/INFO] PM0:compute task executed 0.01
+> [PM0:master_:(1) 2.000000] [msg_test/INFO] ### Put two tasks on a PM
+> [PM0:compute:(4) 2.020000] [msg_test/INFO] PM0:compute task executed 0.02
+> [PM0:compute:(3) 2.020000] [msg_test/INFO] PM0:compute task executed 0.02
+> [PM0:master_:(1) 4.000000] [msg_test/INFO] ### Put a task on each PM
+> [PM0:compute:(5) 4.010000] [msg_test/INFO] PM0:compute task executed 0.01
+> [PM1:compute:(6) 4.010000] [msg_test/INFO] PM1:compute task executed 0.01
+> [PM0:master_:(1) 6.000000] [msg_test/INFO] ## Test 1 (ended)
+> [PM0:master_:(1) 6.000000] [msg_test/INFO] ## Test 2 (started): check impact of running a task inside a VM (there is no degradation for the moment)
+> [PM0:master_:(1) 6.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the VM
+> [6.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [VM0:compute:(7) 6.010000] [msg_test/INFO] VM0:compute task executed 0.01
+> [PM0:master_:(1) 8.000000] [msg_test/INFO] ## Test 2 (ended)
+> [PM0:master_:(1) 8.000000] [msg_test/INFO] ## Test 3 (started): check impact of running a task collocated with a VM (there is no VM noise for the moment)
+> [PM0:master_:(1) 8.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the PM
+> [8.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [PM0:compute:(8) 8.010000] [msg_test/INFO] PM0:compute task executed 0.01
+> [PM0:master_:(1) 10.000000] [msg_test/INFO] ## Test 3 (ended)
+> [PM0:master_:(1) 10.000000] [msg_test/INFO] ## Test 4 (started): compare the cost of running two tasks inside two different VMs collocated or not (for the moment, there is no degradation for the VMs. Hence, the time should be equals to the time of test 1
+> [PM0:master_:(1) 10.000000] [msg_test/INFO] ### Put two VMs on a PM, and put a task to each VM
+> [10.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [10.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(PM0) with 0 mounted disks
+> [VM1:compute:(10) 10.010000] [msg_test/INFO] VM1:compute task executed 0.01
+> [VM0:compute:(9) 10.010000] [msg_test/INFO] VM0:compute task executed 0.01
+> [PM0:master_:(1) 12.000000] [msg_test/INFO] ### Put a VM on each PM, and put a task to each VM
+> [12.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [12.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(PM1) with 0 mounted disks
+> [VM1:compute:(12) 12.010000] [msg_test/INFO] VM1:compute task executed 0.01
+> [VM0:compute:(11) 12.010000] [msg_test/INFO] VM0:compute task executed 0.01
+> [PM0:master_:(1) 14.000000] [msg_test/INFO] ## Test 4 (ended)
+> [PM0:master_:(1) 14.000000] [msg_test/INFO] ## Test 5  (started): Analyse network impact
+> [PM0:master_:(1) 14.000000] [msg_test/INFO] ### Make a connection between PM0 and PM1
+> [PM1:comm_rx:(14) 14.216698] [msg_test/INFO] PM0:comm_tx to PM1:comm_rx => 0.216698 sec
+> [PM0:master_:(1) 19.000000] [msg_test/INFO] ### Make two connection between PM0 and PM1
+> [PM1:comm_rx:(18) 19.303296] [msg_test/INFO] PM0:comm_tx to PM1:comm_rx => 0.303296 sec
+> [PM1:comm_rx:(16) 19.303296] [msg_test/INFO] PM0:comm_tx to PM1:comm_rx => 0.303296 sec
+> [PM0:master_:(1) 24.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM0
+> [24.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [VM0:comm_rx:(20) 24.002203] [msg_test/INFO] PM0:comm_tx to VM0:comm_rx => 0.00220318 sec
+> [PM0:master_:(1) 29.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1
+> [29.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM1) with 0 mounted disks
+> [VM0:comm_rx:(22) 29.216698] [msg_test/INFO] PM0:comm_tx to VM0:comm_rx => 0.216698 sec
+> [PM0:master_:(1) 34.000000] [msg_test/INFO] ### Make two connections between PM0 and VM0@PM1
+> [34.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM1) with 0 mounted disks
+> [VM0:comm_rx:(26) 34.303296] [msg_test/INFO] PM0:comm_tx to VM0:comm_rx => 0.303296 sec
+> [VM0:comm_rx:(24) 34.303296] [msg_test/INFO] PM0:comm_tx to VM0:comm_rx => 0.303296 sec
+> [PM0:master_:(1) 39.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1, and also make a connection between PM0 and PM1
+> [39.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM1) with 0 mounted disks
+> [PM1:comm_rx:(30) 39.303296] [msg_test/INFO] PM0:comm_tx to PM1:comm_rx => 0.303296 sec
+> [VM0:comm_rx:(28) 39.303296] [msg_test/INFO] PM0:comm_tx to VM0:comm_rx => 0.303296 sec
+> [PM0:master_:(1) 44.000000] [msg_test/INFO] ### Make a connection between VM0@PM0 and PM1@PM1, and also make a connection between VM0@PM0 and VM1@PM1
+> [44.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [44.000000] [surf_vm_workstation/INFO] Create VM(VM1)@PM(PM1) with 0 mounted disks
+> [VM1:comm_rx:(34) 44.303296] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.303296 sec
+> [VM1:comm_rx:(32) 44.303296] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.303296 sec
+> [PM0:master_:(1) 49.000000] [msg_test/INFO] ## Test 5 (ended)
+> [PM0:master_:(1) 49.000000] [msg_test/INFO] ## Test 6 (started): Check migration impact (not yet implemented neither on the CPU resource nor on the network one
+> [PM0:master_:(1) 49.000000] [msg_test/INFO] ### Relocate VM0 between PM0 and PM1
+> [49.000000] [surf_vm_workstation/INFO] Create VM(VM0)@PM(PM0) with 0 mounted disks
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 49.010000] /home/bedaride/Boulot/simgrid/src/msg/msg_vm.c:945: [msg_vm/WARNING] use the default max_downtime value 30ms
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 49.010000] [msg_vm/INFO] mig-stage1: remaining_size 1073741824.000000
+> [PM2:comm_rx:(36) 49.293296] [msg_test/INFO] VM0:comm_tx to PM2:comm_rx => 0.293296 sec
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 142.200526] [msg_vm/INFO] actual banwdidth 10.988241 (MB/s), threshold 345660.187833
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 142.200526] [msg_vm/INFO] mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 0.000000
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 142.200526] [msg_vm/INFO] mig-stage2.0: remaining_size 0.000000 (< threshold 345660.187833)
+> [PM0:__pr_mig_tx:VM0(PM0-PM1):(38) 142.200526] [msg_vm/INFO] mig-stage3: remaining_size 0.000000
+> [PM1:__pr_mig_rx:VM0(PM0-PM1):(37) 142.330626] [msg_vm/INFO] set affinity(0x0000@PM1) for VM0
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 142.470726] /home/bedaride/Boulot/simgrid/src/msg/msg_vm.c:945: [msg_vm/WARNING] use the default max_downtime value 30ms
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 142.470726] [msg_vm/INFO] mig-stage1: remaining_size 1073741824.000000
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 235.584654] [msg_vm/INFO] actual banwdidth 10.997281 (MB/s), threshold 345944.536891
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 235.584654] [msg_vm/INFO] mig-stage 2:0 updated_size 0.000000 computed_during_stage1 0.000000 dp_rate 0.000000 dp_cap 0.000000
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 235.584654] [msg_vm/INFO] mig-stage2.0: remaining_size 0.000000 (< threshold 345944.536891)
+> [PM1:__pr_mig_tx:VM0(PM1-PM0):(42) 235.584654] [msg_vm/INFO] mig-stage3: remaining_size 0.000000
+> [PM0:__pr_mig_rx:VM0(PM1-PM0):(41) 235.714754] [msg_vm/INFO] set affinity(0x0000@PM0) for VM0
+> [PM0:master_:(1) 240.714949] [msg_test/INFO] ## Test 6 (ended)
+> [240.714949] [msg_test/INFO] Bye (simulation time 240.715)