6 class Master < RbProcess
12 info("Hello From Master")
15 # msg_main : that function that will be executed when Running Simulation
16 def msg_main(args) # args is an array Containin' arguments for function master
17 info("Hello From Master")
19 puts "Number of Args for Master = " + size.to_s
24 raise "Master needs 3 arguments" if size < 3
26 numberOfTask = Integer(args[0])
27 taskComputeSize = Float(args[1])
28 taskCommunicationSize = Float(args[2])
29 slaveCount = args.size - 3
35 #Creating & Sending Task
36 for i in 0..numberOfTask-1
38 todo[i] = RbTask.new("Task_"+ i.to_s, taskComputeSize , taskCommunicationSize );
42 for i in 3..args.size-1
44 slaves[i-3] = RbHost.getByName(args[i])
48 for i in 0..numberOfTask-1
49 p "Sending ( Put ) Task .." + i.to_s+ " to Slave " + RbHost.name(slaves[i%slaveCount])
50 RbTask.put(todo[i],slaves[i%slaveCount])
53 # Sending Finalize Tasks
54 p "Sending Finalize Task Later !!"
55 puts "Master : Everything's Done"