Scripts to reproduce experiments and graphs from our paper

sshsshy 8660db53af Added README.sgx.md 2 år sedan
SPIR_docker d89735613b 3x Dockers, build script, reproduce results script, and plotter script 2 år sedan
XPIR_docker d89735613b 3x Dockers, build script, reproduce results script, and plotter script 2 år sedan
ZT_docker 178f1f8ab9 Tweaks ZT_docker 2 år sedan
plotter d89735613b 3x Dockers, build script, reproduce results script, and plotter script 2 år sedan
README.md c9b2038857 Tweaking README for readability 2 år sedan
README.sgx.md 8660db53af Added README.sgx.md 2 år sedan
build_dockers.sh d89735613b 3x Dockers, build script, reproduce results script, and plotter script 2 år sedan
reproduce_results.sh d89735613b 3x Dockers, build script, reproduce results script, and plotter script 2 år sedan

README.md

To reproduce our experiments:

1) Run ./build_dockers.sh to create the docker images to reproduce XPIR, SealPIR and ZeroTrace microbenchmarks

2) Run ./reproduce_results.sh to run all the experiments in their respective dockers, populate the plotter folder with the output log files for these libraries and generate the graphs from these output logs.


To run individual microbenchmarks on their own:

For SealPIR microbenchmark:

1) Go to the SPIR_docker folder

2) Build the SealPIR docker: docker build -t spir_docker .

3) Enter the docker with: docker run -it spir_docker

4) Set the desired configs for the experiments in config.sh

5) Run ./run_sealpir.sh to run the experiments and generate the output logfile (by default log_SEALPIR unless tweaked in config.sh)

6) Copy the output file out of the docker to the plotter folder docker cp -r :/pir/Results/XPIR ./plotter

For the XPIR microbenchmark:

1) Go to the XPIR_docker folder

2) Build the XPIR docker: docker build -t xpir_docker .

3) Enter the docker with: docker run -it xpir_docker

4) Set the desired configs for the experiments in config.sh

5) Run ./run_xpir.sh to run the experiments and generate the output folder (by default /pir/Results/ within the docker)

6) Copy the output folder out of the docker to the main scripts folder docker cp :/pir/log_Results ./plotter

For the ZeroTrace microbenchmark:

1) Go to the ZT_docker folder

2) Build the ZeroTrace docker: docker build -t zt_docker .

3) Start and enter the docker with : docker run --device /dev/isgx -it zt_docker bash -c "start-aesmd && exec bash"

4) Set the desired configs in config.sh

5) run ./zt_lsoram.sh to generate the LinearScan ORAM benchmarks

6) run ./zt_hsoram.sh to generate the Circuit or Path ORAM benchmarks and use config.sh to set appropriate ORAM parameters for them.

7) Copy the results to outside of the docker for replotting graphs with our grapher script: docker cp :/pir/log_CIRCUITORAM ./plotter