public override Pair <List <WorkerLayer>, List <LinkStrategy> > GenerateTopology() { var secondLayer = new ProcessorWorkerLayer("groupby.final", Constants.DefaultNumGrainsInOneLayer, (i) => new GroupByFinalProcessor(Aggregation), null); return(new Pair <List <WorkerLayer>, List <LinkStrategy> > ( new List <WorkerLayer> { secondLayer }, new List <LinkStrategy> { } )); }
public override Pair <List <WorkerLayer>, List <LinkStrategy> > GenerateTopology() { var firstLayer = new ProcessorWorkerLayer("groupby.main", Constants.DefaultNumGrainsInOneLayer, (i) => new GroupByProcessor(GroupByIndex, Aggregation, AggregationIndex), null); return(new Pair <List <WorkerLayer>, List <LinkStrategy> > ( new List <WorkerLayer> { firstLayer }, new List <LinkStrategy> { } )); }
public override Pair <List <WorkerLayer>, List <LinkStrategy> > GenerateTopology() { var firstLayer = new ProcessorWorkerLayer("count.main", Constants.DefaultNumGrainsInOneLayer, (i) => new CountProcessor(), null); var secondLayer = new ProcessorWorkerLayer("count.final", 1, (i) => new CountFinalProcessor(), null); return(new Pair <List <WorkerLayer>, List <LinkStrategy> > ( new List <WorkerLayer> { firstLayer, secondLayer }, new List <LinkStrategy> { new AllToOneLinking(firstLayer, secondLayer, Constants.BatchSize) } )); }