Browse Source

Update the README for the cuckoo simulation

Ian Goldberg 2 years ago
parent
commit
5047de1b38
1 changed files with 9 additions and 5 deletions
  1. 9 5
      README.md

+ 9 - 5
README.md

@@ -38,7 +38,9 @@ There are two other programs in the directory, `options_setup.c` and `run_tests.
 
 ### Cuckoo Simulation
 
-In order to build this code, you will need Cargo installed. From the `./dhtpir_simulation/` directory, run `cargo build` in order to build the simulation code. With the code built, run `cargo run --bin cuckoo_simulation <honest> <malicious> <log2_regions> <log2_regionsPerQuorum> <k> <nodesPerRegion> <iterations> <seed>`, with appropriate values for each of these variables. 
+In order to build this code, you will need Cargo installed. From the `./dhtpir_simulation/` directory, run `cargo build --release` in order to build the simulation code.
+
+With the code built, run `./target/release/cuckoo_simulation <honest> <malicious> <log2_regions> <k> <nodesPerRegion> <log2_regionsPerQuorum> <iterations> <seed>`, with appropriate values for each of these variables. 
 
 `<honest>` describes the number of honest nodes in the system.
 
@@ -46,15 +48,17 @@ In order to build this code, you will need Cargo installed. From the `./dhtpir_s
 
 `<log2_regions>` describes log2(the number of regions in the system).
 
-`<log2_regionsPerQuorum>` describes log2(the number of regions per quorum in the system).
-
 `<k>` describes k-1, the number of secondary joins in the commensal cuckoo rule before new primary joins are accepted.
 
-`<nodesPerRegion>` describes the desired number of nodes in a given region.
+`<nodesPerRegion>` describes the desired average number of nodes in a given region.
+
+`<log2_regionsPerQuorum>` describes log2(the number of regions per quorum in the system).  Typically use 0 for the commensal cuckoo rule.
+
+`<iterations>` is the number of malicious leaves and joins to simulate
 
 `<seed>` is a random seed.
 
-There is an additional file in this directory, `cuckoo_vars.py`, which was used to do arithmetic to calculate certain variables associated with the cuckoo and commensal cuckoo rules as used in the work.
+There are additional scripts to binary search for the largest number of malicious nodes globally that keeps the maximum fraction of malicious nodes _per quorum_ under 1/4.  Use `./find_m <nodesPerRegion> <log2_regions> <log2_regionsPerQuorum>` (which itself will call the accompanying script `./run_m <nodesPerRegion> <log2_regions> <log2_regionsPerQuorum> <malicious>`).
 
 ## Graphs