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.

It's available for pip install via the pypi repository at mlos-core.

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.

See Also

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.6.2.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlos_core-0.6.2-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

Details for the file mlos_core-0.6.2.tar.gz.

File metadata

  • Download URL: mlos_core-0.6.2.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for mlos_core-0.6.2.tar.gz
Algorithm Hash digest
SHA256 e60997f18cf27a7944dc11252003627246f42130944599f06d5863a7e9cafb60
MD5 6e664f71ad3cc1b7270d0551e7ab9946
BLAKE2b-256 01d004a212b2cbe6912a10045022bee2144dc816e09559c57870e3a2c26ae9f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mlos_core-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 40.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for mlos_core-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e21179398b19a9dc4d4ece68c0a1e3ffdef9a0ea5f47003375fc014101636a3a
MD5 79a759246493b4a28c74a6326a82e64d
BLAKE2b-256 1a8d71ff0e2075e1ec53097861c7fec8d93b1052108f0846eca68fc286b12ae8

See more details on using hashes here.

Supported by

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