Skip to content

Change Log

v2.2.0 (2021-08-31)

  • Enhance handling of invalid knob configurations
  • Introduce evolution:full_cycle_coeff config. parameter, that adjusts the full Evolution cycle length
  • Introduce num_best_cycles config. parameter, that controls how many cycles should the Optimizer spend in BEST mode, after completing a single cycle of TUNE mode
  • Fix security vulnerabilities
  • Numerous bug fixes and stability enhancements

v2.1.0 (2021-03-01)

  • Introduce Kubernetes Helm package. It is now possible to install optimizer-runtime as a DaemonSet in Kubernetes.
  • Introduce Puppet deployment module.
  • Introduce Docker image
  • Various bug fixes and enhancements

v2.0.0 (2021-02-01)

  • Introduce knob policies: always, set-once, on-change (default)
  • Introduce support for Accelerate tool. It is now configurable to control acceleration knobs for applications whenever they are restarted using set-once policy
  • Allow global pre and post actions for knobs configuration changes
  • Introduce "net.throughput". Embedded target metric to measure generic network throughput
  • Various bug fixes and enhancements

v1.1.0 (2020-11-22)

  • Introduce ZFS embedded knobs
  • Remove encryption from logs. From now on, logs are written in plain text as in Optimizer-Studio
  • Introduce categorized metrics. It is now possible to define string metrics in addition to numeric ones
  • Various bug fixes and enhancements

v1.0.0 (2020-10-18)

  • Rename --params=PATH to --settings=PATH command line argument
  • Introduce new OS embedded knobs for network stack and block storage IO
  • Sopport environment variables in global_parameters, e.g. $VAR or ${VAR} will be replaced with VAR value.
  • Introduce new Metric Plugins: NewRelic, Datadog, Dynatrace and Prometheus and revise metric plugin names and location into plugins folder
  • Embedded knobs no logner imported automatically by default, rather only when declared under import: section in knobs.yaml or in command line argument
  • Introduce --forward argument to send commands to optimizer-runtime service from optimizer-runtime client
  • Deprecate several global parameter in favor of new ones (more details in configuration page)
  • Introduce license tool
  • Various bug fixes and enhancements

v0.24.0 (2020-05-12)

  • Introduce 'file' metrics plugin
  • Reimplement configuration attempt scheduler
  • Revisit the math. basis of the optimization. Retire mandatory normalization by baseline value.
  • Allow disabling saving opt.data file
  • Gradually increase saving opt.data interval to 24h
  • Fix bugs in (legacy) Greedy optimization strategy
  • Enable replaceable target metric point estimator function (average, percentile, mode)
  • Support new platforms: CentOS-8, Ubuntu 20.04
  • Retire support of Ubuntu 14.04
  • Generate error message in case of too long knob script output
  • Imporove informativeness of log messages
  • Various bug fixes and enhacements

v0.23.0 (2020-02-06)

  • Switch to Semantic Versioning compliant version number
  • Implement multi-level workload classification
  • Implement initial support for Best Knob Configuration trimming of non-influential knobs
  • REST API: introduce categorization metrics
  • REST API: convert metric value representation to string
  • Improve Bucket clustering to Tuning Groups
  • Account for relative frequency of appearance of a Bucket
  • Fix / enhance embedded knob definitions
  • Improve performance bottlenecks by caching some recurring calculations
  • Improve configuration parameters range validy tests
  • Various bug fixes and enhancements

v0.20 (2019-04-21)

  • Implemented enhanced workload bucket clustering algorithm
  • Implemented selectable bucket grouping strategies: all-to-one, one-to-one, cluster
  • Improved occasionally missing metrics tolerance
  • Fixed improvement calculation formula for minimized target metric
  • Fixed Optimizer Runtime service autorestart configuration
  • Fixed occasional memory leak issues and race conditions
  • Implemented extensive internal infrastructure improvement

v0.19 (2019-02-21)

  • Enabled creation of CSV metrics files distiguishable by creation DATE
  • Improved error handling
  • Enabled Evolution optimization algorithm by default for enhanced optimization capability

