Search in sources :

Example 16 with ICompute

use of edu.iu.dsc.tws.api.compute.nodes.ICompute in project twister2 by DSC-SPIDAL.

the class BTDirectExample method buildTaskGraph.

@Override
public ComputeGraphBuilder buildTaskGraph() {
    List<Integer> taskStages = jobParameters.getTaskStages();
    int sourceParallelism = taskStages.get(0);
    int sinkParallelism = taskStages.get(1);
    MessageType dataType = MessageTypes.INTEGER_ARRAY;
    String edge = "edge";
    BaseSource g = new SourceTask(edge);
    ICompute r = new PartitionSinkTask();
    computeGraphBuilder.addSource(SOURCE, g, sourceParallelism);
    computeConnection = computeGraphBuilder.addCompute(SINK, r, sinkParallelism);
    computeConnection.direct(SOURCE).viaEdge(edge).withDataType(dataType);
    return computeGraphBuilder;
}
Also used : BaseSource(edu.iu.dsc.tws.api.compute.nodes.BaseSource) ICompute(edu.iu.dsc.tws.api.compute.nodes.ICompute) MessageType(edu.iu.dsc.tws.api.comms.messaging.types.MessageType)

Example 17 with ICompute

use of edu.iu.dsc.tws.api.compute.nodes.ICompute in project twister2 by DSC-SPIDAL.

the class BTGatherExample method buildTaskGraph.

@Override
public ComputeGraphBuilder buildTaskGraph() {
    List<Integer> taskStages = jobParameters.getTaskStages();
    int sourceParallelism = taskStages.get(0);
    int sinkParallelism = taskStages.get(1);
    MessageType dataType = MessageTypes.INTEGER_ARRAY;
    String edge = "edge";
    BaseSource g = new SourceTask(edge);
    ICompute r = new GatherSinkTask();
    computeGraphBuilder.addSource(SOURCE, g, sourceParallelism);
    computeConnection = computeGraphBuilder.addCompute(SINK, r, sinkParallelism);
    computeConnection.gather(SOURCE).viaEdge(edge).withDataType(dataType);
    return computeGraphBuilder;
}
Also used : BaseSource(edu.iu.dsc.tws.api.compute.nodes.BaseSource) ICompute(edu.iu.dsc.tws.api.compute.nodes.ICompute) MessageType(edu.iu.dsc.tws.api.comms.messaging.types.MessageType)

Example 18 with ICompute

use of edu.iu.dsc.tws.api.compute.nodes.ICompute in project twister2 by DSC-SPIDAL.

the class BTJoinExample method buildTaskGraph.

@Override
public ComputeGraphBuilder buildTaskGraph() {
    List<Integer> taskStages = jobParameters.getTaskStages();
    int sourceParallelism = taskStages.get(0);
    int sinkParallelism = taskStages.get(1);
    MessageType keyType = MessageTypes.INTEGER;
    MessageType dataType = MessageTypes.INTEGER_ARRAY;
    BaseSource source1 = new JoinSource(JoinRelation.LEFT);
    BaseSource source2 = new JoinSource(JoinRelation.RIGHT);
    ICompute r = new JoinSinkTask();
    computeGraphBuilder.addSource(SOURCE, source1, sourceParallelism);
    computeGraphBuilder.addSource(SOURCE2, source2, sourceParallelism);
    computeConnection = computeGraphBuilder.addCompute(SINK, r, sinkParallelism);
    computeConnection.innerJoin(SOURCE, SOURCE2, CommunicationContext.JoinAlgorithm.SORT).viaLeftEdge(LEFT_EDGE).viaRightEdge(RIGHT_EDGE).withKeyType(keyType).withLeftDataType(dataType).withRightDataType(dataType).withTaskPartitioner(new TaskPartitioner() {

        private List<Integer> dst;

        @Override
        public void prepare(Set sources, Set destinations) {
            this.dst = new ArrayList<>(destinations);
            Collections.sort(this.dst);
        }

        @Override
        public int partition(int source, Object data) {
            return dst.get((Integer) data % dst.size());
        }

        @Override
        public void commit(int source, int partition) {
        }
    }).withComparator(Integer::compareTo);
    return computeGraphBuilder;
}
Also used : BaseSource(edu.iu.dsc.tws.api.compute.nodes.BaseSource) Set(java.util.Set) ArrayList(java.util.ArrayList) List(java.util.List) ICompute(edu.iu.dsc.tws.api.compute.nodes.ICompute) TaskPartitioner(edu.iu.dsc.tws.api.compute.TaskPartitioner) MessageType(edu.iu.dsc.tws.api.comms.messaging.types.MessageType)

