Reorder Density (RD) and Reorder Buffer- occupancy Density (RBD) : - - PowerPoint PPT Presentation

reorder density rd and reorder buffer occupancy density
SMART_READER_LITE
LIVE PREVIEW

Reorder Density (RD) and Reorder Buffer- occupancy Density (RBD) : - - PowerPoint PPT Presentation

Reorder Density (RD) and Reorder Buffer- occupancy Density (RBD) : Metrics for packet reordering Anura P. Jayasumana Nischal M Piratla, Abhijit Bare, Tarun Banka, Rick Whitner* & Jerry McCollom* Computer Networking Research Laboratory


slide-1
SLIDE 1

1

Reorder Density (RD) and Reorder Buffer-

  • ccupancy Density (RBD) : Metrics for

packet reordering

Anura P. Jayasumana

Nischal M Piratla, Abhijit Bare, Tarun Banka, Rick Whitner* & Jerry McCollom*

Computer Networking Research Laboratory Colorado State University *Agilent Labs

draft-jayasumana-reorder-density-03.txt IETF Meeting, San Diego, CA August 2, 2003

slide-2
SLIDE 2

2

Revision History

Reorder Buffer-occupancy Density (RBD)

The “Reorder Density” function defined in the previous draft

is renamed RBD

New version of RBD is orthogonal to loss and duplication First version of RBD useful from application point of view for

recovery from reordering

Reorder Density (RD) – A comprehensive metric for

reordering

Contains all information in ED (Early Density) and LD (Late

Density)

Several useful properties including the ability to combine

reorder information from subnets

Built in recovery features – burst losses, very early packets

etc.

slide-3
SLIDE 3

3

  • If a packet with a sequence number higher than the currently

expected packet arrives, it is buffered.

  • Packets are removed from the buffer, when they become in-
  • rder or when the buffer is full.
  • Occupancy of the buffer is recorded after each arrival is

processed.

  • Size of the buffer (BT) determines when a packet is considered

lost or useless.

Reorder Density Computation Module

Occupancy BT Incoming Sequence Number In-order Removal

Concept of RBD

slide-4
SLIDE 4

4

Concept of RBD

Concern expressed at prior meeting:

Dependency of metric on loss

New version: Modify buffer-occupancies

to ignore losses

if a packet does not arrive even after the

buffer is full (go-back BT), or

lag by BT delay detecting losses (stay-back

BT).

slide-5
SLIDE 5

5

Salient Features of RBD

New version: Orthogonal to loss and

duplication

Earlier version: Useful for application

from the point of recovery at the destination, e.g., estimation of buffer allocation requirements

Complexity:

Space complexity O(BT) Computation complexity O(N)

slide-6
SLIDE 6

6

RBD Measurements: With and Without Loss Detection

2 4 6 8 10 12 14 0.000 0.005 0.94 0.96 0.98 1.00 Break from 0.05 to 0.94 Without Loss Detection With Loss Detection RBD Buffer-occpuancy 2 4 6 8 10 12 14 0.00 0.01 0.9 Break from 0.2 to 0.85 RBD Buffer-occupancy Without Loss Detection With Loss Detection

From 210.212.x.x to 129.82.x.x From 202.54.x.x to 129.82.x.x

slide-7
SLIDE 7

7

Packet Reordering

A: 1,2,8,3,4,5,6,7,9,10,11,… B: 1,3,4,5,6,7,2,8,9,10,11,… C: 1,2,4,3,5,6,7,8,9,10,11,…

slide-8
SLIDE 8

8

Definition and Concept of RD

6 7 3 5 4 2 1 Arr Arriva val 6 5 7 4 3 2 1 Receive_index Receive_index

Packet Reordering:

1

  • 1
  • 1

