X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6c8a94bb359a2894e0509af5212f3765f23ccac1..409fd38ea33967d5d473264211982b144933cb86:/examples/python/exec-ptask/exec-ptask.tesh diff --git a/examples/python/exec-ptask/exec-ptask.tesh b/examples/python/exec-ptask/exec-ptask.tesh new file mode 100644 index 0000000000..90ff802d3a --- /dev/null +++ b/examples/python/exec-ptask/exec-ptask.tesh @@ -0,0 +1,26 @@ +#!/usr/bin/env tesh + +$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${srcdir}/exec-ptask.py ${platfdir}/energy_platform.xml +> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'host/model' to 'ptask_L07' +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [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 +> [MyHost1:foo:(1) 300.000000] [python/INFO] We can do the same with a timeout of 10 seconds enabled. +> [MyHost1:foo:(1) 310.000000] [python/INFO] Caught the expected timeout exception. +> [MyHost1:foo:(1) 310.000000] [python/INFO] Then, build a parallel activity involving only computations (of different amounts) and no communication +> [MyHost1:foo:(1) 320.000000] [python/INFO] Then, build a parallel activity with no computation nor communication (synchro only) +> [MyHost1:foo:(1) 320.000000] [python/INFO] Then, Monitor the execution of a parallel activity +> [MyHost1:foo:(1) 320.000000] [python/INFO] Remaining flop ratio: 100% +> [MyHost1:foo:(1) 325.000000] [python/INFO] Remaining flop ratio: 83% +> [MyHost1:foo:(1) 330.000000] [python/INFO] Remaining flop ratio: 67% +> [MyHost1:foo:(1) 335.000000] [python/INFO] Remaining flop ratio: 50% +> [MyHost1:foo:(1) 340.000000] [python/INFO] Remaining flop ratio: 33% +> [MyHost1:foo:(1) 345.000000] [python/INFO] Remaining flop ratio: 17% +> [MyHost1:foo:(1) 350.000000] [python/INFO] Finally, simulate a malleable task (a parallel execution that gets reconfigured after its start). +> [MyHost1:foo:(1) 350.000000] [python/INFO] - Start a regular parallel execution, with both comm and computation +> [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. +> [MyHost1:foo:(1) 360.000000] [python/INFO] Let's first suspend the task. +> [MyHost1:foo:(1) 360.000000] [python/INFO] - Now, simulate the reconfiguration (modeled as a comm from the removed host to the remaining ones). +> [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: +> [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. +> [MyHost1:foo:(1) 360.500000] [python/INFO] - Done, let's wait for the task completion +> [MyHost1:foo:(1) 375.500000] [python/INFO] Goodbye now!