Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add remaining Comm synchronisation Python bindings
[simgrid.git] / examples / python / comm-waitallfor / comm-waitallfor.tesh
diff --git a/examples/python/comm-waitallfor/comm-waitallfor.tesh b/examples/python/comm-waitallfor/comm-waitallfor.tesh
new file mode 100644 (file)
index 0000000..50cc88c
--- /dev/null
@@ -0,0 +1,95 @@
+#!/usr/bin/env tesh
+
+p Testing Comm.wait_all_for()
+
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/comm-waitallfor.py --platform ${platfdir}/small_platform_fatpipe.xml --workers 1 --wait-timeout 1 --jobs 1,2,3,4,5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (2:worker@Ruby) worker-0 started
+>[  0.000000] (1:client@Tremblay) client started
+>[  0.000000] (1:client@Tremblay) awaiting results for all jobs (timeout=1.0s)
+>[  0.001954] (2:worker@Ruby) worker-0 working on job-0 (will take 1.0s to complete)
+>[  1.000000] (1:client@Tremblay) received 0/5 results
+>[  1.000000] (1:client@Tremblay) job-0 status=pending result_payload=
+>[  1.000000] (1:client@Tremblay) job-1 status=pending result_payload=
+>[  1.000000] (1:client@Tremblay) job-2 status=pending result_payload=
+>[  1.000000] (1:client@Tremblay) job-3 status=pending result_payload=
+>[  1.000000] (1:client@Tremblay) job-4 status=pending result_payload=
+
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/comm-waitallfor.py --platform ${platfdir}/small_platform_fatpipe.xml --workers 1 --wait-timeout 5 --jobs 1,2,3,4,5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (2:worker@Ruby) worker-0 started
+>[  0.000000] (1:client@Tremblay) client started
+>[  0.000000] (1:client@Tremblay) awaiting results for all jobs (timeout=5.0s)
+>[  0.001954] (2:worker@Ruby) worker-0 working on job-0 (will take 1.0s to complete)
+>[  1.008029] (2:worker@Ruby) worker-0 working on job-1 (will take 2.0s to complete)
+>[  3.014105] (2:worker@Ruby) worker-0 working on job-2 (will take 3.0s to complete)
+>[  5.000000] (1:client@Tremblay) received 2/5 results
+>[  5.000000] (1:client@Tremblay) job-0 status=complete result_payload=worker-0
+>[  5.000000] (1:client@Tremblay) job-1 status=complete result_payload=worker-0
+>[  5.000000] (1:client@Tremblay) job-2 status=pending result_payload=
+>[  5.000000] (1:client@Tremblay) job-3 status=pending result_payload=
+>[  5.000000] (1:client@Tremblay) job-4 status=pending result_payload=
+
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/comm-waitallfor.py --platform ${platfdir}/small_platform_fatpipe.xml --workers 1 --wait-timeout -1 --jobs 1,2,3,4,5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (2:worker@Ruby) worker-0 started
+>[  0.000000] (1:client@Tremblay) client started
+>[  0.000000] (1:client@Tremblay) awaiting results for all jobs (timeout=-1.0s)
+>[  0.001954] (2:worker@Ruby) worker-0 working on job-0 (will take 1.0s to complete)
+>[  1.008029] (2:worker@Ruby) worker-0 working on job-1 (will take 2.0s to complete)
+>[  3.014105] (2:worker@Ruby) worker-0 working on job-2 (will take 3.0s to complete)
+>[  6.020181] (2:worker@Ruby) worker-0 working on job-3 (will take 4.0s to complete)
+>[ 10.026257] (2:worker@Ruby) worker-0 working on job-4 (will take 5.0s to complete)
+>[ 15.030379] (1:client@Tremblay) received 5/5 results
+>[ 15.030379] (1:client@Tremblay) job-0 status=complete result_payload=worker-0
+>[ 15.030379] (1:client@Tremblay) job-1 status=complete result_payload=worker-0
+>[ 15.030379] (1:client@Tremblay) job-2 status=complete result_payload=worker-0
+>[ 15.030379] (1:client@Tremblay) job-3 status=complete result_payload=worker-0
+>[ 15.030379] (1:client@Tremblay) job-4 status=complete result_payload=worker-0
+
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/comm-waitallfor.py --platform ${platfdir}/small_platform_fatpipe.xml --workers 5 --wait-timeout 3 --jobs 1,2,3,4,5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (2:worker@Ruby) worker-0 started
+>[  0.000000] (3:worker@Ruby) worker-1 started
+>[  0.000000] (4:worker@Ruby) worker-2 started
+>[  0.000000] (5:worker@Ruby) worker-3 started
+>[  0.000000] (6:worker@Ruby) worker-4 started
+>[  0.000000] (1:client@Tremblay) client started
+>[  0.000000] (1:client@Tremblay) awaiting results for all jobs (timeout=3.0s)
+>[  0.001954] (6:worker@Ruby) worker-4 working on job-4 (will take 5.0s to complete)
+>[  0.001954] (5:worker@Ruby) worker-3 working on job-3 (will take 4.0s to complete)
+>[  0.001954] (4:worker@Ruby) worker-2 working on job-2 (will take 3.0s to complete)
+>[  0.001954] (3:worker@Ruby) worker-1 working on job-1 (will take 2.0s to complete)
+>[  0.001954] (2:worker@Ruby) worker-0 working on job-0 (will take 1.0s to complete)
+>[  3.000000] (1:client@Tremblay) received 2/5 results
+>[  3.000000] (1:client@Tremblay) job-0 status=complete result_payload=worker-0
+>[  3.000000] (1:client@Tremblay) job-1 status=complete result_payload=worker-1
+>[  3.000000] (1:client@Tremblay) job-2 status=pending result_payload=
+>[  3.000000] (1:client@Tremblay) job-3 status=pending result_payload=
+>[  3.000000] (1:client@Tremblay) job-4 status=pending result_payload=
+
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/comm-waitallfor.py --platform ${platfdir}/small_platform_fatpipe.xml --workers 5 --wait-timeout -1 --jobs 5,10,5,20,5,40,5,80,5,160 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (2:worker@Ruby) worker-0 started
+>[  0.000000] (3:worker@Ruby) worker-1 started
+>[  0.000000] (4:worker@Ruby) worker-2 started
+>[  0.000000] (5:worker@Ruby) worker-3 started
+>[  0.000000] (6:worker@Ruby) worker-4 started
+>[  0.000000] (1:client@Tremblay) client started
+>[  0.000000] (1:client@Tremblay) awaiting results for all jobs (timeout=-1.0s)
+>[  0.001954] (6:worker@Ruby) worker-4 working on job-4 (will take 5.0s to complete)
+>[  0.001954] (5:worker@Ruby) worker-3 working on job-3 (will take 20.0s to complete)
+>[  0.001954] (4:worker@Ruby) worker-2 working on job-2 (will take 5.0s to complete)
+>[  0.001954] (3:worker@Ruby) worker-1 working on job-1 (will take 10.0s to complete)
+>[  0.001954] (2:worker@Ruby) worker-0 working on job-0 (will take 5.0s to complete)
+>[  5.008029] (2:worker@Ruby) worker-0 working on job-7 (will take 80.0s to complete)
+>[  5.008029] (4:worker@Ruby) worker-2 working on job-6 (will take 5.0s to complete)
+>[  5.008029] (6:worker@Ruby) worker-4 working on job-5 (will take 40.0s to complete)
+>[ 10.008029] (3:worker@Ruby) worker-1 working on job-8 (will take 5.0s to complete)
+>[ 10.014105] (4:worker@Ruby) worker-2 working on job-9 (will take 160.0s to complete)
+>[170.018227] (1:client@Tremblay) received 10/10 results
+>[170.018227] (1:client@Tremblay) job-0 status=complete result_payload=worker-0
+>[170.018227] (1:client@Tremblay) job-1 status=complete result_payload=worker-1
+>[170.018227] (1:client@Tremblay) job-2 status=complete result_payload=worker-2
+>[170.018227] (1:client@Tremblay) job-3 status=complete result_payload=worker-3
+>[170.018227] (1:client@Tremblay) job-4 status=complete result_payload=worker-4
+>[170.018227] (1:client@Tremblay) job-5 status=complete result_payload=worker-4
+>[170.018227] (1:client@Tremblay) job-6 status=complete result_payload=worker-2
+>[170.018227] (1:client@Tremblay) job-7 status=complete result_payload=worker-0
+>[170.018227] (1:client@Tremblay) job-8 status=complete result_payload=worker-1
+>[170.018227] (1:client@Tremblay) job-9 status=complete result_payload=worker-2