X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/46e0cb17f365814060eccbd32af103d1b41ae34b..8c3462c8bb7fb8cd5d73b25eb67bee75dafca7aa:/src/bindings/lua/master_slave.lua diff --git a/src/bindings/lua/master_slave.lua b/src/bindings/lua/master_slave.lua deleted file mode 100644 index 248d8c842f..0000000000 --- a/src/bindings/lua/master_slave.lua +++ /dev/null @@ -1,83 +0,0 @@ - ---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] - -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); - simgrid.Task.send(simgrid.Task.new("finalize",0,0),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 --- tk = simgrid.Task.new("",0,0); --?? --- simgrid.Task.recv2(tk,my_mailbox); - local tk = simgrid.Task.recv(my_mailbox); - - local tk_name = simgrid.Task.name(tk) - - if (tk_name == "finalize") then - simgrid.info("Slave '" ..my_mailbox.."' got finalize msg"); - break - end - - 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("../../../examples/msg/small_platform.xml") -simgrid.application("../ruby/deploy.xml") -simgrid.run() -simgrid.info("Simulation's over. See you.") -simgrid.clean() \ No newline at end of file