____ _
/ __ \_____(_)___ ___ ____
/ /_/ / ___/ / __ `__ \/ __ \
/ ____/ / / / / / / / / /_/ /
/_/ /_/ /_/_/ /_/ /_/\____/
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.
pip install pyprimo
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.
Primo build on top of many great open-source repositories, including
interpret | scikit-learn | scikit-optimize | viper
@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}
}