6 puts "Hey ..from Master"#info("Hey")
15 puts "argv :" + args[1]
18 raise "Master needs 3 arguments" if size < 3
20 numberOfTask = args[0] #convert to int
21 taskComputeSize = args[1] #convert to double
22 taskCommunicationSize = args[2] #convert to double
23 slaveCount = args[3] #convert to int
26 # todo = Array.new(numberOfTask)
28 #Creating & Sending Task
29 for i in 0..numberOfTask
31 task = RbTask.new("Task_" + i.to_s, taskComputeSize , taskCommunicationSize );
32 s_alias = "slave " + (i%slaveCount).to_s
33 puts "Master Sending "+ RbTask.name(task) + " to " + s_alias
34 RbTask.send(task,s_alias)
35 puts "Master Done Sending " +RbTask.name(task) + " to " + s_alias
39 # Sending Finalize Tasks
40 puts "Master: All tasks have been dispatched. Let's tell everybody the computation is over."
41 for i in 0..slaveCount-1
42 s_alias = "slave " + i.to_s
43 puts "Master Sending Finalize to " + s_alias
44 RbTask.send(RbTask.new("finalize",0,0),s_alias)
47 puts "Master : Everything's Done"
56 puts "Hello From Slave"
57 s_mailbox = "slave" + args[0]
62 task = RbTask.recieve(s_mailbox)
64 task_name = RbTask.name(task)
66 if ( task_name == "finalize" )
67 puts "Slave" + s_mailbox + "got finalize msg"
71 puts "Slave " + s_mailbox + "Processing" + RbTask.name(task)
76 puts "Slave " + s_mailbox + "I'm Done , See You !!"