Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 2.22 KB

README.md

File metadata and controls

54 lines (35 loc) · 2.22 KB
    ____       _               
   / __ \_____(_)___ ___  ____ 
  / /_/ / ___/ / __ `__ \/ __ \
 / ____/ /  / / / / / / / /_/ /
/_/   /_/  /_/_/ /_/ /_/\____/ 
                   

Primo

Primo is a unified framework that assists developers to design practical learning-augmented systems with interpretable models. To learn more about how Primo works, please refer our ATC '22 paper.

Installation

pip install pyprimo

Artifacts

This folder contains the artifact for the ATC paper. Specifically, we provide the Primo implementation for each case study (Section 4: LinnOS, Section 5: Clara, Section 6: Pensieve):

System Scenario ML Algorithm Offical Repo
LinnOS (OSDI '20) Flash Storage I/O DNN LinnOS Code
Clara (SOSP '21) SmartNIC Offloading Mixture(LSTM, GBDT, SVM) Clara Code
Pensieve (SIGCOMM '17) Adaptive Video Streaming RL Pensieve Code

You can use these scripts to learn how to leverage Primo model in different system scenarios and reproduce the results presented in our paper.

Acknowledgements

Primo build on top of many great open-source repositories, including

interpret | scikit-learn | scikit-optimize | viper

Citation

@inproceedings{Primo,
  title     = {Primo: Practical Learning-Augmented Systems with Interpretable Models},
  author    = {Qinghao Hu and Harsha Nori and Peng Sun and Yonggang Wen and Tianwei Zhang},
  booktitle = {2022 {USENIX} Annual Technical Conference},
  publisher = {{USENIX} Association},
  year      = {2022},
  series    = {{USENIX} {ATC} '22}
}