Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
0c1ce9147e1357ab850ec6dd492eaaad941a34dc
[simgrid.git] / examples / python / exec-ptask / exec-ptask.tesh
1 #!/usr/bin/env tesh
2
3 $ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${srcdir}/exec-ptask.py ${platfdir}/energy_platform.xml
4 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'contexts/factory' to 'thread'
5 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'ptask_L07'
6 > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
7 > [MyHost1:foo:(1) 0.000000] [python/INFO] First, build a classical parallel activity, with 1 Gflop to execute on each node, and 10MB to exchange between each pair
8 > [MyHost1:foo:(1) 300.000000] [python/INFO] We can do the same with a timeout of 10 seconds enabled.
9 > [MyHost1:foo:(1) 310.000000] [python/INFO] Caught the expected timeout exception.
10 > [MyHost1:foo:(1) 310.000000] [python/INFO] Then, build a parallel activity involving only computations (of different amounts) and no communication
11 > [MyHost1:foo:(1) 320.000000] [python/INFO] Then, build a parallel activity with no computation nor communication (synchro only)
12 > [MyHost1:foo:(1) 320.000000] [python/INFO] Then, Monitor the execution of a parallel activity
13 > [MyHost1:foo:(1) 320.000000] [python/INFO] Remaining flop ratio: 100%
14 > [MyHost1:foo:(1) 325.000000] [python/INFO] Remaining flop ratio: 83%
15 > [MyHost1:foo:(1) 330.000000] [python/INFO] Remaining flop ratio: 67%
16 > [MyHost1:foo:(1) 335.000000] [python/INFO] Remaining flop ratio: 50%
17 > [MyHost1:foo:(1) 340.000000] [python/INFO] Remaining flop ratio: 33%
18 > [MyHost1:foo:(1) 345.000000] [python/INFO] Remaining flop ratio: 17%
19 > [MyHost1:foo:(1) 350.000000] [python/INFO] Finally, simulate a malleable task (a parallel execution that gets reconfigured after its start).
20 > [MyHost1:foo:(1) 350.000000] [python/INFO]   - Start a regular parallel execution, with both comm and computation
21 > [MyHost1:foo:(1) 360.000000] [python/INFO]   - After 10 seconds, 50.00% remains to be done. Change it from 3 hosts to 2 hosts only.
22 > [MyHost1:foo:(1) 360.000000] [python/INFO]     Let's first suspend the task.
23 > [MyHost1:foo:(1) 360.000000] [python/INFO]   - Now, simulate the reconfiguration (modeled as a comm from the removed host to the remaining ones).
24 > [MyHost1:foo:(1) 360.500000] [python/INFO]   - Now, let's cancel the old task and create a new task with modified comm and computation vectors:
25 > [MyHost1:foo:(1) 360.500000] [python/INFO]     What was already done is removed, and the load of the removed host is shared between remaining ones.
26 > [MyHost1:foo:(1) 360.500000] [python/INFO]   - Done, let's wait for the task completion
27 > [MyHost1:foo:(1) 375.500000] [python/INFO] Goodbye now!