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
f75b9e3e
Commit
f75b9e3e
authored
Sep 17, 2022
by
Jonas Kaufmann
Committed by
Antoine Kaufmann
Sep 18, 2022
Browse files
fix auto_dist missing nic attribute on Experiment and HostSim
parent
fab5ce15
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
2 deletions
+16
-2
experiments/simbricks/experiments.py
experiments/simbricks/experiments.py
+4
-0
experiments/simbricks/runtime/distributed.py
experiments/simbricks/runtime/distributed.py
+2
-2
experiments/simbricks/simulators.py
experiments/simbricks/simulators.py
+10
-0
No files found.
experiments/simbricks/experiments.py
View file @
f75b9e3e
...
...
@@ -59,6 +59,10 @@ class Experiment(object):
"""The network simulators to run."""
self
.
metadata
=
{}
@
property
def
nics
(
self
):
return
filter
(
lambda
pcidev
:
pcidev
.
is_nic
(),
self
.
pcidevs
)
def
add_host
(
self
,
sim
:
HostSim
):
for
h
in
self
.
hosts
:
if
h
.
name
==
sim
.
name
:
...
...
experiments/simbricks/runtime/distributed.py
View file @
f75b9e3e
...
...
@@ -140,14 +140,14 @@ def auto_dist(
for
h
in
e
.
hosts
:
de
.
add_host
(
h
)
de
.
assign_sim_host
(
h
,
k
)
for
nic
in
h
.
nics
:
# TODO h.nics does not exist in class HostSim
for
nic
in
h
.
nics
:
de
.
assign_sim_host
(
nic
,
k
)
if
k
!=
0
:
cp
.
add_nic
(
nic
)
k
=
(
k
+
1
)
%
2
for
nic
in
e
.
nics
:
# TODO: e.nics does not exist in class Experiment
for
nic
in
e
.
nics
:
de
.
add_nic
(
nic
)
return
de
experiments/simbricks/simulators.py
View file @
f75b9e3e
...
...
@@ -94,6 +94,9 @@ class PCIDevSim(Simulator):
def
full_name
(
self
):
return
'dev.'
+
self
.
name
def
is_nic
(
self
):
return
False
def
sockets_cleanup
(
self
,
env
):
return
[
env
.
dev_pci_path
(
self
),
env
.
dev_shm_path
(
self
)]
...
...
@@ -135,6 +138,9 @@ class NICSim(PCIDevSim):
def
full_name
(
self
):
return
'nic.'
+
self
.
name
def
is_nic
(
self
):
return
True
def
sockets_cleanup
(
self
,
env
):
return
super
().
sockets_cleanup
(
env
)
+
[
env
.
nic_eth_path
(
self
)]
...
...
@@ -215,6 +221,10 @@ class HostSim(Simulator):
self
.
pcidevs
:
tp
.
List
[
PCIDevSim
]
=
[]
self
.
net_directs
:
tp
.
List
[
NetSim
]
=
[]
@
property
def
nics
(
self
):
return
filter
(
lambda
pcidev
:
pcidev
.
is_nic
(),
self
.
pcidevs
)
def
full_name
(
self
):
return
'host.'
+
self
.
name
...
...
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