]> AND Public Git Repository - simgrid.git/blobdiff - examples/python/synchro-mutex/synchro-mutex.tesh
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
sthread: Add a way to verify accesses to non-reentrant data structures
[simgrid.git] / examples / python / synchro-mutex / synchro-mutex.tesh
index 06c7c94c52d2ccbc1cf4fbc04a78986eb9925186..372a2cae23bf618ea602c8f316bbc2bc3cb4fe6f 100644 (file)
 
 p Testing Mutex
 
-$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --workers 0 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
->[  0.000000] (1:master@Tremblay) The final result is: 0
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --actors 1 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (1:worker-0(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (2:worker-0@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (1:worker-0(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (2:worker-0@Tremblay) I'm done, good bye
+>[  0.000000] (0:maestro@) Result[0] -> 2
 
-$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --workers 1 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
->[  0.000000] (2:worker-0(mgr)@Jupiter) I just started
->[  0.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  1.000000] (2:worker-0(mgr)@Jupiter) updated shared result, which is now 1
->[  1.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  1.000000] (2:worker-0(mgr)@Jupiter) Bye now!
->[  1.000000] (1:master@Tremblay) The final result is: 1
-
-$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --workers 1 --trials-before-success 5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
->[  0.000000] (2:worker-0(mgr)@Jupiter) I just started
->[  0.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  1.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  1.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  1.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  2.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  2.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  2.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  3.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  3.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  3.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  4.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  4.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  4.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  5.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  5.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  5.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  6.000000] (2:worker-0(mgr)@Jupiter) updated shared result, which is now 1
->[  6.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  6.000000] (2:worker-0(mgr)@Jupiter) Bye now!
->[  6.000000] (1:master@Tremblay) The final result is: 1
-
-$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --workers 5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
->[  0.000000] (2:worker-0(mgr)@Jupiter) I just started
->[  0.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  0.000000] (3:worker-1@Tremblay) I just started
->[  0.000000] (4:worker-2(mgr)@Jupiter) I just started
->[  0.000000] (5:worker-3@Tremblay) I just started
->[  0.000000] (6:worker-4(mgr)@Jupiter) I just started
->[  1.000000] (2:worker-0(mgr)@Jupiter) updated shared result, which is now 1
->[  1.000000] (3:worker-1@Tremblay) acquired the mutex manually
->[  1.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  1.000000] (2:worker-0(mgr)@Jupiter) Bye now!
->[  2.000000] (3:worker-1@Tremblay) updated shared result, which is now 2
->[  2.000000] (3:worker-1@Tremblay) released the mutex manually
->[  2.000000] (4:worker-2(mgr)@Jupiter) acquired the mutex with context manager
->[  2.000000] (3:worker-1@Tremblay) Bye now!
->[  3.000000] (4:worker-2(mgr)@Jupiter) updated shared result, which is now 3
->[  3.000000] (5:worker-3@Tremblay) acquired the mutex manually
->[  3.000000] (4:worker-2(mgr)@Jupiter) released the mutex after leaving the context manager
->[  3.000000] (4:worker-2(mgr)@Jupiter) Bye now!
->[  4.000000] (5:worker-3@Tremblay) updated shared result, which is now 4
->[  4.000000] (5:worker-3@Tremblay) released the mutex manually
->[  4.000000] (6:worker-4(mgr)@Jupiter) acquired the mutex with context manager
->[  4.000000] (5:worker-3@Tremblay) Bye now!
->[  5.000000] (6:worker-4(mgr)@Jupiter) updated shared result, which is now 5
->[  5.000000] (6:worker-4(mgr)@Jupiter) released the mutex after leaving the context manager
->[  5.000000] (6:worker-4(mgr)@Jupiter) Bye now!
->[  5.000000] (1:master@Tremblay) The final result is: 5
-
-$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --workers 3 --trials-before-success 2 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
->[  0.000000] (2:worker-0(mgr)@Jupiter) I just started
->[  0.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  0.000000] (3:worker-1@Tremblay) I just started
->[  0.000000] (4:worker-2(mgr)@Jupiter) I just started
->[  1.000000] (3:worker-1@Tremblay) acquired the mutex manually
->[  1.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  1.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  2.000000] (3:worker-1@Tremblay) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  2.000000] (3:worker-1@Tremblay) released the mutex manually
->[  2.000000] (4:worker-2(mgr)@Jupiter) acquired the mutex with context manager
->[  3.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  3.000000] (4:worker-2(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  3.000000] (4:worker-2(mgr)@Jupiter) released the mutex after leaving the context manager
->[  4.000000] (3:worker-1@Tremblay) acquired the mutex manually
->[  4.000000] (2:worker-0(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  4.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  5.000000] (3:worker-1@Tremblay) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  5.000000] (3:worker-1@Tremblay) released the mutex manually
->[  5.000000] (4:worker-2(mgr)@Jupiter) acquired the mutex with context manager
->[  6.000000] (2:worker-0(mgr)@Jupiter) acquired the mutex with context manager
->[  6.000000] (4:worker-2(mgr)@Jupiter) ran in trouble while calculating: did not manage to find the correct answer. Will retry shortly.
->[  6.000000] (4:worker-2(mgr)@Jupiter) released the mutex after leaving the context manager
->[  7.000000] (2:worker-0(mgr)@Jupiter) updated shared result, which is now 1
->[  7.000000] (3:worker-1@Tremblay) acquired the mutex manually
->[  7.000000] (2:worker-0(mgr)@Jupiter) released the mutex after leaving the context manager
->[  7.000000] (2:worker-0(mgr)@Jupiter) Bye now!
->[  8.000000] (3:worker-1@Tremblay) updated shared result, which is now 2
->[  8.000000] (3:worker-1@Tremblay) released the mutex manually
->[  8.000000] (4:worker-2(mgr)@Jupiter) acquired the mutex with context manager
->[  8.000000] (3:worker-1@Tremblay) Bye now!
->[  9.000000] (4:worker-2(mgr)@Jupiter) updated shared result, which is now 3
->[  9.000000] (4:worker-2(mgr)@Jupiter) released the mutex after leaving the context manager
->[  9.000000] (4:worker-2(mgr)@Jupiter) Bye now!
->[  9.000000] (1:master@Tremblay) The final result is: 3
+$ ${pythoncmd:=python3} ${PYTHON_TOOL_OPTIONS:=} ${bindir:=.}/synchro-mutex.py --platform ${platfdir}/two_hosts.xml --actors 5 "--log=root.fmt:[%10.6r]%e(%i:%a@%h)%e%m%n"
+>[  0.000000] (1:worker-0(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (3:worker-1(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (5:worker-2(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (7:worker-3(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (9:worker-4(mgr)@Jupiter) Hello simgrid, I'm ready to compute after acquiring the mutex from a context manager
+>[  0.000000] (2:worker-0@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (1:worker-0(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (4:worker-1@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (3:worker-1(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (6:worker-2@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (5:worker-2(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (8:worker-3@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (7:worker-3(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (10:worker-4@Tremblay) Hello simgrid, I'm ready to compute after a regular lock
+>[  0.000000] (9:worker-4(mgr)@Jupiter) I'm done, good bye
+>[  0.000000] (2:worker-0@Tremblay) I'm done, good bye
+>[  0.000000] (4:worker-1@Tremblay) I'm done, good bye
+>[  0.000000] (6:worker-2@Tremblay) I'm done, good bye
+>[  0.000000] (8:worker-3@Tremblay) I'm done, good bye
+>[  0.000000] (10:worker-4@Tremblay) I'm done, good bye
+>[  0.000000] (0:maestro@) Result[0] -> 2
+>[  0.000000] (0:maestro@) Result[1] -> 2
+>[  0.000000] (0:maestro@) Result[2] -> 2
+>[  0.000000] (0:maestro@) Result[3] -> 2
+>[  0.000000] (0:maestro@) Result[4] -> 2