Commit 97c2577d authored by Jakob Görgen's avatar Jakob Görgen Committed by Marvin Meiers
Browse files

experiments/pyexps + experiments/simbricks/orchestration/nodeconfig : fix...

experiments/pyexps + experiments/simbricks/orchestration/nodeconfig : fix experiment environment imports
parent 8461b6d1
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import simbricks.orchestration.experiment.experiment_environment as env
import simbricks.orchestration.experiments as exp import simbricks.orchestration.experiments as exp
import simbricks.orchestration.nodeconfig as nodec import simbricks.orchestration.nodeconfig as nodec
import simbricks.orchestration.simulators as sim import simbricks.orchestration.simulators as sim
from simbricks.orchestration.experiment.experiment_environment import ExpEnv
experiments = [] experiments = []
...@@ -35,9 +35,12 @@ class FarMemTest(nodec.AppConfig): ...@@ -35,9 +35,12 @@ class FarMemTest(nodec.AppConfig):
self.size = size self.size = size
# pylint: disable=consider-using-with # pylint: disable=consider-using-with
def config_files(self, env: ExpEnv): def config_files(self, environment: env.ExpEnv):
m = {'farmem.ko': open(f'{env.repodir}/images/farmem/farmem.ko', 'rb')} m = {
return {**m, **super().config_files(env)} 'farmem.ko':
open(f'{environment.repodir}/images/farmem/farmem.ko', 'rb')
}
return {**m, **super().config_files(environment)}
def run_cmds(self, node): def run_cmds(self, node):
return [ return [
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import simbricks.orchestration.experiment.experiment_environment as env
import simbricks.orchestration.experiments as exp import simbricks.orchestration.experiments as exp
import simbricks.orchestration.nodeconfig as node import simbricks.orchestration.nodeconfig as node
import simbricks.orchestration.simulators as sim import simbricks.orchestration.simulators as sim
from simbricks.orchestration.experiment.experiment_environment import ExpEnv
experiments = [] experiments = []
num_of_netmem = [1, 2, 3, 4] num_of_netmem = [1, 2, 3, 4]
...@@ -46,10 +46,13 @@ class MemTest(node.AppConfig): ...@@ -46,10 +46,13 @@ class MemTest(node.AppConfig):
self.disaggregated = disaggregated self.disaggregated = disaggregated
self.time_limit = time_limit self.time_limit = time_limit
def config_files(self, env: ExpEnv): def config_files(self, environment: env.ExpEnv):
m = {
'farmem.ko':
# pylint: disable-next=consider-using-with # pylint: disable-next=consider-using-with
m = {'farmem.ko': open(f'{env.repodir}/images/farmem/farmem.ko', 'rb')} open(f'{environment.repodir}/images/farmem/farmem.ko', 'rb')
return {**m, **super().config_files(env)} }
return {**m, **super().config_files(environment)}
def run_cmds(self, _): def run_cmds(self, _):
commands = [ commands = [
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import simbricks.orchestration.experiment.experiment_environment as env
import simbricks.orchestration.experiments as exp import simbricks.orchestration.experiments as exp
import simbricks.orchestration.nodeconfig as node import simbricks.orchestration.nodeconfig as node
import simbricks.orchestration.simulators as sim import simbricks.orchestration.simulators as sim
from simbricks.orchestration.experiment.experiment_environment import ExpEnv
experiments = [] experiments = []
num_mem_lat = [500, 100, 20] #ns num_mem_lat = [500, 100, 20] #ns
...@@ -47,10 +47,13 @@ class MemTest(node.AppConfig): ...@@ -47,10 +47,13 @@ class MemTest(node.AppConfig):
self.disaggregated = disaggregated self.disaggregated = disaggregated
self.time_limit = time_limit self.time_limit = time_limit
def config_files(self, env: ExpEnv): def config_files(self, environment: env.ExpEnv):
m = {
'farmem.ko':
# pylint: disable-next=consider-using-with # pylint: disable-next=consider-using-with
m = {'farmem.ko': open(f'{env.repodir}/images/farmem/farmem.ko', 'rb')} open(f'{environment.repodir}/images/farmem/farmem.ko', 'rb')
return {**m, **super().config_files(env)} }
return {**m, **super().config_files(environment)}
def run_cmds(self, _): def run_cmds(self, _):
commands = [] commands = []
......
...@@ -25,10 +25,10 @@ Runs sysbench memory benchmarks for different memory configurations. ...@@ -25,10 +25,10 @@ Runs sysbench memory benchmarks for different memory configurations.
Used to compare latency and throughput of disaggregated memory to local one. Used to compare latency and throughput of disaggregated memory to local one.
""" """
import simbricks.orchestration.experiment.experiment_environment as env
import simbricks.orchestration.experiments as exp import simbricks.orchestration.experiments as exp
import simbricks.orchestration.nodeconfig as node import simbricks.orchestration.nodeconfig as node
import simbricks.orchestration.simulators as sim import simbricks.orchestration.simulators as sim
from simbricks.orchestration.experiment.experiment_environment import ExpEnv
host_types = ['gem5', 'simics'] host_types = ['gem5', 'simics']
mem_types = ['local', 'basicmem'] mem_types = ['local', 'basicmem']
...@@ -61,9 +61,12 @@ class SysbenchMemoryBenchmark(node.AppConfig): ...@@ -61,9 +61,12 @@ class SysbenchMemoryBenchmark(node.AppConfig):
"""Number of cores to run the benchmark on in parallel.""" """Number of cores to run the benchmark on in parallel."""
# pylint: disable=consider-using-with # pylint: disable=consider-using-with
def config_files(self, env: ExpEnv): def config_files(self, environment: env.ExpEnv):
m = {'farmem.ko': open(f'{env.repodir}/images/farmem/farmem.ko', 'rb')} m = {
return {**m, **super().config_files(env)} 'farmem.ko':
open(f'{environment.repodir}/images/farmem/farmem.ko', 'rb')
}
return {**m, **super().config_files(environment)}
def run_cmds(self, _): def run_cmds(self, _):
cmds = [ cmds = [
......
...@@ -26,7 +26,7 @@ import io ...@@ -26,7 +26,7 @@ import io
import tarfile import tarfile
import typing as tp import typing as tp
from simbricks.orchestration.experiment.experiment_environment import ExpEnv import simbricks.orchestration.experiment.experiment_environment as env
class AppConfig(): class AppConfig():
...@@ -47,7 +47,7 @@ class AppConfig(): ...@@ -47,7 +47,7 @@ class AppConfig():
return [] return []
# pylint: disable=unused-argument # pylint: disable=unused-argument
def config_files(self, env: ExpEnv) -> tp.Dict[str, tp.IO]: def config_files(self, environment: env.ExpEnv) -> tp.Dict[str, tp.IO]:
""" """
Additional files to put inside the node, which are mounted under Additional files to put inside the node, which are mounted under
`/tmp/guest/`. `/tmp/guest/`.
...@@ -123,7 +123,7 @@ class NodeConfig(): ...@@ -123,7 +123,7 @@ class NodeConfig():
self.run_cmds() + self.cleanup_cmds() + exit_es self.run_cmds() + self.cleanup_cmds() + exit_es
return '\n'.join(es) return '\n'.join(es)
def make_tar(self, env: ExpEnv, path: str) -> None: def make_tar(self, environment: env.ExpEnv, path: str) -> None:
with tarfile.open(path, 'w:') as tar: with tarfile.open(path, 'w:') as tar:
# add main run script # add main run script
cfg_i = tarfile.TarInfo('guest/run.sh') cfg_i = tarfile.TarInfo('guest/run.sh')
...@@ -136,7 +136,7 @@ class NodeConfig(): ...@@ -136,7 +136,7 @@ class NodeConfig():
cfg_f.close() cfg_f.close()
# add additional config files # add additional config files
for (n, f) in self.config_files(env).items(): for (n, f) in self.config_files(environment).items():
f_i = tarfile.TarInfo('guest/' + n) f_i = tarfile.TarInfo('guest/' + n)
f_i.mode = 0o777 f_i.mode = 0o777
f.seek(0, io.SEEK_END) f.seek(0, io.SEEK_END)
...@@ -168,7 +168,7 @@ class NodeConfig(): ...@@ -168,7 +168,7 @@ class NodeConfig():
return [] return []
# pylint: disable=unused-argument # pylint: disable=unused-argument
def config_files(self, env: ExpEnv) -> tp.Dict[str, tp.IO]: def config_files(self, environment: env.ExpEnv) -> tp.Dict[str, tp.IO]:
""" """
Additional files to put inside the node, which are mounted under Additional files to put inside the node, which are mounted under
`/tmp/guest/`. `/tmp/guest/`.
...@@ -176,7 +176,7 @@ class NodeConfig(): ...@@ -176,7 +176,7 @@ class NodeConfig():
Specified in the following format: `filename_inside_node`: Specified in the following format: `filename_inside_node`:
`IO_handle_of_file` `IO_handle_of_file`
""" """
return self.app.config_files(env) return self.app.config_files(environment)
def strfile(self, s: str) -> io.BytesIO: def strfile(self, s: str) -> io.BytesIO:
""" """
...@@ -228,9 +228,12 @@ class CorundumLinuxNode(LinuxNode): ...@@ -228,9 +228,12 @@ class CorundumLinuxNode(LinuxNode):
self.drivers.append('/tmp/guest/mqnic.ko') self.drivers.append('/tmp/guest/mqnic.ko')
# pylint: disable=consider-using-with # pylint: disable=consider-using-with
def config_files(self, env: ExpEnv) -> tp.Dict[str, tp.IO]: def config_files(self, environment: env.ExpEnv) -> tp.Dict[str, tp.IO]:
m = {'mqnic.ko': open(f'{env.repodir}/images/mqnic/mqnic.ko', 'rb')} m = {
return {**m, **super().config_files(env)} 'mqnic.ko':
open(f'{environment.repodir}/images/mqnic/mqnic.ko', 'rb')
}
return {**m, **super().config_files(environment)}
class E1000LinuxNode(LinuxNode): class E1000LinuxNode(LinuxNode):
...@@ -272,7 +275,7 @@ class MtcpNode(NodeConfig): ...@@ -272,7 +275,7 @@ class MtcpNode(NodeConfig):
f'ip addr add {self.ip}/{self.prefix} dev dpdk0' f'ip addr add {self.ip}/{self.prefix} dev dpdk0'
] ]
def config_files(self, env: ExpEnv) -> tp.Dict[str, tp.IO]: def config_files(self, environment: env.ExpEnv) -> tp.Dict[str, tp.IO]:
m = { m = {
'mtcp.conf': 'mtcp.conf':
self.strfile( self.strfile(
...@@ -290,7 +293,7 @@ class MtcpNode(NodeConfig): ...@@ -290,7 +293,7 @@ class MtcpNode(NodeConfig):
) )
} }
return {**m, **super().config_files(env)} return {**m, **super().config_files(environment)}
class TASNode(NodeConfig): class TASNode(NodeConfig):
......
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