4 simgrid.info("Hello from lua, I'm the master")
5 for i,v in ipairs(arg) do
6 simgrid.info("Got "..v)
14 A = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
19 error("Argc should be 4");
21 simgrid.info("Argc="..(#arg).." (should be 4)")
26 tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
27 alias = "slave "..(i%slave_count);
28 simgrid.info("Master sending '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
29 simgrid.Task.send(tk,alias); -- C user data set to NULL
30 simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
33 -- Sending Finalize Message To Others
35 simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
36 for i=0,slave_count-1 do
38 simgrid.info("Master: sending finalize to "..alias);
39 finalize = simgrid.Task.new("finalize",comp_size,comm_size);
40 simgrid.Task.send(finalize,alias)
42 simgrid.info("Master: Everything's done.");
45 -- Slave Function ---------------------------------------------------------
48 local my_mailbox="slave "..arg[1]
49 simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
53 local tk = simgrid.Task.recv(my_mailbox);
54 if (simgrid.Task.name(tk) == "finalize") then
55 simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
58 --local tk_name = simgrid.Task.name(tk)
59 simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
60 simgrid.Task.execute(tk)
61 simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
64 simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
66 end -- function ----------------------------------------------------------
71 simgrid.platform(arg[1])
72 simgrid.application(arg[2])
74 simgrid.platform("../msg/small_platform.xml")
75 simgrid.application("../ruby/deploy.xml")
78 simgrid.info("Simulation's over.See you.")