11 modelnet emulation environment for wide-area systems

17
Modelnet Emulation environment for wide-area systems http://issg.cs.duke.edu/modelnet.html

Upload: darleen-nelson

Post on 15-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 11 Modelnet Emulation environment for wide-area systems

11

Modelnet Emulation environment for wide-area systems

http://issg.cs.duke.edu/modelnet.html

Page 2: 11 Modelnet Emulation environment for wide-area systems

22Modelnet – 2

OVERVIEW

• Each hop on this path has certain bandwidth, queuing, propagation delay, and drop characteristics.

• 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.

Page 3: 11 Modelnet Emulation environment for wide-area systems

33Modelnet – 3

ARCHITECTURE

Emulator nodeEdge node

Linux Debian 3.1 FreeBSD 4.8

mickey.cse.usf.edu accura.cse.usf.edu

Switch 100 MB

Page 4: 11 Modelnet Emulation environment for wide-area systems

44Modelnet – 4

Emulator node(accura.csee.usf.edu)

eth0

ARCHITECTURE

Edge node (mickey.csee.usf.edu)

eth0:0eth0 eth0:1 eth0:2 eth0:3 eth0:3999 eth0:4000

Page 5: 11 Modelnet Emulation environment for wide-area systems

55Modelnet – 5

Edge node (mickey.csee.usf.edu)

10.0.0.1eth0

Emulator node(accura.csee.usf.edu)

eth0

ARCHITECTURE

10.0.0.1 10.0.0.4

10.0.0.4

Page 6: 11 Modelnet Emulation environment for wide-area systems

66Modelnet – 6

Emulator node(accura.csee.usf.edu)

eth0

ARCHITECTURE

10.0.0.1 10.0.0.4

Routing table on mickey

Edge node (mickey.csee.usf.edu)

10.0.0.1eth0 10.0.0.4

Network Interface

10.0.0.0/8 eth0: accura.csee.usf.edu

Page 7: 11 Modelnet Emulation environment for wide-area systems

77Modelnet – 7

Emulator node(accura.csee.usf.edu)

eth0

ARCHITECTURE

10.0.0.1

10.0.0.4

Page 8: 11 Modelnet Emulation environment for wide-area systems

88Modelnet – 8

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

Page 9: 11 Modelnet Emulation environment for wide-area systems

99Modelnet – 9

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

Page 10: 11 Modelnet Emulation environment for wide-area systems

1010Modelnet – 10

1. Generating a model network

graph

<?xml version="1.0" encoding="ISO-8859-1"?><topology>

<vertices><vertex int_idx="0" role="gateway" /><vertex int_idx="1" role="gateway" /><vertex int_idx="2" role="virtnode" int_vn="0" /><vertex int_idx="3" role="virtnode" int_vn="1" /><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>

02

3

1 4

Page 11: 11 Modelnet Emulation environment for wide-area systems

1111Modelnet – 11

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.

Page 12: 11 Modelnet Emulation environment for wide-area systems

1212Modelnet – 12

1. Generating a model network

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>

The route file store the shortest paths across the virtual network for all pairs of virtual nodes:$ allpairs example.graph > example.route

Page 13: 11 Modelnet Emulation environment for wide-area systems

1313Modelnet – 13

1. Generating a model network

machines

<?xml version="1.0" encoding="ISO-8859-1"?>

<hardware>

<emul hostname="accura"/>

<host hostname="mickey"/>

</hardware>

Linux Debian 3.1 FreeBSD 4.8

mickey.cse.usf.edu accura.cse.usf.edu

Switch 100 MB

Page 14: 11 Modelnet Emulation environment for wide-area systems

1414Modelnet – 14

1. Generating a model network

model

$ mkmodel example.graph example.machines > example.modelReading example.graph . . .Reading example.machines . . .Read 4100 vertices and 13487 edges.Mapping graph to 1 emulators and 1 hostsPrinting model$

mkmodel assigns the virtual nodes to hosts, and assigns links to emulators

Page 15: 11 Modelnet Emulation environment for wide-area systems

1515Modelnet – 15

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>

Page 16: 11 Modelnet Emulation environment for wide-area systems

1616Modelnet – 16

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.

Page 17: 11 Modelnet Emulation environment for wide-area systems

1717Modelnet – 17

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