aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeterminant <[email protected]>2020-08-30 02:20:05 -0400
committerDeterminant <[email protected]>2020-08-30 02:20:05 -0400
commitca656ec422aa8f2d098d33f6abe810dbe4261977 (patch)
tree995828701175a6891d0b9c5169d0c8211767316f
parent1d54259bb1c8fe640a7addaf91c69565b9096d15 (diff)
add finishing touches to deployment readme
-rw-r--r--scripts/deploy/README.rst24
1 files changed, 18 insertions, 6 deletions
diff --git a/scripts/deploy/README.rst b/scripts/deploy/README.rst
index 89c36be..dee487b 100644
--- a/scripts/deploy/README.rst
+++ b/scripts/deploy/README.rst
@@ -10,9 +10,12 @@ Local Environment
- We assume you have the latest Ansible_ installed on your work computer (a
work computer is your laptop/home computer).
- On your work computer, you have cloned the latest ``libhotstuff`` repo and
- updated all submodules (if not sure, run ``git submodules update --init
- --recursive``). Right now, you should be at ``/scripts/deploy`` directory in
- your shell (``cd <path-to-your-libhotstuff-repo/scripts/deploy``).
+ updated all submodules (if not sure, run ``git submodule update --init
+ --recursive``). Finally, you have already built the repo so binaries
+ ``hotstuff-keygen`` and ``hotstuff-tls-keygen`` are available in the root
+ directory of the repo.
+- Right now, you should be at ``/scripts/deploy`` directory in your shell (``cd
+ <path-to-your-libhotstuff-repo>/scripts/deploy``).
Remote Environment
------------------
@@ -29,8 +32,8 @@ Remote Environment
be changed).
- Each client machine should be able to talk to all replica machines via TCP
ranging from 20000.
-
- - NOTE: In our paper, we used ``c5.4xlarge`` to be match the config of our baselines.
+ - All machines should be accessible from your work computer given an ssh private key.
+ - NOTE: In our paper, we used ``c5.4xlarge`` to match the configuration of our baselines.
Step 2 - Generate the Deployment Setup
======================================
@@ -60,8 +63,17 @@ Step 3 - Run the Experiment
- (wait for a while until all replica processes settle down, for good network like EC2, 10 seconds should be more than enough)
- (for replicas) Create a new experiment run and start all client processes by ``./run_cli.sh new myrun1_cli``.
- (wait until all commands are submitted, or you simply would like to end the experiment)
-- To collect the results, run ``./run_cli.sh stop myrun1_cli`` and then ``./run_cli.sh fetch myrun1_cli``.
+- To collect the results, run ``./run_cli.sh stop myrun1_cli`` followed by ``./run_cli.sh fetch myrun1_cli``.
- To analyze the results, run ``cat myrun1_cli/remote/*/log/stderr | python ../thr_hist.py``.
+
+ - With all default settings on ``c5.4xlarge``, I got the following results:
+
+ ::
+
+ [349669, 367520, 371855, 370391, 366159, 367565, 365957, 322690]
+ lat = 6.955ms # mean end-to-end latency
+ lat = 6.970ms # after removing outliers
+
- Finally, stop replicas: ``./run.sh stop myrun1``.
Other Notes