giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maja Kabiljo (JIRA)" <>
Subject [jira] [Commented] (GIRAPH-613) Remove Writable from the interfaces implemented by Vertex
Date Tue, 09 Apr 2013 18:40:17 GMT


Maja Kabiljo commented on GIRAPH-613:

Probably I'm missing something here - why is this better than the current state? Especially
if we still allow user to create his own VertexWritable. And I don't see how this makes it
clearer to the user that he shouldn't add fields to vertex. 

Ultimately we might want to remove Vertex completely, and have user implement some Computation
interface, which would have a method like: 
compute(vertexId, vertexValue, edges, messages)
This will really prevent user from adding additional fields directly to the vertex.
Also, in many applications we have different kind of computation going on during different
supersteps (have a lot of "if (superstep == ..) { ... } else if (superstep == ..) ... ). We
use different messages during different supersteps too, and we have to hack it by putting
a message type inside of MessageWritable. Having something like Computation instead of Vertex,
and providing an option to switch Computation during application would make all of this much
easier. But definitely not for the next release :-)
> Remove Writable from the interfaces implemented by Vertex
> ---------------------------------------------------------
>                 Key: GIRAPH-613
>                 URL:
>             Project: Giraph
>          Issue Type: Improvement
>            Reporter: Claudio Martella
>            Priority: Minor
>         Attachments: NonWritable.diff
> Currently, Vertex implements Writable, meaning that we depend on the user (except for
the default implementation) on the way the graph is serialised and deserialized. This means
we cannot do certain optimisations, and the user can actually add additional stuff to Vertex
more than Value, Id, Edges and halt state. By removing this possibility (or allowing them
to extend a default implementation) we take control of this.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message