Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
logs: Allow %a instead of %P to display the actor name
[simgrid.git] / examples / s4u / exec-ptask / s4u-exec-ptask.tesh
index 0b13643..b03213d 100644 (file)
@@ -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.