Loading Dockerfile 0 → 100644 +33 −0 Original line number Diff line number Diff line # How to use # - build the image # sudo docker build --network=host -t speculor . # # - launch the experiments # mkdir output; sudo docker run -v $(pwd)/output/:/output/ --cap-add=NET_ADMIN --cap-add=NET_RAW -it speculor # # - the experimental results are in the output directory. FROM rust:1.85 LABEL authors="Pierre-Louis Aublin <pierrelouis@iij.ad.jp>" ARG REPOSITORY=https://nohost.iijlab.net/gitlab/pierrelouis/dais25_speculor_ae.git ARG MAIN_DIR=/root/ RUN apt update && \ apt install -y \ curl \ git \ iptables \ python3 \ python-is-python3 \ python3-matplotlib \ python3-pandas \ openssh-server WORKDIR ${MAIN_DIR} COPY . . RUN mkdir -p /output/ # run the experiments CMD ["/root/docker_script.sh"] config.sh +2 −3 Original line number Diff line number Diff line #!/bin/bash CRYPTOTHREADS=12 SSHKEY_ARG="-i ~/.ssh/cloudlab_ed25519" # Keep the -i argument at the beginning CRYPTOTHREADS=2 if [[ -z "${HOSTS}" ]]; then # use this default array if the environment variable HOSTS is not set REPLICAS=(node0 node1 node2 node3) REPLICAS=(localhost localhost localhost localhost) else # use the set of nodes specified by $HOST if set. # e.g. HOSTS="node1 node2 node3" ./start_experiment.sh Loading create_and_export_nodes_list.sh +4 −6 Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ . ./config.sh ./create_nodes_list.sh nodes_config_hmac_sig.txt 200 1 1 ./create_nodes_list.sh nodes_config.txt 200 0 0 ./create_nodes_list.sh nodes_config_sig.txt 200 0 1 ./create_nodes_list.sh nodes_config_hmac.txt 200 1 0 for n in ${REPLICAS[@]}; do scp nodes_config*txt $n:$(pwd)/; done ./create_nodes_list.sh nodes_config_hmac_sig.txt 50 1 1 ./create_nodes_list.sh nodes_config.txt 50 0 0 ./create_nodes_list.sh nodes_config_sig.txt 50 0 1 ./create_nodes_list.sh nodes_config_hmac.txt 50 1 0 create_nodes_list.sh +2 −4 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ SIGN=${4:-0} NUM_FAULTS=1 NUM_REPLICAS=$((3*$NUM_FAULTS +1)) REPLICAS_IP=(10.10.1.1 10.10.1.2 10.10.1.3 10.10.1.4) CLIENTS_IP=(10.10.1.5) REPLICAS_IP=(127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1) CLIENTS_IP=(127.0.0.1) REPLICA_PORT=6000 REPLICA_PORT2=7000 CLIENT_PORT=8000 Loading @@ -20,8 +20,6 @@ if [ $# -lt 2 ]; then exit 1 fi cat << EOF > $1 # IP PORT_FOR_REPLICAS PORT_FOR_CLIENTS HMAC KEY==concat(pub+priv) EOF Loading docker_script.sh 0 → 100755 +12 −0 Original line number Diff line number Diff line #!/bin/bash ./create_and_export_nodes_list.sh ./f1_latency_breakdown.sh ./f2_latency_vs_throughput.sh ./f3_degradation_under_attack.sh cp -r f1 /output/ cp f1*log /output/f1/ cp -r f2 /output/ cp -r f3 /output/ Loading
Dockerfile 0 → 100644 +33 −0 Original line number Diff line number Diff line # How to use # - build the image # sudo docker build --network=host -t speculor . # # - launch the experiments # mkdir output; sudo docker run -v $(pwd)/output/:/output/ --cap-add=NET_ADMIN --cap-add=NET_RAW -it speculor # # - the experimental results are in the output directory. FROM rust:1.85 LABEL authors="Pierre-Louis Aublin <pierrelouis@iij.ad.jp>" ARG REPOSITORY=https://nohost.iijlab.net/gitlab/pierrelouis/dais25_speculor_ae.git ARG MAIN_DIR=/root/ RUN apt update && \ apt install -y \ curl \ git \ iptables \ python3 \ python-is-python3 \ python3-matplotlib \ python3-pandas \ openssh-server WORKDIR ${MAIN_DIR} COPY . . RUN mkdir -p /output/ # run the experiments CMD ["/root/docker_script.sh"]
config.sh +2 −3 Original line number Diff line number Diff line #!/bin/bash CRYPTOTHREADS=12 SSHKEY_ARG="-i ~/.ssh/cloudlab_ed25519" # Keep the -i argument at the beginning CRYPTOTHREADS=2 if [[ -z "${HOSTS}" ]]; then # use this default array if the environment variable HOSTS is not set REPLICAS=(node0 node1 node2 node3) REPLICAS=(localhost localhost localhost localhost) else # use the set of nodes specified by $HOST if set. # e.g. HOSTS="node1 node2 node3" ./start_experiment.sh Loading
create_and_export_nodes_list.sh +4 −6 Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ . ./config.sh ./create_nodes_list.sh nodes_config_hmac_sig.txt 200 1 1 ./create_nodes_list.sh nodes_config.txt 200 0 0 ./create_nodes_list.sh nodes_config_sig.txt 200 0 1 ./create_nodes_list.sh nodes_config_hmac.txt 200 1 0 for n in ${REPLICAS[@]}; do scp nodes_config*txt $n:$(pwd)/; done ./create_nodes_list.sh nodes_config_hmac_sig.txt 50 1 1 ./create_nodes_list.sh nodes_config.txt 50 0 0 ./create_nodes_list.sh nodes_config_sig.txt 50 0 1 ./create_nodes_list.sh nodes_config_hmac.txt 50 1 0
create_nodes_list.sh +2 −4 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ SIGN=${4:-0} NUM_FAULTS=1 NUM_REPLICAS=$((3*$NUM_FAULTS +1)) REPLICAS_IP=(10.10.1.1 10.10.1.2 10.10.1.3 10.10.1.4) CLIENTS_IP=(10.10.1.5) REPLICAS_IP=(127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1) CLIENTS_IP=(127.0.0.1) REPLICA_PORT=6000 REPLICA_PORT2=7000 CLIENT_PORT=8000 Loading @@ -20,8 +20,6 @@ if [ $# -lt 2 ]; then exit 1 fi cat << EOF > $1 # IP PORT_FOR_REPLICAS PORT_FOR_CLIENTS HMAC KEY==concat(pub+priv) EOF Loading
docker_script.sh 0 → 100755 +12 −0 Original line number Diff line number Diff line #!/bin/bash ./create_and_export_nodes_list.sh ./f1_latency_breakdown.sh ./f2_latency_vs_throughput.sh ./f3_degradation_under_attack.sh cp -r f1 /output/ cp f1*log /output/f1/ cp -r f2 /output/ cp -r f3 /output/