{"id":45104755,"url":"https://github.com/proxystore/tpds24-evaluation","last_synced_at":"2026-02-19T21:58:07.181Z","repository":{"id":232287134,"uuid":"763702457","full_name":"proxystore/tpds24-evaluation","owner":"proxystore","description":"Data, analysis, and figures for the TPDS24 ProxyStore paper","archived":false,"fork":false,"pushed_at":"2024-12-02T17:39:02.000Z","size":49390,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-12-02T18:47:10.793Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proxystore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-26T19:12:26.000Z","updated_at":"2024-12-02T17:39:05.000Z","dependencies_parsed_at":"2024-11-15T23:31:07.456Z","dependency_job_id":null,"html_url":"https://github.com/proxystore/tpds24-evaluation","commit_stats":null,"previous_names":["proxystore/sc24-proxystore-analysis","proxystore/tpds24-evaluation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/proxystore/tpds24-evaluation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proxystore%2Ftpds24-evaluation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proxystore%2Ftpds24-evaluation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proxystore%2Ftpds24-evaluation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proxystore%2Ftpds24-evaluation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proxystore","download_url":"https://codeload.github.com/proxystore/tpds24-evaluation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proxystore%2Ftpds24-evaluation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29634559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T18:02:07.722Z","status":"ssl_error","status_checked_at":"2026-02-19T18:01:46.144Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-19T21:58:06.950Z","updated_at":"2026-02-19T21:58:07.175Z","avatar_url":"https://github.com/proxystore.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TPDS 2024 ProxyStore Analysis\n\nData, analysis, and figures for the TPDS 2024 ProxyStore paper ([ArXiv Preprint](https://www.arxiv.org/abs/2407.01764)).\n\n## Get Started\n\nThis repository requires Python 3.9, 3.10, or 3.11. To get started running\nthe benchmarks and analysis notebooks, create a new virtual environment,\ninstall the dependencies, and launch Jupyter Lab.\n\n```bash\npython -m venv venv\n. venv/bin/activate\npip install -r requirements.txt\njupyter-lab\n```\n\n## Artifacts Appendix\n\nWe have provided a Docker image and set of scripts for reproducing the benchmarks in our submission.\n\n### Install\n\nBuild the Docker image which will install the necessary dependencies pinned in the `requirements.txt` file.\n```bash\ndocker build -t tpds-proxystore .\n```\n\n### Run Task Pipelining\n\nThe `scripts/docker/0-task-pipelining.sh` will execute the experiment with the exact parameters used in the TPDS submission.\nUse the following command to execute the experiment in the Docker image.\nCompleting all of the runs takes 20 minutes and requires 4 cores and 16 GB of memory.\n\n```bash\ndocker run --rm -it -v $PWD:/analysis tpds-proxystore /bin/bash /analysis/scripts/docker/0-task-pipelining.sh\n```\n\nThis will produce an output directory in `data/docker/0-task-pipelining/` containing the runtime log (`log.txt`) and results (`result.csv`).\n\n### Run Stream Scaling\n\nThe `scripts/docker/1-stream-scaling.sh` will execute the experiment with the exact parameters used in the TPDS submission.\nUse the following command to execute the experiment in the Docker image.\nCompleting all of the runs takes 30 minutes and requires 32 cores and 256 GB of memory.\n\n**Note:** The numbers passed as arguments to the script are the number of workers to perform runs with.\nThe default below is to run the experiments with 2, 4, 8, 16, and 32 workers.\nModify this list based on how many cores your machine has.\n\n```bash\ndocker run --rm -it -v $PWD:/analysis tpds-proxystore /bin/bash /analysis/scripts/docker/1-stream-scaling.sh 2 4 8 16 32\n```\n\nThis will produce an output directory for each run configuration (worker counts) in `data/docker/1-stream-scaling/` containing the runtime log (`log.txt`) and results (`result.csv`).\n\n### Run Memory Management\n\nThe `scripts/docker/2-memory-management.sh` will execute the experiment with the exact parameters used in the TPDS submission.\nUse the following command to execute the experiment in the Docker image.\nCompleting all of the runs takes 1 hour and requires 32 cores and 64 GB of memory.\n\n```bash\ndocker run --rm -it -v $PWD:/analysis tpds-proxystore /bin/bash /analysis/scripts/docker/2-memory-management.sh\n```\n\nThis will produce four output directories for each of the memory management methods in `data/docker/2-memory-management/`.\nEach directory will contain the runtime log (`log.txt`) and results (`result.csv`).\n\n### Analyze Results\n\nA Jupyter Notebook is provided for each experiment to analyze process results and create figures.\nThe Jupyter Lab server can be started in the Docker container.\n\n```bash\ndocker run --rm -it -p 8888:8888 -v $PWD:/analysis tpds-proxystore /bin/bash jupyter-lab --ip 0.0.0.0 --no-browser --allow-root\n```\n\nThe Jupyter Lab can be opened on the local host using the printed link that looks like:\n```\nhttp://127.0.0.1:8888/lab?token=\u003cTOKEN\u003e\n```\n\nThe `notebooks/` directory contains one notebook for each experiment in the TPDS submission.\nOpen one of `notebooks/0-task-pipelining.ipynb`, `notebooks/1-stream-scaling.ipynb`, and `notebooks/2-memory-management.ipynb` to analyze the data produced by the above experiments.\nAt the bottom of each notebook is a section called \"Analyze Results\" containing a `path` variable to the results of the experiment you want to analyze.\nUpdate the `path` variable and run the notebook to produce figures.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproxystore%2Ftpds24-evaluation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproxystore%2Ftpds24-evaluation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproxystore%2Ftpds24-evaluation/lists"}