Class FederationUtils
- java.lang.Object
 - 
- org.apache.sysds.runtime.controlprogram.federated.FederationUtils
 
 
- 
public class FederationUtils extends Object
 
- 
- 
Constructor Summary
Constructors Constructor Description FederationUtils() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static MatrixBlockaggAdd(Future<FederatedResponse>[] ffr)static booleanaggBooleanScalar(Future<FederatedResponse>[] tmp)static MatrixBlockaggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)static MatrixBlockaggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)static MatrixBlockaggMean(Future<FederatedResponse>[] ffr, FederationMap map)static MatrixBlockaggMinMax(Future<FederatedResponse>[] ffr, boolean isMin, boolean isScalar, Optional<FTypes.FType> fedType)static MatrixBlockaggMinMaxIndex(Future<FederatedResponse>[] ffr, boolean isMin, FederationMap map)static MatrixBlockaggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)static MatrixBlockaggregateResponses(List<org.apache.commons.lang3.tuple.Pair<FederatedRange,Future<FederatedResponse>>> readResponses)Aggregate partially aggregated data from federated workers by adding values with the same index in different federated locations.static ScalarObjectaggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr)static ScalarObjectaggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)static ScalarObjectaggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)static MatrixBlockaggVar(Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map, boolean isRowAggregate, boolean isScalar)static MatrixBlockbind(Future<FederatedResponse>[] ffr, boolean cbind)static MatrixBlockbindResponses(List<org.apache.commons.lang3.tuple.Pair<FederatedRange,Future<FederatedResponse>>> readResponses, long[] dims)Bind data from federated workers based on non-overlapping federated ranges.static FederatedRequest[]callInstruction(String[] inst, CPOperand varOldOut, long outputId, CPOperand[] varOldIn, long[] varNewIn, Types.ExecType type)static FederatedRequest[]callInstruction(String[] inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn)static FederatedRequestcallInstruction(String inst, CPOperand varOldOut, long outputId, CPOperand[] varOldIn, long[] varNewIn, Types.ExecType type, boolean rmFedOutputFlag)static FederatedRequestcallInstruction(String inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn)static FederatedRequestcallInstruction(String inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn, boolean rmFedOutFlag)static voidcheckFedMapType(MatrixObject mo)static Optional<io.netty.channel.ChannelInboundHandlerAdapter>compressionDecoder()static Optional<io.netty.channel.ChannelOutboundHandlerAdapter>compressionEncoder()static Optional<org.apache.commons.lang3.tuple.ImmutablePair<io.netty.channel.ChannelInboundHandlerAdapter,io.netty.channel.ChannelOutboundHandlerAdapter>>compressionStrategy()static io.netty.handler.codec.serialization.ObjectDecoderdecoder()static FederationMapfederateLocalData(CacheableData<?> data)static longgetNextFedDataID()static MatrixBlock[]getResults(Future<FederatedResponse>[] ffr)static voidresetFedDataID()static longsumNonZeros(Future<FederatedResponse>[] responses)static voidwaitFor(List<Future<FederatedResponse>> responses) 
 - 
 
- 
- 
Method Detail
- 
resetFedDataID
public static void resetFedDataID()
 
- 
getNextFedDataID
public static long getNextFedDataID()
 
- 
checkFedMapType
public static void checkFedMapType(MatrixObject mo)
 
- 
callInstruction
public static FederatedRequest callInstruction(String inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn, boolean rmFedOutFlag)
 
- 
callInstruction
public static FederatedRequest callInstruction(String inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn)
 
- 
callInstruction
public static FederatedRequest[] callInstruction(String[] inst, CPOperand varOldOut, CPOperand[] varOldIn, long[] varNewIn)
 
- 
callInstruction
public static FederatedRequest[] callInstruction(String[] inst, CPOperand varOldOut, long outputId, CPOperand[] varOldIn, long[] varNewIn, Types.ExecType type)
 
- 
callInstruction
public static FederatedRequest callInstruction(String inst, CPOperand varOldOut, long outputId, CPOperand[] varOldIn, long[] varNewIn, Types.ExecType type, boolean rmFedOutputFlag)
 
- 
aggAdd
public static MatrixBlock aggAdd(Future<FederatedResponse>[] ffr)
 
- 
aggMean
public static MatrixBlock aggMean(Future<FederatedResponse>[] ffr, FederationMap map)
 
- 
getResults
public static MatrixBlock[] getResults(Future<FederatedResponse>[] ffr)
 
- 
bind
public static MatrixBlock bind(Future<FederatedResponse>[] ffr, boolean cbind)
 
- 
aggMinMax
public static MatrixBlock aggMinMax(Future<FederatedResponse>[] ffr, boolean isMin, boolean isScalar, Optional<FTypes.FType> fedType)
 
- 
aggProd
public static MatrixBlock aggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)
 
- 
aggMinMaxIndex
public static MatrixBlock aggMinMaxIndex(Future<FederatedResponse>[] ffr, boolean isMin, FederationMap map)
 
- 
aggVar
public static MatrixBlock aggVar(Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map, boolean isRowAggregate, boolean isScalar)
 
- 
aggScalar
public static ScalarObject aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)
 
- 
aggMatrix
public static MatrixBlock aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)
 
- 
waitFor
public static void waitFor(List<Future<FederatedResponse>> responses)
 
- 
aggScalar
public static ScalarObject aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr)
 
- 
aggScalar
public static ScalarObject aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)
 
- 
aggBooleanScalar
public static boolean aggBooleanScalar(Future<FederatedResponse>[] tmp)
 
- 
aggMatrix
public static MatrixBlock aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)
 
- 
federateLocalData
public static FederationMap federateLocalData(CacheableData<?> data)
 
- 
bindResponses
public static MatrixBlock bindResponses(List<org.apache.commons.lang3.tuple.Pair<FederatedRange,Future<FederatedResponse>>> readResponses, long[] dims) throws Exception
Bind data from federated workers based on non-overlapping federated ranges.- Parameters:
 readResponses- responses from federated workers containing the federated ranges and datadims- dimensions of output MatrixBlock- Returns:
 - MatrixBlock of consolidated data
 - Throws:
 Exception- in case of problems with getting data from responses
 
- 
aggregateResponses
public static MatrixBlock aggregateResponses(List<org.apache.commons.lang3.tuple.Pair<FederatedRange,Future<FederatedResponse>>> readResponses)
Aggregate partially aggregated data from federated workers by adding values with the same index in different federated locations.- Parameters:
 readResponses- responses from federated workers containing the federated data- Returns:
 - MatrixBlock of consolidated, aggregated data
 
 
- 
decoder
public static io.netty.handler.codec.serialization.ObjectDecoder decoder()
 
- 
compressionEncoder
public static Optional<io.netty.channel.ChannelOutboundHandlerAdapter> compressionEncoder()
 
- 
compressionDecoder
public static Optional<io.netty.channel.ChannelInboundHandlerAdapter> compressionDecoder()
 
- 
compressionStrategy
public static Optional<org.apache.commons.lang3.tuple.ImmutablePair<io.netty.channel.ChannelInboundHandlerAdapter,io.netty.channel.ChannelOutboundHandlerAdapter>> compressionStrategy()
 
- 
sumNonZeros
public static long sumNonZeros(Future<FederatedResponse>[] responses)
 
 - 
 
 -