Commit bbd232d7 authored by Hejing Li's avatar Hejing Li
Browse files

nopaxos.py: add multi client parameter

parent 5a3b22e0
......@@ -5,68 +5,80 @@ import modes.nodeconfig as node
host_configs = ['qemu', 'gt']
seq_configs = ['swseq', 'ehseq']
nic_configs = ['ib', 'cb', 'cv']
num_client_configs = [1, 2, 3, 4]
experiments = []
link_rate_opt = '--LinkRate=100Gb/s ' # don't forget space at the end
link_latency_opt = '--LinkLatency=500ns '
for host_config in host_configs:
for seq_config in seq_configs:
for nic_config in nic_configs:
e = exp.Experiment('nopaxos-' + host_config + '-' + nic_config + '-' + seq_config)
net = sim.NS3SequencerNet()
net.opt = link_rate_opt + link_latency_opt
e.add_network(net)
for num_c in num_client_configs:
for host_config in host_configs:
for seq_config in seq_configs:
for nic_config in nic_configs:
e = exp.Experiment('nopaxos-' + host_config + '-' + nic_config + '-' + seq_config + f'-{num_c}')
net = sim.NS3SequencerNet()
net.opt = link_rate_opt + link_latency_opt
e.add_network(net)
# host
if host_config == 'qemu':
host_class = sim.QemuHost
# nic
if nic_config == 'ib':
nic_class = sim.I40eNIC
nc_class = node.I40eLinuxNode
elif nic_config == 'cb':
nic_class = sim.CorundumBMNIC
nc_class = node.CorundumLinuxNode
# host
if host_config == 'qemu':
host_class = sim.QemuHost
# nic
if nic_config == 'ib':
nic_class = sim.I40eNIC
nc_class = node.I40eLinuxNode
elif nic_config == 'cb':
nic_class = sim.CorundumBMNIC
nc_class = node.CorundumLinuxNode
elif nic_config == 'cv':
nic_class = sim.CorundumVerilatorNIC
nc_class = node.CorundumLinuxNode
else:
raise NameError(nic_config)
elif host_config == 'gt':
host_class = sim.Gem5Host
e.checkpoint = False
# nic
if nic_config == 'ib':
nic_class = sim.I40eNIC
nc_class = node.I40eLinuxNode
elif nic_config == 'cb':
nic_class = sim.CorundumBMNIC
nc_class = node.CorundumLinuxNode
elif nic_config == 'cv':
nic_class = sim.CorundumVerilatorNIC
nc_class = node.CorundumLinuxNode
else:
raise NameError(nic_config)
else:
continue
elif host_config == 'gt':
host_class = sim.Gem5Host
e.checkpoint = False
# nic
if nic_config == 'ib':
nic_class = sim.I40eNIC
nc_class = node.I40eLinuxNode
elif nic_config == 'cb':
nic_class = sim.CorundumBMNIC
nc_class = node.CorundumLinuxNode
elif nic_config == 'cv':
nic_class = sim.CorundumVerilatorNIC
nc_class = node.CorundumLinuxNode
else:
raise NameError(nic_config)
else:
raise NameError(host_config)
raise NameError(host_config)
nc_class.disk_image = 'nopaxos'
nc_class.disk_image = 'nopaxos'
if seq_config == 'ehseq':
sequencer = sim.create_basic_hosts(e, 1, 'sequencer', net, nic_class,
host_class, nc_class, node.NOPaxosSequencer, ip_start = 100)
sequencer[0].sleep = 1
if seq_config == 'ehseq':
sequencer = sim.create_basic_hosts(e, 1, 'sequencer', net, nic_class,
host_class, nc_class, node.NOPaxosSequencer, ip_start = 100)
sequencer[0].sleep = 1
replicas = sim.create_basic_hosts(e, 3, 'replica', net, nic_class,
host_class, nc_class, node.NOPaxosReplica)
for i in range(len(replicas)):
replicas[i].node_config.app.index = i
replicas[i].sleep = 1
replicas = sim.create_basic_hosts(e, 3, 'replica', net, nic_class,
host_class, nc_class, node.NOPaxosReplica)
for i in range(len(replicas)):
replicas[i].node_config.app.index = i
replicas[i].sleep = 1
clients = sim.create_basic_hosts(e, num_c, 'client', net, nic_class,
host_class, nc_class, node.NOPaxosClient, ip_start = 4)
clients = sim.create_basic_hosts(e, 1, 'client', net, nic_class,
host_class, nc_class, node.NOPaxosClient, ip_start = 4)
for c in clients:
c.node_config.app.server_ips = ['10.0.0.1', '10.0.0.2', '10.0.0.3']
c.wait = True
for c in clients:
c.node_config.app.server_ips = ['10.0.0.1', '10.0.0.2', '10.0.0.3']
clients[num_c - 1].wait = True
clients[num_c - 1].node_config.app = node.NOPaxosClientLast()
print(e.name)
#print (len(experiments))
experiments.append(e)
experiments.append(e)
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