GSA based on edge direction

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

GSA based on edge direction

Pieter-Jan Van Aeken
Hi,

I would first like to do a Gather-Sum-Apply iteration where gather
collects data from incoming edges and their connected node, and in a
second step I would like to do a GSA iteration in the opposite
direction. I have already done this using vertex-centric iterations
and it works, but since GSA is distributed across edges in stead of
vertices, I would like to reimplement the same algorithm using GSA.
This raised two questions:

1. Is the GSA iteration by default only gathering from incoming
edge/node pairs? If so, then a valid approach would probably be

graph.run(gsa-incoming)
graph.reverse()
graph.run(gsa-outgoing)

 ​2. If not, is there some option I can configure to achieve the
same result?

Regards,

Pieter-Jan Van Aeken

Reply | Threaded
Open this post in threaded view
|

Re: GSA based on edge direction

Vasiliki Kalavri
Hi Pieter,

we have not added the option to choose message direction in the GSA
iterations yet, but this should be added soon (related JIRA:
https://issues.apache.org/jira/browse/FLINK-2141).
I guess the way you suggest, running GSA on the graph after reversing the
edges, is how to do this now, yes.

Let us know if you have further questions!

-Vasia.

On 15 June 2015 at 08:07, Pieter-Jan Van Aeken <
[hidden email]> wrote:

> Hi,
>
> I would first like to do a Gather-Sum-Apply iteration where gather
> collects data from incoming edges and their connected node, and in a
> second step I would like to do a GSA iteration in the opposite
> direction. I have already done this using vertex-centric iterations
> and it works, but since GSA is distributed across edges in stead of
> vertices, I would like to reimplement the same algorithm using GSA.
> This raised two questions:
>
> 1. Is the GSA iteration by default only gathering from incoming
> edge/node pairs? If so, then a valid approach would probably be
>
> graph.run(gsa-incoming)
> graph.reverse()
> graph.run(gsa-outgoing)
>
>  ​2. If not, is there some option I can configure to achieve the
> same result?
>
> Regards,
>
> Pieter-Jan Van Aeken
>
>