Граф коммитов

33 Коммитов

Автор SHA1 Сообщение Дата
Sergiy Matusevych 7c00776969 Merged PR 588: Implement a script to run a single benchmark
* Move all generic command line launching functionality into a separate module.
* Update the README file to use the new script and the parameters.
* Change the config parameters propagation policy: now values from the parent config override the parameters at the lower levels. This way we can keep the default values in the main config and push the actual values from the globals. E.g., see the `"accessToken"` and `"subscription"` in this diff

Related work items: #501
2022-09-08 00:14:18 +00:00
Brian Kroth 176dd1d230 Merged PR 610: Adding more codestyle checkers and fixups
pylint apparently removed the bad-whitespace check at some point [1]

This adds pycodestyle back to the mix to check for it.

[1] https://github.com/PyCQA/pylint/issues/3512
2022-09-02 18:58:49 +00:00
Brian Kroth 3361178b8f Merged PR 607: Address some security alerts with nbconvert dependencies 2022-09-01 23:34:00 +00:00
Eu Jing Chua 1edf87f630 Merged PR 576: Azure VM controls
This PR implements more VM control methods in `azure_services.py` like:
- Stop
- Deprovision
- Reboot

These methods are also updated to be used in the teardowns for `azure_os.py` and `azure_vm.py`.
`main.py` is updated to now teardown the composite environment at the end of the experiment, and we can observe the VM shutting down and being de-provisioned in Azure Portal.

Related work items: #469
2022-09-01 21:30:39 +00:00
Omisa Jinsi 508282ead0 Merged PR 575: Example Redis Docker Files
This PR includes:
1) Docker folder that runs redis benchmark
2) Test script that 1) builds benchmark docker container, 2) creates redis docker container, 3) links redis and benchmark containers, and 4) runs benchmark docker container with given parameters

Related work items: #471
2022-09-01 19:41:55 +00:00
Brian Kroth 1237d5228b Merged PR 600: Fixup wheel generation 2022-08-31 21:49:31 +00:00
Brian Kroth c862e10e62 Merged PR 597: Pylint fixups
- include all python files in pylint checks
- improve version handling for pylint and update scripts
- make autopep8 available for vscode to use as a python formatter
- add more cspell words
- address some pylint warnings
- more pylint fixups
2022-08-30 19:58:49 +00:00
Sergiy Matusevych 934a90d640 Merged PR 583: make the names of Azure configuration parameters consistent
make the names of Azure configuration parameters consistent (camel
case) and update the README accordingly. Remove the "*-example.json"
config files - we can use the actual configs as examples now as they
don't contain any sensitive information anymore

Related work items: #497
2022-08-27 01:00:49 +00:00
Eu Jing Chua cf243f6ea4 Merged PR 573: Document quick start guide for mlos_bench
This PR updates the README.md of `mlos_bench` with the steps needed to run a user's own JSON configuration with `main.py`.

Additionally, a small fix is included in the template `config-example.json` for specifying the corresponding `vmName` when establishing the VM, otherwise we end up always using the default  value of `osat-linux-vm` provided in the ARM template.

Related work items: #485
2022-08-24 19:28:31 +00:00
Sergiy Matusevych 9f7fc9e04f Merged PR 577: Take global config args from the command line
Now we can use the config files as-is and pass the missing parameters via the command line, e.g.
```powershell
python.exe .\mlos_bench\mlos_bench\main.py `
    --config .\mlos_bench\config\config.json `
    --accessToken "$(az account get-access-token --query accessToken --output tsv)" `
    --subscription "$(az account get-access-token --query subscription --output tsv)" `
    2>&1 > .\osat.log
```

Related work items: #492
2022-08-24 17:25:31 +00:00
Sergiy Matusevych 552cd49666 Merged PR 571: Read tunables from a separate config
* Store tunables' definitions in a separate config
* Implement the `Tunable` wrapper class
* Implement tunable groups and collections of covariant parameters

Related work items: #457, #458
2022-08-19 22:59:37 +00:00
Brian Kroth 4ad1aa0495 Merged PR 572: Document experimental conda solver and enable Windows CI jobs
This is a follow up to !557 (Make conda work on Windows) and addresses some of the lingering comments from that PR.

- document the mamba slow solver workaround
- use the mamba solver if available in Makefile
- add windows jobs to the CI tasks as well
2022-08-18 04:43:22 +00:00
Brian Kroth fa768d8465 Merged PR 557: Make conda work on Windows
Related work items: #439
2022-08-12 16:43:26 +00:00
Sergiy Matusevych ba665e5b58 Merged PR 566: Implement remote execution on Azure VM
Related work items: #440
2022-08-10 19:36:24 +00:00
Brian Kroth b85ef791e7 Merged PR 563: Some minor doc updates and cleanup
- updating some docs and version numbers
- add a script to help update the versions in all the places
2022-08-04 21:42:59 +00:00
Brian Kroth a75fd4c633 Merged PR 561: Reorganize file layout to support separate whl outputs
Related work items: #444
2022-08-04 20:26:40 +00:00
Brian Kroth d9224875c5 Merged PR 560: Merging initial os_autotune_main work to main
We will do our OS autotuning related work on mlos-bench there.

