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
67d6ba91
Commit
67d6ba91
authored
Nov 17, 2020
by
Hejing Li
Browse files
experiments: gem5-timing/qemu * tcp/udp scripts
parent
b0d96cb6
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
407 additions
and
0 deletions
+407
-0
experiments/pyexps/gt_tcp_multi.py
experiments/pyexps/gt_tcp_multi.py
+68
-0
experiments/pyexps/gt_tcp_single.py
experiments/pyexps/gt_tcp_single.py
+65
-0
experiments/pyexps/gt_udp_multi.py
experiments/pyexps/gt_udp_multi.py
+70
-0
experiments/pyexps/gt_udp_single.py
experiments/pyexps/gt_udp_single.py
+68
-0
experiments/pyexps/qemu_udp_multi.py
experiments/pyexps/qemu_udp_multi.py
+69
-0
experiments/pyexps/qemu_udp_single.py
experiments/pyexps/qemu_udp_single.py
+67
-0
No files found.
experiments/pyexps/gt_tcp_multi.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_multi_client test
# naming convention following host-nic-net-app
# host: gem5-timing
# nic: cv/cb/ib
# net: switch/dumbbell/bridge
# app: TCPm
kinds_of_host
=
[
'gem5-timing'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'TCPm'
]
num_client
=
4
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'gt-'
+
c
+
'-'
+
n
+
'-'
+
'TCPm'
)
e
.
add_network
(
net
)
e
.
checkpoint
=
True
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
for
cl
in
clients
:
cl
.
wait
=
True
cl
.
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
print
(
e
.
name
)
experiments
.
append
(
e
)
experiments/pyexps/gt_tcp_single.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_single test
# naming convention following host-nic-net-app
# host: gem5-timing
# nic: cv/cb/ib
# net: wire/switch/dumbbell/bridge
# app: TCPs
kinds_of_host
=
[
'gem5-timing'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'wire'
,
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'TCPs'
]
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'wire'
:
net_class
=
sim
.
WireNet
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'gt-'
+
c
+
'-'
+
n
+
'-'
+
'TCPs'
)
e
.
checkpoint
=
True
e
.
add_network
(
net
)
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfTCPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfTCPClient
,
ip_start
=
2
)
clients
[
0
].
wait
=
True
clients
[
0
].
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
print
(
e
.
name
)
experiments
.
append
(
e
)
experiments/pyexps/gt_udp_multi.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_multi_client test
# naming convention following host-nic-net-app
# host: gem5-timing
# nic: cv/cb/ib
# net: switch/dumbbell/bridge
# app: UDPm
kinds_of_host
=
[
'gem5-timing'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'UDPm'
]
num_client
=
4
rate
=
'200m'
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'gt-'
+
c
+
'-'
+
n
+
'-'
+
'UDPm'
)
e
.
checkpoint
=
True
e
.
add_network
(
net
)
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
for
cl
in
clients
:
cl
.
wait
=
True
cl
.
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
cl
.
node_config
.
app
.
rate
=
rate
print
(
e
.
name
)
experiments
.
append
(
e
)
experiments/pyexps/gt_udp_single.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_single test
# naming convention following host-nic-net-app
# host: gem5-timing
# nic: cv/cb/ib
# net: wire/switch/dumbbell/bridge
# app: UDPs
kinds_of_host
=
[
'gem5-timing'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'wire'
,
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'UDPs'
]
rate
=
'200m'
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'wire'
:
net_class
=
sim
.
WireNet
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'gt-'
+
c
+
'-'
+
n
+
'-'
+
'UDPs'
)
e
.
checkpoint
=
True
e
.
add_network
(
net
)
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
Gem5Host
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
Gem5Host
,
node
.
I40eLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
clients
[
0
].
wait
=
True
clients
[
0
].
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
clients
[
0
].
node_config
.
app
.
rate
=
rate
print
(
e
.
name
)
experiments
.
append
(
e
)
experiments/pyexps/qemu_udp_multi.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_multi_client test
# naming convention following host-nic-net-app
# host: qemu
# nic: cv/cb/ib
# net: switch/dumbbell/bridge
# app: TCPm
kinds_of_host
=
[
'qemu'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'UDPm'
]
num_client
=
4
rate
=
'200m'
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'qemu-'
+
c
+
'-'
+
n
+
'-'
+
'UDPm'
)
e
.
add_network
(
net
)
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
QemuHost
,
node
.
I40eLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
num_client
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
QemuHost
,
node
.
I40eLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
for
cl
in
clients
:
cl
.
wait
=
True
cl
.
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
cl
.
node_config
.
app
.
rate
=
rate
print
(
e
.
name
)
experiments
.
append
(
e
)
experiments/pyexps/qemu_udp_single.py
0 → 100644
View file @
67d6ba91
import
modes.experiments
as
exp
import
modes.simulators
as
sim
import
modes.nodeconfig
as
node
# iperf TCP_single test
# naming convention following host-nic-net-app
# host: qemu
# nic: cv/cb/ib
# net: wire/switch/dumbbell/bridge
# app: UDPs
kinds_of_host
=
[
'qemu'
]
kinds_of_nic
=
[
'cv'
,
'cb'
,
'ib'
]
kinds_of_net
=
[
'wire'
,
'switch'
,
'dumbbell'
,
'bridge'
]
kinds_of_app
=
[
'UDPs'
]
rate
=
'200m'
experiments
=
[]
# set network sim
for
n
in
kinds_of_net
:
if
n
==
'wire'
:
net_class
=
sim
.
WireNet
if
n
==
'switch'
:
net_class
=
sim
.
SwitchNet
if
n
==
'dumbbell'
:
net_class
=
sim
.
NS3DumbbellNet
if
n
==
'bridge'
:
net_class
=
sim
.
NS3BridgeNet
# set nic sim
for
c
in
kinds_of_nic
:
net
=
net_class
()
e
=
exp
.
Experiment
(
'qemu-'
+
c
+
'-'
+
n
+
'-'
+
'UDPs'
)
e
.
add_network
(
net
)
if
c
==
'cv'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumVerilatorNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'cb'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
CorundumBMNIC
,
sim
.
QemuHost
,
node
.
CorundumLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
if
c
==
'ib'
:
servers
=
sim
.
create_basic_hosts
(
e
,
1
,
'server'
,
net
,
sim
.
I40eNIC
,
sim
.
QemuHost
,
node
.
I40eLinuxNode
,
node
.
IperfUDPServer
)
clients
=
sim
.
create_basic_hosts
(
e
,
1
,
'client'
,
net
,
sim
.
I40eNIC
,
sim
.
QemuHost
,
node
.
I40eLinuxNode
,
node
.
IperfUDPClient
,
ip_start
=
2
)
clients
[
0
].
wait
=
True
clients
[
0
].
node_config
.
app
.
server_ip
=
servers
[
0
].
node_config
.
ip
clients
[
0
].
node_config
.
app
.
rate
=
rate
print
(
e
.
name
)
experiments
.
append
(
e
)
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