minseok1335 / karma

Resource Allocation for Dynamic Demands

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Karma: Resource Allocation for Dynamic Demands

This repository contains open source code for Karma, a new resource allocation mechanism for dynamic demands. Karma introduces a new credit-based resource allocation algorithm with powerful theoretical guarantees related to Pareto efficiency, strategy-proofness, and fairness under dynamic demands, that have been shown to translate well into practice. For a full technical description of Karma, please refer to our OSDI'23 paper.

Components

This repository contains the following three components:

  • algorithm/: Efficient implementation of the Karma algorithm provided as a library for easy integration with applications.
  • simulator/: Simulator that can execute Karma and other relevant schemes over input demand traces for easy testing and exploration.
  • jiffy-implementation/: End-to-end implementation of Karma on top of a distributed elastic memory system (Jiffy)

Contact

Midhul Vuppalapati (midhul@cs.cornell.edu)

Citation

@inproceedings {karma-osdi23,
author = {Midhul Vuppalapati and Giannis Fikioris and Rachit Agarwal and Asaf Cidon and Anurag Khandelwal and {\'E}va Tardos},
title = {Karma: Resource Allocation for Dynamic Demands},
booktitle = {17th USENIX Symposium on Operating Systems Design and Implementation (OSDI 23)},
year = {2023},
isbn = {978-1-939133-34-2},
address = {Boston, MA},
pages = {645--662},
url = {https://www.usenix.org/conference/osdi23/presentation/vuppalapati},
publisher = {USENIX Association},
month = jul,
}

About

Resource Allocation for Dynamic Demands


Languages

Language:C++ 74.2%Language:Python 9.8%Language:Java 5.2%Language:CMake 3.6%Language:Jupyter Notebook 3.1%Language:HTML 2.1%Language:Shell 1.4%Language:Thrift 0.4%Language:CSS 0.0%