public class AllReduce extends java.lang.Object implements DataFlowOperation
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<java.lang.Integer> |
sources |
Constructor and Description |
---|
AllReduce(Config config,
TWSChannel chnl,
LogicalPlan instancePlan,
java.util.Set<java.lang.Integer> sources,
java.util.Set<java.lang.Integer> destination,
int middleTask,
ReduceFunction reduceFn,
SingularReceiver finalRecv,
MessageType t,
int redEdge,
int broadEdge,
boolean strm,
MessageSchema messageSchema) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the operation
|
void |
finish(int source)
If this is a larger transfer of dataflow style, we need to finish
|
LogicalPlan |
getLogicalPlan()
Task plan associated with this operation
|
java.lang.String |
getUniqueId()
Returns a unique id for this operation.
|
boolean |
isComplete()
Weather the operation doesn't have any pending sends or receives
|
boolean |
progress()
Progress the pending dataflow operations
|
void |
reset()
Reset and get the operation to initial state
|
boolean |
send(int source,
java.lang.Object message,
int flags)
Send a send message, this call will work asynchronously
|
boolean |
send(int source,
java.lang.Object message,
int flags,
int target)
Send the message on a specific path
|
boolean |
sendPartial(int source,
java.lang.Object message,
int flags)
Use this to inject partial results in a distributed dataflow operation
|
boolean |
sendPartial(int source,
java.lang.Object message,
int flags,
int target)
Send partial message on a specific path
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDataType, getKeyType, getReceiveDataType, getReceiveKeyType, getSources, getTargets, isDelegateComplete
public AllReduce(Config config, TWSChannel chnl, LogicalPlan instancePlan, java.util.Set<java.lang.Integer> sources, java.util.Set<java.lang.Integer> destination, int middleTask, ReduceFunction reduceFn, SingularReceiver finalRecv, MessageType t, int redEdge, int broadEdge, boolean strm, MessageSchema messageSchema)
public boolean sendPartial(int source, java.lang.Object message, int flags)
DataFlowOperation
sendPartial
in interface DataFlowOperation
message
- messagepublic boolean send(int source, java.lang.Object message, int flags)
DataFlowOperation
send
in interface DataFlowOperation
source
- source taskmessage
- message as a generic objectpublic boolean send(int source, java.lang.Object message, int flags, int target)
DataFlowOperation
send
in interface DataFlowOperation
source
- source taskmessage
- a generic java objecttarget
- target taskpublic boolean sendPartial(int source, java.lang.Object message, int flags, int target)
DataFlowOperation
sendPartial
in interface DataFlowOperation
source
- the sourcemessage
- message as a generic objecttarget
- the final targetpublic boolean progress()
DataFlowOperation
progress
in interface DataFlowOperation
public boolean isComplete()
DataFlowOperation
isComplete
in interface DataFlowOperation
public void close()
DataFlowOperation
close
in interface DataFlowOperation
public void reset()
DataFlowOperation
reset
in interface DataFlowOperation
public void finish(int source)
DataFlowOperation
finish
in interface DataFlowOperation
public LogicalPlan getLogicalPlan()
DataFlowOperation
getLogicalPlan
in interface DataFlowOperation
public java.lang.String getUniqueId()
DataFlowOperation
getUniqueId
in interface DataFlowOperation