> [ 0.010309] (2:worker@Tremblay) Start execution...
> [ 0.000000] (2:worker@Tremblay) Waiting a message on worker-0
> [ 0.000000] (3:worker@Jupiter) Waiting a message on worker-1
-> [ 0.000000] (4:worker@Ginette) Waiting a message on worker-3
-> [ 0.000000] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 0.000000] (5:worker@Ginette) Waiting a message on worker-3
+> [ 0.000000] (6:worker@Bourassa) Waiting a message on worker-4
> [ 0.010309] (1:master@Tremblay) Send a message to worker-1
> [ 1.000000] (0:maestro@) Restart processes on host Fafard
-> [ 1.000000] (6:worker@Fafard) Waiting a message on worker-2
+> [ 1.000000] (7:worker@Fafard) Waiting a message on worker-2
> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-1'. Nevermind. Let's keep going!
> [ 1.000000] (1:master@Tremblay) Send a message to worker-2
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-2'. Nevermind. Let's keep going!
-> [ 2.000000] (6:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
+> [ 2.000000] (7:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host Jupiter
> [ 2.000000] (1:master@Tremblay) Send a message to worker-3
-> [ 2.000000] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 2.000000] (8:worker@Jupiter) Waiting a message on worker-1
> [ 2.010309] (2:worker@Tremblay) Execution complete.
> [ 2.010309] (2:worker@Tremblay) Waiting a message on worker-0
> [ 3.030928] (1:master@Tremblay) Send to worker-3 completed
> [ 3.030928] (1:master@Tremblay) Send a message to worker-4
-> [ 3.030928] (4:worker@Ginette) Start execution...
+> [ 3.030928] (5:worker@Ginette) Start execution...
> [ 4.061856] (1:master@Tremblay) Send to worker-4 completed
> [ 4.061856] (1:master@Tremblay) Send a message to worker-0
-> [ 4.061856] (5:worker@Bourassa) Start execution...
+> [ 4.061856] (6:worker@Bourassa) Start execution...
> [ 4.072165] (1:master@Tremblay) Send to worker-0 completed
> [ 4.072165] (1:master@Tremblay) Send a message to worker-1
> [ 4.072165] (2:worker@Tremblay) Start execution...
-> [ 5.030928] (4:worker@Ginette) Execution complete.
-> [ 5.030928] (4:worker@Ginette) Waiting a message on worker-3
+> [ 5.030928] (5:worker@Ginette) Execution complete.
+> [ 5.030928] (5:worker@Ginette) Waiting a message on worker-3
> [ 5.103093] (1:master@Tremblay) Send to worker-1 completed
> [ 5.103093] (1:master@Tremblay) Send a message to worker-2
-> [ 5.103093] (7:worker@Jupiter) Start execution...
-> [ 6.061856] (5:worker@Bourassa) Execution complete.
-> [ 6.061856] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 5.103093] (8:worker@Jupiter) Start execution...
+> [ 6.061856] (6:worker@Bourassa) Execution complete.
+> [ 6.061856] (6:worker@Bourassa) Waiting a message on worker-4
> [ 6.072165] (2:worker@Tremblay) Execution complete.
> [ 6.072165] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 7.103093] (7:worker@Jupiter) Execution complete.
-> [ 7.103093] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 7.103093] (8:worker@Jupiter) Execution complete.
+> [ 7.103093] (8:worker@Jupiter) Waiting a message on worker-1
> [ 15.103093] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 15.103093] (1:master@Tremblay) Send a message to worker-3
> [ 15.103093] (1:master@Tremblay) Mmh. Something went wrong with 'worker-3'. Nevermind. Let's keep going!
> [ 15.103093] (1:master@Tremblay) Send a message to worker-4
-> [ 15.103093] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 15.103093] (4:worker@Ginette) Waiting a message on worker-3
+> [ 15.103093] (5:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 15.103093] (5:worker@Ginette) Waiting a message on worker-3
> [ 16.134021] (1:master@Tremblay) Send to worker-4 completed
> [ 16.134021] (1:master@Tremblay) Send a message to worker-0
-> [ 16.134021] (5:worker@Bourassa) Start execution...
+> [ 16.134021] (6:worker@Bourassa) Start execution...
> [ 16.144330] (1:master@Tremblay) Send to worker-0 completed
> [ 16.144330] (1:master@Tremblay) Send a message to worker-1
> [ 16.144330] (2:worker@Tremblay) Start execution...
> [ 17.175258] (1:master@Tremblay) Send to worker-1 completed
> [ 17.175258] (1:master@Tremblay) Send a message to worker-2
-> [ 17.175258] (7:worker@Jupiter) Start execution...
-> [ 18.134021] (5:worker@Bourassa) Execution complete.
-> [ 18.134021] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 17.175258] (8:worker@Jupiter) Start execution...
+> [ 18.134021] (6:worker@Bourassa) Execution complete.
+> [ 18.134021] (6:worker@Bourassa) Waiting a message on worker-4
> [ 18.144330] (2:worker@Tremblay) Execution complete.
> [ 18.144330] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 19.175258] (7:worker@Jupiter) Execution complete.
-> [ 19.175258] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 19.175258] (8:worker@Jupiter) Execution complete.
+> [ 19.175258] (8:worker@Jupiter) Waiting a message on worker-1
> [ 27.175258] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 27.175258] (1:master@Tremblay) Send a message to worker-3
> [ 28.206186] (1:master@Tremblay) Send to worker-3 completed
> [ 28.206186] (1:master@Tremblay) Send a message to worker-4
> [ 28.206186] (1:master@Tremblay) Mmh. Something went wrong with 'worker-4'. Nevermind. Let's keep going!
> [ 28.206186] (1:master@Tremblay) Send a message to worker-0
-> [ 28.206186] (4:worker@Ginette) Start execution...
-> [ 28.206186] (5:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 28.206186] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 28.206186] (5:worker@Ginette) Start execution...
+> [ 28.206186] (6:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 28.206186] (6:worker@Bourassa) Waiting a message on worker-4
> [ 28.216495] (1:master@Tremblay) Send to worker-0 completed
> [ 28.216495] (1:master@Tremblay) Send a message to worker-1
> [ 28.216495] (2:worker@Tremblay) Start execution...
> [ 29.247423] (1:master@Tremblay) Send to worker-1 completed
> [ 29.247423] (1:master@Tremblay) Send a message to worker-2
-> [ 29.247423] (7:worker@Jupiter) Start execution...
-> [ 30.206186] (4:worker@Ginette) Execution complete.
-> [ 30.206186] (4:worker@Ginette) Waiting a message on worker-3
+> [ 29.247423] (8:worker@Jupiter) Start execution...
+> [ 30.206186] (5:worker@Ginette) Execution complete.
+> [ 30.206186] (5:worker@Ginette) Waiting a message on worker-3
> [ 30.216495] (2:worker@Tremblay) Execution complete.
> [ 30.216495] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 31.247423] (7:worker@Jupiter) Execution complete.
-> [ 31.247423] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 31.247423] (8:worker@Jupiter) Execution complete.
+> [ 31.247423] (8:worker@Jupiter) Waiting a message on worker-1
> [ 39.247423] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 39.247423] (1:master@Tremblay) Send a message to worker-3
> [ 40.278351] (1:master@Tremblay) Send to worker-3 completed
> [ 40.278351] (1:master@Tremblay) Send a message to worker-4
-> [ 40.278351] (4:worker@Ginette) Start execution...
+> [ 40.278351] (5:worker@Ginette) Start execution...
> [ 41.309278] (1:master@Tremblay) Send to worker-4 completed
> [ 41.309278] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
> [ 41.309278] (2:worker@Tremblay) I'm done. See you!
-> [ 41.309278] (5:worker@Bourassa) Start execution...
-> [ 41.309278] (7:worker@Jupiter) I'm done. See you!
+> [ 41.309278] (6:worker@Bourassa) Start execution...
+> [ 41.309278] (8:worker@Jupiter) I'm done. See you!
> [ 42.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 43.309278] (0:maestro@) Simulation time 43.3093
> [ 43.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
> [ 43.309278] (1:master@Tremblay) Goodbye now!
-> [ 43.309278] (5:worker@Bourassa) Execution complete.
-> [ 43.309278] (5:worker@Bourassa) Waiting a message on worker-4
-> [ 43.309278] (5:worker@Bourassa) I'm done. See you!
+> [ 43.309278] (6:worker@Bourassa) Execution complete.
+> [ 43.309278] (6:worker@Bourassa) Waiting a message on worker-4
+> [ 43.309278] (6:worker@Bourassa) I'm done. See you!
p Testing a simple master/worker example application handling failures. TCP crosstraffic ENABLED
> [ 0.000000] (1:master@Tremblay) Send a message to worker-0
> [ 0.000000] (2:worker@Tremblay) Waiting a message on worker-0
> [ 0.000000] (3:worker@Jupiter) Waiting a message on worker-1
-> [ 0.000000] (4:worker@Ginette) Waiting a message on worker-3
-> [ 0.000000] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 0.000000] (5:worker@Ginette) Waiting a message on worker-3
+> [ 0.000000] (6:worker@Bourassa) Waiting a message on worker-4
> [ 0.010825] (2:worker@Tremblay) Start execution...
> [ 0.010825] (1:master@Tremblay) Send to worker-0 completed
> [ 0.010825] (1:master@Tremblay) Send a message to worker-1
> [ 1.000000] (0:maestro@) Restart processes on host Fafard
-> [ 1.000000] (6:worker@Fafard) Waiting a message on worker-2
+> [ 1.000000] (7:worker@Fafard) Waiting a message on worker-2
> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-1'. Nevermind. Let's keep going!
> [ 1.000000] (1:master@Tremblay) Send a message to worker-2
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host Jupiter
-> [ 2.000000] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 2.000000] (8:worker@Jupiter) Waiting a message on worker-1
> [ 2.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-2'. Nevermind. Let's keep going!
> [ 2.000000] (1:master@Tremblay) Send a message to worker-3
-> [ 2.000000] (6:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
+> [ 2.000000] (7:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.010825] (2:worker@Tremblay) Execution complete.
> [ 2.010825] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 3.082474] (4:worker@Ginette) Start execution...
+> [ 3.082474] (5:worker@Ginette) Start execution...
> [ 3.082474] (1:master@Tremblay) Send to worker-3 completed
> [ 3.082474] (1:master@Tremblay) Send a message to worker-4
-> [ 4.164948] (5:worker@Bourassa) Start execution...
+> [ 4.164948] (6:worker@Bourassa) Start execution...
> [ 4.164948] (1:master@Tremblay) Send to worker-4 completed
> [ 4.164948] (1:master@Tremblay) Send a message to worker-0
> [ 4.175773] (2:worker@Tremblay) Start execution...
> [ 4.175773] (1:master@Tremblay) Send to worker-0 completed
> [ 4.175773] (1:master@Tremblay) Send a message to worker-1
-> [ 5.082474] (4:worker@Ginette) Execution complete.
-> [ 5.082474] (4:worker@Ginette) Waiting a message on worker-3
-> [ 5.258247] (7:worker@Jupiter) Start execution...
+> [ 5.082474] (5:worker@Ginette) Execution complete.
+> [ 5.082474] (5:worker@Ginette) Waiting a message on worker-3
+> [ 5.258247] (8:worker@Jupiter) Start execution...
> [ 5.258247] (1:master@Tremblay) Send to worker-1 completed
> [ 5.258247] (1:master@Tremblay) Send a message to worker-2
-> [ 6.164948] (5:worker@Bourassa) Execution complete.
-> [ 6.164948] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 6.164948] (6:worker@Bourassa) Execution complete.
+> [ 6.164948] (6:worker@Bourassa) Waiting a message on worker-4
> [ 6.175773] (2:worker@Tremblay) Execution complete.
> [ 6.175773] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 7.258247] (7:worker@Jupiter) Execution complete.
-> [ 7.258247] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 7.258247] (8:worker@Jupiter) Execution complete.
+> [ 7.258247] (8:worker@Jupiter) Waiting a message on worker-1
> [ 15.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 15.258247] (1:master@Tremblay) Send a message to worker-3
-> [ 15.258247] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 15.258247] (4:worker@Ginette) Waiting a message on worker-3
+> [ 15.258247] (5:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 15.258247] (5:worker@Ginette) Waiting a message on worker-3
> [ 15.258247] (1:master@Tremblay) Mmh. Something went wrong with 'worker-3'. Nevermind. Let's keep going!
> [ 15.258247] (1:master@Tremblay) Send a message to worker-4
-> [ 16.340722] (5:worker@Bourassa) Start execution...
+> [ 16.340722] (6:worker@Bourassa) Start execution...
> [ 16.340722] (1:master@Tremblay) Send to worker-4 completed
> [ 16.340722] (1:master@Tremblay) Send a message to worker-0
> [ 16.351546] (2:worker@Tremblay) Start execution...
> [ 16.351546] (1:master@Tremblay) Send to worker-0 completed
> [ 16.351546] (1:master@Tremblay) Send a message to worker-1
-> [ 17.434021] (7:worker@Jupiter) Start execution...
+> [ 17.434021] (8:worker@Jupiter) Start execution...
> [ 17.434021] (1:master@Tremblay) Send to worker-1 completed
> [ 17.434021] (1:master@Tremblay) Send a message to worker-2
-> [ 18.340722] (5:worker@Bourassa) Execution complete.
-> [ 18.340722] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 18.340722] (6:worker@Bourassa) Execution complete.
+> [ 18.340722] (6:worker@Bourassa) Waiting a message on worker-4
> [ 18.351546] (2:worker@Tremblay) Execution complete.
> [ 18.351546] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 19.434021] (7:worker@Jupiter) Execution complete.
-> [ 19.434021] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 19.434021] (8:worker@Jupiter) Execution complete.
+> [ 19.434021] (8:worker@Jupiter) Waiting a message on worker-1
> [ 27.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 27.434021] (1:master@Tremblay) Send a message to worker-3
-> [ 28.516495] (4:worker@Ginette) Start execution...
+> [ 28.516495] (5:worker@Ginette) Start execution...
> [ 28.516495] (1:master@Tremblay) Send to worker-3 completed
> [ 28.516495] (1:master@Tremblay) Send a message to worker-4
-> [ 28.516495] (5:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 28.516495] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 28.516495] (6:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 28.516495] (6:worker@Bourassa) Waiting a message on worker-4
> [ 28.516495] (1:master@Tremblay) Mmh. Something went wrong with 'worker-4'. Nevermind. Let's keep going!
> [ 28.516495] (1:master@Tremblay) Send a message to worker-0
> [ 28.527320] (2:worker@Tremblay) Start execution...
> [ 28.527320] (1:master@Tremblay) Send to worker-0 completed
> [ 28.527320] (1:master@Tremblay) Send a message to worker-1
-> [ 29.609794] (7:worker@Jupiter) Start execution...
+> [ 29.609794] (8:worker@Jupiter) Start execution...
> [ 29.609794] (1:master@Tremblay) Send to worker-1 completed
> [ 29.609794] (1:master@Tremblay) Send a message to worker-2
-> [ 30.516495] (4:worker@Ginette) Execution complete.
-> [ 30.516495] (4:worker@Ginette) Waiting a message on worker-3
+> [ 30.516495] (5:worker@Ginette) Execution complete.
+> [ 30.516495] (5:worker@Ginette) Waiting a message on worker-3
> [ 30.527320] (2:worker@Tremblay) Execution complete.
> [ 30.527320] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 31.609794] (7:worker@Jupiter) Execution complete.
-> [ 31.609794] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 31.609794] (8:worker@Jupiter) Execution complete.
+> [ 31.609794] (8:worker@Jupiter) Waiting a message on worker-1
> [ 39.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 39.609794] (1:master@Tremblay) Send a message to worker-3
-> [ 40.692268] (4:worker@Ginette) Start execution...
+> [ 40.692268] (5:worker@Ginette) Start execution...
> [ 40.692268] (1:master@Tremblay) Send to worker-3 completed
> [ 40.692268] (1:master@Tremblay) Send a message to worker-4
-> [ 41.774742] (5:worker@Bourassa) Start execution...
+> [ 41.774742] (6:worker@Bourassa) Start execution...
> [ 41.774742] (1:master@Tremblay) Send to worker-4 completed
> [ 41.774742] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
> [ 41.774742] (2:worker@Tremblay) I'm done. See you!
-> [ 41.774742] (7:worker@Jupiter) I'm done. See you!
+> [ 41.774742] (8:worker@Jupiter) I'm done. See you!
> [ 42.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
-> [ 43.774742] (5:worker@Bourassa) Execution complete.
-> [ 43.774742] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 43.774742] (6:worker@Bourassa) Execution complete.
+> [ 43.774742] (6:worker@Bourassa) Waiting a message on worker-4
> [ 43.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
-> [ 43.774742] (5:worker@Bourassa) I'm done. See you!
+> [ 43.774742] (6:worker@Bourassa) I'm done. See you!
> [ 43.774742] (1:master@Tremblay) Goodbye now!
> [ 43.774742] (0:maestro@) Simulation time 43.7747
> [ 0.010309] (2:worker@Tremblay) Start execution...
> [ 0.000000] (2:worker@Tremblay) Waiting a message on worker-0
> [ 0.000000] (3:worker@Jupiter) Waiting a message on worker-1
-> [ 0.000000] (4:worker@Ginette) Waiting a message on worker-3
-> [ 0.000000] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 0.000000] (5:worker@Ginette) Waiting a message on worker-3
+> [ 0.000000] (6:worker@Bourassa) Waiting a message on worker-4
> [ 0.010309] (1:master@Tremblay) Send a message to worker-1
> [ 1.000000] (0:maestro@) Restart processes on host Fafard
-> [ 1.000000] (6:worker@Fafard) Waiting a message on worker-2
+> [ 1.000000] (7:worker@Fafard) Waiting a message on worker-2
> [ 1.000000] (1:master@Tremblay) Mmh. The communication with 'worker-1' failed. Nevermind. Let's keep going!
> [ 1.000000] (1:master@Tremblay) Send a message to worker-2
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (1:master@Tremblay) Mmh. The communication with 'worker-2' failed. Nevermind. Let's keep going!
-> [ 2.000000] (6:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
+> [ 2.000000] (7:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host Jupiter
> [ 2.000000] (1:master@Tremblay) Send a message to worker-3
-> [ 2.000000] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 2.000000] (8:worker@Jupiter) Waiting a message on worker-1
> [ 2.010309] (2:worker@Tremblay) Execution complete.
> [ 2.010309] (2:worker@Tremblay) Waiting a message on worker-0
> [ 3.030928] (1:master@Tremblay) Send to worker-3 completed
> [ 3.030928] (1:master@Tremblay) Send a message to worker-4
-> [ 3.030928] (4:worker@Ginette) Start execution...
+> [ 3.030928] (5:worker@Ginette) Start execution...
> [ 4.061856] (1:master@Tremblay) Send to worker-4 completed
> [ 4.061856] (1:master@Tremblay) Send a message to worker-0
-> [ 4.061856] (5:worker@Bourassa) Start execution...
+> [ 4.061856] (6:worker@Bourassa) Start execution...
> [ 4.072165] (1:master@Tremblay) Send to worker-0 completed
> [ 4.072165] (1:master@Tremblay) Send a message to worker-1
> [ 4.072165] (2:worker@Tremblay) Start execution...
-> [ 5.030928] (4:worker@Ginette) Execution complete.
-> [ 5.030928] (4:worker@Ginette) Waiting a message on worker-3
+> [ 5.030928] (5:worker@Ginette) Execution complete.
+> [ 5.030928] (5:worker@Ginette) Waiting a message on worker-3
> [ 5.103093] (1:master@Tremblay) Send to worker-1 completed
> [ 5.103093] (1:master@Tremblay) Send a message to worker-2
-> [ 5.103093] (7:worker@Jupiter) Start execution...
-> [ 6.061856] (5:worker@Bourassa) Execution complete.
-> [ 6.061856] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 5.103093] (8:worker@Jupiter) Start execution...
+> [ 6.061856] (6:worker@Bourassa) Execution complete.
+> [ 6.061856] (6:worker@Bourassa) Waiting a message on worker-4
> [ 6.072165] (2:worker@Tremblay) Execution complete.
> [ 6.072165] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 7.103093] (7:worker@Jupiter) Execution complete.
-> [ 7.103093] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 7.103093] (8:worker@Jupiter) Execution complete.
+> [ 7.103093] (8:worker@Jupiter) Waiting a message on worker-1
> [ 15.103093] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 15.103093] (1:master@Tremblay) Send a message to worker-3
> [ 15.103093] (1:master@Tremblay) Mmh. The communication with 'worker-3' failed. Nevermind. Let's keep going!
> [ 15.103093] (1:master@Tremblay) Send a message to worker-4
-> [ 15.103093] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 15.103093] (4:worker@Ginette) Waiting a message on worker-3
+> [ 15.103093] (5:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 15.103093] (5:worker@Ginette) Waiting a message on worker-3
> [ 16.134021] (1:master@Tremblay) Send to worker-4 completed
> [ 16.134021] (1:master@Tremblay) Send a message to worker-0
-> [ 16.134021] (5:worker@Bourassa) Start execution...
+> [ 16.134021] (6:worker@Bourassa) Start execution...
> [ 16.144330] (1:master@Tremblay) Send to worker-0 completed
> [ 16.144330] (1:master@Tremblay) Send a message to worker-1
> [ 16.144330] (2:worker@Tremblay) Start execution...
> [ 17.175258] (1:master@Tremblay) Send to worker-1 completed
> [ 17.175258] (1:master@Tremblay) Send a message to worker-2
-> [ 17.175258] (7:worker@Jupiter) Start execution...
-> [ 18.134021] (5:worker@Bourassa) Execution complete.
-> [ 18.134021] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 17.175258] (8:worker@Jupiter) Start execution...
+> [ 18.134021] (6:worker@Bourassa) Execution complete.
+> [ 18.134021] (6:worker@Bourassa) Waiting a message on worker-4
> [ 18.144330] (2:worker@Tremblay) Execution complete.
> [ 18.144330] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 19.175258] (7:worker@Jupiter) Execution complete.
-> [ 19.175258] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 19.175258] (8:worker@Jupiter) Execution complete.
+> [ 19.175258] (8:worker@Jupiter) Waiting a message on worker-1
> [ 27.175258] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 27.175258] (1:master@Tremblay) Send a message to worker-3
> [ 28.206186] (1:master@Tremblay) Send to worker-3 completed
> [ 28.206186] (1:master@Tremblay) Send a message to worker-4
> [ 28.206186] (1:master@Tremblay) Mmh. The communication with 'worker-4' failed. Nevermind. Let's keep going!
> [ 28.206186] (1:master@Tremblay) Send a message to worker-0
-> [ 28.206186] (4:worker@Ginette) Start execution...
-> [ 28.206186] (5:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 28.206186] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 28.206186] (5:worker@Ginette) Start execution...
+> [ 28.206186] (6:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 28.206186] (6:worker@Bourassa) Waiting a message on worker-4
> [ 28.216495] (1:master@Tremblay) Send to worker-0 completed
> [ 28.216495] (1:master@Tremblay) Send a message to worker-1
> [ 28.216495] (2:worker@Tremblay) Start execution...
> [ 29.247423] (1:master@Tremblay) Send to worker-1 completed
> [ 29.247423] (1:master@Tremblay) Send a message to worker-2
-> [ 29.247423] (7:worker@Jupiter) Start execution...
-> [ 30.206186] (4:worker@Ginette) Execution complete.
-> [ 30.206186] (4:worker@Ginette) Waiting a message on worker-3
+> [ 29.247423] (8:worker@Jupiter) Start execution...
+> [ 30.206186] (5:worker@Ginette) Execution complete.
+> [ 30.206186] (5:worker@Ginette) Waiting a message on worker-3
> [ 30.216495] (2:worker@Tremblay) Execution complete.
> [ 30.216495] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 31.247423] (7:worker@Jupiter) Execution complete.
-> [ 31.247423] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 31.247423] (8:worker@Jupiter) Execution complete.
+> [ 31.247423] (8:worker@Jupiter) Waiting a message on worker-1
> [ 39.247423] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 39.247423] (1:master@Tremblay) Send a message to worker-3
> [ 40.278351] (1:master@Tremblay) Send to worker-3 completed
> [ 40.278351] (1:master@Tremblay) Send a message to worker-4
-> [ 40.278351] (4:worker@Ginette) Start execution...
+> [ 40.278351] (5:worker@Ginette) Start execution...
> [ 41.309278] (1:master@Tremblay) Send to worker-4 completed
> [ 41.309278] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
> [ 41.309278] (2:worker@Tremblay) I'm done. See you!
-> [ 41.309278] (5:worker@Bourassa) Start execution...
-> [ 41.309278] (7:worker@Jupiter) I'm done. See you!
+> [ 41.309278] (6:worker@Bourassa) Start execution...
+> [ 41.309278] (8:worker@Jupiter) I'm done. See you!
> [ 42.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 43.309278] (0:maestro@) Simulation time 43.3093
> [ 43.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
> [ 43.309278] (1:master@Tremblay) Goodbye now!
-> [ 43.309278] (5:worker@Bourassa) Execution complete.
-> [ 43.309278] (5:worker@Bourassa) Waiting a message on worker-4
-> [ 43.309278] (5:worker@Bourassa) I'm done. See you!
+> [ 43.309278] (6:worker@Bourassa) Execution complete.
+> [ 43.309278] (6:worker@Bourassa) Waiting a message on worker-4
+> [ 43.309278] (6:worker@Bourassa) I'm done. See you!
p Testing a simple master/worker example application handling failures. TCP crosstraffic ENABLED
> [ 0.000000] (1:master@Tremblay) Send a message to worker-0
> [ 0.000000] (2:worker@Tremblay) Waiting a message on worker-0
> [ 0.000000] (3:worker@Jupiter) Waiting a message on worker-1
-> [ 0.000000] (4:worker@Ginette) Waiting a message on worker-3
-> [ 0.000000] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 0.000000] (5:worker@Ginette) Waiting a message on worker-3
+> [ 0.000000] (6:worker@Bourassa) Waiting a message on worker-4
> [ 0.010825] (2:worker@Tremblay) Start execution...
> [ 0.010825] (1:master@Tremblay) Send to worker-0 completed
> [ 0.010825] (1:master@Tremblay) Send a message to worker-1
> [ 1.000000] (0:maestro@) Restart processes on host Fafard
-> [ 1.000000] (6:worker@Fafard) Waiting a message on worker-2
+> [ 1.000000] (7:worker@Fafard) Waiting a message on worker-2
> [ 1.000000] (1:master@Tremblay) Mmh. The communication with 'worker-1' failed. Nevermind. Let's keep going!
> [ 1.000000] (1:master@Tremblay) Send a message to worker-2
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host Jupiter
-> [ 2.000000] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 2.000000] (8:worker@Jupiter) Waiting a message on worker-1
> [ 2.000000] (1:master@Tremblay) Mmh. The communication with 'worker-2' failed. Nevermind. Let's keep going!
> [ 2.000000] (1:master@Tremblay) Send a message to worker-3
-> [ 2.000000] (6:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
+> [ 2.000000] (7:worker@Fafard) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.010825] (2:worker@Tremblay) Execution complete.
> [ 2.010825] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 3.082474] (4:worker@Ginette) Start execution...
+> [ 3.082474] (5:worker@Ginette) Start execution...
> [ 3.082474] (1:master@Tremblay) Send to worker-3 completed
> [ 3.082474] (1:master@Tremblay) Send a message to worker-4
-> [ 4.164948] (5:worker@Bourassa) Start execution...
+> [ 4.164948] (6:worker@Bourassa) Start execution...
> [ 4.164948] (1:master@Tremblay) Send to worker-4 completed
> [ 4.164948] (1:master@Tremblay) Send a message to worker-0
> [ 4.175773] (2:worker@Tremblay) Start execution...
> [ 4.175773] (1:master@Tremblay) Send to worker-0 completed
> [ 4.175773] (1:master@Tremblay) Send a message to worker-1
-> [ 5.082474] (4:worker@Ginette) Execution complete.
-> [ 5.082474] (4:worker@Ginette) Waiting a message on worker-3
-> [ 5.258247] (7:worker@Jupiter) Start execution...
+> [ 5.082474] (5:worker@Ginette) Execution complete.
+> [ 5.082474] (5:worker@Ginette) Waiting a message on worker-3
+> [ 5.258247] (8:worker@Jupiter) Start execution...
> [ 5.258247] (1:master@Tremblay) Send to worker-1 completed
> [ 5.258247] (1:master@Tremblay) Send a message to worker-2
-> [ 6.164948] (5:worker@Bourassa) Execution complete.
-> [ 6.164948] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 6.164948] (6:worker@Bourassa) Execution complete.
+> [ 6.164948] (6:worker@Bourassa) Waiting a message on worker-4
> [ 6.175773] (2:worker@Tremblay) Execution complete.
> [ 6.175773] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 7.258247] (7:worker@Jupiter) Execution complete.
-> [ 7.258247] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 7.258247] (8:worker@Jupiter) Execution complete.
+> [ 7.258247] (8:worker@Jupiter) Waiting a message on worker-1
> [ 15.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 15.258247] (1:master@Tremblay) Send a message to worker-3
-> [ 15.258247] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 15.258247] (4:worker@Ginette) Waiting a message on worker-3
+> [ 15.258247] (5:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 15.258247] (5:worker@Ginette) Waiting a message on worker-3
> [ 15.258247] (1:master@Tremblay) Mmh. The communication with 'worker-3' failed. Nevermind. Let's keep going!
> [ 15.258247] (1:master@Tremblay) Send a message to worker-4
-> [ 16.340722] (5:worker@Bourassa) Start execution...
+> [ 16.340722] (6:worker@Bourassa) Start execution...
> [ 16.340722] (1:master@Tremblay) Send to worker-4 completed
> [ 16.340722] (1:master@Tremblay) Send a message to worker-0
> [ 16.351546] (2:worker@Tremblay) Start execution...
> [ 16.351546] (1:master@Tremblay) Send to worker-0 completed
> [ 16.351546] (1:master@Tremblay) Send a message to worker-1
-> [ 17.434021] (7:worker@Jupiter) Start execution...
+> [ 17.434021] (8:worker@Jupiter) Start execution...
> [ 17.434021] (1:master@Tremblay) Send to worker-1 completed
> [ 17.434021] (1:master@Tremblay) Send a message to worker-2
-> [ 18.340722] (5:worker@Bourassa) Execution complete.
-> [ 18.340722] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 18.340722] (6:worker@Bourassa) Execution complete.
+> [ 18.340722] (6:worker@Bourassa) Waiting a message on worker-4
> [ 18.351546] (2:worker@Tremblay) Execution complete.
> [ 18.351546] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 19.434021] (7:worker@Jupiter) Execution complete.
-> [ 19.434021] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 19.434021] (8:worker@Jupiter) Execution complete.
+> [ 19.434021] (8:worker@Jupiter) Waiting a message on worker-1
> [ 27.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 27.434021] (1:master@Tremblay) Send a message to worker-3
-> [ 28.516495] (4:worker@Ginette) Start execution...
+> [ 28.516495] (5:worker@Ginette) Start execution...
> [ 28.516495] (1:master@Tremblay) Send to worker-3 completed
> [ 28.516495] (1:master@Tremblay) Send a message to worker-4
-> [ 28.516495] (5:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
-> [ 28.516495] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 28.516495] (6:worker@Bourassa) Mmh. Something went wrong. Nevermind. Let's keep going!
+> [ 28.516495] (6:worker@Bourassa) Waiting a message on worker-4
> [ 28.516495] (1:master@Tremblay) Mmh. The communication with 'worker-4' failed. Nevermind. Let's keep going!
> [ 28.516495] (1:master@Tremblay) Send a message to worker-0
> [ 28.527320] (2:worker@Tremblay) Start execution...
> [ 28.527320] (1:master@Tremblay) Send to worker-0 completed
> [ 28.527320] (1:master@Tremblay) Send a message to worker-1
-> [ 29.609794] (7:worker@Jupiter) Start execution...
+> [ 29.609794] (8:worker@Jupiter) Start execution...
> [ 29.609794] (1:master@Tremblay) Send to worker-1 completed
> [ 29.609794] (1:master@Tremblay) Send a message to worker-2
-> [ 30.516495] (4:worker@Ginette) Execution complete.
-> [ 30.516495] (4:worker@Ginette) Waiting a message on worker-3
+> [ 30.516495] (5:worker@Ginette) Execution complete.
+> [ 30.516495] (5:worker@Ginette) Waiting a message on worker-3
> [ 30.527320] (2:worker@Tremblay) Execution complete.
> [ 30.527320] (2:worker@Tremblay) Waiting a message on worker-0
-> [ 31.609794] (7:worker@Jupiter) Execution complete.
-> [ 31.609794] (7:worker@Jupiter) Waiting a message on worker-1
+> [ 31.609794] (8:worker@Jupiter) Execution complete.
+> [ 31.609794] (8:worker@Jupiter) Waiting a message on worker-1
> [ 39.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 39.609794] (1:master@Tremblay) Send a message to worker-3
-> [ 40.692268] (4:worker@Ginette) Start execution...
+> [ 40.692268] (5:worker@Ginette) Start execution...
> [ 40.692268] (1:master@Tremblay) Send to worker-3 completed
> [ 40.692268] (1:master@Tremblay) Send a message to worker-4
-> [ 41.774742] (5:worker@Bourassa) Start execution...
+> [ 41.774742] (6:worker@Bourassa) Start execution...
> [ 41.774742] (1:master@Tremblay) Send to worker-4 completed
> [ 41.774742] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
> [ 41.774742] (2:worker@Tremblay) I'm done. See you!
-> [ 41.774742] (7:worker@Jupiter) I'm done. See you!
+> [ 41.774742] (8:worker@Jupiter) I'm done. See you!
> [ 42.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
-> [ 43.774742] (5:worker@Bourassa) Execution complete.
-> [ 43.774742] (5:worker@Bourassa) Waiting a message on worker-4
+> [ 43.774742] (6:worker@Bourassa) Execution complete.
+> [ 43.774742] (6:worker@Bourassa) Waiting a message on worker-4
> [ 43.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
-> [ 43.774742] (5:worker@Bourassa) I'm done. See you!
+> [ 43.774742] (6:worker@Bourassa) I'm done. See you!
> [ 43.774742] (1:master@Tremblay) Goodbye now!
> [ 43.774742] (0:maestro@) Simulation time 43.7747
ActorPtr Actor::create(std::string name, s4u::Host* host, std::function<void()> code)
{
+ smx_actor_t self = SIMIX_process_self();
+
simgrid::kernel::actor::ActorImpl* actor =
- simcall_process_create(std::move(name), std::move(code), nullptr, host, nullptr);
- return actor->iface();
+ simgrid::simix::simcall([self, name, host, code] { return self->init(std::move(name), host)->start(code); });
+
+ return actor->ciface();
}
ActorPtr Actor::create(std::string name, s4u::Host* host, const std::string& function, std::vector<std::string> args)
dest->pimpl_->process_list_.push_back(*this);
}
-ActorImplPtr ActorImpl::create(std::string name, simix::ActorCode code, void* data, s4u::Host* host,
- std::unordered_map<std::string, std::string>* properties, ActorImpl* parent_actor)
+ActorImplPtr ActorImpl::init(std::string name, s4u::Host* host)
{
+ ActorImpl* actor = new ActorImpl(simgrid::xbt::string(name), host);
+ actor->set_ppid(this->pid_);
- XBT_DEBUG("Start actor %s@'%s'", name.c_str(), host->get_cname());
+ intrusive_ptr_add_ref(actor);
+ /* The on_creation() signal must be delayed until there, where the pid and everything is set */
+ s4u::Actor::on_creation(actor->iface());
- if (not host->is_on()) {
- XBT_WARN("Cannot launch actor '%s' on failed host '%s'", name.c_str(), host->get_cname());
+ return ActorImplPtr(actor);
+}
+
+ActorImpl* ActorImpl::start(simix::ActorCode code)
+{
+ xbt_assert(code && host_ != nullptr, "Invalid parameters");
+
+ if (not host_->is_on()) {
+ XBT_WARN("Cannot launch actor '%s' on failed host '%s'", name_.c_str(), host_->get_cname());
std::rethrow_exception(
- std::make_exception_ptr(simgrid::HostFailureException(XBT_THROW_POINT, "Cannot create actor on failed host.")));
+ std::make_exception_ptr(simgrid::HostFailureException(XBT_THROW_POINT, "Cannot start actor on failed host.")));
}
- ActorImpl* actor = new ActorImpl(simgrid::xbt::string(name), host);
+ this->code = code;
+ XBT_VERB("Create context %s", get_cname());
+ context_ = simix_global->context_factory->create_context(std::move(code), this);
- xbt_assert(code && host != nullptr, "Invalid parameters");
- /* actor data */
- actor->set_user_data(data);
- actor->code = code;
+ XBT_DEBUG("Start context '%s'", get_cname());
- if (parent_actor != nullptr)
- actor->set_ppid(parent_actor->get_pid());
+ /* Add the actor to its host's actor list */
+ host_->pimpl_->process_list_.push_back(*this);
+ simix_global->process_list[pid_] = this;
- XBT_VERB("Create context %s", actor->get_cname());
- actor->context_ = simix_global->context_factory->create_context(std::move(code), actor);
+ /* Now insert it in the global actor list and in the actor to run list */
+ XBT_DEBUG("Inserting [%p] %s(%s) in the to_run list", this, get_cname(), host_->get_cname());
+ simix_global->actors_to_run.push_back(this);
+
+ return this;
+}
+
+ActorImplPtr ActorImpl::create(std::string name, simix::ActorCode code, void* data, s4u::Host* host,
+ std::unordered_map<std::string, std::string>* properties, ActorImpl* parent_actor)
+{
+ XBT_DEBUG("Start actor %s@'%s'", name.c_str(), host->get_cname());
+
+ ActorImplPtr actor = SIMIX_process_self()->init(simgrid::xbt::string(name), host);
+
+ /* actor data */
+ actor->set_user_data(data);
/* Add properties */
if (properties != nullptr)
for (auto const& kv : *properties)
actor->set_property(kv.first, kv.second);
- /* Add the actor to its host's actor list */
- host->pimpl_->process_list_.push_back(*actor);
-
- XBT_DEBUG("Start context '%s'", actor->get_cname());
+ actor->start(std::move(code));
- /* Now insert it in the global actor list and in the actor to run list */
- simix_global->process_list[actor->get_pid()] = actor;
- XBT_DEBUG("Inserting [%p] %s(%s) in the to_run list", actor, actor->get_cname(), host->get_cname());
- simix_global->actors_to_run.push_back(actor);
- intrusive_ptr_add_ref(actor);
-
- /* The on_creation() signal must be delayed until there, where the pid and everything is set */
- s4u::Actor::on_creation(actor->iface());
-
- return ActorImplPtr(actor);
+ return actor;
}
void create_maestro(simix::ActorCode code)
s4u::ActorPtr iface() { return s4u::ActorPtr(&piface_); }
s4u::Actor* ciface() { return &piface_; }
+ ActorImplPtr init(std::string name, s4u::Host* host);
+ ActorImpl* start(simix::ActorCode code);
+
static ActorImplPtr create(std::string name, simix::ActorCode code, void* data, s4u::Host* host,
std::unordered_map<std::string, std::string>* properties, ActorImpl* parent_actor);
static ActorImplPtr attach(std::string name, void* data, s4u::Host* host,