17
CPRI “FrontHaul ” requirements continuing discussion with TSN [email protected] (presenter) [email protected] (simulations) Nov 2014 San Antonio, Texas

CPRI “FrontHaul” requirements continuing discussion with TSN

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPRI “FrontHaul” requirements continuing discussion with TSN

CPRI “FrontHaul” requirements continuing discussion with TSN

[email protected] (presenter) [email protected] (simulations)

Nov 2014 San Antonio, Texas

Page 2: CPRI “FrontHaul” requirements continuing discussion with TSN

Experimental Goal - ongoing • To run the simplest possible simulation of a CPRI front

haul network. • Make use of the TSN concepts. • Look at the before/after results for jitter/delay. • Understand the pros/cons involved. • Make any recommendations on required changes to

TSN. • Initial focus on Scheduled traffic (802.1Qbv )

simplified assumptions. I.e. perfect frequency sync, ns level scheduling, 1 Q per CPRI connection & no background traffic.

• Ongoing – will add more and more reality (eg card2card delay/jitter, clock errors, encoding delays).

Page 3: CPRI “FrontHaul” requirements continuing discussion with TSN

Network Simulator (NS-3)

• A discrete-event network simulator, targeted primarily for research and educational use.

• Free software, licensed under the GNU GPLv2 license, and publicly available at http://www.nsnam.org/

• Clean slate design (not based on NS-2), aiming for easy use and extension. Written entirely in c++ with Python wrappers.

• NS-3 models used in our simulation include, but not limited to: core, network, Internet, UDP Echo Application, and Flow Monitor.

Page 4: CPRI “FrontHaul” requirements continuing discussion with TSN

40g 2km

40g 2km

20g 1km

20g 1km

600g 5km

C-RAN

40g 2km

40g 2km

20g 1km

20g 1km

400g 5km

40g 2km

40g 2km

20g 1km

20g 1km

200g 5km

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

2.4

5

4.9

1

9.8

3

CPRI Connections PDU size = 1000 bytes

SIMULATED FRONTHAUL NETWORK

Qbv

Qbv

Qbv Qbv

Qbv Qbv Qbv

Qbv

Qbv Qbv

Qbv Qbv

Qbv

Qbv Qbv

Page 5: CPRI “FrontHaul” requirements continuing discussion with TSN

Queue models in our simulation • We use two queue models, namely DropTail queue and

Scheduled Queue, to study the jitter behavior of existing Ethernet dropTail Q’s and a first crude model of the proposed Qbv scheduled Q’s.

• DropTail queue comes with NS-3. It is a first-in-first-out queue that drops packets at the tail. Note a couple of other queue models are also available in NS-3, but not tested since they primarily aim at improving TCP performance. Our testing uses a UDP application with perfect rates to simulate three CPRI speeds into a single DropTail queue at each egress link.

• Scheduled queues in our implementation was totally local, no attempt to phase synch (+ delay )between neighbors, just frequency locked (i.e. jitter reduction attempt, not delay reduction).

Page 6: CPRI “FrontHaul” requirements continuing discussion with TSN

Delay & Jitter for DropTail Queue

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

MinDelay

MaxDelay

Jitter x 100

DropTail Queue PKT_LEN=1000 bytes

Flow ID

ns

Stable delays and jitters for all flows. Jitter is around 400ns. Note date rates are 2.45, 4.91, and 9.83Gbps.

Page 7: CPRI “FrontHaul” requirements continuing discussion with TSN

First Simple Local Scheduling Algorithm • One queue per data flow (i.e., no queue sharing among flows), and each is processed

according to a schedule (per port)

• A schedule has a fixed cycle of constant duration, equivalent to the least common multiplier of packet transmission intervals of all flows, and repeats infinitely (until a new schedule is calculated and activated).

• For example, if a packet length is of 1000 bytes, a data flows of 5Gbps would have a packet transmission interval of 1600ns, and 8Gbps flow would have an interval of 1000ns. In this case, the schedule cycle is of 8000ns. Our simulation uses three data rates of 2.5Gbps, 5Gbps, and 10Gbps. Thus, the schedule cycle is of 3200ns for a packet length of 1K bytes.

• A schedule cycle is divided into a number of time slots of equal size. Each slot is at least equal to the packet transmission time of the outgoing link. (see next page for example).

• Each schedule is calculated independently for each port without any global

optimization. The scheduling algorithm further assumes that the first packets from all flows arrive all at time 0 (i.e., when the schedule starts).

Page 8: CPRI “FrontHaul” requirements continuing discussion with TSN

A schedule example

• Packet length = 1000 bytes

• Packet transmission intervals of 2.5Gbps, 5Gbps, and 10Gbps are of 3200ns, 1600ns, and 800ns respective (= packet_length*8/data rate).

• Schedule cycle = lcm(3200, 1600, 800) = 3200ns.

