public abstract class ReduceBatchReceiver extends SourceReceiver
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.Integer,java.lang.Object> |
reducedValueMap |
protected ReduceFunction |
reduceFunction |
barriers, destination, isSyncSent, messages, operation, sendPendingMax, sourcesOfTarget, syncReceived, syncState, targetStates, workerId
Constructor and Description |
---|
ReduceBatchReceiver(int dst,
ReduceFunction reduce) |
ReduceBatchReceiver(ReduceFunction reduceFunction) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
aggregate(int target,
boolean sync,
boolean allValuesFound)
Aggregate values from sources for a target, assumes every source has a value
|
abstract boolean |
handleMessage(int source,
java.lang.Object message,
int flags,
int dest) |
void |
init(Config cfg,
DataFlowOperation op,
java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> expectedIds)
Initialize the message receiver with tasks from which messages are expected
For each sub edge in graph, for each path, gives the expected task ids
|
protected boolean |
isAllEmpty(int target)
Check weather all the other information is flushed
|
protected boolean |
isFilledToSend(int target,
boolean sync)
Return true if we are filled to send
|
protected void |
onSyncEvent(int target,
byte[] value)
This method is called when there is a sync event on the operation
|
protected boolean |
sendToTarget(int target,
boolean sync)
Send the values to a target
|
allQueuesEmpty, allSyncsPresent, clean, isComplete, onFinish, onMessage, progress, sendSyncForward
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, onMessage
protected ReduceFunction reduceFunction
protected java.util.Map<java.lang.Integer,java.lang.Object> reducedValueMap
public ReduceBatchReceiver(ReduceFunction reduceFunction)
public ReduceBatchReceiver(int dst, ReduceFunction reduce)
public void init(Config cfg, DataFlowOperation op, java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> expectedIds)
MessageReceiver
target -> source tasks
init
in interface MessageReceiver
init
in class SourceReceiver
expectedIds
- expected task idspublic abstract boolean handleMessage(int source, java.lang.Object message, int flags, int dest)
protected boolean sendToTarget(int target, boolean sync)
SourceReceiver
sendToTarget
in class SourceReceiver
target
- the targetprotected boolean aggregate(int target, boolean sync, boolean allValuesFound)
SourceReceiver
aggregate
in class SourceReceiver
target
- targetsync
- true if all the syncs are presentprotected boolean isAllEmpty(int target)
SourceReceiver
isAllEmpty
in class SourceReceiver
target
- targetprotected boolean isFilledToSend(int target, boolean sync)
SourceReceiver
isFilledToSend
in class SourceReceiver
protected void onSyncEvent(int target, byte[] value)
SourceReceiver
onSyncEvent
in class SourceReceiver
target
- the target to which the sync event belongvalue
- the byte value, can be null