5 simgrid.info("Hello from lua, I'm the master")
6 for i,v in ipairs(arg) do
7 simgrid.info("Got "..v)
16 simgrid.info("Argc="..(#arg).." (should be 4)")
21 tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
22 alias = "slave "..(i%slave_count);
23 simgrid.info("Master sending '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
24 simgrid.Task.send(tk,alias); -- C user data set to NULL
25 simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
28 -- Sending Finalize Message To Others
30 simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
31 for i=0,slave_count-1 do
33 simgrid.info("Master: sending finalize to "..alias);
34 simgrid.Task.send(simgrid.Task.new("finalize",0,0),alias);
36 simgrid.info("Master: Everything's done.");
41 -- Slave Function ---------------------------------------------------------
44 my_mailbox="slave "..arg[1]
45 simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
49 -- tk = simgrid.Task.new("",0,0); --??
50 -- simgrid.Task.recv2(tk,my_mailbox);
51 tk = simgrid.Task.recv(my_mailbox);
53 tk_name = simgrid.Task.name(tk)
55 if (tk_name == "finalize") then
56 simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
60 simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
61 simgrid.Task.execute(tk);
63 simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
66 simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
68 end -- function ----------------------------------------------------------
77 simgrid.platform("../../../examples/msg/small_platform.xml")
78 simgrid.application("../ruby/deploy.xml")
80 simgrid.info("Simulation's over. See you.")