Presentation on theme: "11 Modelnet Emulation environment for wide-area systems"— Presentation transcript:
11 Modelnet Emulation environment for wide-area systems http://issg.cs.duke.edu/modelnet.html
22 Modelnet – 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.
88 Modelnet – 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
99 Modelnet – 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
10 Modelnet – 10 1. Generating a model network graph 0 2 3 1 4
11 Modelnet – 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.
12 Modelnet – 12 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
13 Modelnet – 13 1. Generating a model network machines
14 Modelnet – 14 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
15 Modelnet – 15 1. Generating a model network model ………….. ……………
16 Modelnet – 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.
17 Modelnet – 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