Marko A. Rodriguez created TINKERPOP-1593:
---------------------------------------------

             Summary: TraversalMatrix should be blown out to reduce the amount 
of work to develop and OLAP engine
                 Key: TINKERPOP-1593
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1593
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.2.3
            Reporter: Marko A. Rodriguez


I'm noticing that there is a lot of repeated code in {{GraphComputer}} and 
{{GraphActors}}. Both processing engines rely on a mix of push-based and 
pull-based semantics through the traversal. I believe we can fold alot of this 
code into {{TraversalMatrix}}. In this way, {{TraversalMatrix}} will know how 
to add traversers into their appropriate step. It will know how to fetch 
barriers. It will know how to fast-forward into a traversal and pull from 
there. In short, it will do all the complicated logic that we currently have in 
{{TraversalVertexProgram}} (and {{TraversalActorProgram}}).

Here is what it should do:

* {{TraversalMatrix.addTraverser()}}
* {{TraversalMatrix.setSemantics()}}
* {{TraversalMatrix.nextTraverser()}}
* {{TraversalMatrix.nextBarrier()}}

...and moving forward.

* {{TraversalMatrix.setPartition()}}

The last will make it so that all an OLAP engine needs to do is add traversers 
and what ever comes back, message pass. Super basic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to