Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
lua examples
authorcoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 8 Apr 2010 15:32:30 +0000 (15:32 +0000)
committercoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 8 Apr 2010 15:32:30 +0000 (15:32 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7478 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/lua/README [new file with mode: 0644]
examples/lua/master_slave.lua [new file with mode: 0644]
examples/lua/master_slave.tesh [new file with mode: 0644]
examples/lua/mult_matrix.lua [new file with mode: 0644]
examples/lua/mult_matrix.tesh [new file with mode: 0644]

diff --git a/examples/lua/README b/examples/lua/README
new file mode 100644 (file)
index 0000000..42a9ec2
--- /dev/null
@@ -0,0 +1,45 @@
+
+Examples containing in this directory
+
+===============================================================================
+* master_slave.lua           
+===============================================================================
+    - Description:
+    Simple master slave application
+
+    - Platform Files:
+    ../msg/small_platform.xml
+       
+    - Deployment Files:
+    ../ruby/deploy.xml
+
+    - Execute: 
+    (WARNING: the current directory must be examples/lua/)
+    lua master_slave.lua
+
+===============================================================================
+* mult_matrix.lua
+===============================================================================
+
+
+    - Description:
+    Simple example to demonstrate how 2 process could exchage data via a shared Task
+    in this example :
+       *Process Sender : Send two matrix with a fixed size to the 'Receiver' process
+       *Process Receiver : Receive the Matrix, make multiplication and put the result
+                           into the shared task that the Sender could read it .   
+    
+    - Platform Files:
+    ../ruby/quicksort_platform.xml    
+       
+    - Deployment Files:
+    ../ruby/quicksort_deployment.xml
+
+    - Execute: 
+    (WARNING: the current directory must be examples/lua/)
+    lua mult_matrix.lua
+           
+================================================================================
+================================================================================
+
+
diff --git a/examples/lua/master_slave.lua b/examples/lua/master_slave.lua
new file mode 100644 (file)
index 0000000..8e60860
--- /dev/null
@@ -0,0 +1,79 @@
+--Master Function
+function Master(...) 
+
+simgrid.info("Hello from lua, I'm the master")
+for i,v in ipairs(arg) do
+    simgrid.info("Got "..v)
+end
+
+nb_task = arg[1];
+comp_size = arg[2];
+comm_size = arg[3];
+slave_count = arg[4]
+
+A = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
+
+--print (A[1][3])
+
+if (#arg ~= 4) then
+    error("Argc should be 4");
+end
+simgrid.info("Argc="..(#arg).." (should be 4)")
+
+-- Dispatch the tasks
+
+for i=1,nb_task do
+  tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
+  alias = "slave "..(i%slave_count);
+  simgrid.info("Master sending  '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+  simgrid.Task.send(tk,alias); -- C user data set to NULL
+  simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+end
+
+-- Sending Finalize Message To Others
+
+simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
+for i=0,slave_count-1 do
+  alias = "slave "..i;
+  simgrid.info("Master: sending finalize to "..alias);
+  finalize = simgrid.Task.new("finalize",comp_size,comm_size);
+  simgrid.Task.send(finalize,alias)
+end
+  simgrid.info("Master: Everything's done.");
+end
+
+-- Slave Function ---------------------------------------------------------
+function Slave(...)
+
+local my_mailbox="slave "..arg[1]
+simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+
+while true do
+
+  local tk = simgrid.Task.recv(my_mailbox);
+  if (simgrid.Task.name(tk) == "finalize") then
+    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
+    break
+  end
+  --local tk_name = simgrid.Task.name(tk) 
+  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
+  simgrid.Task.execute(tk)
+  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
+end -- while
+
+simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+
+end -- function ----------------------------------------------------------
+--]]
+
+function doyield() 
+    coroutine.yield()
+end
+
+require "simgrid"
+simgrid.platform("../msg/small_platform.xml")
+simgrid.application("../ruby/deploy.xml")
+simgrid.run()
+simgrid.info("Simulation's over.See you.")
+simgrid.clean()
+
diff --git a/examples/lua/master_slave.tesh b/examples/lua/master_slave.tesh
new file mode 100644 (file)
index 0000000..b739b40
--- /dev/null
@@ -0,0 +1,134 @@
+# compile the master_slave example
+
+# Later modify the commande and specify the platform and deployment path
+
+$ lua master_slave.lua
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Hello from lua, I'm the master
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 20
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 50000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 1000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 4
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Argc=4 (should be 4)
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Master sending  'Task 1' To 'slave 1'
+> [Bourassa:Slave:(2) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 0
+> [Jupiter:Slave:(3) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 1
+> [Fafard:Slave:(4) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 2
+> [Ginette:Slave:(5) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 3
+> [Jupiter:Slave:(3) 0.165962] [lua/INFO] Slave 'slave 1' processing Task 1
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master done sending 'Task 1' To 'slave 1'
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master sending  'Task 2' To 'slave 2'
+> [Fafard:Slave:(4) 0.384115] [lua/INFO] Slave 'slave 2' processing Task 2
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master done sending 'Task 2' To 'slave 2'
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master sending  'Task 3' To 'slave 3'
+> [Ginette:Slave:(5) 0.524575] [lua/INFO] Slave 'slave 3' processing Task 3
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master done sending 'Task 3' To 'slave 3'
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master sending  'Task 4' To 'slave 0'
+> [Bourassa:Slave:(2) 0.740447] [lua/INFO] Slave 'slave 0' processing Task 4
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master done sending 'Task 4' To 'slave 0'
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master sending  'Task 5' To 'slave 1'
+> [Jupiter:Slave:(3) 0.821304] [lua/INFO] Slave 'slave 1': task Task 1 done
+> [Jupiter:Slave:(3) 0.987266] [lua/INFO] Slave 'slave 1' processing Task 5
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master done sending 'Task 5' To 'slave 1'
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master sending  'Task 6' To 'slave 2'
+> [Fafard:Slave:(4) 1.039457] [lua/INFO] Slave 'slave 2': task Task 2 done
+> [Fafard:Slave:(4) 1.257610] [lua/INFO] Slave 'slave 2' processing Task 6
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master done sending 'Task 6' To 'slave 2'
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master sending  'Task 7' To 'slave 3'
+> [Ginette:Slave:(5) 1.555672] [lua/INFO] Slave 'slave 3': task Task 3 done
+> [Jupiter:Slave:(3) 1.642608] [lua/INFO] Slave 'slave 1': task Task 5 done
+> [Ginette:Slave:(5) 1.696132] [lua/INFO] Slave 'slave 3' processing Task 7
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master done sending 'Task 7' To 'slave 3'
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master sending  'Task 8' To 'slave 0'
+> [Bourassa:Slave:(2) 1.771545] [lua/INFO] Slave 'slave 0': task Task 4 done
+> [Fafard:Slave:(4) 1.912953] [lua/INFO] Slave 'slave 2': task Task 6 done
+> [Bourassa:Slave:(2) 1.987417] [lua/INFO] Slave 'slave 0' processing Task 8
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master done sending 'Task 8' To 'slave 0'
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master sending  'Task 9' To 'slave 1'
+> [Jupiter:Slave:(3) 2.153379] [lua/INFO] Slave 'slave 1' processing Task 9
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master done sending 'Task 9' To 'slave 1'
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master sending  'Task 10' To 'slave 2'
+> [Fafard:Slave:(4) 2.371532] [lua/INFO] Slave 'slave 2' processing Task 10
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master done sending 'Task 10' To 'slave 2'
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master sending  'Task 11' To 'slave 3'
+> [Ginette:Slave:(5) 2.727230] [lua/INFO] Slave 'slave 3': task Task 7 done
+> [Jupiter:Slave:(3) 2.808721] [lua/INFO] Slave 'slave 1': task Task 9 done
+> [Ginette:Slave:(5) 2.867690] [lua/INFO] Slave 'slave 3' processing Task 11
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master done sending 'Task 11' To 'slave 3'
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master sending  'Task 12' To 'slave 0'
+> [Bourassa:Slave:(2) 3.018515] [lua/INFO] Slave 'slave 0': task Task 8 done
+> [Fafard:Slave:(4) 3.026874] [lua/INFO] Slave 'slave 2': task Task 10 done
+> [Bourassa:Slave:(2) 3.234387] [lua/INFO] Slave 'slave 0' processing Task 12
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master done sending 'Task 12' To 'slave 0'
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master sending  'Task 13' To 'slave 1'
+> [Jupiter:Slave:(3) 3.400349] [lua/INFO] Slave 'slave 1' processing Task 13
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master done sending 'Task 13' To 'slave 1'
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master sending  'Task 14' To 'slave 2'
+> [Fafard:Slave:(4) 3.618502] [lua/INFO] Slave 'slave 2' processing Task 14
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master done sending 'Task 14' To 'slave 2'
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master sending  'Task 15' To 'slave 3'
+> [Ginette:Slave:(5) 3.898788] [lua/INFO] Slave 'slave 3': task Task 11 done
+> [Ginette:Slave:(5) 4.039247] [lua/INFO] Slave 'slave 3' processing Task 15
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master done sending 'Task 15' To 'slave 3'
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master sending  'Task 16' To 'slave 0'
+> [Jupiter:Slave:(3) 4.055691] [lua/INFO] Slave 'slave 1': task Task 13 done
+> [Bourassa:Slave:(2) 4.265485] [lua/INFO] Slave 'slave 0': task Task 12 done
+> [Fafard:Slave:(4) 4.273845] [lua/INFO] Slave 'slave 2': task Task 14 done
+> [Bourassa:Slave:(2) 4.481357] [lua/INFO] Slave 'slave 0' processing Task 16
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master done sending 'Task 16' To 'slave 0'
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master sending  'Task 17' To 'slave 1'
+> [Jupiter:Slave:(3) 4.647319] [lua/INFO] Slave 'slave 1' processing Task 17
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master done sending 'Task 17' To 'slave 1'
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master sending  'Task 18' To 'slave 2'
+> [Fafard:Slave:(4) 4.865472] [lua/INFO] Slave 'slave 2' processing Task 18
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master done sending 'Task 18' To 'slave 2'
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master sending  'Task 19' To 'slave 3'
+> [Ginette:Slave:(5) 5.070345] [lua/INFO] Slave 'slave 3': task Task 15 done
+> [Ginette:Slave:(5) 5.210805] [lua/INFO] Slave 'slave 3' processing Task 19
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master done sending 'Task 19' To 'slave 3'
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master sending  'Task 20' To 'slave 0'
+> [Jupiter:Slave:(3) 5.302662] [lua/INFO] Slave 'slave 1': task Task 17 done
+> [Bourassa:Slave:(2) 5.512455] [lua/INFO] Slave 'slave 0': task Task 16 done
+> [Fafard:Slave:(4) 5.520815] [lua/INFO] Slave 'slave 2': task Task 18 done
+> [Bourassa:Slave:(2) 5.728328] [lua/INFO] Slave 'slave 0' processing Task 20
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master done sending 'Task 20' To 'slave 0'
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: All tasks have been dispatched. Let's tell everybody the computation is over.
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: sending finalize to slave 0
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Creating task
+> [Ginette:Slave:(5) 6.241903] [lua/INFO] Slave 'slave 3': task Task 19 done
+> [Bourassa:Slave:(2) 6.759426] [lua/INFO] Slave 'slave 0': task Task 20 done
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0' got finalize msg
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0': I'm Done . See You !!
+> [Tremblay:Master:(1) 6.975298] [lua/INFO] Master: sending finalize to slave 1
+> [Tremblay:Master:(1) 6.975298] [lua/INFO] Creating task
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1' got finalize msg
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.141260] [lua/INFO] Master: sending finalize to slave 2
+> [Tremblay:Master:(1) 7.141260] [lua/INFO] Creating task
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2' got finalize msg
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.359413] [lua/INFO] Master: sending finalize to slave 3
+> [Tremblay:Master:(1) 7.359413] [lua/INFO] Creating task
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3' got finalize msg
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.499872] [lua/INFO] Master: Everything's done.
+> [7.499872] [lua/INFO] Simulation's over.See you.
diff --git a/examples/lua/mult_matrix.lua b/examples/lua/mult_matrix.lua
new file mode 100644 (file)
index 0000000..a026691
--- /dev/null
@@ -0,0 +1,99 @@
+function Sender(...) 
+
+       simgrid.info("Hello From Sender")
+       receiver = simgrid.Host.getByName(arg[1])
+       task_comp = arg[2]
+       task_comm = arg[3]
+       rec_alias = arg[4]
+       
+       size = 4
+       m1 = mkmatrix(size, size)
+        m2 = mkmatrix(size, size)      
+
+       if (#arg ~= 4) then
+           error("Argc should be 4");
+       end
+       simgrid.info("Argc="..(#arg).." (should be 4)")
+
+       -- Sending Task
+       task = simgrid.Task.new("matrix_task",task_comp,task_comm);
+       task['matrix_1'] = m1;
+       task['matrix_2'] = m2;
+       task['size'] = size;
+       simgrid.info("Sending "..simgrid.Task.name(task).." to "..simgrid.Host.name(receiver));
+       simgrid.Task.send(task,rec_alias);
+       -- Read The Result 
+       mm = task['matrix_res']
+       simgrid.info("Got the Multiplication result ...Bye");
+       --mprint(size,size,mm);
+
+end
+------------------------------------------------------
+function Receiver(...)
+       
+       simgrid.info("Hello From Receiver")
+       sender = simgrid.Host.getByName(arg[1])
+       send_alias = arg[2]
+       recv_alias = "Receiver";
+       simgrid.info("Receiving Task from "..simgrid.Host.name(sender));
+       task = simgrid.Task.recv(recv_alias);
+       mm = mmult(task['size'],task['size'],task['matrix_1'],task['matrix_2']);
+       --mprint(task['size'],task['size'],mm)
+       task['matrix_res'] = mm;
+       simgrid.info("Calcul is done ... Bye");
+
+
+end
+-----------------------------------------------------
+
+local n = tonumber((arg and arg[1]) or 1)
+
+
+
+function mkmatrix(rows, cols)
+    local count = 1
+    local mx = {}
+    for i=0,(rows - 1) do
+    local row = {}
+    for j=0,(cols - 1) do
+        row[j] = count
+        count = count + 1
+    end
+    mx[i] = row
+    end
+    return(mx)
+end
+
+function mmult(rows, cols, m1, m2)
+    local m3 = {}
+    for i=0,(rows-1) do
+        m3[i] = {}
+        for j=0,(cols-1) do
+            local rowj = 0
+            for k=0,(cols-1) do
+                rowj = rowj + m1[i][k] * m2[k][j]
+            end
+            m3[i][j] = rowj
+        end
+    end
+    return(m3)
+end
+
+function mprint(rows,cols,m)
+ for i=0,(cols-1)do
+       for j=0,(rows-1)do
+               print (m[i][j])
+       end
+ end
+end
+
+
+--end
+require "simgrid"
+simgrid.platform("../ruby/quicksort_platform.xml")
+simgrid.application("../ruby/quicksort_deployment.xml")
+simgrid.run()
+simgrid.info("Simulation's over.See you.")
+simgrid.clean()
+
+
diff --git a/examples/lua/mult_matrix.tesh b/examples/lua/mult_matrix.tesh
new file mode 100644 (file)
index 0000000..b739b40
--- /dev/null
@@ -0,0 +1,134 @@
+# compile the master_slave example
+
+# Later modify the commande and specify the platform and deployment path
+
+$ lua master_slave.lua
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Hello from lua, I'm the master
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 20
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 50000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 1000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 4
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Argc=4 (should be 4)
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Master sending  'Task 1' To 'slave 1'
+> [Bourassa:Slave:(2) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 0
+> [Jupiter:Slave:(3) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 1
+> [Fafard:Slave:(4) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 2
+> [Ginette:Slave:(5) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 3
+> [Jupiter:Slave:(3) 0.165962] [lua/INFO] Slave 'slave 1' processing Task 1
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master done sending 'Task 1' To 'slave 1'
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master sending  'Task 2' To 'slave 2'
+> [Fafard:Slave:(4) 0.384115] [lua/INFO] Slave 'slave 2' processing Task 2
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master done sending 'Task 2' To 'slave 2'
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master sending  'Task 3' To 'slave 3'
+> [Ginette:Slave:(5) 0.524575] [lua/INFO] Slave 'slave 3' processing Task 3
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master done sending 'Task 3' To 'slave 3'
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master sending  'Task 4' To 'slave 0'
+> [Bourassa:Slave:(2) 0.740447] [lua/INFO] Slave 'slave 0' processing Task 4
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master done sending 'Task 4' To 'slave 0'
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master sending  'Task 5' To 'slave 1'
+> [Jupiter:Slave:(3) 0.821304] [lua/INFO] Slave 'slave 1': task Task 1 done
+> [Jupiter:Slave:(3) 0.987266] [lua/INFO] Slave 'slave 1' processing Task 5
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master done sending 'Task 5' To 'slave 1'
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master sending  'Task 6' To 'slave 2'
+> [Fafard:Slave:(4) 1.039457] [lua/INFO] Slave 'slave 2': task Task 2 done
+> [Fafard:Slave:(4) 1.257610] [lua/INFO] Slave 'slave 2' processing Task 6
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master done sending 'Task 6' To 'slave 2'
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master sending  'Task 7' To 'slave 3'
+> [Ginette:Slave:(5) 1.555672] [lua/INFO] Slave 'slave 3': task Task 3 done
+> [Jupiter:Slave:(3) 1.642608] [lua/INFO] Slave 'slave 1': task Task 5 done
+> [Ginette:Slave:(5) 1.696132] [lua/INFO] Slave 'slave 3' processing Task 7
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master done sending 'Task 7' To 'slave 3'
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master sending  'Task 8' To 'slave 0'
+> [Bourassa:Slave:(2) 1.771545] [lua/INFO] Slave 'slave 0': task Task 4 done
+> [Fafard:Slave:(4) 1.912953] [lua/INFO] Slave 'slave 2': task Task 6 done
+> [Bourassa:Slave:(2) 1.987417] [lua/INFO] Slave 'slave 0' processing Task 8
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master done sending 'Task 8' To 'slave 0'
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master sending  'Task 9' To 'slave 1'
+> [Jupiter:Slave:(3) 2.153379] [lua/INFO] Slave 'slave 1' processing Task 9
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master done sending 'Task 9' To 'slave 1'
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master sending  'Task 10' To 'slave 2'
+> [Fafard:Slave:(4) 2.371532] [lua/INFO] Slave 'slave 2' processing Task 10
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master done sending 'Task 10' To 'slave 2'
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master sending  'Task 11' To 'slave 3'
+> [Ginette:Slave:(5) 2.727230] [lua/INFO] Slave 'slave 3': task Task 7 done
+> [Jupiter:Slave:(3) 2.808721] [lua/INFO] Slave 'slave 1': task Task 9 done
+> [Ginette:Slave:(5) 2.867690] [lua/INFO] Slave 'slave 3' processing Task 11
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master done sending 'Task 11' To 'slave 3'
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master sending  'Task 12' To 'slave 0'
+> [Bourassa:Slave:(2) 3.018515] [lua/INFO] Slave 'slave 0': task Task 8 done
+> [Fafard:Slave:(4) 3.026874] [lua/INFO] Slave 'slave 2': task Task 10 done
+> [Bourassa:Slave:(2) 3.234387] [lua/INFO] Slave 'slave 0' processing Task 12
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master done sending 'Task 12' To 'slave 0'
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master sending  'Task 13' To 'slave 1'
+> [Jupiter:Slave:(3) 3.400349] [lua/INFO] Slave 'slave 1' processing Task 13
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master done sending 'Task 13' To 'slave 1'
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master sending  'Task 14' To 'slave 2'
+> [Fafard:Slave:(4) 3.618502] [lua/INFO] Slave 'slave 2' processing Task 14
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master done sending 'Task 14' To 'slave 2'
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master sending  'Task 15' To 'slave 3'
+> [Ginette:Slave:(5) 3.898788] [lua/INFO] Slave 'slave 3': task Task 11 done
+> [Ginette:Slave:(5) 4.039247] [lua/INFO] Slave 'slave 3' processing Task 15
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master done sending 'Task 15' To 'slave 3'
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master sending  'Task 16' To 'slave 0'
+> [Jupiter:Slave:(3) 4.055691] [lua/INFO] Slave 'slave 1': task Task 13 done
+> [Bourassa:Slave:(2) 4.265485] [lua/INFO] Slave 'slave 0': task Task 12 done
+> [Fafard:Slave:(4) 4.273845] [lua/INFO] Slave 'slave 2': task Task 14 done
+> [Bourassa:Slave:(2) 4.481357] [lua/INFO] Slave 'slave 0' processing Task 16
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master done sending 'Task 16' To 'slave 0'
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master sending  'Task 17' To 'slave 1'
+> [Jupiter:Slave:(3) 4.647319] [lua/INFO] Slave 'slave 1' processing Task 17
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master done sending 'Task 17' To 'slave 1'
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master sending  'Task 18' To 'slave 2'
+> [Fafard:Slave:(4) 4.865472] [lua/INFO] Slave 'slave 2' processing Task 18
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master done sending 'Task 18' To 'slave 2'
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master sending  'Task 19' To 'slave 3'
+> [Ginette:Slave:(5) 5.070345] [lua/INFO] Slave 'slave 3': task Task 15 done
+> [Ginette:Slave:(5) 5.210805] [lua/INFO] Slave 'slave 3' processing Task 19
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master done sending 'Task 19' To 'slave 3'
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Creating task
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master sending  'Task 20' To 'slave 0'
+> [Jupiter:Slave:(3) 5.302662] [lua/INFO] Slave 'slave 1': task Task 17 done
+> [Bourassa:Slave:(2) 5.512455] [lua/INFO] Slave 'slave 0': task Task 16 done
+> [Fafard:Slave:(4) 5.520815] [lua/INFO] Slave 'slave 2': task Task 18 done
+> [Bourassa:Slave:(2) 5.728328] [lua/INFO] Slave 'slave 0' processing Task 20
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master done sending 'Task 20' To 'slave 0'
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: All tasks have been dispatched. Let's tell everybody the computation is over.
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: sending finalize to slave 0
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Creating task
+> [Ginette:Slave:(5) 6.241903] [lua/INFO] Slave 'slave 3': task Task 19 done
+> [Bourassa:Slave:(2) 6.759426] [lua/INFO] Slave 'slave 0': task Task 20 done
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0' got finalize msg
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0': I'm Done . See You !!
+> [Tremblay:Master:(1) 6.975298] [lua/INFO] Master: sending finalize to slave 1
+> [Tremblay:Master:(1) 6.975298] [lua/INFO] Creating task
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1' got finalize msg
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.141260] [lua/INFO] Master: sending finalize to slave 2
+> [Tremblay:Master:(1) 7.141260] [lua/INFO] Creating task
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2' got finalize msg
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.359413] [lua/INFO] Master: sending finalize to slave 3
+> [Tremblay:Master:(1) 7.359413] [lua/INFO] Creating task
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3' got finalize msg
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.499872] [lua/INFO] Master: Everything's done.
+> [7.499872] [lua/INFO] Simulation's over.See you.