Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
f65c4bc3
Commit
f65c4bc3
authored
Feb 07, 2021
by
Antoine Kaufmann
Browse files
experiments: remove old Makefile & shell scripts
parent
015109d6
Changes
114
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
0 additions
and
881 deletions
+0
-881
experiments/Makefile
experiments/Makefile
+0
-215
experiments/common-functions.sh
experiments/common-functions.sh
+0
-296
experiments/experiments/gem5-i40e-cc-mck.sh
experiments/experiments/gem5-i40e-cc-mck.sh
+0
-20
experiments/experiments/gem5-i40e-cc.sh
experiments/experiments/gem5-i40e-cc.sh
+0
-20
experiments/experiments/gem5-i40e-pair-mck.sh
experiments/experiments/gem5-i40e-pair-mck.sh
+0
-18
experiments/experiments/gem5-i40e-pair.sh
experiments/experiments/gem5-i40e-pair.sh
+0
-18
experiments/experiments/gem5-kvm-corundum-bm-pair.sh
experiments/experiments/gem5-kvm-corundum-bm-pair.sh
+0
-14
experiments/experiments/gem5-kvm-ns3-dumbbell-pair.sh
experiments/experiments/gem5-kvm-ns3-dumbbell-pair.sh
+0
-14
experiments/experiments/gem5-ns3-nopaxos-kvm-bm.sh
experiments/experiments/gem5-ns3-nopaxos-kvm-bm.sh
+0
-20
experiments/experiments/gem5-timing-corundum-bm-ns3-nopaxos-nocp.sh
...s/experiments/gem5-timing-corundum-bm-ns3-nopaxos-nocp.sh
+0
-22
experiments/experiments/gem5-timing-corundum-bm-ns3-nopaxos.sh
...iments/experiments/gem5-timing-corundum-bm-ns3-nopaxos.sh
+0
-38
experiments/experiments/gem5-timing-corundum-bm-ns3-vr-nocp.sh
...iments/experiments/gem5-timing-corundum-bm-ns3-vr-nocp.sh
+0
-22
experiments/experiments/gem5-timing-corundum-verilator-ns3-nopaxos-nocp.sh
...iments/gem5-timing-corundum-verilator-ns3-nopaxos-nocp.sh
+0
-19
experiments/experiments/gem5-timing-corundum-verilator-ns3-nopaxos.sh
...experiments/gem5-timing-corundum-verilator-ns3-nopaxos.sh
+0
-38
experiments/experiments/gem5-timing-corundum-verilator-ns3-vr-nocp.sh
...experiments/gem5-timing-corundum-verilator-ns3-vr-nocp.sh
+0
-19
experiments/experiments/gem5-timing-corundum-verilator-pair-cp-mck.sh
...experiments/gem5-timing-corundum-verilator-pair-cp-mck.sh
+0
-22
experiments/experiments/gem5-timing-corundum-verilator-pair-cp.sh
...nts/experiments/gem5-timing-corundum-verilator-pair-cp.sh
+0
-21
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-0m.sh
...experiments/gem5-timing-corundum-verilator-pair-udp-0m.sh
+0
-15
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-100m.sh
...periments/gem5-timing-corundum-verilator-pair-udp-100m.sh
+0
-15
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-10m.sh
...xperiments/gem5-timing-corundum-verilator-pair-udp-10m.sh
+0
-15
No files found.
experiments/Makefile
deleted
100644 → 0
View file @
015109d6
MQNICMOD
:=
$(
abspath
../images/mqnic/mqnic.ko
)
EXP_RUNNER
?=
bash
GUESTS
:=
\
qemu-pair-client
\
qemu-pair-client-8-1
\
qemu-pair-client-8-2
\
qemu-pair-client-8-3
\
qemu-pair-client-8-4
\
qemu-pair-client-8-5
\
qemu-pair-client-8-6
\
qemu-pair-client-8-7
\
qemu-pair-client-8-8
\
qemu-pair-server
\
gem5-pair-client
\
gem5-pair-server-cp
\
gem5-pair-client-cp
\
gem5-pair-client-8-1
\
gem5-pair-client-8-2
\
gem5-pair-client-8-3
\
gem5-pair-client-8-4
\
gem5-pair-client-8-5
\
gem5-pair-client-8-6
\
gem5-pair-client-8-7
\
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-1
\
qemu-nopaxos-replica-2
\
qemu-nopaxos-client
\
qemu-nopaxos-endhost-sequencer
\
gem5-nopaxos-client
\
gem5-nopaxos-replica-0-cp
\
gem5-nopaxos-replica-1-cp
\
gem5-nopaxos-replica-2-cp
\
gem5-nopaxos-client-cp
\
qemu-vr-replica-0
\
qemu-vr-replica-1
\
qemu-vr-replica-2
\
qemu-vr-client
\
gem5-vr-replica-0-cp
\
gem5-vr-replica-1-cp
\
gem5-vr-replica-2-cp
\
gem5-vr-client-cp
\
qemu-mtcp-server
\
qemu-mtcp-client
\
gem5-pair-i40e-server
\
gem5-pair-i40e-client
\
gem5-pair-i40e-client-2
\
qemu-pair-i40e-server
\
qemu-pair-i40e-client
\
qemu-pair-i40e-client-2
\
qemu-i40e-rpc-server
\
qemu-i40e-rpc-client
\
qemu-tas-server
\
qemu-tas-client
\
qemu-echo-client
\
qemu-echo-server-0
\
qemu-echo-server-1
\
qemu-echo-server-2
\
# experiments we want for the paper
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
\
#experiments using check points
EXP_CP
:=
\
gem5-timing-corundum-verilator-pair-cp
\
gem5-i40e-pair
\
gem5-i40e-mtcp
\
gem5-i40e-cc
\
#experiments not using check points
EXP_NCP
:=
\
qemu-corundum-bm-echo-switch
\
qemu-corundum-bm-pair
\
qemu-corundum-bm-switched-1
\
qemu-i40e-bm-mtcp
\
qemu-i40e-bm-rpc
\
qemu-i40e-bm-pair
\
qemu-i40e-bm-tas
\
qemu-i40e-bm-cc
\
qemu-ns3-nopaxos
\
qemu-ns3-nopaxos-endhost-sequencer
\
# all experiments in repo
ALL_EXPERIMENTS
:=
\
$(EXPERIMENTS)
\
qemu-corundum-bm-pair
\
qemu-corundum-verilator-pair
\
gem5-kvm-corundum-bm-pair
\
gem5-timing-corundum-verilator-pair
\
qemu-ns3-bridge-pair
\
qemu-ns3-dumbbell-pair
\
gem5-kvm-ns3-dumbbell-pair
\
gem5-kvm-corundum-verilator-pair
\
gem5-timing-corundum-verilator-pair-udp
\
gem5-timing-corundum-verilator-pair-largewin
\
gem5-timing-corundum-verilator-pair-16f
\
REPLICATION
?=
1
BUILDDIR
:=
build
OUTDIR
:=
out
GUESTS_TARS
:=
$(
addprefix
$(BUILDDIR)
/,
$(
addsuffix
.tar,
$(GUESTS)
))
EXPERIMENTS_READY
:=
$(
addprefix
$(OUTDIR)
/,
$(
addsuffix
/ready,
$(EXPERIMENTS)
))
EXP_CP_READY
:=
$(
addprefix
$(OUTDIR)
/,
$(
addsuffix
/ready,
$(EXP_CP)
))
EXP_NCP_READY
:=
$(
addprefix
$(OUTDIR)
/,
$(
addsuffix
/ready,
$(EXP_NCP)
))
all
:
guest-tars experiments
clean
:
rm
-rf
$(BUILDDIR)
$(OUTDIR)
#######################################
# Running experiments
REPLIDS
:=
$(
shell
seq
$(REPLICATION)
)
experiments-ncp
:
$(EXP_NCP_READY)
experiments-cp
:
$(EXP_CP_READY)
experiments
:
$(EXPERIMENTS_READY)
define
run_ex_ncp_repl
$(OUTDIR)/$(1)/$(2)/ready
:
experiments/$(addsuffix .sh
,
$(1)) $(GUESTS_TARS)
$(EXP_RUNNER)
$$
<
$(2)
@
# hacks for our NFS :/
@
ls
$(OUTDIR)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
/
$(2)
>
/dev/null
touch
$$
@
endef
define
run_ex_ncp
$(foreach
i,$(REPLIDS),$(eval
$(call
run_ex_ncp_repl,$(1),$(i))))
$(OUTDIR)/$(1)/ready
:
experiments/$(addsuffix .sh
,
$(1)) $(addprefix $(OUTDIR)/$(1)/
,
$(addsuffix /ready
,
$(REPLIDS)))
touch
$$
@
endef
define
run_ex_cp_repl
$(OUTDIR)/$(1)/$(2)/ready
:
experiments/$(addsuffix .sh
,
$(1)) $(OUTDIR)/$(1)/checkpoint/ready $(GUESTS_TARS)
$(EXP_RUNNER)
$$
<
$(2)
@
# hacks for our NFS :/
@
ls
$(OUTDIR)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
/
$(2)
>
/dev/null
touch
$$
@
endef
define
run_ex_cp
$(foreach
i,$(REPLIDS),$(eval
$(call
run_ex_cp_repl,$(1),$(i))))
$(OUTDIR)/$(1)/checkpoint/ready
:
experiments/$(addsuffix -mck.sh
,
$(1)) $(GUESTS_TARS)
$(EXP_RUNNER)
$$
<
@
# hacks for our NFS :/
@
ls
$(OUTDIR)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
>
/dev/null
@
ls
$(OUTDIR)
/
$(1)
/
$(2)
>
/dev/null
touch
$$
@
$(OUTDIR)/$(1)/ready
:
experiments/$(addsuffix .sh
,
$(1)) $(addprefix $(OUTDIR)/$(1)/
,
$(addsuffix /ready
,
$(REPLIDS)))
touch
$$
@
endef
$(foreach
sc,
$(EXP_CP),$(eval
$(call
run_ex_cp,$(sc))))
$(foreach
sc,
$(EXP_NCP),$(eval
$(call
run_ex_ncp,$(sc))))
#######################################
# Guest Tars
guest-tars
:
$(GUESTS_TARS)
define
build_guest
$(1)_OBJS
:=
$(
wildcard
guests/
$(1)
/
*
)
$(BUILDDIR)/$(1).tar
:
$$($(1)_OBJS)
rm
-rf
$(BUILDDIR)
/
$(1)
mkdir
-p
$(BUILDDIR)
/
$(1)
/guest
cp
$(MQNICMOD)
$(BUILDDIR)
/
$(1)
/guest/
cp
$$
(
$(1)
_OBJS
)
$(BUILDDIR)
/
$(1)
/guest/
cd
$(BUILDDIR)
/
$(1)
&&
tar
cf
$
$(
abspath
$$
@
)
guest/
rm
-rf
$(BUILDDIR)
/
$(1)
endef
$(foreach
guest,$(GUESTS),
$(eval
$(call
build_guest,$(guest))))
experiments/common-functions.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
EHSIM_BASE
=
"
$(
readlink
-f
$(
dirname
${
BASH_SOURCE
[0]
}
)
/..
)
"
QEMU_CMD
=
"
$EHSIM_BASE
/qemu/x86_64-softmmu/qemu-system-x86_64"
QEMU_IMG
=
"
$EHSIM_BASE
/qemu/qemu-img"
GEM5_BASE
=
"
$EHSIM_BASE
/gem5"
NS3_BASE
=
"
$EHSIM_BASE
/ns-3"
OUTDIR_BASE
=
"
$EHSIM_BASE
/experiments/out"
WORKDIR_BASE
=
"
$OUTDIR_BASE
"
if
[
-f
local-config.sh
]
;
then
source
local-config.sh
fi
if
[
!
-d
"
$EHSIM_BASE
"
]
;
then
echo
"
\$
EHSIM_BASE should be set to the absolute path of the root"
\
"of this repo (local-config.sh)"
exit
1
fi
if
[
!
-f
"
$QEMU_CMD
"
]
;
then
echo
"
\$
QEMU_CMD should be set to the absolute path to a QEMU instance"
\
"with cosim support (local-config.sh)"
exit
1
fi
if
[
!
-d
"
$GEM5_BASE
"
]
;
then
echo
"
\$
GEM5_BASE should be set to the absolute path to a built gem5 repo"
\
"(local-config.sh)"
exit
1
fi
if
[
!
-d
"
$NS3_BASE
"
]
;
then
echo
"
\$
NS3_BASE should be set to the absolute path to a built ns3 repo"
\
"(local-config.sh)"
exit
1
fi
QEMU_IMAGE
=
$EHSIM_BASE
/images/output-base/base
QEMU_KERNEL
=
$EHSIM_BASE
/images/bzImage
GEM5_IMAGE
=
$EHSIM_BASE
/images/output-base/base.raw
GEM5_KERNEL
=
$EHSIM_BASE
/images/vmlinux
# Args:
# - experiment name
init_out
()
{
export
OUTDIR
=
$OUTDIR_BASE
/
$1
/
$2
export
WORKDIR
=
$WORKDIR_BASE
/
$1
/
$2
rm
-rf
$OUTDIR
$WORKDIR
mkdir
-p
$OUTDIR
$WORKDIR
date
>
$OUTDIR
/starttime
}
# Args:
# - Instance name
# - Cosim instance
# - secondary hard drive
# - [optional primary image name: default ubuntu1804-base]
# - [optional: additinoal qemu arguments]
run_qemu
()
{
img_a
=
"
$WORKDIR
/qemu.hd.a.
$1
"
img_b
=
"
$WORKDIR
/qemu.hd.b.
$1
"
pcisock
=
"
$WORKDIR
/pci.
$2
"
rm
-f
$img_a
$img_b
echo
Creating disk
for
qemu
$1
if
[
-z
"
$4
"
]
;
then
$QEMU_IMG
create
-f
qcow2
-o
backing_file
=
$QEMU_IMAGE
$img_a
else
$QEMU_IMG
create
-f
qcow2
-o
backing_file
=
"
$EHSIM_BASE
/images/output-
$4
/
$4
"
$img_a
fi
cp
$3
$img_b
echo
Starting qemu
$1
#i40e.debug=0x8fffffff
#hugepages=1024
$QEMU_CMD
-machine
q35
-cpu
host
\
-drive
file
=
$img_a
,if
=
ide,index
=
0,media
=
disk
\
-drive
file
=
$img_b
,if
=
ide,index
=
1,media
=
disk,driver
=
raw
\
-kernel
$QEMU_KERNEL
\
-append
"earlyprintk=ttyS0 console=ttyS0 root=/dev/sda1 init=/home/ubuntu/guestinit.sh rw"
\
-serial
mon:stdio
-m
$((
16
*
1024
))
-smp
1
-display
none
-enable-kvm
\
-nic
none
\
-chardev
socket,path
=
$pcisock
,id
=
cosimcd
\
-device
cosim-pci,chardev
=
cosimcd
\
$5
&>
$OUTDIR
/qemu.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - Cosim instance
# - secondary hard drive
# - cpu type
# - checkpoint dir
# - extra flags
# - [optional primary image name: default ubuntu1804-base]
run_gem5
()
{
echo
Starting gem5
$1
pcisock
=
"
$WORKDIR
/pci.
$2
"
shm
=
"
$WORKDIR
/shm.
$2
"
cpdir
=
"
$WORKDIR
/../checkpoint/checkpoints.
$5
"
mkdir
-p
$cpdir
if
[
-z
"
$7
"
]
;
then
img
=
"
$GEM5_IMAGE
"
else
img
=
"
$EHSIM_BASE
/images/output-
$7
/
$7
.raw"
fi
$GEM5_BASE
/build/X86/gem5.opt
\
--outdir
=
$OUTDIR
/gem5.out.
$1
\
$GEM5_BASE
/configs/cosim/cosim.py
\
--caches
--l2cache
--l3cache
\
--l1d_size
=
32kB
\
--l1i_size
=
32kB
\
--l2_size
=
2MB
\
--l3_size
=
32MB
\
--cacheline_size
=
64
\
--cpu-clock
=
3GHz
\
--kernel
=
$GEM5_KERNEL
--disk-image
=
$img
--disk-image
=
$3
\
--cpu-type
=
$4
--mem-size
=
16GB
--cosim-pci
=
$pcisock
--cosim-shm
=
$shm
\
--ddio-enabled
--ddio-way-part
=
8
--mem-type
=
DDR4_2400_16x4
\
--checkpoint-dir
=
"
$cpdir
"
$6
\
&>
$OUTDIR
/gem5.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
run_corundum_verilator
()
{
echo
Starting corundum_verilator
$1
$EHSIM_BASE
/corundum/corundum_verilator
\
$WORKDIR
/pci.
$1
$WORKDIR
/eth.
$1
$WORKDIR
/shm.
$1
\
&>
$OUTDIR
/corundum_verilator.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
run_corundum_bm
()
{
echo
Starting corundum_bm
$1
$EHSIM_BASE
/corundum_bm/corundum_bm
\
$WORKDIR
/pci.
$1
$WORKDIR
/eth.
$1
$WORKDIR
/shm.
$1
\
&>
$OUTDIR
/corundum_bm.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
run_i40e_bm
()
{
echo
Starting i40e
$1
$EHSIM_BASE
/i40e_bm/i40e_bm
\
$WORKDIR
/pci.
$1
$WORKDIR
/eth.
$1
$WORKDIR
/shm.
$1
\
&>
$OUTDIR
/i40e_bm.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - sim instance 1
# - sim instance 2
# - [optional: pcap filename]
run_wire
()
{
echo
Starting wire
$1
if
[
-z
"
$4
"
]
;
then
pcap
=
else
pcap
=
"
$OUTDIR
/
$4
.pcap"
fi
$EHSIM_BASE
/net_wire/net_wire
\
$WORKDIR
/eth.
$2
$WORKDIR
/eth.
$3
$pcap
&>
$OUTDIR
/wire.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - sim instance 1
# - sim instance 2
# - [sim instance 3, ...]
run_switch
()
{
echo
Starting switch
$1
args
=
for
iface
in
${
@
:2
}
do
args
=
"
$args
-s
$WORKDIR
/eth.
$iface
"
done
$EHSIM_BASE
/net_switch/net_switch
\
$args
&>
$OUTDIR
/switch.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - Port names
run_ns3_bridge
()
{
ports
=
""
for
p
in
$2
;
do
epath
=
"
`
readlink
-f
$WORKDIR
/eth.
$p
`
"
ports
=
"
$ports
--CosimPort=
$epath
"
done
$NS3_BASE
/cosim-run.sh cosim cosim-bridge-example
\
$ports
&>
$OUTDIR
/ns3_bridge.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - Left Port names
# - Right Port names
# - Other args
run_ns3_dumbbell
()
{
ports
=
""
for
p
in
$2
;
do
epath
=
"
`
readlink
-f
$WORKDIR
/eth.
$p
`
"
ports
=
"
$ports
--CosimPortLeft=
$epath
"
done
for
p
in
$3
;
do
epath
=
"
`
readlink
-f
$WORKDIR
/eth.
$p
`
"
ports
=
"
$ports
--CosimPortRight=
$epath
"
done
$NS3_BASE
/cosim-run.sh cosim cosim-dumbbell-example
\
$ports
$4
&>
$OUTDIR
/ns3_dumbbell.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
# Args:
# - Instance name
# - Client Port names
# - Server Port names
# - Other args
run_ns3_sequencer
()
{
ports
=
""
for
p
in
$2
;
do
epath
=
"
`
readlink
-f
$WORKDIR
/eth.
$p
`
"
ports
=
"
$ports
--ClientPort=
$epath
"
done
for
p
in
$3
;
do
epath
=
"
`
readlink
-f
$WORKDIR
/eth.
$p
`
"
ports
=
"
$ports
--ServerPort=
$epath
"
done
for
p
in
$4
;
do
epath
=
"
`
readlink
-f
$OUTDIR
/eth.
$p
`
"
ports
=
"
$ports
--EndhostSequencerPort=
$epath
"
done
$NS3_BASE
/cosim-run.sh sequencer sequencer-single-switch-example
\
$ports
$5
&>
$OUTDIR
/ns3_sequencer.
$1
.log &
pid
=
$!
ALL_PIDS
=
"
$ALL_PIDS
$pid
"
return
$pid
}
cleanup
()
{
echo
Cleaning up
for
p
in
$ALL_PIDS
;
do
kill
$p
&>/dev/null
done
sleep
1
for
p
in
$ALL_PIDS
;
do
kill
-KILL
$p
&>/dev/null
done
if
[
"
$OUTDIR
"
!=
"
$WORKDIR
"
]
;
then
rm
-rf
$WORKDIR
else
rm
-f
$WORKDIR
/
{
qemu.hd.
*
,shm.
*
,pci.
*
,eth.
*
}
fi
date
>>
$OUTDIR
/endtime
}
sighandler
()
{
echo
"Caught Interrupt, aborting...."
cleanup
exit
1
}
trap
"sighandler"
SIGINT
experiments/experiments/gem5-i40e-cc-mck.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-i40e-cc checkpoint
# first run to checkpoint with fast CPU
run_i40e_bm a
run_i40e_bm b
run_i40e_bm c
sleep
2
run_ns3_bridge bridge
"a b c"
run_gem5 a a build/gem5-pair-i40e-server.tar X86KvmCPU server
"--cosim-type=i40e"
run_gem5 b b build/gem5-pair-i40e-client.tar X86KvmCPU client
"--cosim-type=i40e"
run_gem5 c c build/gem5-pair-i40e-client-2.tar X86KvmCPU client2
"--cosim-type=i40e"
client_pid
=
$!
wait
$client_pid
cleanup
echo
"Took checkpoint successfully"
experiments/experiments/gem5-i40e-cc.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-i40e-cc
$1
echo
"Restoring from checkpoint"
# then run with timing CPU
run_i40e_bm a
run_i40e_bm b
run_i40e_bm c
sleep
0.5
run_ns3_bridge bridge
"a b c"
run_gem5 a a build/gem5-pair-i40e-server.tar TimingSimpleCPU server
"-r 0 --cosim-sync --cosim-type=i40e"
run_gem5 b b build/gem5-pair-i40e-client.tar TimingSimpleCPU client
"-r 0 --cosim-sync --cosim-type=i40e"
run_gem5 c c build/gem5-pair-i40e-client-2.tar TimingSimpleCPU client2
"-r 0 --cosim-sync --cosim-type=i40e"
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-i40e-pair-mck.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-i40e-pair checkpoint
# first run to checkpoint with fast CPU
run_i40e_bm a
run_i40e_bm b
sleep
2
run_wire ab a b
run_gem5 a a build/gem5-pair-i40e-server.tar X86KvmCPU server
"--cosim-type=i40e"
run_gem5 b b build/gem5-pair-i40e-client.tar X86KvmCPU client
"--cosim-type=i40e"
client_pid
=
$!
wait
$client_pid
cleanup
echo
"Took checkpoint successfully"
experiments/experiments/gem5-i40e-pair.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-i40e-pair
$1
echo
"Restoring from checkpoint"
# then run with timing CPU
run_i40e_bm a
run_i40e_bm b
sleep
0.5
run_wire a a b
run_gem5 a a build/gem5-pair-i40e-server.tar TimingSimpleCPU server
"-r 0 --cosim-sync --cosim-type=i40e"
run_gem5 b b build/gem5-pair-i40e-client.tar TimingSimpleCPU client
"-r 0 --cosim-sync --cosim-type=i40e"
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-kvm-corundum-bm-pair.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-kvm-corundum-bm-pair
$1
run_corundum_bm a
run_corundum_bm b
sleep
0.5
run_wire ab a b
run_gem5 a a build/qemu-pair-server.tar X86KvmCPU a
run_gem5 b b build/gem5-pair-client.tar X86KvmCPU b
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-kvm-ns3-dumbbell-pair.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-kvm-ns3-dumbbell-pair
$1
run_corundum_bm a
run_corundum_bm b
sleep
0.5
run_ns3_dumbbell ab
"a"
"b"
run_gem5 a a build/qemu-pair-server.tar X86KvmCPU a
run_gem5 b b build/gem5-pair-client.tar X86KvmCPU b
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-ns3-nopaxos-kvm-bm.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-ns3-nopaxos-kvm-bm
$1
run_corundum_bm c0
run_corundum_bm r0
run_corundum_bm r1
run_corundum_bm r2
sleep
0.5
run_ns3_sequencer nopaxos
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/qemu-nopaxos-replica-0.tar X86KvmCPU r0
""
nopaxos
sleep
1
run_gem5 r1 r1 build/qemu-nopaxos-replica-1.tar X86KvmCPU r1
""
nopaxos
run_gem5 r2 r2 build/qemu-nopaxos-replica-2.tar X86KvmCPU r2
""
nopaxos
sleep
1
run_gem5 c0 c0 build/gem5-nopaxos-client.tar X86KvmCPU c0
""
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-bm-ns3-nopaxos-nocp.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-bm-ns3-nopaxos-nocp
$1
# first run to checkpoint with fast CPU
run_corundum_bm c0
run_corundum_bm r0
run_corundum_bm r1
run_corundum_bm r2
sleep
0.5
run_ns3_sequencer nopaxos
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-nopaxos-replica-0-cp.tar TimingSimpleCPU r0
""
nopaxos
sleep
60
run_gem5 r1 r1 build/gem5-nopaxos-replica-1-cp.tar TimingSimpleCPU r1
""
nopaxos
run_gem5 r2 r2 build/gem5-nopaxos-replica-2-cp.tar TimingSimpleCPU r2
""
nopaxos
sleep
60
run_gem5 c0 c0 build/gem5-nopaxos-client-cp.tar TimingSimpleCPU c0
""
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-bm-ns3-nopaxos.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-bm-ns3-nopaxos
$1
# first run to checkpoint with fast CPU
run_corundum_bm c0
run_corundum_bm r0
run_corundum_bm r1
run_corundum_bm r2
sleep
0.5
run_ns3_sequencer nopaxos
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-nopaxos-replica-0-cp.tar X86KvmCPU r0
""
nopaxos
run_gem5 r1 r1 build/gem5-nopaxos-replica-1-cp.tar X86KvmCPU r1
""
nopaxos
run_gem5 r2 r2 build/gem5-nopaxos-replica-2-cp.tar X86KvmCPU r2
""
nopaxos
run_gem5 c0 c0 build/gem5-nopaxos-client-cp.tar X86KvmCPU c0
""
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
echo
"took checkpoint successfully"
# then run with timing CPU
run_corundum_bm c0_cp
run_corundum_bm r0_cp
run_corundum_bm r1_cp
run_corundum_bm r2_cp
sleep
0.5
run_ns3_sequencer nopaxos_cp
"c0_cp"
"r0_cp r1_cp r2_cp"
run_gem5 r0_cp r0_cp build/gem5-nopaxos-replica-0-cp.tar TimingSimpleCPU r0
"-r 0"
nopaxos
run_gem5 r1_cp r1_cp build/gem5-nopaxos-replica-1-cp.tar TimingSimpleCPU r1
"-r 0"
nopaxos
run_gem5 r2_cp r2_cp build/gem5-nopaxos-replica-2-cp.tar TimingSimpleCPU r2
"-r 0"
nopaxos
run_gem5 c0_cp c0_cp build/gem5-nopaxos-client-cp.tar TimingSimpleCPU c0
"-r 0"
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-bm-ns3-vr-nocp.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-bm-ns3-vr-nocp
$1
# first run to checkpoint with fast CPU
run_corundum_bm c0
run_corundum_bm r0
run_corundum_bm r1
run_corundum_bm r2
sleep
0.5
run_ns3_sequencer vr
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-vr-replica-0-cp.tar TimingSimpleCPU r0
sleep
60
run_gem5 r1 r1 build/gem5-vr-replica-1-cp.tar TimingSimpleCPU r1
run_gem5 r2 r2 build/gem5-vr-replica-2-cp.tar TimingSimpleCPU r2
sleep
60
run_gem5 c0 c0 build/gem5-vr-client-cp.tar TimingSimpleCPU c0
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-verilator-ns3-nopaxos-nocp.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-verilator-ns3-nopaxos-nocp
$1
run_corundum_verilator c0
run_corundum_verilator r0
run_corundum_verilator r1
run_corundum_verilator r2
sleep
0.5
run_ns3_sequencer nopaxos
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-nopaxos-replica-0-cp.tar TimingSimpleCPU r0
"--cosim-sync"
nopaxos
run_gem5 r1 r1 build/gem5-nopaxos-replica-1-cp.tar TimingSimpleCPU r1
"--cosim-sync"
nopaxos
run_gem5 r2 r2 build/gem5-nopaxos-replica-2-cp.tar TimingSimpleCPU r2
"--cosim-sync"
nopaxos
run_gem5 c0 c0 build/gem5-nopaxos-client-cp.tar TimingSimpleCPU c0
"--cosim-sync"
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-verilator-ns3-nopaxos.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-verilator-ns3-nopaxos
$1
# first run to checkpoint with fast CPU
run_corundum_verilator c0
run_corundum_verilator r0
run_corundum_verilator r1
run_corundum_verilator r2
sleep
0.5
run_ns3_sequencer nopaxos
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-nopaxos-replica-0-cp.tar X86KvmCPU r0
""
nopaxos
run_gem5 r1 r1 build/gem5-nopaxos-replica-1-cp.tar X86KvmCPU r1
""
nopaxos
run_gem5 r2 r2 build/gem5-nopaxos-replica-2-cp.tar X86KvmCPU r2
""
nopaxos
run_gem5 c0 c0 build/gem5-nopaxos-client-cp.tar X86KvmCPU c0
""
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
echo
"took checkpoint successfully"
# then run with timing CPU
run_corundum_verilator c0_cp
run_corundum_verilator r0_cp
run_corundum_verilator r1_cp
run_corundum_verilator r2_cp
sleep
0.5
run_ns3_sequencer nopaxos_cp
"c0_cp"
"r0_cp r1_cp r2_cp"
run_gem5 r0_cp r0_cp build/gem5-nopaxos-replica-0-cp.tar TimingSimpleCPU r0
"-r 0 --cosim-sync"
nopaxos
run_gem5 r1_cp r1_cp build/gem5-nopaxos-replica-1-cp.tar TimingSimpleCPU r1
"-r 0 --cosim-sync"
nopaxos
run_gem5 r2_cp r2_cp build/gem5-nopaxos-replica-2-cp.tar TimingSimpleCPU r2
"-r 0 --cosim-sync"
nopaxos
run_gem5 c0_cp c0_cp build/gem5-nopaxos-client-cp.tar TimingSimpleCPU c0
"-r 0 --cosim-sync"
nopaxos
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-verilator-ns3-vr-nocp.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-verilator-ns3-vr-nocp
$1
run_corundum_verilator c0
run_corundum_verilator r0
run_corundum_verilator r1
run_corundum_verilator r2
sleep
0.5
run_ns3_sequencer vr
"c0"
"r0 r1 r2"
run_gem5 r0 r0 build/gem5-vr-replica-0-cp.tar TimingSimpleCPU r0
"--cosim-sync"
run_gem5 r1 r1 build/gem5-vr-replica-1-cp.tar TimingSimpleCPU r1
"--cosim-sync"
run_gem5 r2 r2 build/gem5-vr-replica-2-cp.tar TimingSimpleCPU r2
"--cosim-sync"
run_gem5 c0 c0 build/gem5-vr-client-cp.tar TimingSimpleCPU c0
"--cosim-sync"
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-verilator-pair-cp-mck.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-verilator-pair-cp checkpoint
# first run to checkpoint with fast CPU
run_corundum_verilator a
run_corundum_verilator b
sleep
2
run_wire ab a b
sleep
1
run_gem5 a a build/gem5-pair-server-cp.tar X86KvmCPU server
sleep
1
run_gem5 b b build/gem5-pair-client-cp.tar X86KvmCPU client
client_pid
=
$!
wait
$client_pid
cleanup
echo
"Took checkpoint successfully"
experiments/experiments/gem5-timing-corundum-verilator-pair-cp.sh
deleted
100644 → 0
View file @
015109d6
#!/bin/bash
source
common-functions.sh
init_out gem5-timing-corundum-verilator-pair-cp
$1
echo
"Restoring from checkpoint"
# then run with timing CPU
run_corundum_verilator a_cp
run_corundum_verilator b_cp
sleep
2
run_wire ab_cp a_cp b_cp
sleep
1
run_gem5 a_cp a_cp build/gem5-pair-server-cp.tar TimingSimpleCPU server
"-r 0 --cosim-sync"
sleep
1
run_gem5 b_cp b_cp build/gem5-pair-client-cp.tar TimingSimpleCPU client
"-r 0 --cosim-sync"
client_pid
=
$!
wait
$client_pid
cleanup
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-0m.sh
deleted
100644 → 0
View file @
015109d6
#!/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
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-100m.sh
deleted
100644 → 0
View file @
015109d6
#!/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
experiments/experiments/gem5-timing-corundum-verilator-pair-udp-10m.sh
deleted
100644 → 0
View file @
015109d6
#!/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
Prev
1
2
3
4
5
6
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment