Package org.apache.sysds.resource.cost
Class SparkCostUtils
java.lang.Object
org.apache.sysds.resource.cost.SparkCostUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidassignOutputRDDStats(SPInstruction inst, VarStats output, VarStats... inputs) static doublegetAggUnaryInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetAppendInstTime(AppendSPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetBinaryInstTime(SPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetCastInstTime(CastSPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetCentralMomentInstTime(CentralMomentSPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetCPUTime(long nflop, int numPartitions, IOCostUtils.IOMetrics executorMetrics, RDDStats output, RDDStats... inputs) Computes an estimate for the time needed by the CPU to execute (including memory access) an instruction by providing number of floating operations.static doublegetCtableInstTime(CtableSPInstruction tableInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetIndexingInstTime(IndexingSPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetMatMulChainInstTime(MapmmChainSPInstruction inst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetMatMulInstTime(BinarySPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetParameterizedBuiltinInstTime(ParameterizedBuiltinSPInstruction paramInst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetQSortInstTime(QuantileSortSPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetQuaternaryInstTime(QuaternarySPInstruction quatInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetRandInstTime(String opcode, int randType, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetReblockInstTime(String opcode, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetReorgInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetTernaryInstTime(TernarySPInstruction tInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics executorMetrics) static doublegetTSMMInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) static doublegetUnaryInstTime(String opcode, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics)
-
Constructor Details
-
SparkCostUtils
public SparkCostUtils()
-
-
Method Details
-
getReblockInstTime
public static double getReblockInstTime(String opcode, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getRandInstTime
public static double getRandInstTime(String opcode, int randType, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getUnaryInstTime
public static double getUnaryInstTime(String opcode, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getAggUnaryInstTime
public static double getAggUnaryInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getIndexingInstTime
public static double getIndexingInstTime(IndexingSPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getBinaryInstTime
public static double getBinaryInstTime(SPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getAppendInstTime
public static double getAppendInstTime(AppendSPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getReorgInstTime
public static double getReorgInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getTSMMInstTime
public static double getTSMMInstTime(UnarySPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getCentralMomentInstTime
public static double getCentralMomentInstTime(CentralMomentSPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getCastInstTime
public static double getCastInstTime(CastSPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getQSortInstTime
public static double getQSortInstTime(QuantileSortSPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getMatMulInstTime
public static double getMatMulInstTime(BinarySPInstruction inst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getMatMulChainInstTime
public static double getMatMulChainInstTime(MapmmChainSPInstruction inst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getCtableInstTime
public static double getCtableInstTime(CtableSPInstruction tableInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getParameterizedBuiltinInstTime
public static double getParameterizedBuiltinInstTime(ParameterizedBuiltinSPInstruction paramInst, VarStats input1, VarStats input2, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getTernaryInstTime
public static double getTernaryInstTime(TernarySPInstruction tInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics executorMetrics) -
getQuaternaryInstTime
public static double getQuaternaryInstTime(QuaternarySPInstruction quatInst, VarStats input1, VarStats input2, VarStats input3, VarStats output, IOCostUtils.IOMetrics driverMetrics, IOCostUtils.IOMetrics executorMetrics) -
getCPUTime
public static double getCPUTime(long nflop, int numPartitions, IOCostUtils.IOMetrics executorMetrics, RDDStats output, RDDStats... inputs) Computes an estimate for the time needed by the CPU to execute (including memory access) an instruction by providing number of floating operations.- Parameters:
nflop- number FLOP to execute a target CPU operationnumPartitions- number partitions used to execute the target operation; not bound to any of the input/output statistics object to allow more flexibility depending on the corresponding instructionexecutorMetrics- metrics for the executor utilized by the Spark clusteroutput- statistics for the output variableinputs- arrays of statistics for the output variable- Returns:
- time estimate
-
assignOutputRDDStats
-