Traffic generation for network simulation Tom Kelly NS Tutorial - - - PowerPoint PPT Presentation

traffic generation for network simulation
SMART_READER_LITE
LIVE PREVIEW

Traffic generation for network simulation Tom Kelly NS Tutorial - - - PowerPoint PPT Presentation

Traffic generation for network simulation Tom Kelly NS Tutorial - Microsoft Research Cambridge 9th December 2005 Overview n Why traffic generation is important n Basics of traffic modeling n Open system models n Closed system models n Common


slide-1
SLIDE 1

Traffic generation for network simulation

Tom Kelly

NS Tutorial - Microsoft Research Cambridge 9th December 2005

slide-2
SLIDE 2

Overview

n Why traffic generation is important n Basics of traffic modeling n Open system models n Closed system models n Common pitfalls and concerns n Summary

slide-3
SLIDE 3

Why traffic generation is important

n Traffic patterns impact system design,

dependency, capability, and efficiency

n Want to simulate traffic to answer

questions about deployment, network architecture, and basic behavior

slide-4
SLIDE 4

Basic traffic modeling

n Source-sink packet flow model

n What rule drives when packets are sent? n How big are they?

n System level flow model

n When do flows arrive and depart?

n What parameters do we need to simulate?

n How do we classify the possible patterns to give

clarity to the results?

n What regimes are in and out of scope?

slide-5
SLIDE 5

Source basics

n Open loop flows

n no feedback exerted on the flow once it begins n exists and often an effective system design choice n e.g. VoIP, games, multicast, DNS, malicious traffic

n Closed loop flows

n packet transmission driven by feedback based on

network state

n often harder to understand but makes for robust,

adaptable, and scalable systems

n e.g. DCCP, TCP

slide-6
SLIDE 6

Packet voice modeling

n Each flow uses a coding scheme and

suggests a model

n e.g. 8Khz, 8bit sample, 20ms frames suggests

80Kbps 200b CBR or with silence suppression exponential on/off periods 500ms

n Calls arrive according to a Poisson process

intensity l

n Calls have random length mean t

n e.g. exponential mean 200 seconds

n Total load is determined by all three

n e.g. CBR has 80.t.lKbps

slide-7
SLIDE 7

Something to try - voice

n Construct a voice network with a single bottleneck n What jitter and loss metrics make sense for this

application?

n How do these metrics respond as you change the

load level?

n Play with the distributional assumptions, what effect

do they have?

n What can you conclude?

slide-8
SLIDE 8

Bulk transfer problem

n A backup service allows users to

automatically backup their data; the

  • perator is thinking of introducing

priority queuing to offer a higher grade

  • f service

n It wants to see whether users will notice

any impact as a result of this change

slide-9
SLIDE 9

Bulk transfer model

n Flows transfer an amount X in a single TCP

connection

n X ~ pareto, exponential

n Flow arrivals Poisson intensity l

n large number of independent users

n For a bottleneck of B we should be able to

handle about up to l.E[X]

n not very interested in small l.E[X] n probably worth checking a couple of distributions

for X and a couple of system sizes B

slide-10
SLIDE 10

Something to try - bulk transfer

n

Construct a multi-hop network with two cross paths

n

Try doing loading so 25% on verticals and 62.5% on horizontal

n

Try using priority based queuing and drop tail, crank up the CBQ parameter to give the vertical flows

n

Plot the backlog for runs of 30min intervals on some reasonable sized systems

n

When you’ve done it, you’ll be surprised

n

Its not an artifact

slide-11
SLIDE 11

Web traffic

n A web user

n asks for a page n looks at it n asks for another page n reads an article n asks for another page

n What is interesting about this process?

slide-12
SLIDE 12

Web traffic model

n A web user

n request for multiple objects of heavy tailed size n waits for these transfers to (partially) complete n request for multiple objects of heavy tailed size n waits for these transfers to (partially) complete…

n Very wide range of transfer lengths

n most bytes in a few long transfers n most connections a few short transfers

n The arrival process is elastic

n slower throughput gives fewer connection arrivals

slide-13
SLIDE 13

Web traffic model (2)

n What are the distributions driving this? n User think times

n e.g. Pareto scale 1.0, shape 1.5 gives mean 3

n Number of concurrent requests

n e.g. Pareto scale 2.4, shape 1.0 gives mean 1.7

n Size of concurrent requests

n e.g. Pareto scale 800, shape 1.11 gives mean

8000

These parameters consistent with SURGE findings.

slide-14
SLIDE 14

Web traffic parameter scalings

n More users but transfers all same size n Same users but larger object sizes n Same users and patterns but more

requests embedded in each iteration

n Could imagine real systems with these

scalings and each case could have different behavior

slide-15
SLIDE 15

Web traffic references

n Generating representative Web workloads for

network and server performance evaluation. Barford and Crovella, in ACM SIGMETRICS ‘98.

n Changes in Web client access patterns:

Characteristics and caching implications. Barford, Bestavros, Bradley, and Crovella, in WWW Journal Dec ‘98,

n Dynamics of IP traffic: A study of the role of

variability and the impact of control. Feldmann, Gilbert, Huang, and Willinger ACM SIGCOMM 1999.

slide-16
SLIDE 16

Tips for doing this in ns2

n Structure your code to allow quick

assumption changes

n separate flows from system process n make all the distributions plug and play

n otcl or C++

n otcl quick to hack but leaks and can be slow to run n C++ slower to code but can be quicker to run

n Cache flow pairs in large simulations

n less object construction-destruction n keeps classifier tables lean and mean

slide-17
SLIDE 17

Common pitfalls

n Crazy parameters; complete overload,

underload, and more mind-bending system implications

n Modeling closed loop as open loop; shocking

garbage

n Presentation of results misleads the reader

n Think about graph scales; do insets and big

picture

slide-18
SLIDE 18

Things that are always hard

n Getting measurements and models that

faithfully characterize real systems

n do some measurement and modeling!

n Checking your traffic model isn’t bust

n try limit cases

n Simulating large numbers of traffic sources

n cache src-dest pairs in otcl n write C++ based connection level objects

slide-19
SLIDE 19

Summary

n Ultimately interested in application

performance metrics

n Closed loop and open loop traffic are

different

n Think about system level process and

source-destination packet traffic

n Be careful to justify your range of

parameters

n Measurement and model verification