Main prior to this has been tagged as v0.0.3 for servicing Spark autotune needs if need be.

Plan is to reorganize the source tree after this so we can generate separate `mlos-core` and `mlos-bench` packages.
2022-08-04 16:11:35 +00:00
Brian Kroth a3d659402e Merged PR 403: Minor doc tweaks and cleanup
- ignore some more auto generated files
- don't need regular users to have to build the docs
- tweaks to the docs
- install some modules necessary for vscode extensions to lint check rst
2022-08-02 21:26:25 +00:00
Andreas Mueller a4d84ccfe7 Merged PR 507: add log space support to integer parameters in emukit
add log space support to integer parameters in emukit
2022-05-26 18:19:03 +00:00
Andreas Mueller 4da70d96bf Merged PR 395: add tests for configuration space conversion 2022-03-22 19:48:38 +00:00
Andreas Mueller bccb62ab8b Merged PR 397: add API docs
for some reason sphinx is complaining about stub files missing but stills renders properly. I couldn't figure out what's going on.
2022-03-22 16:51:54 +00:00
Andreas Mueller a6a6cae2b9 Merged PR 392: make optimizer test deterministic for now
Set's the random state as this is supposed to be a simple API test, not a robustness test.

In the future we intend to add robustness tests separately.
2022-03-21 20:51:32 +00:00
Brian Kroth 8f9c9bcc3e Merged PR 389: Restrict access to the docs to authenticated AAD users for now
- create a config to control authentication to the site
2022-03-18 23:14:52 +00:00
Andreas Mueller 3cfde5c061 Merged PR 388: render coverage properly on ADO
render coverage properly on ADO
2022-03-17 17:37:53 +00:00
Brian Kroth 3c2dd190ce Merged PR 386: Generate and publish documentation from python docstrings
- initial attempts at generating documentation

Related work items: #307
2022-03-17 01:33:28 +00:00
Brian Kroth 79cc3e6762 Merged PR 380: Add conda env caching for build pipeline
- Add conda env caching for build pipeline speed ups.
  - Cache will use items from the last hour (within the same day), but only if the `environment.yml` and `setup.yml` file haven't changed.
- Adds testing for multiple Python versions.
  - Mostly as a proof of concept.  Right now just 3.8 and 3.9.  3.6 (the current default in Synapse) is broken and disabled.
  - We can disable this and just use the `DefaultPython` version again for now as well.
- Also enabled parallel builds as a part of this change.

Related work items: #322
2022-03-16 21:32:53 +00:00
Andreas Mueller 57dea8f43f Merged PR 382: basic tests for optimizers
This covers the basic API for the optimizers.
2022-03-16 01:27:21 +00:00
Brian Kroth 92f8497d89 Merged PR 375: Make ConfigSpace a required package
ConfigSpace is used to instantiate the parameter search space for all of our optimizer backends.

Without this I don't think ConfigSpace gets pulled in automatically when installing a whl in Synapse, for instance, and so doesn't work.
2022-03-15 21:55:07 +00:00
Brian Kroth 44c9b7b813 Merged PR 378: Rework DISPLAY env emukit test fixup to be globally applicable for all tests
Rework DISPLAY env emukit test fixup to be globally applicable for all tests
2022-03-15 19:52:07 +00:00
Brian Kroth 350145d71b Merged PR 377: Add a workaround to let emukit unit test run
Add a workaround to let emukit unit test run

avoids a poor DISPLAY environment variable in WSL setup interaction with default matplotlib backend
2022-03-15 17:47:04 +00:00
Andreas Mueller 6b8f34e7d4 Merged PR 333: Initial MlosCore Implementation
Adds basic `register` and `suggest` APIs for a couple of optimizer backends: `Skopt`, `Emukit`, `Random`.
Includes example notebook for starters.
Limited unit testing.  Basic function documentation.
Azure DevOps CI pipelines for `pylint` and `pytest` via the `mlos_core` `conda` `environment.yml`.

Related work items: #274, #279
2022-03-14 19:37:52 +00:00
Brian Kroth c8e177b95d initial checkin 2021-12-08 14:35:39 -06:00
Brian Kroth 36c7a91980 Added README.md, .gitignore (Python) files 2021-12-08 18:59:49 +00:00