Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 1.01 KB | None | 0 0
  1. # Espaço para escrever o código fonte.
  2. # using Pkg
  3. # Pkg.add("Distributed")
  4. using Distributed
  5.  
  6. # create workers
  7. rmprocs(workers())
  8. addprocs(3)
  9.  
  10.  
  11. # system
  12. @everywhere watched_workloads = zeros(size(workers()))
  13.  
  14. @everywhere function failure_detector(group)
  15.     me = myid()
  16.     while true
  17.         workload = rand()
  18.         for p in group
  19.             @spawnat p deliver_report(group, me, workload)
  20.         end
  21.         sleep(2)
  22.     end
  23. end
  24.  
  25. @everywhere function deliver_report(group, from, workload)
  26.     idx = from - minimum(group) + 1
  27.     watched_workloads[idx] = workload
  28.    
  29. #     println(watched_workloads)
  30. end
  31.  
  32. @everywhere function send_workloads()
  33.     print("Workload from Worker ", myid(), ": ", watched_workloads)
  34. end
  35.  
  36. @everywhere function report_to_master(worker, workloads)
  37.     println("Workload from Worker $worker: $workloads")
  38. end
  39.  
  40.  
  41. # boot system
  42. @sync for p in workers()
  43.     @spawnat p failure_detector(workers())
  44.     println("AAAAAEEEEE")
  45.     @spawnat p send_workloads()
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement