Hello,
> I definitely like this and it would be closer to what we are doing with
> OrientDB distributed architecture. How quick do you think you could create a
> draft of this in TP 3.x?
We already have a working version with the interfaces in gremlin-core/ and an
akka-gremlin/ implementation.
interfaces:
https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actors
<https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actors>
implementation:
https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/akka-gremlin/src/main/java/org/apache/tinkerpop/gremlin/akka/process/actors
<https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/akka-gremlin/src/main/java/org/apache/tinkerpop/gremlin/akka/process/actors>
You can see TraversalActorsProgram which is able to execute a Traversal over
the Actors framework:
https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actors/traversal
<https://github.com/apache/tinkerpop/tree/TINKERPOP-1564/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actors/traversal>
- a few hardcoded constants in there right now as I’m still
developing/playing.
And akka-gremlin/ passes the traversal test suite (save for a few issues I’m
still sorting out):
https://github.com/apache/tinkerpop/blob/TINKERPOP-1564/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProcessActorsTest.java
<https://github.com/apache/tinkerpop/blob/TINKERPOP-1564/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProcessActorsTest.java>
Hope that is clear. Please provide any feedback as you have it.
Question: Can OrientDB do a “distributed transaction”? That is, if you have X
number of connections to OrientDB, can you say that you want all connections to
be tied to a single TX?
Thanks Luca,
Marko.
http://markorodriguez <http://markorodriguez/>.com
>
>
> On 13 January 2017 at 12:23, Marko Rodriguez <[email protected]
> <mailto:[email protected]>> wrote:
> Hi,
>
> CURRENT: The GraphComputer framework assumes “vertex-centric” computing. That
> is, a vertex receives a message and does something with it. Moreover, it can
> send messages to other vertices.
>
> We got this wrong and I think we should do it right with GraphActors.
>
> FUTURE: The GraphActors framework assumes “partition-centric” computing. That
> is, a partition receives a message and does something with it. Moreover, it
> can send messages to other partitions.
>
> ——
>
> VertexProgram.execute(final Vertex vertex, Iterator<M> messages)
>
> should have been:
>
> PartitionProgram.execute(Partition partition, Iterator<M> message)
>
> in fact, ActorProgram’s execute() method is defined as:
>
> ActorProgram.execute(M message).
>
> 1. Every Actor owns a Partition and thus, you don’t need to pass in the
> Partition.
> 2. To support ASP (asynchrounous) and BSP (synchronous) computing, you don’t
> provide an Iterator<M>, just an M as they come through (event-driven).
> 3. All partitions are assumed to have random access capabilities. All the
> data in the partition is randomly accessible.
> 4. A partition is a generalization of GraphComputer’s Vertex, where at the
> micro-limit, every Vertex is in its own Partition. This is how we think about
> SparkGraphComputer, GiraphGraphComputer, etc. — the “star graph." However, by
> generalizing to larger subgraphs than just Vertex, we can have more work
> being done per iteration in SparkGraphComputer, etc. Moreover, by
> generalizing to partition, we don’t have to have all edges of a vertex
> co-located and thus, can support edge-cut systems (liked DSEGraph).
>
> So, what does this mean for the future? This injection from “vertex-centric”
> to “partition-centric” allows us to easily create SparkGraphActors. Next, how
> do you verify if a traversal will be able to legally execute against the
> underlying GraphActors system? It depends on “the rules” of the Partitioner.
> A Partitioner should have Features which define the boundaries of its data
> sphere. By looking at those Features and looking at the semantics of the
> Traversal, it is possible to ensure that the Traversal will work against the
> Features. If not, ActorVerificationException. If so, execute it.
>
> In conclusion — I’m starting to see GraphComputer as our OLAP 1.0 and
> GraphActors as our OLAP/OLTP 2.0. I put in there OLTP because with systems
> like Akka that don’t require big bulk data migrations, you can execute
> against the Graph connection object…. Even with SparkGraphActors, you could
> just have workers that work against Graph connection objects (the only RDD
> data is messages!!!). Thus, with GraphActors, we start to smear the concept
> of OLAP and OLTP.
>
> Anywho — I think if we get GraphActors right, we will solve many of the
> shortcomings of GraphComputer while, at the same time, providing a powerful
> distributed graph computing framework.
>
> Take care,
> Marko.
>
> http://markorodriguez.com <http://markorodriguez.com/>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gremlin-users/49B70143-DB77-429D-956F-869B20A554C4%40gmail.com
>
> <https://groups.google.com/d/msgid/gremlin-users/49B70143-DB77-429D-956F-869B20A554C4%40gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gremlin-users/CAGud20-wdi48JUeUGaurcvGSPReRu3J6gcKxV6zCVn1JFh-YDg%40mail.gmail.com
>
> <https://groups.google.com/d/msgid/gremlin-users/CAGud20-wdi48JUeUGaurcvGSPReRu3J6gcKxV6zCVn1JFh-YDg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.