"vscode:/vscode.git/clone" did not exist on "80ce18f8603dcb6abbdeff57726e96b023faaea2"
Commit 12261b31 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

experiments: makefile support for running experiments N times

make REPLICATION=N
parent c24b5511
...@@ -20,6 +20,8 @@ EXPERIMENTS := \ ...@@ -20,6 +20,8 @@ EXPERIMENTS := \
qemu-ns3-dumbbell-pair \ qemu-ns3-dumbbell-pair \
gem5-kvm-ns3-dumbbell-pair \ gem5-kvm-ns3-dumbbell-pair \
REPLICATION ?= 1
BUILDDIR := build BUILDDIR := build
OUTDIR := out OUTDIR := out
...@@ -34,13 +36,24 @@ clean: ...@@ -34,13 +36,24 @@ clean:
####################################### #######################################
# Running experiments # Running experiments
$(OUTDIR)/%/ready: experiments/%.sh $(GUESTS_TARS) define run_experiment_repl
bash $< $(OUTDIR)/%/$(1)/ready: experiments/%.sh $(GUESTS_TARS)
bash $$< $(1)
touch $$@
endef
REPLIDS := $(shell seq $(REPLICATION))
$(foreach i,$(REPLIDS), $(eval $(call run_experiment_repl,$(i))))
$(OUTDIR)/%/ready: experiments/%.sh $(addprefix $(OUTDIR)/%/,$(addsuffix /ready,$(REPLIDS)))
touch $@ touch $@
####################################### #######################################
# Guest Tars # Guest Tars
guest-tars: $(GUESTS_TARS)
define build_guest define build_guest
$(1)_OBJS := $(wildcard guests/$(1)/*) $(1)_OBJS := $(wildcard guests/$(1)/*)
$(BUILDDIR)/$(1).tar: $$($(1)_OBJS) $(BUILDDIR)/$(1).tar: $$($(1)_OBJS)
......
...@@ -39,7 +39,7 @@ GEM5_KERNEL=$EHSIM_BASE/images/vmlinux ...@@ -39,7 +39,7 @@ GEM5_KERNEL=$EHSIM_BASE/images/vmlinux
# Args: # Args:
# - experiment name # - experiment name
init_out() { init_out() {
export OUTDIR=./out/$1 export OUTDIR=./out/$1/$2
rm -rf $OUTDIR rm -rf $OUTDIR
mkdir -p $OUTDIR mkdir -p $OUTDIR
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out gem5-kvm-corundum-bm-pair init_out gem5-kvm-corundum-bm-pair $1
run_corundum_bm a run_corundum_bm a
run_corundum_bm b run_corundum_bm b
sleep 0.5 sleep 0.5
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out gem5-kvm-ns3-dumbbell-pair init_out gem5-kvm-ns3-dumbbell-pair $1
run_corundum_bm a run_corundum_bm a
run_corundum_bm b run_corundum_bm b
sleep 0.5 sleep 0.5
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out gem5-timing-corundum-verilator-pair init_out gem5-timing-corundum-verilator-pair $1
# first run to checkpoint with fast CPU # first run to checkpoint with fast CPU
run_corundum_verilator a run_corundum_verilator a
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out qemu-corundum-bm-pair init_out qemu-corundum-bm-pair $1
run_corundum_bm a run_corundum_bm a
run_corundum_bm b run_corundum_bm b
sleep 0.5 sleep 0.5
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out qemu-corundum-verilator-pair init_out qemu-corundum-verilator-pair $1
run_corundum_verilator a run_corundum_verilator a
run_corundum_verilator b run_corundum_verilator b
sleep 0.5 sleep 0.5
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out qemu-ns3-bridge-pair init_out qemu-ns3-bridge-pair $1
run_corundum_bm a run_corundum_bm a
run_corundum_bm b run_corundum_bm b
sleep 0.5 sleep 0.5
......
...@@ -2,11 +2,12 @@ ...@@ -2,11 +2,12 @@
source common-functions.sh source common-functions.sh
init_out qemu-ns3-dumbbell-pair init_out qemu-ns3-dumbbell-pair $1
run_corundum_bm a run_corundum_bm a
run_corundum_bm b run_corundum_bm b
sleep 0.5 sleep 0.5
run_ns3_dumbbell ab "a" "b" #run_ns3_dumbbell ab "a" "b" "--LinkRate=10Mbps --LinkLatency=0"
run_ns3_dumbbell ab "a" "b" "--LinkRate=10Mb/s --LinkLatency=0"
run_qemu a a build/qemu-pair-server.tar run_qemu a a build/qemu-pair-server.tar
run_qemu b b build/qemu-pair-client.tar run_qemu b b build/qemu-pair-client.tar
client_pid=$! client_pid=$!
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source common-functions.sh source common-functions.sh
init_out qemu-ns3-nopaxos init_out qemu-ns3-nopaxos $1
run_corundum_bm c0 run_corundum_bm c0
run_corundum_bm r0 run_corundum_bm r0
run_corundum_bm r1 run_corundum_bm r1
......
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