• Packet transmission time (ptt) for 40Gbps link is 200ns = (packet_length*8/link_speed).

• Slot size = k*ptt. For convenience, we choose k = 1.2 to make sure a slot is always enough for transmitting a packet . So the slot size = 240ns. Note for any k>1, (k-1)/k percent of bandwidth is lost.

• Total number of slots = schedule_cycle / slot size = 3200/240 = 13. We further add a non-used trailing slot of 80ns (= 3200 % 240). This results in further bandwidth loss.

• Below is a schedule for this 40G link:

2.5

G

5G

10

G

40G

3

1 2 3

0 0 3 0 2 3 0 0 3 2 1 0

Page 9: CPRI “FrontHaul” requirements continuing discussion with TSN

A schedule example (Cycle = 3200ns, packet=1000Bytes)

X

40G

1 2 3 3 0 0 3 0 2 3 0 0 3 2 1 0

C-RAN 3 4 5 6 7 8 9

10

11

12

2 1 0 0 0 0 3 0 0 6 0 0 200G

2.5G 5G 10G 3200ns 1600ns 800ns

TotalSlots=13, slotSize = 240ns, trail=80ns

TotalSlots=66, slotSize = 48ns, trail=32ns

A B

C D

9 0 12

0 0 0 0 0 0 0 2 5 6 0 8 9 0 11

0 3

0 0 0 0 0 3 0 0 6 0 0 12

0 0 12

0 0 0 0 0 0 9

0

3 0 0 3 0 2 3 0 0 3 2 1 0

0

4

5

6

7 8 9 1 0

1 1

1 2

3 4 5 6 7 8 9 10

11

12

2 1 0 0 0 0 3 0 0 6 0 0

9 0 12

0 0 0 0 0 0 0 2 5 6 0 8 9 0 11

0 3

0 0 0 0 0 3 0 0 6 0 0 12

0 0 12

0 0 0 0 0 0 9

0 0

Page 10: CPRI “FrontHaul” requirements continuing discussion with TSN

Delay & Jitter for Scheduled Queue

All jitters are reduced to ~zero (k=1.2). Note date rates are 2.5, 5.0, and 10.0Gbps.

0

20000

40000

60000

80000

100000

120000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

MaxDelay

MinDelay

Jitter

Scheduled Queue PKT_LEN=1000 bytes

ns Flow ID

Page 11: CPRI “FrontHaul” requirements continuing discussion with TSN

Jitter Comparison

Scheduled queue reduces all jitters to ~zero (the best case).

0

50

100

150

200

250

300

350

400

450

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Jitter (DT)

Jitter (SC)

Flow ID

ns

Page 12: CPRI “FrontHaul” requirements continuing discussion with TSN

Maximum Delay Comparison

Scheduled queue increases delay by 4347ns in the worst case.

30000

40000

50000

60000

70000

80000

90000

100000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

MaxDelay(SC)

MaxDelay(DT)

Flow ID ns

Page 13: CPRI “FrontHaul” requirements continuing discussion with TSN

Jitter for Scheduled Queue

All jitters are zero when k=1.2, or 1.5. When k=1.1, 1.3, or 1.4, small amount of jitters appear.

0

5

10

15

20

25

30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

k=1.1

k=1.2

k=1.3

k=1.4

k=1.5

Flow ID

ns

Scheduled Queue PKT_LEN=1000 bytes

Page 14: CPRI “FrontHaul” requirements continuing discussion with TSN

Jitters for different packet sizes (DropTail Queue)

Jitters increase when packets get larger.

0

100

200

300

400

500

600

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

PKT=250B

PKT=500B

PKT=750B

PKT=1000B

PKT=1250B

Flow ID

ns

DropTail Queue

Page 15: CPRI “FrontHaul” requirements continuing discussion with TSN

Jitters for different packet sizes (Scheduled Queue)

All jitters are zero when packets are of 500Bytes and 1000Bytes. When packets are of other sizes, some flows do have nonzero jitter.

0

200

400

600

800

1000

1200

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

PKT=1250B

PKT=1000B

PKT=750B

PKT=500B

PKT=250B

Scheduled Queue

Flow ID ns

Page 16: CPRI “FrontHaul” requirements continuing discussion with TSN

Some Thoughts Single DropTail queue seem to incur small amounts of jitter, and perform consistently with different packet sizes. If background traffic is pre-emptable then worst case would be an additional 64-128 bits of jitter (about 1.5-3ns at 40G). Scheduled queues have potential to nearly eliminate jitter, but require more effort in developing advanced scheduling algorithms. Especially difficult globally. More than 8 scheduled queues will be required if we are to use this method with CPRI however we still have to explore the gates concept… Some bandwidth will be wasted matching the input speeds to the scheduled time slots and intervals.

Page 17: CPRI “FrontHaul” requirements continuing discussion with TSN

Thank You