Package org.apache.sysds.lops
Class Checkpoint
java.lang.Object
org.apache.sysds.lops.Lop
org.apache.sysds.lops.Checkpoint
Lop for checkpoint operations. For example, on Spark, the semantic of a checkpoint
is to persist an intermediate result into a specific storage level (e.g., mem_only).
We use the name checkpoint in terms of cache/persist in Spark (not in terms of checkpoint
in Spark streaming) in order to differentiate from CP caching.
NOTE: since this class uses spark apis, it should only be instantiated if we are
running in execution mode spark (whenever all spark libraries are available)
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop
Lop.SimpleInstType, Lop.Type, Lop.VisitStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final booleanstatic final Stringstatic final org.apache.spark.storage.StorageLevelstatic final org.apache.spark.storage.StorageLevelFields inherited from class org.apache.sysds.lops.Lop
_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER -
Constructor Summary
ConstructorsConstructorDescriptionCheckpoint(Lop input, Types.DataType dt, Types.ValueType vt, String level) Checkpoint(Lop input, Types.DataType dt, Types.ValueType vt, String level, boolean isAsync) TODO change string parameter storage.level to StorageLevel as soon as we can assume that Spark libraries are always available. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetInstructions(String input1, String output) Method should be overridden if neededstatic Stringorg.apache.spark.storage.StorageLevelstatic StringgetStorageLevelString(org.apache.spark.storage.StorageLevel level) This is a utility method because Sparks StorageLevel.toString() is incompatible with its own fromString() method.voidsetStorageLevel(org.apache.spark.storage.StorageLevel level) toString()Method to have Lops print their state.Methods inherited from class org.apache.sysds.lops.Lop
activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getComputeEstimate, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInput, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getNnz, getNumCols, getNumRows, getOutputMemoryEstimate, getOutputParameters, getOutputs, getPipelineID, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getTotalMemoryEstimate, getType, getValueType, getVisited, isAllOutputsCP, isAllOutputsGPU, isAsynchronousOp, isDataExecLocation, isExecCP, isExecGPU, isExecSpark, isVariable, isVisited, prefetchActivated, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeInput, removeOutput, replaceAllInputs, replaceAllOutputs, replaceInput, resetVisitStatus, setAllPositions, setAsynchronous, setBeginColumn, setBeginLine, setComputeEstimate, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setMemoryEstimates, setNewID, setPipelineID, setValueType, setVisited, setVisited
-
Field Details
-
DEFAULT_CP_OPCODE
- See Also:
-
ASYNC_CP_OPCODE
- See Also:
-
DEFAULT_STORAGE_LEVEL
public static final org.apache.spark.storage.StorageLevel DEFAULT_STORAGE_LEVEL -
SER_STORAGE_LEVEL
public static final org.apache.spark.storage.StorageLevel SER_STORAGE_LEVEL -
CHECKPOINT_SPARSE_CSR
public static final boolean CHECKPOINT_SPARSE_CSR- See Also:
-
-
Constructor Details
-
Checkpoint
TODO change string parameter storage.level to StorageLevel as soon as we can assume that Spark libraries are always available.- Parameters:
input- low-level operatordt- data typevt- value typelevel- storage levelisAsync- true if eager and asynchronous checkpoint
-
Checkpoint
-
-
Method Details
-
getStorageLevel
public org.apache.spark.storage.StorageLevel getStorageLevel() -
setStorageLevel
public void setStorageLevel(org.apache.spark.storage.StorageLevel level) -
toString
Description copied from class:LopMethod to have Lops print their state. This is for debugging purposes. -
getInstructions
Description copied from class:LopMethod should be overridden if needed- Overrides:
getInstructionsin classLop- Parameters:
input1- input 1output- output- Returns:
- instructions as string
-
getStorageLevelString
This is a utility method because Sparks StorageLevel.toString() is incompatible with its own fromString() method.- Parameters:
level- RDD storage level- Returns:
- storage level as a string
-
getDefaultStorageLevelString
-
getSerializeStorageLevelString
-