Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / examples / s4u / exec-ptask / s4u-exec-ptask.tesh
1 #!/usr/bin/env tesh
2
3 $ ${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:%P@%h)%e%m%n"
4 > [  0.000000] (0:maestro@) Configuration change: Set 'host/model' to 'ptask_L07'
5 > [  0.000000] (0:maestro@) Configuration change: Set 'tracing' to 'yes'
6 > [  0.000000] (0:maestro@) Configuration change: Set 'tracing/uncategorized' to 'yes'
7 > [  0.000000] (0:maestro@) Switching to the L07 model to handle parallel tasks.
8 > [  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
9 > [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost1 speed_used 3333333.333333
10 > [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost2 speed_used 3333333.333333
11 > [300.000000] (0:maestro@) UNCAT HOST [0.000000 - 300.000000] MyHost3 speed_used 3333333.333333
12 > [300.000000] (0:maestro@) UNCAT LINK [0.000000 - 300.000000] bus bandwidth_used 100000.000000
13 > [300.000000] (1:test@MyHost1) We can do the same with a timeout of 10 seconds enabled.
14 > [310.000000] (1:test@MyHost1) Caught the expected timeout exception.
15 > [310.000000] (1:test@MyHost1) Then, build a parallel activity involving only computations (of different amounts) and no communication
16 > [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost1 speed_used 30000000.000000
17 > [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost2 speed_used 60000000.000000
18 > [320.000000] (0:maestro@) UNCAT HOST [310.000000 - 320.000000] MyHost3 speed_used 100000000.000000
19 > [320.000000] (1:test@MyHost1) Then, build a parallel activity with no computation nor communication (synchro only)
20 > [320.000000] (1:test@MyHost1) Then, Monitor the execution of a parallel activity
21 > [320.000000] (1:test@MyHost1) Remaining flop ratio: 100%
22 > [325.000000] (1:test@MyHost1) Remaining flop ratio: 83%
23 > [330.000000] (1:test@MyHost1) Remaining flop ratio: 67%
24 > [335.000000] (1:test@MyHost1) Remaining flop ratio: 50%
25 > [340.000000] (1:test@MyHost1) Remaining flop ratio: 33%
26 > [345.000000] (1:test@MyHost1) Remaining flop ratio: 17%
27 > [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost1 speed_used 33333.333333
28 > [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost2 speed_used 33333.333333
29 > [350.000000] (0:maestro@) UNCAT HOST [320.000000 - 350.000000] MyHost3 speed_used 33333.333333
30 > [350.000000] (0:maestro@) UNCAT LINK [320.000000 - 350.000000] bus bandwidth_used 100000.000000
31 > [350.000000] (1:test@MyHost1) Finally, simulate a malleable task (a parallel execution that gets reconfigured after its start).
32 > [350.000000] (1:test@MyHost1)   - Start a regular parallel execution, with both comm and computation
33 > [360.000000] (1:test@MyHost1)   - After 10 seconds, 50.00% remains to be done. Change it from 3 hosts to 2 hosts only.
34 > [360.000000] (1:test@MyHost1)     Let's first suspend the task.
35 > [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost1 speed_used 50000.000000
36 > [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost2 speed_used 50000.000000
37 > [360.000000] (1:test@MyHost1) UNCAT HOST [350.000000 - 360.000000] MyHost3 speed_used 50000.000000
38 > [360.000000] (1:test@MyHost1) UNCAT LINK [350.000000 - 360.000000] bus bandwidth_used 100000.000000
39 > [360.000000] (1:test@MyHost1)   - Now, simulate the reconfiguration (modeled as a comm from the removed host to the remaining ones).
40 > [360.500000] (0:maestro@) UNCAT LINK [360.000000 - 360.500000] bus bandwidth_used 100000.000000
41 > [360.500000] (1:test@MyHost1)   - Now, let's cancel the old task and create a new task with modified comm and computation vectors:
42 > [360.500000] (1:test@MyHost1)     What was already done is removed, and the load of the removed host is shared between remaining ones.
43 > [360.500000] (1:test@MyHost1)   - Done, let's wait for the task completion
44 > [375.500000] (0:maestro@) UNCAT HOST [360.500000 - 375.500000] MyHost1 speed_used 50000.000000
45 > [375.500000] (0:maestro@) UNCAT HOST [360.500000 - 375.500000] MyHost2 speed_used 50000.000000
46 > [375.500000] (0:maestro@) UNCAT LINK [360.500000 - 375.500000] bus bandwidth_used 100000.000000
47 > [375.500000] (1:test@MyHost1) Goodbye now!
48 > [375.500000] (0:maestro@) Simulation done.