Skip to main content

MLOS Core Python interface for parameter optimization.

Project description

mlos-core

This directory contains the code for the mlos-core optimizer package.

Description

mlos-core is an optimizer package, wrapping other libraries like FLAML and SMAC to use techniques like Bayesian optimization and others to identify & sample tunable configuration parameters and propose optimal parameter values with a consistent API: suggest and register.

These can be evaluated by mlos-bench, generating and tracking experiment results (proposed parameters, benchmark results & telemetry) to update the optimization loop, or used independently.

Features

Since the tunable parameter search space is often extremely large, mlos-core automates the following steps to efficiently generate optimal task-specific kernel and application configurations.

  1. Reduce the search space by identifying a promising set of tunable parameters
    • Map out the configuration search space: Automatically track and manage the discovery of new Linux kernel parameters and their default values across versions. Filter out non-tunable parameters (e.g., not writable) and track which kernel parameters exist for a given kernel version.
    • Leverage parameter knowledge for optimization: Information on ranges, sampling intervals, parameter correlations, workload type sensitivities for tunable parameters are tracked and currently manually curated. In the future, this can be automatically maintained by scraping documentation pages on kernel parameters.
    • Tailored to application: Consider prior knowledge of the parameter's impact & an application's workload profile (e.g. network heavy, disk heavy, CPU bound, multi-threaded, latency sensitive, throughput oriented, etc.) to identify likely impactful candidates of tunable parameters, specific to a particular application.
  2. Sampling to warm-start optimization in a high dimensional search space
  3. Produce optimal configurations through Bayesian optimization
    • Support for various optimizer algorithms (default Bayesian optimizer, Flaml, SMAC, and random for baseline comparison), that handle multiple types of constraints. This includes cost-aware optimization, that considers experiment costs given current tunable parameters.
    • Integrated with mlos-bench, proposed configurations are logged and evaluated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlos-core-0.2.4.tar.gz (118.4 kB view details)

Uploaded Source

Built Distribution

mlos_core-0.2.4-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file mlos-core-0.2.4.tar.gz.

File metadata

  • Download URL: mlos-core-0.2.4.tar.gz
  • Upload date:
  • Size: 118.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for mlos-core-0.2.4.tar.gz
Algorithm Hash digest
SHA256 371787570cec67f6135bcf83e720d3f0b81b1ddcbb4a7078970a05955a2a1a27
MD5 5eeec26f0a98e37c36d87c6a602db500
BLAKE2b-256 febc76a230eff58cd250bb225b29567e865a8b3d00593244c15226d13b1d12b9

See more details on using hashes here.

Provenance

File details

Details for the file mlos_core-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: mlos_core-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for mlos_core-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ba8f34fb6e59c5f93171404673a1c39b9b4a05efde22e88c96194ef38c7d906b
MD5 aef43a1f03b8613e948d3ad869991361
BLAKE2b-256 613b8f11e457288b5690f3e7ae86e2d2b9e02539bf52ee163e5145ed4c5aea1f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page