Skip to content

[ENH] checkpointing interface #827

Open
@TonyBagnall

Description

@TonyBagnall

Describe the feature or idea you want to propose

it would be good to have a checkpointing (aka "warm start" interface to allow the restarting of algorithms after pausing mid way. This will become more important with the 60 hr time limit on HPC.

Describe your proposed solution

we could just define an interface (akak mixin) that models the java version perhaps, with pickling for default save and load. Might get complex with threading

public interface Checkpointable extends Serializable {

    boolean setCheckpointPath(String path);
    boolean setCheckpointTimeHours(int t);
    void saveToFile(String filename);
    void loadFromFile(String filename);
class Checkpointing:
   @abstract
    def set_path(path):
   ...
   def set_type(hours):
   ...
   def save(file_name):
   ...
  def load(file_name):
   ...

Describe alternatives you've considered, if relevant

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    API designAPI design & software architectureclassificationClassification packageclusteringClustering packageenhancementNew feature, improvement request or other non-bug code enhancementregressionRegression package

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions