Selaa lähdekoodia

updated README

avadapal 1 vuosi sitten
vanhempi
commit
0374e309a2
1 muutettua tiedostoa jossa 25 lisäystä ja 9 poistoa
  1. 25 9
      README.md

+ 25 - 9
README.md

@@ -8,22 +8,36 @@ CONTENTS OF THIS FILE
 
 INTRODUCTION
 ------------
+ `/preprocessing` holds code for the 3-Party preprocessing phase
+ `/2p-preprocessing` holds the OT-based code 2-Party preprocessing phase
+ `/duoram-online` holds the code for online phase of the 3-Party Duoram and 2-Party reads
+ `/cpir-read`  includes the code CPIR-based reads
 
 
 Setting up the docker
 ------------
- 
+-   `sh build-docker.sh` builds the docker image
+-   `sh run-docker.sh` launches three docker containers for parties P2, P0, and P1
+-   `sh set-networking.sh` sets up the latencies and bandwidth constraints among the three docker containers launched; pass arguments of latency and bandwidth 
+-    For example `sh set-networking.sh 1ms  40mbit`. 
+-   `sh unset-networking.sh` removes the latency and bandwidth settings.
+-   `sh experiments.sh` runs the pre-processing phase of the 3-party computation.
+-   `sh experiments-online.sh` runs the online phase of the 3-party computation.
+-   `sh experiments-OT.sh` runs the OTs to generate blinds of 2-party preprocesing phase.
+-   `sh experiments-2p-preproc.sh` runs the pre-processing phase of the 2-party computation.
+-   `sh experiments-cpir.sh` runs the CPIR-based reads.
+-   `sh cleanup.sh` stops the three dockers.
 
 Running the code
 -------------
 
     1.  Prepreprocessing:
-        Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`. To generate DPFs (with `t` threads) to do `w` writes and `r` reads.
+        Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`. Suppose the goal is to generate `r` DPFs.
         The pre-processing generates DPFs with leaves of 128 bits. We use the first 64-bits for the writes. The remaining 64-bits are used for share conversion (XOR shared-flag vectors to additive shares)
-        1.1 `cd duoram/preprocessing-aes`
-        1.2 `./p2preprocessing ip1 ip0 t N w r`
-        1.3 `./preprocessing1  ip2 ip0 t N w r`
-        1.4 `./preprocessing0  ip2 ip1 t N w r`
+        1.1 `cd duoram/preprocessing`
+        1.2 `./p2preprocessing ip1 ip0 N r`
+        1.3 `./preprocessing1  ip2 ip0 N r`
+        1.4 `./preprocessing0  ip2 ip1 N r`
         
         This writes the evaluations of DPFs into a file which we use in the online phase.
 
@@ -31,10 +45,12 @@ Running the code
          Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`.  
          2.1 `cd duoram/duoram-online`
          2.2 `./p2      ip1 ip0 N W D I A` 
-         2.3 `./duoram1 ip1 ip0 N W D I A`
-         2.4 `./duoram0 ip1 ip0 N W D I A`
+         2.3 `./duoram1 ip0 ip2 N W D I A`
+         2.4 `./duoram0 ip1 ip2 N W D I A`
 
- 
+ Important Warning
+ --------------------
+This software is for performance testing ONLY! The purpose of this software is to evaluate the performance of the system, NOT to be used in a deployment scenario.