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>.

Reply via email to