X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/10f8a979e6fa1ee45d2aaf15b06743ec74759fe3..b535dc5f8e8d9402e481b0186ddb81f11b486d01:/examples/s4u/exec-ptask/s4u-exec-ptask.tesh diff --git a/examples/s4u/exec-ptask/s4u-exec-ptask.tesh b/examples/s4u/exec-ptask/s4u-exec-ptask.tesh index 0b1364324e..b03213dfe9 100644 --- a/examples/s4u/exec-ptask/s4u-exec-ptask.tesh +++ b/examples/s4u/exec-ptask/s4u-exec-ptask.tesh @@ -1,30 +1,48 @@ #!/usr/bin/env tesh -$ ${bindir:=.}/s4u-exec-ptask$EXEEXT ${platfdir}/energy_platform.xml --energy --cfg=host/model:ptask_L07 --cfg=tracing:yes --cfg=tracing/uncategorized:yes --log=instr_resource.t:debug --log=no_loc "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" +$ ${bindir:=.}/s4u-exec-ptask ${platfdir}/energy_platform.xml --cfg=host/model:ptask_L07 --cfg=tracing:yes --cfg=tracing/uncategorized:yes --log=instr_resource.t:verbose --log=no_loc "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n" > [ 0.000000] (0:maestro@) Configuration change: Set 'host/model' to 'ptask_L07' > [ 0.000000] (0:maestro@) Configuration change: Set 'tracing' to 'yes' > [ 0.000000] (0:maestro@) Configuration change: Set 'tracing/uncategorized' to 'yes' > [ 0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks. -> [ 0.000000] (1:test@MyHost1) First, build a classical parallel task, with 1 Gflop to execute on each node, and 10MB to exchange between each pair -> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost1 power_used 3333333.333333 -> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost2 power_used 3333333.333333 -> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost3 power_used 3333333.333333 +> [ 0.000000] (1:test@MyHost1) First, build a classical parallel activity, with 1 Gflop to execute on each node, and 10MB to exchange between each pair +> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost1 speed_used 3333333.333333 +> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost2 speed_used 3333333.333333 +> [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost3 speed_used 3333333.333333 > [300.000000] (0:maestro@) UNCAT LINK [0.000000 - 300.000000] bus bandwidth_used 100000.000000 -> [300.000000] (1:test@MyHost1) We can do the same with a timeout of one second enabled. -> [301.000000] (1:test@MyHost1) Then, build a parallel task involving only computations and no communication (1 Gflop per node) -> [311.000000] (0:maestro@) UNCAT HOST [301.000000 - 311.000000] MyHost1 power_used 100000000.000000 -> [311.000000] (0:maestro@) UNCAT HOST [301.000000 - 311.000000] MyHost2 power_used 100000000.000000 -> [311.000000] (0:maestro@) UNCAT HOST [301.000000 - 311.000000] MyHost3 power_used 100000000.000000 -> [311.000000] (1:test@MyHost1) Then, build a parallel task involving only heterogeneous computations and no communication -> [326.000000] (0:maestro@) UNCAT HOST [311.000000 - 326.000000] MyHost1 power_used 33333333.333333 -> [326.000000] (0:maestro@) UNCAT HOST [311.000000 - 326.000000] MyHost2 power_used 66666666.666667 -> [326.000000] (0:maestro@) UNCAT HOST [311.000000 - 326.000000] MyHost3 power_used 100000000.000000 -> [326.000000] (1:test@MyHost1) Then, build a parallel task with no computation nor communication (synchro only) -> [326.000000] (1:test@MyHost1) Finally, trick the ptask to do a 'remote execution', on host MyHost2 -> [336.000000] (0:maestro@) UNCAT HOST [326.000000 - 336.000000] MyHost2 power_used 100000000.000000 -> [336.000000] (1:test@MyHost1) Goodbye now! -> [336.000000] (0:maestro@) Total energy consumption: 165494.222222 Joules (used hosts: 165494.222222 Joules; unused/idle hosts: 0.000000) -> [336.000000] (0:maestro@) Simulation done. -> [336.000000] (0:maestro@) Energy consumption of host MyHost1: 32094.222222 Joules -> [336.000000] (0:maestro@) Energy consumption of host MyHost2: 67200.000000 Joules -> [336.000000] (0:maestro@) Energy consumption of host MyHost3: 66200.000000 Joules +> [300.000000] (1:test@MyHost1) We can do the same with a timeout of 10 seconds enabled. +> [310.000000] (1:test@MyHost1) Caught the expected timeout exception. +> [310.000000] (1:test@MyHost1) Then, build a parallel activity involving only computations (of different amounts) and no communication +> [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost1 speed_used 30000000.000000 +> [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost2 speed_used 60000000.000000 +> [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost3 speed_used 100000000.000000 +> [320.000000] (1:test@MyHost1) Then, build a parallel activity with no computation nor communication (synchro only) +> [320.000000] (1:test@MyHost1) Then, Monitor the execution of a parallel activity +> [320.000000] (1:test@MyHost1) Remaining flop ratio: 100% +> [325.000000] (1:test@MyHost1) Remaining flop ratio: 83% +> [330.000000] (1:test@MyHost1) Remaining flop ratio: 67% +> [335.000000] (1:test@MyHost1) Remaining flop ratio: 50% +> [340.000000] (1:test@MyHost1) Remaining flop ratio: 33% +> [345.000000] (1:test@MyHost1) Remaining flop ratio: 17% +> [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost1 speed_used 33333.333333 +> [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost2 speed_used 33333.333333 +> [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost3 speed_used 33333.333333 +> [350.000000] (0:maestro@) UNCAT LINK [320.000000 - 350.000000] bus bandwidth_used 100000.000000 +> [350.000000] (1:test@MyHost1) Finally, simulate a malleable task (a parallel execution that gets reconfigured after its start). +> [350.000000] (1:test@MyHost1) - Start a regular parallel execution, with both comm and computation +> [360.000000] (1:test@MyHost1) - After 10 seconds, 50.00% remains to be done. Change it from 3 hosts to 2 hosts only. +> [360.000000] (1:test@MyHost1) Let's first suspend the task. +> [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost1 speed_used 50000.000000 +> [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost2 speed_used 50000.000000 +> [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost3 speed_used 50000.000000 +> [360.000000] (1:test@MyHost1) UNCAT LINK [350.000000 - 360.000000] bus bandwidth_used 100000.000000 +> [360.000000] (1:test@MyHost1) - Now, simulate the reconfiguration (modeled as a comm from the removed host to the remaining ones). +> [360.500000] (0:maestro@) UNCAT LINK [360.000000 - 360.500000] bus bandwidth_used 100000.000000 +> [360.500000] (1:test@MyHost1) - Now, let's cancel the old task and create a new task with modified comm and computation vectors: +> [360.500000] (1:test@MyHost1) What was already done is removed, and the load of the removed host is shared between remaining ones. +> [360.500000] (1:test@MyHost1) - Done, let's wait for the task completion +> [375.500000] (0:maestro@) UNCAT HOST [360.500000 - 375.500000] MyHost1 speed_used 50000.000000 +> [375.500000] (0:maestro@) UNCAT HOST [360.500000 - 375.500000] MyHost2 speed_used 50000.000000 +> [375.500000] (0:maestro@) UNCAT LINK [360.500000 - 375.500000] bus bandwidth_used 100000.000000 +> [375.500000] (1:test@MyHost1) Goodbye now! +> [375.500000] (0:maestro@) Simulation done.