@startuml
'left to right direction
' Horizontal lines: -->, <--, <-->'
title SCHEME 3
start
:<size:18><i><b>LOAD DATA</b></i></size>;
fork
    :rank_0/
    repeat
    :MPI_Bcast(J)|
    :<size:15><i><b>Value Iteration</b></i></size>;
    :MPI_Recv(J)|
    :MPI_Recv(eps)|
    :MPI_Bcast(eps)|
    repeat while (eps < eps_thresh) is (No) not (Yes)
    :MPI_Gatherv(Pi)|
fork again
    :rank_N/
    repeat
    :MPI_Bcast(J)|    
    :<size:15><i><b>Value Iteration</b></i></size>;
    :MPI_Ssend(J)|
    :MPI_Ssend(eps)|
    :MPI_Bcast(eps)|
    repeat while (eps < eps_thresh) is (No) not (Yes)
    :MPI_Gatherv(Pi)|
end fork
stop

@enduml