Commit 0edb169b authored by Jialin Li's avatar Jialin Li
Browse files

experiments: update experiment scripts to match new repo structure

parent c52dfdef
...@@ -24,6 +24,7 @@ import argparse ...@@ -24,6 +24,7 @@ import argparse
import sys import sys
import os import os
import importlib import importlib
import importlib.util
import pickle import pickle
import fnmatch import fnmatch
import simbricks.experiments as exp import simbricks.experiments as exp
......
...@@ -187,11 +187,11 @@ class ExpEnv(object): ...@@ -187,11 +187,11 @@ class ExpEnv(object):
self.repodir = os.path.abspath(repo_path) self.repodir = os.path.abspath(repo_path)
self.workdir = os.path.abspath(workdir) self.workdir = os.path.abspath(workdir)
self.cpdir = os.path.abspath(cpdir) self.cpdir = os.path.abspath(cpdir)
self.qemu_img_path = self.repodir + '/qemu/build/qemu-img' self.qemu_img_path = self.repodir + '/sims/external/qemu/build/qemu-img'
self.qemu_path = self.repodir + '/qemu/build/x86_64-softmmu/qemu-system-x86_64' self.qemu_path = self.repodir + '/sims/external/qemu/build/x86_64-softmmu/qemu-system-x86_64'
self.qemu_kernel_path = self.repodir + '/images/bzImage' self.qemu_kernel_path = self.repodir + '/images/bzImage'
self.gem5_path = self.repodir + '/gem5/build/X86/gem5.opt' self.gem5_path = self.repodir + '/sims/external/gem5/build/X86/gem5.opt'
self.gem5_py_path = self.repodir + '/gem5/configs/simbricks/simbricks.py' self.gem5_py_path = self.repodir + '/sims/external/gem5/configs/simbricks/simbricks.py'
self.gem5_kernel_path = self.repodir + '/images/vmlinux' self.gem5_kernel_path = self.repodir + '/images/vmlinux'
def hdcopy_path(self, sim): def hdcopy_path(self, sim):
......
...@@ -223,30 +223,30 @@ class CorundumVerilatorNIC(NICSim): ...@@ -223,30 +223,30 @@ class CorundumVerilatorNIC(NICSim):
return 512 return 512
def run_cmd(self, env): def run_cmd(self, env):
return self.basic_run_cmd(env, 'corundum/corundum_verilator', return self.basic_run_cmd(env, 'sims/nic/corundum/corundum_verilator',
str(self.clock_freq)) str(self.clock_freq))
class CorundumBMNIC(NICSim): class CorundumBMNIC(NICSim):
def run_cmd(self, env): def run_cmd(self, env):
return self.basic_run_cmd(env, 'corundum_bm/corundum_bm') return self.basic_run_cmd(env, 'sims/nic/corundum_bm/corundum_bm')
class I40eNIC(NICSim): class I40eNIC(NICSim):
def run_cmd(self, env): def run_cmd(self, env):
return self.basic_run_cmd(env, 'i40e_bm/i40e_bm') return self.basic_run_cmd(env, 'sims/nic/i40e_bm/i40e_bm')
class WireNet(NetSim): class WireNet(NetSim):
def run_cmd(self, env): def run_cmd(self, env):
assert len(self.nics) == 2 assert len(self.nics) == 2
return '%s/net_wire/net_wire %s %s %d %d %d' % \ return '%s/sims/net/wire/net_wire %s %s %d %d %d' % \
(env.repodir, env.nic_eth_path(self.nics[0]), (env.repodir, env.nic_eth_path(self.nics[0]),
env.nic_eth_path(self.nics[1]), env.nic_eth_path(self.nics[1]),
self.sync_mode, self.sync_period, self.eth_latency) self.sync_mode, self.sync_period, self.eth_latency)
class SwitchNet(NetSim): class SwitchNet(NetSim):
def run_cmd(self, env): def run_cmd(self, env):
cmd = env.repodir + '/net_switch/net_switch' cmd = env.repodir + '/sims/net/switch/net_switch'
cmd += f' -m {self.sync_mode} -S {self.sync_period} -E {self.eth_latency}' cmd += f' -m {self.sync_mode} -S {self.sync_period} -E {self.eth_latency}'
for n in self.nics: for n in self.nics:
cmd += ' -s ' + env.nic_eth_path(n) cmd += ' -s ' + env.nic_eth_path(n)
...@@ -262,7 +262,7 @@ class NS3DumbbellNet(NetSim): ...@@ -262,7 +262,7 @@ class NS3DumbbellNet(NetSim):
else: else:
ports += '--CosimPortRight=' + env.nic_eth_path(n) + ' ' ports += '--CosimPortRight=' + env.nic_eth_path(n) + ' '
cmd = env.repodir + '/ns-3' + '/cosim-run.sh cosim cosim-dumbbell-example ' + ports + ' ' + self.opt cmd = env.repodir + '/sims/external/ns-3' + '/cosim-run.sh cosim cosim-dumbbell-example ' + ports + ' ' + self.opt
print(cmd) print(cmd)
return cmd return cmd
...@@ -273,7 +273,7 @@ class NS3BridgeNet(NetSim): ...@@ -273,7 +273,7 @@ class NS3BridgeNet(NetSim):
for n in self.nics: for n in self.nics:
ports += '--CosimPort=' + env.nic_eth_path(n) + ' ' ports += '--CosimPort=' + env.nic_eth_path(n) + ' '
cmd = env.repodir + '/ns-3' + '/cosim-run.sh cosim cosim-bridge-example ' + ports + ' ' + self.opt cmd = env.repodir + '/sims/external/ns-3' + '/cosim-run.sh cosim cosim-bridge-example ' + ports + ' ' + self.opt
print(cmd) print(cmd)
return cmd return cmd
...@@ -290,7 +290,7 @@ class NS3SequencerNet(NetSim): ...@@ -290,7 +290,7 @@ class NS3SequencerNet(NetSim):
ports += '--EndhostSequencerPort=' + env.nic_eth_path(n) + ' ' ports += '--EndhostSequencerPort=' + env.nic_eth_path(n) + ' '
else: else:
raise Exception('Wrong NIC type') raise Exception('Wrong NIC type')
cmd = env.repodir + '/ns-3' + '/cosim-run.sh sequencer sequencer-single-switch-example ' + ports + ' ' + self.opt cmd = env.repodir + '/sims/external/ns-3' + '/cosim-run.sh sequencer sequencer-single-switch-example ' + ports + ' ' + self.opt
return cmd return cmd
......
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