+++ /dev/null
-require 'msg'
-require 'RubyProcess'
-
-include MSG
-
-class Master < RbProcess
- def initialize()
- super()
- end
-
- def msg_main2(args)
- info("Hello From Master")
- end
-
- # msg_main : that function that will be executed when Running Simulation
- def msg_main(args) # args is an array Containin' arguments for function master
- info("Hello From Master")
- size = args.size
- puts "Number of Args for Master = " + size.to_s
- for i in 0..size-1
- puts args[i]
- end
-
- raise "Master needs 3 arguments" if size < 3
- channel = 0
- numberOfTask = Integer(args[0])
- taskComputeSize = Float(args[1])
- taskCommunicationSize = Float(args[2])
- slaveCount = args.size - 3
-
- slaves = Array.new
- todo = Array.new
-
-
- #Creating & Sending Task
- for i in 0..numberOfTask-1
-
- todo[i] = RbTask.new("Task_"+ i.to_s, taskComputeSize , taskCommunicationSize );
-
- end
-
- for i in 3..args.size-1
-
- slaves[i-3] = RbHost.getByName(args[i])
- end
-
-
- for i in 0..numberOfTask-1
- p "Sending ( Put ) Task .." + i.to_s+ " to Slave " + RbHost.name(slaves[i%slaveCount])
- RbTask.put(todo[i],slaves[i%slaveCount])
- end
-
- # Sending Finalize Tasks
- p "Sending Finalize Task Later !!"
- puts "Master : Everything's Done"
- end
-
-end
\ No newline at end of file