2

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt (d (dm)

m (m + dm) Packet Reordering: Packet reordering is completely represented by the union of reorder events, For the above sequence R = {(3, 2), (4, -1), (5, -1), (6, 1), (7, -1)}

m m m

R = {r(m, d )|d 0} ≠

U

Reorder Event r(m, dm): If the receive_index assigned to packet m is (m+dm), with dm ≠ 0 then a reordered event r(m, dm) has occurred Earliness/Lateness: A packet is late if dm > 0, and early if dm < 0

slide-9
SLIDE 9

9

Definition and Concept of RD

6 7 3 5 4 2 1 Arr Arriva val 6 5 7 4 3 2 1 Receive_index Receive_index

  • Ex. 1: No losses/ duplicates

1

  • 1
  • 1

2

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt (d (dm) 2/7 2/7 2 1/7 1/7 1 1 1/7 1/7 3/7 3/7 Norm Normalized alized Frequency R Frequency RD[D] [D] 1 3 Frequency FLE[ Frequency FLE[D] D] 2

  • 1
  • 1

Displacement (D) Displacement (D)

slide-10
SLIDE 10

10

Concept of RD

6 1 3 5 4 2 1 Arr Arriva val

  • Ex. 2: With packet duplication

1 is duplicated

  • 2
  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt 3/6 3/6 3 1 1/6 1/6 2/6 2/6 Norm Normalized alized Frequency R Frequency RD[D] [D] 1 2 Frequency FLE[ Frequency FLE[D] D] 2

  • 1
  • 1

Displacement (D) Displacement (D) 6

  • 5

4 3 2 1 Receive_index Receive_index

slide-11
SLIDE 11

11

Concept of RD

8 7 6 2 4 3 1 Arr Arriva val

  • Ex. 3: With packet loss, DT=2

5 is lost

2

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt 4/7 4/7 4 1 1/7 1/7 2/7 2/7 Norm Normalized alized Frequency R Frequency RD[D] [D] 1 2 Frequency FLE[ Frequency FLE[D] D] 2

  • 1
  • 1

Displacement (D) Displacement (D) 8 7 6 4 3 2 1 Receive_index Receive_index

slide-12
SLIDE 12

12

RD Definition

=

m m

S[k] = {r(m, d )|d k}

Then, RD [k] = |S[k]| / N ' for k ≠ 0 Where N ‘ is the total non-duplicate packets received and |S[k]| is cardinality of set S[k]. RD[0] = 1 -

k 0

|S[k]|/N'

Let S[k] be a subset of R s.t

slide-13
SLIDE 13

13

Methodology

  • Assignment of receive_index values
  • Do not assign receive_index values for lost packets
  • Discard duplicate arrivals, i.e., no receive_index values

for such arrivals Result: Orthogonal to loss and duplication

  • Detection of lost packets
  • Detection of duplicate packets
slide-14
SLIDE 14

14

Methodology - Detecting lost packets

  • A packet is lost, if it is not within next DT arrivals, w.r.t

where it was in the ordered sequence

  • Two detection methods:
  • Go-back DT:

RD is computed in real-time For previous DT arrivals, receive_index values are reassigned

and RD is computed again, only if a packet is lost

  • Stay-back DT:

RD is computed with a lag DT arrivals Next DT arrivals are checked for any lost packets before

assigning the current receive_index value

slide-15
SLIDE 15

15

Methodology – Detecting duplicates

  • A packet is duplicate, if it is among early arrivals
  • Due to DT threshold on loss, the number of early

arrivals to be recorded is DT for the worst case

slide-16
SLIDE 16

16

RD with Stay-back Procedure

  • Ex. 1 (1, 3, 4, 2, 6, 7, 8) with DT = 2

1, 3, 4, 2, 6, 7, 8) with DT = 2

4 3 1

window

4 3 1 Arr Arriva val 1 Receive_index Receive_index Displac Displaceme ment nt

slide-17
SLIDE 17

17

RD with Stay-back Procedure

  • Ex. 1 (1, 3, 4, 2, 6, 7, 8) with DT = 2

1, 3, 4, 2, 6, 7, 8) with DT = 2

2 4 3

window

2 4 3 1 Arr Arriva val 2 1 Receive_index Receive_index

  • 1
  • 1

Displac Displaceme ment nt

3

Early arrivals

slide-18
SLIDE 18

18

RD with Stay-back Procedure

  • Ex. 1 (1, 3, 4, 2, 6, 7, 8) with DT = 2

1, 3, 4, 2, 6, 7, 8) with DT = 2

6 2 4

window

6 2 4 3 1 Arr Arriva val 3 2 1 Receive_index Receive_index

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt

4 3

Early arrivals

delete

slide-19
SLIDE 19

19

RD with Stay-back Procedure

  • Ex. 1 (1, 3, 4, 2, 6, 7, 8) with DT = 2

1, 3, 4, 2, 6, 7, 8) with DT = 2

7 6 2

window

7 6 2 4 3 1 Arr Arriva val 4 3 2 1 Receive_index Receive_index 2

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt

4

Early arrivals

delete

slide-20
SLIDE 20

20

RD with Stay-back Procedure

  • Ex. 1 (1, 3, 4, 2, 6, 7, 8) with DT = 2

1, 3, 4, 2, 6, 7, 8) with DT = 2

8 7 6

window

8 7 6 2 4 3 1 Arr Arriva val 8 7 6 4 3 2 1 Receive_index Receive_index 2

  • 1
  • 1
  • 1
  • 1

Displac Displaceme ment nt

Early arrivals 5 is lost

slide-21
SLIDE 21

21

Salient Features of RD

As length of the sequence being evaluated increases,

RD approaches the PDF of the packet displacement

Orthogonal to loss and duplication Robustness – Receive_index self correcting in

presence of losses, burst losses, sense of proportionality

Usefulness: Ex. Can be used for setting TCP

parameter “dupthresh” dynamically

Complexity:

Space complexity O(DT) Computation complexity O(N)

Broader applicability: Reorder Response

slide-22
SLIDE 22

22

Reorder Response

Reorder response of a network [J]: RD at the output of the subnet for a sequence of in-order packets

  • A reorder response exists for a network in which the packet reordering

is not based on packet sequence number.

  • The reorder response depends on the distribution of inter-packet gaps

and the network operating condition

  • The reorder density Y at the output of the subnet for an out-of-order

input packet sequence with RD X is given by Y = X * J

  • Ref: Reorder Density – A Metric for Packet Reordering, Piratla, Bare &
  • Jayasumana. See also http://www.cnrl.colostate.edu

Subnet A Subnet A

X Y [J]

slide-23
SLIDE 23

23

RD and Reorder Response

Net-Y D: 100ms SD: 4 ms Net-Y D: 100ms SD: 4 ms Net-X: D: 150ms SD: 7 ms Net-X: D: 150ms SD: 7 ms

  • 6
  • 3

3 6 9 12 0.0 0.2 0.4 0.6

  • 6
  • 3

3 6 9 12 0.0 0.1 0.2 0.3 (a) (b)

Earliness/Lateness For N et-X (A to B) For N et-Y (B to C )

RD

From A to C U sing convolution theorem

At steady conditions: The reorder response J[k] of a network formed by cascading two subnets, with reorder responses J1[k] and J2[k] respectively, is given by the convolution of J1[k] and J2[k] , i.e., J[k] = J1[k] * J2 [k].

A B C

slide-24
SLIDE 24

24

Resources

Our site http://www.cnrl.colostate.edu

Algorithms Perl Scripts Java Applets Papers on Reordering Information on Work in Progress

slide-25
SLIDE 25

25

Future

Merge two drafts? A separate ippm draft ? An informational RFC Further publications outside IETF