Commit bc4dd9fa authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

experiment scripts for hotnets

parent 88a956d1
...@@ -22,6 +22,15 @@ GUESTS := \ ...@@ -22,6 +22,15 @@ GUESTS := \
gem5-pair-client-8-6 \ gem5-pair-client-8-6 \
gem5-pair-client-8-7 \ gem5-pair-client-8-7 \
gem5-pair-client-8-8 \ gem5-pair-client-8-8 \
gem5-pair-server-udp \
gem5-pair-client-udp-0m \
gem5-pair-client-udp-10m \
gem5-pair-client-udp-30m \
gem5-pair-client-udp-50m \
gem5-pair-client-udp-80m \
gem5-pair-client-udp-100m \
gem5-pair-client-udp-120m \
gem5-pair-client-udp-150m \
qemu-nopaxos-replica-0 \ qemu-nopaxos-replica-0 \
qemu-nopaxos-replica-1 \ qemu-nopaxos-replica-1 \
qemu-nopaxos-replica-2 \ qemu-nopaxos-replica-2 \
...@@ -40,8 +49,33 @@ GUESTS := \ ...@@ -40,8 +49,33 @@ GUESTS := \
gem5-vr-replica-2-cp \ gem5-vr-replica-2-cp \
gem5-vr-client-cp \ gem5-vr-client-cp \
# experiments we want for the paper
EXPERIMENTS := \ EXPERIMENTS := \
qemu-ns3-nopaxos \
qemu-ns3-nopaxos-verilator \
gem5-timing-corundum-verilator-ns3-nopaxos-nocp \
gem5-timing-corundum-bm-ns3-nopaxos-nocp \
qemu-ns3-vr \
qemu-ns3-vr-verilator \
gem5-timing-corundum-verilator-ns3-vr-nocp \
gem5-timing-corundum-bm-ns3-vr-nocp \
qemu-corundum-bm-switched-1 \
qemu-corundum-bm-switched-8 \
qemu-corundum-verilator-switched-1 \
qemu-corundum-verilator-switched-8 \
gem5-timing-corundum-verilator-switched-1-nocp \
gem5-timing-corundum-verilator-switched-8-nocp \
gem5-timing-corundum-verilator-pair-udp-0m \
gem5-timing-corundum-verilator-pair-udp-10m \
gem5-timing-corundum-verilator-pair-udp-30m \
gem5-timing-corundum-verilator-pair-udp-50m \
gem5-timing-corundum-verilator-pair-udp-80m \
gem5-timing-corundum-verilator-pair-udp-100m \
gem5-timing-corundum-verilator-pair-udp-150m \
# all experiments in repo
ALL_EXPERIMENTS := \
$(EXPERIMENTS) \
qemu-corundum-bm-pair \ qemu-corundum-bm-pair \
qemu-corundum-verilator-pair \ qemu-corundum-verilator-pair \
gem5-kvm-corundum-bm-pair \ gem5-kvm-corundum-bm-pair \
...@@ -63,7 +97,7 @@ OUTDIR := out ...@@ -63,7 +97,7 @@ OUTDIR := out
GUESTS_TARS := $(addprefix $(BUILDDIR)/,$(addsuffix .tar, $(GUESTS))) GUESTS_TARS := $(addprefix $(BUILDDIR)/,$(addsuffix .tar, $(GUESTS)))
EXPERIMENTS_READY := $(addprefix $(OUTDIR)/,$(addsuffix /ready,$(EXPERIMENTS))) EXPERIMENTS_READY := $(addprefix $(OUTDIR)/,$(addsuffix /ready,$(EXPERIMENTS)))
all: $(GUESTS_TARS) $(EXPERIMENTS_READY) all: guest-tars experiments
clean: clean:
rm -rf $(BUILDDIR) $(OUTDIR) rm -rf $(BUILDDIR) $(OUTDIR)
...@@ -71,6 +105,8 @@ clean: ...@@ -71,6 +105,8 @@ clean:
####################################### #######################################
# Running experiments # Running experiments
experiments: $(EXPERIMENTS_READY)
define run_experiment_repl define run_experiment_repl
$(OUTDIR)/%/$(1)/ready: experiments/%.sh $(GUESTS_TARS) $(OUTDIR)/%/$(1)/ready: experiments/%.sh $(GUESTS_TARS)
bash $$< $(1) bash $$< $(1)
......
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-0m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-0m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-100m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-100m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-10m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-10m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-120m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-120m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-150m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-150m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-30m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-30m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-50m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-50m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out gem5-timing-corundum-verilator-pair-udp-80m $1
run_corundum_verilator a
run_corundum_verilator b
sleep 0.5
run_wire ab a b
run_gem5 a a build/gem5-pair-server-udp.tar TimingSimpleCPU server "--cosim-sync"
run_gem5 b b build/gem5-pair-client-udp-80m.tar TimingSimpleCPU client "--cosim-sync"
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out qemu-corundum-bm-switched-1 $1
run_corundum_bm a
run_corundum_bm b
sleep 0.5
run_ns3_dumbbell bridge "a" "b" "--LinkRate=100Mb/s --LinkLatency=0"
run_qemu a a build/qemu-pair-server.tar
sleep 10
run_qemu b b build/qemu-pair-client.tar
client_pid=$!
wait $client_pid
cleanup
#!/bin/bash
source common-functions.sh
init_out qemu-corundum-bm-switched-8 $1
run_corundum_bm a
run_corundum_bm b
run_corundum_bm c
run_corundum_bm d
run_corundum_bm e
run_corundum_bm f
run_corundum_bm g
run_corundum_bm h
run_corundum_bm i
sleep 0.5
run_ns3_dumbbell bridge "a" "b c d e f g h i" "--LinkRate=100Mb/s --LinkLatency=0"
run_qemu a a build/qemu-pair-server.tar
sleep 10
client_pids=""
run_qemu b b build/qemu-pair-client-8-1.tar
client_pids="$client_pids $!"
run_qemu c c build/qemu-pair-client-8-2.tar
client_pids="$client_pids $!"
run_qemu d d build/qemu-pair-client-8-3.tar
client_pids="$client_pids $!"
run_qemu e e build/qemu-pair-client-8-4.tar
client_pids="$client_pids $!"
run_qemu f f build/qemu-pair-client-8-5.tar
client_pids="$client_pids $!"
run_qemu g g build/qemu-pair-client-8-6.tar
client_pids="$client_pids $!"
run_qemu h h build/qemu-pair-client-8-7.tar
client_pids="$client_pids $!"
run_qemu i i build/qemu-pair-client-8-8.tar
client_pids="$client_pids $!"
for p in $client_pids; do
wait $p
done
cleanup
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
sleep 10
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 100m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 10m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 120m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 150m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 30m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 50m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.2/24 dev eth0
sleep 2
iperf -c 192.168.64.1 -u -b 80m
m5 exit
#!/bin/bash
insmod mqnic.ko
ip link set dev eth0 up
ip addr add 192.168.64.1/24 dev eth0
iperf -s -u
m5 exit
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment