@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return new HashSet<>(Collections.singletonList(MemoryComputeKey.of(DEGREE, Operator.assign, true, false))); }
public FulgoraMemory(final VertexProgram<?> vertexProgram, final Set<MapReduce> mapReducers) { this.currentMap = new ConcurrentHashMap<>(); this.previousMap = new ConcurrentHashMap<>(); if (null != vertexProgram) { for (final MemoryComputeKey key : vertexProgram.getMemoryComputeKeys()) { this.memoryKeys.put(key.getKey(), key); } } for (final MapReduce mapReduce : mapReducers) { this.memoryKeys.put(mapReduce.getMemoryKey(), MemoryComputeKey.of(mapReduce.getMemoryKey(), Operator.assign, false, false)); } }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return new HashSet<>(Arrays.asList( MemoryComputeKey.of("a", Operator.sum, true, false), MemoryComputeKey.of("b", Operator.sum, true, false), MemoryComputeKey.of("c", Operator.and, true, false), MemoryComputeKey.of("d", Operator.or, true, false), MemoryComputeKey.of("e", Operator.and, true, false), MemoryComputeKey.of("f", Operator.assign, true, false))); }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return new HashSet<>(Arrays.asList( MemoryComputeKey.of("set", Operator.assign, true, false), MemoryComputeKey.of("incr", Operator.sum, true, false), MemoryComputeKey.of("and", Operator.and, true, false), MemoryComputeKey.of("or", Operator.or, true, false))); }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return new HashSet<>(Arrays.asList( MemoryComputeKey.of("m1", Operator.or, false, false), MemoryComputeKey.of("m2", Operator.and, true, true), MemoryComputeKey.of("m3", Operator.sum, false, true), MemoryComputeKey.of("m4", Operator.sum, true, false))); }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return Collections.singleton(MemoryComputeKey.of("test", Operator.sum, true, false)); }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return Collections.singleton(MemoryComputeKey.of(null, Operator.or, true, false)); }
@Override public Set<MemoryComputeKey> getMemoryComputeKeys() { return Collections.singleton(MemoryComputeKey.of("", Operator.or, true, false)); }
@Override public MemoryComputeKey<TraverserSet<S>> getMemoryComputeKey() { return MemoryComputeKey.of(this.getId(), (BinaryOperator) Operator.addAll, false, true); } }
@Override public MemoryComputeKey<Boolean> getMemoryComputeKey() { return MemoryComputeKey.of(this.getId(), (BinaryOperator) Operator.and, false, true); } }
@Override public MemoryComputeKey<Map<Object, Traverser.Admin<S>>> getMemoryComputeKey() { return MemoryComputeKey.of(this.getId(), (BinaryOperator) Operator.addAll, false, true); }
public void addMapReduceMemoryKey(final MapReduce mapReduce) { this.memoryComputeKeys.put(mapReduce.getMemoryKey(), MemoryComputeKey.of(mapReduce.getMemoryKey(), Operator.assign, false, false)); }
public TinkerMemory(final VertexProgram<?> vertexProgram, final Set<MapReduce> mapReducers) { this.currentMap = new ConcurrentHashMap<>(); this.previousMap = new ConcurrentHashMap<>(); if (null != vertexProgram) { for (final MemoryComputeKey memoryComputeKey : vertexProgram.getMemoryComputeKeys()) { this.memoryKeys.put(memoryComputeKey.getKey(), memoryComputeKey); } } for (final MapReduce mapReduce : mapReducers) { this.memoryKeys.put(mapReduce.getMemoryKey(), MemoryComputeKey.of(mapReduce.getMemoryKey(), Operator.assign, false, false)); } }
@Override public MemoryComputeKey<TraverserSet<S>> getMemoryComputeKey() { return MemoryComputeKey.of(this.getId(), new RangeBiOperator<>(this.high), false, true); }
@Override public MemoryComputeKey<TraverserSet<S>> getMemoryComputeKey() { return MemoryComputeKey.of(this.getId(), new RangeGlobalStep.RangeBiOperator<>(this.limit), false, true); }
public static Set<MemoryComputeKey> getMemoryComputeKeys(final Traversal.Admin<?, ?> traversal) { final Set<MemoryComputeKey> keys = new HashSet<>(); final TraversalSideEffects sideEffects = traversal.getSideEffects() instanceof MemoryTraversalSideEffects ? ((MemoryTraversalSideEffects) traversal.getSideEffects()).sideEffects : traversal.getSideEffects(); sideEffects.keys(). stream(). forEach(key -> keys.add(MemoryComputeKey.of(key, sideEffects.getReducer(key), true, false))); return keys; } }
@Override public void loadState(final Graph graph, final Configuration configuration) { VertexProgram.super.loadState(graph, configuration); this.traversal = PureTraversal.loadState(configuration, VertexProgramStep.ROOT_TRAVERSAL, graph); this.haltedTraversers = TraversalVertexProgram.loadHaltedTraversers(configuration); this.programStep = new TraversalMatrix<>(this.traversal.get()).getStepById(configuration.getString(ProgramVertexProgramStep.STEP_ID)); this.memoryComputeKeys.addAll(MemoryTraversalSideEffects.getMemoryComputeKeys(this.traversal.get())); this.memoryComputeKeys.add(MemoryComputeKey.of(TraversalVertexProgram.HALTED_TRAVERSERS, Operator.addAll, false, false)); this.memoryComputeKeys.add(MemoryComputeKey.of(TraversalVertexProgram.ACTIVE_TRAVERSERS, Operator.addAll, true, true)); }
@Override public MemoryComputeKey<TraverserSet<S>> getMemoryComputeKey() { if (null == this.multiComparator) this.multiComparator = this.createMultiComparator(); return MemoryComputeKey.of(this.getId(), new OrderBiOperator<>(this.limit, this.multiComparator), false, true); }