v0.18 (2019-02-14)

  • Enhanced and improved internal implementation
  • Enabled Greedy optimization algorithm by default for enhanced optimization stability
  • Implemented tolerance for missing target metric values

v0.17 (2019-02-10)

  • Implemented multiple internal enhancements and improvements
  • Enabled creation of CSV metrics files distiguishable by Optimizer Runtime PID
  • Enabled fast-forwarding optimization progress to 100% when all the configurations are studied
  • Fixed bug causing Optimizer Runtime to occasionally stop for a long time period
  • Fixed bug causing mismatching between a bucket and a tuning group
  • Fixed bug causing incorrect classification model replay
  • Fixed bug causing incorrect workload classification under Evolution optimization
  • Cleaned up logger output
  • Enhanced testknob report

v0.16 (2018-09-04)

  • Evolution-based optimization algorithm implemented. Users can now select between the Greedy algorithm and the new Evolution optimization strategies.
  • Added support for spaces in knob names and option values
  • Added support for empty knob option values
  • Added syntax validation for YAML files
  • New import capability to import configuration files, filter imported knobs by name
  • Support for onload and enable scripts per configuration file
  • Allow sourcing shell files in configuration files
  • Allow specifying certain settings in the main knob configuration files
  • Added support for skipping configurations that yield more than max_invalid_samples_per_option invalid measurements
  • Added a settings parameter sum_cvs_coefficient that controls the threshold for selecting beneficial configurations
  • When no include_metrics and exclude_metrics are defined, the default is now to include all metrics
  • Require fewer baseline samples at the beginning
  • Ctrl+C now can stop --testknob=all run
  • Create more detailed report of testknob function
  • Make possible to define user target metric when using embedded knobs

v0.15 (2018-04-17)

  • Fix bug preventing the usage of embedded knobs on virtual machines
  • Various other bug fixes

v0.14 (2018-03-29)

  • Renamed DatArcs to Concertio
  • Faster and more accurate workload classification
  • Various bug fixes

v0.13 (2017-12-31)

  • Enhance knob scripts: introduce pre/post set knob value scripts
  • Benchmark script: attach Optimizer PID to /tmp/datarcs-benchmark.log
  • Bug fixes

v0.12 (2017-11-19)

  • New shell plugin for user-defined metrics
  • Enhanced knob scripts enabling shared state
  • Added support for new network-related metrics
  • Improved workload classification
  • Upgraded PCM library supporting recent Intel architectures
  • Security related fixes
  • Simplified knobs.yaml structure
  • Support for addition and removal of metrics during runtime

v0.11 (2017-09-19)

  • Improved phase detection algorithm

v0.10 (2017-09-01)

  • Introduce plugin interface for adding user metrics
  • Added NUMA data migration techniques to the topology knob
  • Many bug fixes

v0.9 (2017-08-01)

  • Support user-determined target metric
  • Allow inclusion and exclusion of performance metrics
  • Add support for Ubuntu 14.04
  • Bug fixes

v0.8 (2017-05-25)

  • Bug fixes

v0.7 (2017-05-10)

  • Introduce enhanced workload phase detection algorithm
  • Enable addition and removal of optimization knobs both between runs and in runtime
  • Switch configuration files format from XML to YAML
  • Bug fixes

v0.6 (2017-03-06)

  • Benchmarking package can now generate static tuning data file
  • Added support for plotting benchmark results in the benchmarking package
  • Few code optimizations

v0.5 (2017-02-04)

  • Reduced performance variability in continuous study mode
  • Added support for evaluation license
  • Many bug fixes

v0.4 (2017-01-18)

  • Add static tuning capability
  • Limit optimization data file size
  • Added more knobs

v0.3 (2016-12-16)

  • Added more knobs, most notably topology knob
  • Added synchronous sampling
  • Improved program phase detection
  • Many bug fixes

v0.2 (2016-10-31)

  • New benchmarking package
  • Added various networking and cpu knobs
  • Many bug fixes and improvements

v0.1 (2016-10-07)

  • Initital version