6 class Master < RbProcess
16 puts "Hey ..from Master"#info("Hey")
25 puts "argv :" + args[1]
28 raise "Master needs 3 arguments" if size < 3
30 numberOfTask = args[0] #convert to int
31 taskComputeSize = args[1] #convert to double
32 taskCommunicationSize = args[2] #convert to double
33 slaveCount = args[3] #convert to int
36 # todo = Array.new(numberOfTask)
38 #Creating & Sending Task
39 for i in 0..numberOfTask
41 task = RbTask.new("Task_" + i.to_s, taskComputeSize , taskCommunicationSize );
42 s_alias = "slave " + (i%slaveCount).to_s
43 puts "Master Sending "+ RbTask.name(task) + " to " + s_alias
44 RbTask.send(task,s_alias)
45 puts "Master Done Sending " +RbTask.name(task) + " to " + s_alias
49 # Sending Finalize Tasks
50 puts "Master: All tasks have been dispatched. Let's tell everybody the computation is over."
51 for i in 0..slaveCount-1
52 s_alias = "slave " + i.to_s
53 puts "Master Sending Finalize to " + s_alias
54 RbTask.send(RbTask.new("finalize",0,0),s_alias)
57 puts "Master : Everything's Done"