Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Espaço para escrever o código fonte.
- # using Pkg
- # Pkg.add("Distributed")
- using Distributed
- # create workers
- rmprocs(workers())
- addprocs(3)
- # system
- @everywhere watched_workloads = zeros(size(workers()))
- @everywhere function failure_detector(group)
- me = myid()
- while true
- workload = rand()
- for p in group
- @spawnat p deliver_report(group, me, workload)
- end
- sleep(2)
- end
- end
- @everywhere function deliver_report(group, from, workload)
- idx = from - minimum(group) + 1
- watched_workloads[idx] = workload
- # println(watched_workloads)
- end
- @everywhere function send_workloads()
- print("Workload from Worker ", myid(), ": ", watched_workloads)
- end
- @everywhere function report_to_master(worker, workloads)
- println("Workload from Worker $worker: $workloads")
- end
- # boot system
- @sync for p in workers()
- @spawnat p failure_detector(workers())
- println("AAAAAEEEEE")
- @spawnat p send_workloads()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement