Class SimFramePlanner<C,P extends Record>

Type Parameters:
C - The configuration type for the planner
All Implemented Interfaces:
NBComponent, NBComponentAdvisors, NBComponentEvents, NBComponentMetrics, NBComponentProps, NBComponentServices, NBComponentTimeline, NBProviderSearch, NBTokenWords, NBLabeledElement, AutoCloseable
Direct Known Subclasses:
FindmaxPlanner, RatchetPlanner, RCurvePlanner

public abstract class SimFramePlanner<C,P extends Record> extends NBBaseComponent
A frame planner is what decides what next set of parameters to try based on a history of simulation frames, and whether to proceed with another sim frame.
  • Field Details

    • logger

      protected final org.apache.logging.log4j.Logger logger
    • config

      protected final C config
    • journal

      protected final SimFrameJournal<P extends Record> journal
  • Constructor Details

  • Method Details

    • getConfig

      public abstract C getConfig(NBCommandParams params)
    • initJournal

      public SimFrameJournal<P> initJournal()
    • initialStep

      public abstract P initialStep()
    • nextStep

      public abstract P nextStep(JournalView<P> journal)
      Using a stateful history of all control parameters and all results, decide if there is additional search space and return a set of parameters for the next workload simulation frame. If the stopping condition has been met, return null
      Parameters:
      journal - All parameters and results, organized in enumerated simulation frames
      Returns:
      Optionally, a set of paramValues which indicates another simulation frame should be sampled, else null
    • applyParams

      public abstract void applyParams(P params, Activity activity)
    • analyze

      public P analyze(Activity flywheel, SimFrameCapture capture, PrintWriter stdout, PrintWriter stderr, ContainerActivitiesController controller)