Value v = aggregators.get(convCriterionAggName).getAggregate(); if (convCriterion.isConverged(superstep, v)) { break; previousAggregates.put(e.getKey(), e.getValue().getAggregate()); e.getValue().reset();
public void updateGlobalAggregatesAndReset(String[] names, Value[] aggregates) { if (names == null || aggregates == null || names.length != aggregates.length) { throw new IllegalArgumentException(); } // add global aggregates for (int i = 0; i < names.length; i++) { this.previousGlobalAggregate.put(names[i], aggregates[i]); } // reset all aggregators for (Aggregator<?> agg : this.aggregators.values()) { agg.reset(); } } }
protected IterationEventWithAggregators(Map<String, Aggregator<?>> aggregators) { int num = aggregators.size(); if (num == 0) { this.aggNames = NO_STRINGS; this.aggregates = NO_VALUES; } else { this.aggNames = new String[num]; this.aggregates = new Value[num]; int i = 0; for (Map.Entry<String, Aggregator<?>> entry : aggregators.entrySet()) { this.aggNames[i] = entry.getKey(); this.aggregates[i] = entry.getValue().getAggregate(); i++; } } }
private void onWorkerDoneEvent(WorkerDoneEvent workerDoneEvent) { if (this.endOfSuperstep) { throw new RuntimeException("Encountered WorderDoneEvent when still in End-of-Superstep status."); } workerDoneEventCounter++; String[] aggNames = workerDoneEvent.getAggregatorNames(); Value[] aggregates = workerDoneEvent.getAggregates(userCodeClassLoader); if (aggNames.length != aggregates.length) { throw new RuntimeException("Inconsistent WorkerDoneEvent received!"); } for (int i = 0; i < aggNames.length; i++) { @SuppressWarnings("unchecked") Aggregator<Value> aggregator = (Aggregator<Value>) this.aggregators.get(aggNames[i]); aggregator.aggregate(aggregates[i]); } if (workerDoneEventCounter % numberOfEventsUntilEndOfSuperstep == 0) { endOfSuperstep = true; Thread.currentThread().interrupt(); } }
public void updateGlobalAggregatesAndReset(String[] names, Value[] aggregates) { if (names == null || aggregates == null || names.length != aggregates.length) { throw new IllegalArgumentException(); } // add global aggregates for (int i = 0; i < names.length; i++) { this.previousGlobalAggregate.put(names[i], aggregates[i]); } // reset all aggregators for (Aggregator<?> agg : this.aggregators.values()) { agg.reset(); } } }
protected IterationEventWithAggregators(Map<String, Aggregator<?>> aggregators) { int num = aggregators.size(); if (num == 0) { this.aggNames = NO_STRINGS; this.aggregates = NO_VALUES; } else { this.aggNames = new String[num]; this.aggregates = new Value[num]; int i = 0; for (Map.Entry<String, Aggregator<?>> entry : aggregators.entrySet()) { this.aggNames[i] = entry.getKey(); this.aggregates[i] = entry.getValue().getAggregate(); i++; } } }
private void onWorkerDoneEvent(WorkerDoneEvent workerDoneEvent) { if (this.endOfSuperstep) { throw new RuntimeException("Encountered WorderDoneEvent when still in End-of-Superstep status."); } workerDoneEventCounter++; String[] aggNames = workerDoneEvent.getAggregatorNames(); Value[] aggregates = workerDoneEvent.getAggregates(userCodeClassLoader); if (aggNames.length != aggregates.length) { throw new RuntimeException("Inconsistent WorkerDoneEvent received!"); } for (int i = 0; i < aggNames.length; i++) { @SuppressWarnings("unchecked") Aggregator<Value> aggregator = (Aggregator<Value>) this.aggregators.get(aggNames[i]); aggregator.aggregate(aggregates[i]); } if (workerDoneEventCounter % numberOfEventsUntilEndOfSuperstep == 0) { endOfSuperstep = true; Thread.currentThread().interrupt(); } }
Value v = aggregators.get(convCriterionAggName).getAggregate(); if (convCriterion.isConverged(superstep, v)) { break; previousAggregates.put(e.getKey(), e.getValue().getAggregate()); e.getValue().reset();
public void updateGlobalAggregatesAndReset(String[] names, Value[] aggregates) { if (names == null || aggregates == null || names.length != aggregates.length) { throw new IllegalArgumentException(); } // add global aggregates for (int i = 0 ; i < names.length; i++) { this.previousGlobalAggregate.put(names[i], aggregates[i]); } // reset all aggregators for (Aggregator<?> agg : this.aggregators.values()) { agg.reset(); } } }
protected IterationEventWithAggregators(Map<String, Aggregator<?>> aggregators) { int num = aggregators.size(); if (num == 0) { this.aggNames = NO_STRINGS; this.aggregates = NO_VALUES; } else { this.aggNames = new String[num]; this.aggregates = new Value[num]; int i = 0; for (Map.Entry<String, Aggregator<?>> entry : aggregators.entrySet()) { this.aggNames[i] = entry.getKey(); this.aggregates[i] = entry.getValue().getAggregate(); i++; } } }
private void onWorkerDoneEvent(WorkerDoneEvent workerDoneEvent) { if (this.endOfSuperstep) { throw new RuntimeException("Encountered WorderDoneEvent when still in End-of-Superstep status."); } workerDoneEventCounter++; String[] aggNames = workerDoneEvent.getAggregatorNames(); Value[] aggregates = workerDoneEvent.getAggregates(userCodeClassLoader); if (aggNames.length != aggregates.length) { throw new RuntimeException("Inconsistent WorkerDoneEvent received!"); } for (int i = 0; i < aggNames.length; i++) { @SuppressWarnings("unchecked") Aggregator<Value> aggregator = (Aggregator<Value>) this.aggregators.get(aggNames[i]); aggregator.aggregate(aggregates[i]); } if (workerDoneEventCounter % numberOfEventsUntilEndOfSuperstep == 0) { endOfSuperstep = true; Thread.currentThread().interrupt(); } }
Value v = aggregators.get(convCriterionAggName).getAggregate(); if (convCriterion.isConverged(superstep, v)) { break; previousAggregates.put(e.getKey(), e.getValue().getAggregate()); e.getValue().reset();
public void updateGlobalAggregatesAndReset(String[] names, Value[] aggregates) { if (names == null || aggregates == null || names.length != aggregates.length) { throw new IllegalArgumentException(); } // add global aggregates for (int i = 0; i < names.length; i++) { this.previousGlobalAggregate.put(names[i], aggregates[i]); } // reset all aggregators for (Aggregator<?> agg : this.aggregators.values()) { agg.reset(); } } }
protected IterationEventWithAggregators(Map<String, Aggregator<?>> aggregators) { int num = aggregators.size(); if (num == 0) { this.aggNames = NO_STRINGS; this.aggregates = NO_VALUES; } else { this.aggNames = new String[num]; this.aggregates = new Value[num]; int i = 0; for (Map.Entry<String, Aggregator<?>> entry : aggregators.entrySet()) { this.aggNames[i] = entry.getKey(); this.aggregates[i] = entry.getValue().getAggregate(); i++; } } }
private void onWorkerDoneEvent(WorkerDoneEvent workerDoneEvent) { if (this.endOfSuperstep) { throw new RuntimeException("Encountered WorderDoneEvent when still in End-of-Superstep status."); } workerDoneEventCounter++; String[] aggNames = workerDoneEvent.getAggregatorNames(); Value[] aggregates = workerDoneEvent.getAggregates(userCodeClassLoader); if (aggNames.length != aggregates.length) { throw new RuntimeException("Inconsistent WorkerDoneEvent received!"); } for (int i = 0; i < aggNames.length; i++) { @SuppressWarnings("unchecked") Aggregator<Value> aggregator = (Aggregator<Value>) this.aggregators.get(aggNames[i]); aggregator.aggregate(aggregates[i]); } if (workerDoneEventCounter % numberOfEventsUntilEndOfSuperstep == 0) { endOfSuperstep = true; Thread.currentThread().interrupt(); } }
Value v = aggregators.get(convCriterionAggName).getAggregate(); if (convCriterion.isConverged(superstep, v)) { break; previousAggregates.put(e.getKey(), e.getValue().getAggregate()); e.getValue().reset();
Value aggregate = aggregator.getAggregate(); Value aggregate = aggregator.getAggregate();
Value v = aggregators.get(convCriterionAggName).getAggregate(); if (convCriterion.isConverged(superstep, v)) { break; previousAggregates.put(e.getKey(), e.getValue().getAggregate()); e.getValue().reset();