Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Modelnet
Emulation environment for wide-area systems
http://issg.cs.duke.edu/modelnet.html
1
OVERVIEW
• Modelnet is designed to evaluate
wide area distributed systems.
• Using the source and destination
IP addresses, the emulators
determine a path through the
virtual topology and handle the
packets according to that path.
• Each hop on this path has certain bandwidth, queuing, propagation
delay, and drop characteristics.
2
Modelnet – 2
ARCHITECTURE
mickey.cse.usf.edu
accura.cse.usf.edu
Switch 100 MB
Linux Debian 3.1
Edge node
3
FreeBSD 4.8
Emulator node
Modelnet – 3
ARCHITECTURE
Edge node (mickey.csee.usf.edu)
eth0
eth0:0 eth0:1 eth0:2 eth0:3
eth0:3999 eth0:4000
Emulator node
(accura.csee.usf.edu)
eth0
4
Modelnet – 4
ARCHITECTURE
Edge node (mickey.csee.usf.edu)
eth0
10.0.0.1
10.0.0.4
10.0.0.1  10.0.0.4
Emulator node
(accura.csee.usf.edu)
eth0
5
Modelnet – 5
ARCHITECTURE
Edge node (mickey.csee.usf.edu)
Routing table on mickey
eth0
10.0.0.1
Network
Interface
10.0.0.0/8
eth0: accura.csee.usf.edu
10.0.0.4
10.0.0.1  10.0.0.4
Emulator node
(accura.csee.usf.edu)
eth0
6
Modelnet – 6
ARCHITECTURE
10.0.0.4
10.0.0.1
Emulator node
(accura.csee.usf.edu)
eth0
7
Modelnet – 7
USING MODELNET
1. Generate the model network:
–
–
–
–
Create the graph
Create the route file
Create the machines
Generate the model
2. Deploy the model network
3. Run experiments on the model network
8
Modelnet – 8
1. Generating a model network
To run a modelnet network, four XML files are needed:
• graph - lists the nodes and links of the virtual network
• route - contains route data for paths through the virtual network
• machines - lists the machines that can be emulators or host virtual
nodes.
• model - matches nodes and links to host machines and emulator
machines
9
Modelnet – 9
1. Generating a model network
graph
<?xml version="1.0" encoding="ISO-8859-1"?>
<topology>
<vertices>
2
<vertex int_idx="0" role="gateway" />
0
<vertex int_idx="1" role="gateway" />
<vertex int_idx="2" role="virtnode" int_vn="0" />
<vertex int_idx="3" role="virtnode" int_vn="1" />
3
<vertex int_idx="4" role="virtnode" int_vn="2" />
</vertices>
<edges>
<edge int_dst="1" int_src="2" int_idx="0" specs="client-stub" int_delayms=“1” />
<edge int_dst="2" int_src="1" int_idx="1" specs="client-stub" dbl_kbps="768“ />
<edge int_dst="1" int_src="3" int_idx="2" specs="client-stub" />
<edge int_dst="3" int_src="1" int_idx="3" specs="client-stub" />
<edge int_dst="0" int_src="4" int_idx="4" specs="client-stub" />
<edge int_dst="4" int_src="0" int_idx="5" specs="client-stub" />
<edge int_dst="1" dbl_len="1" int_src="0" int_idx="0" specs="stub-stub" />
<edge int_dst="0" dbl_len="1" int_src="1" int_idx="1" specs="stub-stub" />
</edges>
<specs >
<client-stub dbl_plr="0" dbl_kbps="64" int_delayms="100" int_qlen="10" />
<stub-stub dbl_plr="0" dbl_kbps="1000" int_delayms="20" int_qlen="10" />
</specs>
</topology>
10
1
4
Modelnet – 10
1. Generating a model network
graph
Example: create a network of 4000 nodes plus 100 clients (virtual
nodes) attached among 25 stubs spread throughout the topology:
$ inet -n 4000 | inet2xml -p 100 among 25 stubs > example.graph
This creates a graph of 4100 vertices and 13488 edges spread
among 25 stubs
inet2xml converts the inet graph to modelnet XML format. It also
allows to specify all the link parameters (bandwidth, latency, drop
rate) for all the links types.
11
Modelnet – 11
1. Generating a model network
route
The route file store the shortest paths across the virtual network for all
pairs of virtual nodes:
$ allpairs example.graph > example.route
<?xml version="1.0" encoding="ISO-8859-1"?>
<allpairs>
<path int_vndst="1" int_vnsrc="0" hops="0 3 " />
<path int_vndst="2" int_vnsrc="0" hops="0 5 " />
<path int_vndst="3" int_vnsrc="0" hops="0 7 " />
<path int_vndst="4" int_vnsrc="0" hops="0 9789 9784 5637 5538 9 " />
<path int_vndst="5" int_vnsrc="0" hops="0 9789 9784 5637 5538 11 " />
<path int_vndst="6" int_vnsrc="0" hops="0 9789 9784 5637 5538 13 " />
…………
<path int_vndst="86" int_vnsrc="99" hops="198 13279 2167 201 1670 6266 173 " />
<path int_vndst="87" int_vnsrc="99" hops="198 13279 2167 201 1670 6266 175 " />
<path int_vndst="88" int_vnsrc="99" hops="198 13279 2167 2818 12737 177 " />
<path int_vndst="96" int_vnsrc="99" hops="198 193 " />
<path int_vndst="97" int_vnsrc="99" hops="198 195 " />
<path int_vndst="98" int_vnsrc="99" hops="198 197 " />
</allpairs>
12
Modelnet – 12
1. Generating a model network
machines
<?xml version="1.0" encoding="ISO-8859-1"?>
<hardware>
<emul hostname="accura"/>
<host hostname="mickey"/>
</hardware>
mickey.cse.usf.edu
accura.cse.usf.edu
Switch 100 MB
Linux Debian 3.1
13
FreeBSD 4.8
Modelnet – 13
1. Generating a model network
model
$ mkmodel example.graph example.machines > example.model
Reading example.graph . . .
Reading example.machines . . .
Read 4100 vertices and 13487 edges.
Mapping graph to 1 emulators and 1 hosts
Printing model
$
mkmodel assigns the virtual nodes to hosts, and assigns links to
emulators
14
Modelnet – 14
1. Generating a model network
model
<?xml version="1.0" encoding="ISO-8859-1"?>
<model>
<emulators>
<emul hostname="accura" int_idx="0">
<host hostname="mickey">
<subnet int_emul="0" int_nodes="100" vbcst="10.0.0.127" vmask="255.255.255.128" vnet="10.0.0.0/25">
<virtnode int_idx="4000" int_vn="0" role="virtnode" vip="10.0.0.1" />
<virtnode int_idx="4097" int_vn="97" role="virtnode" vip="10.0.0.98" />
…………..
<virtnode int_idx="4096" int_vn="96" role="virtnode" vip="10.0.0.97" />
</subnet>
</host>
</emul>
……………
<specs xmloutbug="workaround">
<client-stub dbl_kbps="1000" dbl_plr="0" int_delayms="0" int_qlen="10" />
<stub-stub dbl_kbps="1000" dbl_plr="0" int_delayms="0" int_qlen="10" />
<stub-transit dbl_kbps="1000" dbl_plr="0" int_delayms="0" int_qlen="10" />
<transit-transit dbl_kbps="1000" dbl_plr="0" int_delayms="0" int_qlen="10" />
</specs>
</model>
15
Modelnet – 15
2. Deploy the model network
• Modelnet can be deployed by logging in to each host:
$ deployhost example.model example.route
• For large emulations, deployment can be automated for all hosts: $
deploy example.model example.route
• This command configures all the virtual IP addresses, routes, and
loads the topology into the emulator.
16
Modelnet – 16
3. Running programs on virtual nodes
This is done with the vnrun command. To run the program Gnutella
on every virtual node:
$ vnrun all example.model gnutella
17
Modelnet – 17
Related documents