Class CMD_optimize
java.lang.Object
io.nosqlbench.nb.api.components.core.NBBaseComponentMetrics
io.nosqlbench.nb.api.components.core.NBBaseComponent
io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand
io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand
io.nosqlbench.scenarios.simframe.optimizers.CMD_optimize
- All Implemented Interfaces:
NBComponent,NBComponentAdvisors,NBComponentEvents,NBComponentMetrics,NBComponentProps,NBComponentServices,NBComponentTimeline,NBProviderSearch,NBTokenWords,NBLabeledElement,AutoCloseable,BiFunction<NBBufferedContainer,NBCommandParams, Object>
This is the Java-native version of findmax on the NB5.21 architecture. It has been modified from the previous form in significant ways.
- Instead of pass/fail criteria all performance factors are expressed as a value function. This will make it easy to adapt different search algorithms (in the form of non-derivative multivariate optimizers) to the same approach.
- A set of simulation frame utilities bundles the derivation of black-box values. These will be used to refine findmax, but will be general-purposed for any other analysis and optimization method as needed.
- The search strategy which determines the parameters for the next simulation frame has been factored out into a planner.
There is an accompanying visual narrative "findmax.png" bundled with this source code to help explain the search pattern of findmax. Additional docs and a usage guide will follow.
This can be tested as
nb5 --show-stacktraces java io.nosqlbench.scenarios.findmax.SC_findmax threads=36-
Nested Class Summary
Nested classes/interfaces inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
NBLabeledElement.BasicLabeledElement -
Field Summary
Fields inherited from class io.nosqlbench.nb.api.components.core.NBBaseComponent
bufferOrphanedMetrics, closed_ns, error, errored_ns, labels, metricsBuffer, parent, started_epoch_ms, started_ns, state, teardown_nsFields inherited from interface io.nosqlbench.nb.api.components.core.NBComponent
EMPTY_COMPONENTFields inherited from interface io.nosqlbench.nb.api.components.core.NBComponentProps
HDRDIGITS, SUMMARYFields inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
EMPTY -
Constructor Summary
ConstructorsConstructorDescriptionCMD_optimize(NBBufferedContainer parentComponent, String scenarioName, String context) -
Method Summary
Modifier and TypeMethodDescriptioninvoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) Methods inherited from class io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand
apply, getScenarioName, getTargetScenario, toStringMethods inherited from class io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand
invokeSafeMethods inherited from class io.nosqlbench.nb.api.components.core.NBBaseComponent
addAdvisor, addMetricsCloseable, attachChild, beforeDetach, close, create, detachChild, find, findParentService, getAdvisors, getChildren, getComponentOnlyLabels, getComponentProp, getComponentState, getLabels, getNanosSinceStart, getParent, getTokens, nanosof_close, nanosof_error, nanosof_start, nanosof_teardown, onError, onEvent, reportExecutionMetric, setComponentProp, started_epoch_ms, teardownMethods inherited from class io.nosqlbench.nb.api.components.core.NBBaseComponentMetrics
addComponentMetric, addListener, findComponentMetrics, findComponentMetrics, getComponentMetric, getComponentMetrics, removeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.function.BiFunction
andThenMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentAdvisors
getAdvisorResultsMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentMetrics
addComponentMetric, findComponentMetrics, findComponentMetrics, findOneComponentMetric, findOneComponentMetric, getComponentMetric, getComponentMetricsMethods inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
description
-
Constructor Details
-
CMD_optimize
-
-
Method Details
-
invoke
public Object invoke(NBCommandParams params, PrintWriter stdout, PrintWriter stderr, Reader stdin, ContainerActivitiesController controller) - Specified by:
invokein classNBBaseCommand
-