[ https://issues.apache.org/jira/browse/TINKERPOP-1167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yang Xia closed TINKERPOP-1167. ------------------------------- Resolution: Won't Do Closing given [discussion|https://lists.apache.org/thread/om2m0phg25s83529p9w0gldmcxz7578h] - it can be reopened if there is expectation that there will be active work on this item. > ParallelVertexProgram as a MetaVertexProgram > -------------------------------------------- > > Key: TINKERPOP-1167 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1167 > Project: TinkerPop > Issue Type: Improvement > Components: process > Affects Versions: 3.1.0-incubating > Reporter: Marko A. Rodriguez > Priority: Major > > When I wrote down this query, I realized something. > {code} > gremlin> g.V(). > peerPressure().by('cluster').by(outE('knows')). > pageRank(1.0).by('friendRank').by(outE('knows')).times(1). > group().by('cluster').by(values('friendRank').sum()); > ==>[1:1.0, 3:0.0, 5:0.0, 6:0.0] > {code} > I realized that {{PeerPressureVertexProgram}} and {{PageRankVertexProgram}} > can be run in parallel as their messages don't interfere with one another. > Lets say both do 30 iterations. Instead of executing for 60 iterations, a > parallel-execution would run for 30 iterations. Now, lets say one terminates > before the other. Who cares, it just holds after terminate. > I don't know how to implement this, but something like: > {code} > public class ParallelVertexProgram implements VertexProgram<List<Object>> > {code} > What is the {{List<Object>>}} message? Well, if there are 3 vertex programs > inside it, then {{list.get(0)}} are the messages for the first vertex program > at that iteration, {{list.get(1)}} are the messages for the second... etc. > CraZy. This gets back to an old ticket about "Traverser Swarms" ... We can > tag the messages and just have a "permanately running GraphComputer" that > just gets programs put into it, they are churned out, and returned when they > respectively terminate. -- This message was sent by Atlassian Jira (v8.20.10#820010)