+ All Categories
Home > Documents > Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity...

Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity...

Date post: 27-Feb-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
36
Measurement and Modelling I: End-to-End Bandwidth Measurements 6.829 Lecture 11 October 10, 2002 Jacob Strauss 1
Transcript
Page 1: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Measurement and Modelling I:End-to-End Bandwidth Measurements

6.829 Lecture 11

October 10, 2002

Jacob Strauss

1

Page 2: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

End-to-End Measurements

Goal: Bandwidth-Aware Applications• Is a path fast enough?• Which path is faster?

What is bandwidth?• Link Capacity: physical link speed (e.g. 100 Mbps Ethernet)

. for link i, link capacity ci.

• Path Capacity: minimum capacity link along a path

. C = mini=0...n(ci)

• Link Utilization: fraction of link capacity used over some time interval

. 0 ≤ ui ≤ 1

• Available Bandwidth: minimum spare capacity along a path over some interval

. A = mini=0...n(1− ui)ci

2

Page 3: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Example Topology

C=10 Mbps, u=0.2C=100 Mbps, u=0.95

C=20 Mbps, u=0.5X

Y

Capacity from X to Y?

Page 4: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Example Topology

C=10 Mbps, u=0.2C=100 Mbps, u=0.95

C=20 Mbps, u=0.5X

Y

Capacity from X to Y? C = 10Mbps

Available bandwidth from X to Y?

Page 5: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Example Topology

C=10 Mbps, u=0.2C=100 Mbps, u=0.95

C=20 Mbps, u=0.5X

Y

Capacity from X to Y? C = 10Mbps

Available bandwidth from X to Y? A = 5Mbps

3

Page 6: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Problem: Capacity Estimation

X Y

C1C2

C3

How can we measure the path capacity between X and Y ?

4

Page 7: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet Pair on an unloaded path

X Y

tt

C1C2

C3

Send two packets, of P bits each, back-to-back

Record the difference between arrival times, ∆t.

Path Capacity is P∆t

5

Page 8: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet Pair Complications: Cross Traffic

X Y

t

C1C2

C3

t

other packet

probe packet

∆t >P

C

6

Page 9: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet Pair Complications: Multiple Queues

X Y

C1C2

C3

t

other packet

probe packett

∆t <P

C

7

Page 10: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Delay Measurements Block Diagram

Timestamps

Filters

Estimates

Network

Packet Source

8

Page 11: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

New Problem: Path capacity and packet sizedistribution

Long train of packets with size P , sent every δ seconds

Record either one-way-delay or round-trip time for each packet

• RTT is easier to measure. Why?

Use phase plots:

• For each n, plot a point at (rttn, rttn + 1)

9

Page 12: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Delay Components & Model

Components

• Propagation delays• Queuing delays• Processing delay (lookup & scheduling)• Transmission delay

Model assuming a single queue

• Fixed delay: D

• waiting time: wn

• service time: yn = Pµ

• total delay: rttn = D + wn + Pµ

10

Page 13: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: light load conditions

Assume that the tight link load is low:

• wn+1 = wn + εn

⇒ rttn+1 = rttn + εn

Page 14: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: light load conditions

Assume that the tight link load is low:

• wn+1 = wn + εn

⇒ rttn+1 = rttn + εn

Points plotted near the line y = x above (x, y) = (D,D)

11

Page 15: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: heavy load conditions

Assume B bits in between probe packets n and n + 1

wn+1 = wn + Bµ − δ

Page 16: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: heavy load conditions

Assume B bits in between probe packets n and n + 1

wn+1 = wn + Bµ − δ

Now assume Bµ � δ

• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds

for the k packets: wn+i − wn+i−1 = P/µ− δ

• why is P/µ− δ < 0?

Page 17: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: heavy load conditions

Assume B bits in between probe packets n and n + 1

wn+1 = wn + Bµ − δ

Now assume Bµ � δ

• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds

for the k packets: wn+i − wn+i−1 = P/µ− δ

• why is P/µ− δ < 0?

result is rttn+1 = rttn + (P/µ− δ)

Page 18: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Explain the Plot: heavy load conditions

Assume B bits in between probe packets n and n + 1

wn+1 = wn + Bµ − δ

Now assume Bµ � δ

• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds

for the k packets: wn+i − wn+i−1 = P/µ− δ

• why is P/µ− δ < 0?

result is rttn+1 = rttn + (P/µ− δ)

We now know the bottleneck capacity µ from the plot.

12

Page 19: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet size distribution

Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:

wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)

Page 20: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet size distribution

Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:

wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)

Apply twice:

