Github user vasia commented on the pull request:

    https://github.com/apache/flink/pull/1956#issuecomment-220134968
  
    Thanks for the update @gallenvara and @greghogan for the review.
    I have left a few comments in places where I couldn't figure out the code 
logic.
    
    There is one more thing I'd like to discuss with you. The current 
implementation is using `EdgeDirection.ALL`, but this feature is not very 
efficiently implemented. It actually performs 2 coGroups (one on the source Id 
and one on the target Id) and unions the outputs to create the result of the 
messaging function. Instead, I was thinking we could do the following: mark the 
inputs graph edges with an "authority" label and add opposite-direction edges 
with a "hub" authority. Then, we can use the default edge direction (IN) to 
perform the iteration. In even supersteps, each vertex sends messages only 
along "authority" edges and in odd supersteps only along "hub" edges. Does this 
make sense?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to