https://github.com/awslabs/damoos
DAMON-based Optimal Operation Schemes
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Repository
DAMON-based Optimal Operation Schemes
Basic Info
- Host: GitHub
- Owner: awslabs
- License: gpl-2.0
- Language: Python
- Default Branch: main
- Homepage: https://damonitor.github.io/
- Size: 585 KB
Statistics
- Stars: 17
- Watchers: 9
- Forks: 8
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
THIS REPO IS DEPRECATED
This repo (https://github.com/awslabs/damoos) was one of the official GitHub repos for damo. However, after 2024-09-05, this has been[1] no longer the official GitHub repo. Please use the new official GitHub repo (https://github.com/damonitor/damoos) instead.
[1] https://lore.kernel.org/20240813232158.83903-1-sj@kernel.org
DAMOOS (DAMON-based Optimal Operation Schemes)
DAMON allows users to do data access monitoring-based memory-management optimizations with no code but simple scheme.
This project aims to automate the process of choosing right schemes for a workload-system pair.
Overview
DAMOOS stands for DAMon-based Optimal Operation Schemes and it is built to help the users to find the best DAMON scheme automatically. As the scheme depends both on the workload and the system characteristics, finding a good scheme manually is difficult. DAMOOS currently supports simple scheme adapter, simple RL Adapter, Polynomial Fit Adapter, Multi Dimension Polynomial Fit Adapter and Particle Swarm Optimization based adapter and in the future would also support more scheme adapters that the users can try out.
Prerequisites
To understand DAMOOS and the need for it, having a basic understanding of DAMON and DAMON-based Operation Schemes (DAMOS) is required. Please read the documentation about them here: https://damonitor.github.io/doc/html/next/admin-guide/mm/damon/index.html
Quick Start
If you are only a user of DAMOOS, then the interactive damoos.sh script is
all that you need to know about. If you are interested in writing your own
scheme adapters or tweaking some of the code, please read the details of DAMOOS
in the different subdirectories.
You need a DAMON-enabled kernel to try out DAMOOS. You also need to register
your workload in the frontend/workload_directory.txt in the following format:
ShortName@@@NameforPID@@@Command
Here, ShortName is the name of the workload that you will be using with DAMOOS. NameforPID is the name of the process using which DAMOOS can get the process's PID (Just use the top command to find the name under the command column). Command is used to run the workload, it should ideally use an absolute path and put the process in background so that DAMOOS can apply the different schemes to it.
Below is a small example of using the simple_adapter for a parsec3 workload
named “dedup” and record the log in damoos_log file.
$ sudo bash damoos.sh simple_adapter damoos_log
Please enter Workload_Name(E.g:dedup,canneal,etc.)
dedup
Please enter Runtime_Importance_Score(E.g:"0.3")
0.4
Please enter Lazybox_Path(E.g:"/home/user/laxybox")
/home/dev4/lazybox
Script started, file is dedup_best_scheme.txt
Optimizing dedup workload..
damoos.sh receives name of the adapter to use and name of a file to record
the log as command line arguments. Then, it will ask you to enter the inputs
required by the chosen scheme adapter.
Here is another example for polyfit_adapter:
```
$ sudo bash damoos.sh polyfitadapter damooslog
Please enter 1.LazyboxPath(-lb)
/home/dev4/lazybox
Please enter 2.DAMOSPath(-dm)
/home/dev4/linux/tools/damon/damo
Please enter 3.JSONPath(-jp)
splash2x.barnes.json
Please enter 4.PickleFile_Path(-pfn)
Script started, file is splash2x.barnesbestscheme.txt Optimizing splash2x.barnes... ```
DAMOOS Components
For more information about the implementation details of DAMOOS, read the following README files:
- Front-end
- Metric Collectors
Scheme Adapters
d) PSO Adapter
Contact Details
Madhuparna Bhowmik (madhuparnabhowmik04@gmail.com)
SeongJae Park (sjpark@amazon.com)
Owner
- Name: Amazon Web Services - Labs
- Login: awslabs
- Kind: organization
- Location: Seattle, WA
- Website: http://amazon.com/aws/
- Repositories: 914
- Profile: https://github.com/awslabs
AWS Labs
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: about 2 years ago
All Time
- Total issues: 1
- Total pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- wangjiedlut (1)
- sj-aws (1)
Pull Request Authors
- sjp38 (2)
- Madhuparna04 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- 1.Lazybox_Path *
- 2.DAMOS_Path *
- 3.JSON_Path *
- 1.Lazybox_Path *
- 2.DAMOS_Path *
- 3.JSON_Path *
- 4.Pickle_File_Path *
- 1.Lazybox_Path *
- 2.DAMOS_Path *
- 3.JSON_Path *
- Lazybox_Path *
- Runtime_Importance_Score *
- Workload_Name *
- 1.Lazybox_Path *
- 2.DAMOS_Path *
- 2.Workload_Name *
- 3.Number_of_iterations *
- 4.Learning_rate *
- 5.Epsilon *
- 6.Discount_Rate *