wbn = (wn + P/µ− δb)+

wn+1 =((wn + P/µ− δb)+ + bn/µ− (δ − δb)

)+

Page 21: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Packet size distribution

Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:

wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)

Apply twice:

wbn = (wn + P/µ− δb)+

wn+1 =((wn + P/µ− δb)+ + bn/µ− (δ − δb)

)+

wn+1 = wn + (P + bn)/µ− δ

bn = µ(wn+1 − wn + δ)− P

Now we can find packet sizes from peaks in PDF of wn+1−wn + δ

13

Page 22: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Example Distribution Plot

0

100

200

300

400

500

600

700

800

0 50 100 150 200

pair

coun

t

received gap in usec (2 us buckets)

Squeezed Pair Histogram: ccicom.ron.lcs.mit.edu --> nyu.ron.lcs.mit.edu

1500

B

500B

sent

gap

b2b

14

Page 23: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

New Problem: Available Bandwidth Estimation

Can we use the same packet train to estimate A?

Page 24: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

New Problem: Available Bandwidth Estimation

Can we use the same packet train to estimate A?

No, but we can determine whether P/δ > A or P/δ < A

• Later we’ll build on this test to estimate A

Page 25: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

New Problem: Available Bandwidth Estimation

Can we use the same packet train to estimate A?

No, but we can determine whether P/δ > A or P/δ < A

• Later we’ll build on this test to estimate A

Basic idea: instead of just comparing wn+1 to wn, compare wn town+1, wn+2, wn+3, . . .

Method: Plot evolution of wn versus n

15

Page 26: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Pathload Delay Model

The packet train consists of K packets of size L sent at a constantrate R.

Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk

i when the kth probe packet arrives

Page 27: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Pathload Delay Model

The packet train consists of K packets of size L sent at a constantrate R.

Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk

i when the kth probe packet arrives

The One-Way-Delay for probe k is:

Dk =H∑i=1

(L

Ci+

qki

Ci

)

Page 28: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Pathload Delay Model

The packet train consists of K packets of size L sent at a constantrate R.

Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk

i when the kth probe packet arrives

The One-Way-Delay for probe k is:

Dk =H∑i=1

(L

Ci+

qki

Ci

)

∆Dk ≡ Dk+1 −Dk =H∑i=1

∆qki

Ci

16

Page 29: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Increasing Trends

If R > A, then ∆Dk > 0 for k ≥ 1

If R ≤ A, then ∆Dk = 0 for k ≥ 1

Page 30: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Increasing Trends

If R > A, then ∆Dk > 0 for k ≥ 1

If R ≤ A, then ∆Dk = 0 for k ≥ 1

Intuition for a single link i with Ai < R:

• Queue grows longer with each probe packet that arrives• ∆qk

i = (L + uiCiT )− C1T = (R−Ai)T > 0

For a single link with Ai ≥ R:

• ∆qki = 0

By induction, show that ∆Dk > 0 when R > A

Page 31: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Increasing Trends

If R > A, then ∆Dk > 0 for k ≥ 1

If R ≤ A, then ∆Dk = 0 for k ≥ 1

Intuition for a single link i with Ai < R:

• Queue grows longer with each probe packet that arrives• ∆qk

i = (L + uiCiT )− C1T = (R−Ai)T > 0

For a single link with Ai ≥ R:

• ∆qki = 0

By induction, show that ∆Dk > 0 when R > A

Plot Dk – if ∆Dk > 0 then R > A

17

Page 32: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Complications

Ai not a constant

• varies on both short and long time scales

Need to choose K and L carefully

• Too short – can’t tell if ∆Dk > 0• Too long – flood link• Compromise – use multiple trains

How did we choose R initially?

18

Page 33: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Iterative Search for A

maintain two state variables: Rmax and Rmin.

always have Rmin ≤ A ≤ Rmax .

Pick a new R halfway between Rmax and Rmin

Test whether R <> A, update either Rmax or Rmin

Stop when Rmax and Rmin are close enough.

In practice the search is more complicated because the outcome oftesting R <> A is sometimes unsure

19

Page 34: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Pathload Block Diagram

Timestamps

Filters

Estimates

Network

Packet Source

20

Page 35: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Available Bandwidth isn’t the full story

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.01 0.1 1 10 100

CD

F

BTC / Pathload rate

BTC vs Pathload: 15 RON hosts -- one test per path

21

Page 36: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity

Conclusion

There’s a lot you can learn with simple probes

• packet pair• packet trains — regular interval, constant packet size

Just by looking at packet delay variations you can determine

• Path Capacity• Common Packet Sizes• Available Bandwidth

22


Recommended