Example 19 with ICompute

use of edu.iu.dsc.tws.api.compute.nodes.ICompute in project twister2 by DSC-SPIDAL.

the class BTKeyedGatherExample method buildTaskGraph.

@Override
public ComputeGraphBuilder buildTaskGraph() {
    List<Integer> taskStages = jobParameters.getTaskStages();
    int sourceParallelism = taskStages.get(0);
    int sinkParallelism = taskStages.get(1);
    MessageType keyType = MessageTypes.INTEGER;
    MessageType dataType = MessageTypes.INTEGER_ARRAY;
    String edge = "edge";
    BaseSource g = new SourceTask(edge, true);
    ICompute r = new KeyedGatherGroupedSinkTask();
    computeGraphBuilder.addSource(SOURCE, g, sourceParallelism);
    computeConnection = computeGraphBuilder.addCompute(SINK, r, sinkParallelism);
    computeConnection.keyedGather(SOURCE).viaEdge(edge).withKeyType(keyType).withTaskPartitioner(new HashingPartitioner()).withDataType(dataType);
    return computeGraphBuilder;
}
Also used : BaseSource(edu.iu.dsc.tws.api.compute.nodes.BaseSource) HashingPartitioner(edu.iu.dsc.tws.tset.fn.HashingPartitioner) ICompute(edu.iu.dsc.tws.api.compute.nodes.ICompute) MessageType(edu.iu.dsc.tws.api.comms.messaging.types.MessageType)

Example 20 with ICompute

use of edu.iu.dsc.tws.api.compute.nodes.ICompute in project twister2 by DSC-SPIDAL.

the class BTPartitionExample method buildTaskGraph.

@Override
public ComputeGraphBuilder buildTaskGraph() {
    List<Integer> taskStages = jobParameters.getTaskStages();
    int sourceParallelism = taskStages.get(0);
    int sinkParallelism = taskStages.get(1);
    MessageType dataType = MessageTypes.INTEGER_ARRAY;
    String edge = "edge";
    BaseSource g = new SourceTask(edge);
    ICompute r = new PartitionSinkTask();
    computeGraphBuilder.addSource(SOURCE, g, sourceParallelism);
    computeConnection = computeGraphBuilder.addCompute(SINK, r, sinkParallelism);
    computeConnection.partition(SOURCE).viaEdge(edge).withDataType(dataType);
    return computeGraphBuilder;
}
Also used : BaseSource(edu.iu.dsc.tws.api.compute.nodes.BaseSource) ICompute(edu.iu.dsc.tws.api.compute.nodes.ICompute) MessageType(edu.iu.dsc.tws.api.comms.messaging.types.MessageType)

Aggregations

ICompute (edu.iu.dsc.tws.api.compute.nodes.ICompute)22 BaseSource (edu.iu.dsc.tws.api.compute.nodes.BaseSource)19 MessageType (edu.iu.dsc.tws.api.comms.messaging.types.MessageType)14 ISource (edu.iu.dsc.tws.api.compute.nodes.ISource)3 Op (edu.iu.dsc.tws.api.comms.Op)2 INode (edu.iu.dsc.tws.api.compute.nodes.INode)2 SourceBatchInstance (edu.iu.dsc.tws.executor.core.batch.SourceBatchInstance)2 TaskBatchInstance (edu.iu.dsc.tws.executor.core.batch.TaskBatchInstance)2 SourceStreamingInstance (edu.iu.dsc.tws.executor.core.streaming.SourceStreamingInstance)2 TaskStreamingInstance (edu.iu.dsc.tws.executor.core.streaming.TaskStreamingInstance)2 Checkpoint (edu.iu.dsc.tws.proto.checkpoint.Checkpoint)2 ArrayList (java.util.ArrayList)2 ArrayBlockingQueue (java.util.concurrent.ArrayBlockingQueue)2 LinkedBlockingQueue (java.util.concurrent.LinkedBlockingQueue)2 HashBasedTable (com.google.common.collect.HashBasedTable)1 Table (com.google.common.collect.Table)1 CheckpointingClient (edu.iu.dsc.tws.api.checkpointing.CheckpointingClient)1 Communicator (edu.iu.dsc.tws.api.comms.Communicator)1 LogicalPlan (edu.iu.dsc.tws.api.comms.LogicalPlan)1 TaskPartitioner (edu.iu.dsc.tws.api.compute.TaskPartitioner)1