Package, experimentation results, and other artifacts for our serverless computing performance modeling paper. Using the presented performance model, the serverless computing platform provider and their users can optimize their workload and configurations to adapt to each workload being executed on them. The presented model uses analytical model to calculate steady-state system characteristics.
- Works with any service time distribution (general distribution).
- Calculates steady-state characteristics.
- Is tractable while having a high fidelity.
Here is a list of different artifacts for the proposed model:
- Python Package on PyPi
- Interactive online model
- Datasets collected throughout experimentations
- Deployment code for collecting data using experimentations
- Code for parsing the datasets and generating plots
- Jupyter notebook docker image containing the pacsltk package (docs)
- Python 3.6+
- PIP
pip install pacsltk
Check out the package documentation.
You can use the package as simple as the short code snippet below:
from pacsltk import perfmodel
arrival_rate = 100
warm_service_time = 2
cold_service_time = 25
idle_time_before_kill = 10*60
print("arrival_rate:", arrival_rate)
print("warm_service_time:", warm_service_time)
print("cold_service_time:", cold_service_time)
print("idle_time_before_kill:", idle_time_before_kill)
props1, props2 = perfmodel.get_sls_warm_count_dist(arrival_rate, warm_service_time, cold_service_time, idle_time_before_kill)
perfmodel.print_props(props1)
which produces an output similar to the following:
arrival_rate: 100
warm_service_time: 2
cold_service_time: 25
idle_time_before_kill: 600
Properties:
------------------
avg_server_count: 251.043927
avg_running_count: 200.148828
avg_running_warm_count: 199.987058
avg_idle_count: 51.056869
cold_prob: 0.000065
avg_utilization: 0.796622
avg_resp_time: 2.001488
rejection_prob: 0.000000
rejection_rate: 0.000000
------------------
Unless otherwise specified:
MIT (c) 2020 Nima Mahmoudi & Hamzeh Khazaei
You can find the paper with details of the proposed model in PACS lab website. You can use the following bibtex entry:
@article{mahmoudi2020tccserverless,
author={Mahmoudi, Nima and Khazaei, Hamzeh},
journal={IEEE Transactions on Cloud Computing},
title={{Performance Modeling of Serverless Computing Platforms}},
year={2020},
volume={},
number={},
pages={1-15},
doi={10.1109/TCC.2020.3033373},
url_paper={https://ieeexplore.ieee.org/document/9238484},
url_pdf={https://pacs.eecs.yorku.ca/pubs/pdf/mahmoudi2020tccserverless.pdf}
}