Towards TVF 4 TVF 3 TVF 2 TVF 1 r log(Packet Value) r + D 3 D 3 r + - - PowerPoint PPT Presentation

towards
SMART_READER_LITE
LIVE PREVIEW

Towards TVF 4 TVF 3 TVF 2 TVF 1 r log(Packet Value) r + D 3 D 3 r + - - PowerPoint PPT Presentation

Towards TVF 4 TVF 3 TVF 2 TVF 1 r log(Packet Value) r + D 3 D 3 r + D 3 + D 2 Core-Stateless Fairness D 2 r + D 3 + D 2 + D 1 D 1 on Multiple Timescales 1 2 3 4 5 6 7 log(Throughput) Szilveszter Ndas(Ericsson Research) Gerg Gombos,


slide-1
SLIDE 1

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 1

Towards Core-Stateless Fairness

  • n Multiple Timescales

Szilveszter Nádas(Ericsson Research) GergőGombos, Ferenc Fejes and Sándor Laki(ELTE EötvösLorándUniversity) szilveszter.nadas@ericsson.com http://ppv.elte.hu

log(Throughput) log(Packet Value)

D3 TVF4 TVF3 TVF2 TVF1 D1 D2

1 2 3 4 5 6 7

r r + D3 r + D3 + D2 r + D3 + D2 + D1

time Speed Link Capacity 1:5 1:1 5:1 Improved throughput Same throughput

slide-2
SLIDE 2

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 2

Goal: Extend fairness to multiple timescales

— Define multi-timescale fairness — Build on existing framework — Re-using the existing Per Packet Value-based resource sharing framework — Build on Multi-Timescale Bandwidth Profile (MTS-BWP) — Provide efficient and versatile implementation — provide fine-grained fairness on multiple timescales — that is independent of traffic mixes and resource bandwidths. — Demonstrate advantages — “getting a scheme to instantly serve web flows for improved performance while maintaining fairness between other persistent traffic remains an open and significant design problem to be investigated” [1]

slide-3
SLIDE 3

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 3

Overview of Core-Stateless Resource Sharing Example: Per Packet Value based CS RS

— PPV is a Core-Stateless Resource Sharing framework, which

— allows a wide variety of detailed and flexible policies; — enforces those policies for all traffic mixes; and — scales well with the number of flows

— Packet Marking at the edge

— encodes policy into a value marked on each packet

— Resource Node – AQM and Scheduling

— behavior based on packet marking only — no need for — policy information — flow identification — separate queues — very fast and simple implementations exist

Packet Marker (per node) Resource Node Desired Resource Sharing is defined by packet marking Only (no policy or flow information is needed) Packet Marker (per node) Packet Marker (per node)

Edge Core

Packet marking Resource mngment

slide-4
SLIDE 4

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 4

Bitrate measurement and timescales

— Bitrateis a derived measure — Discrete packet arrivals are translated to bitrate — Bitrate always has a timescale associated

𝐶𝑗𝑢𝑠𝑏𝑢𝑓 = 𝑊𝑝𝑚𝑣𝑛𝑓 (𝑐𝑗𝑢𝑡) 𝑈𝑗𝑛𝑓 (𝑡𝑓𝑑)

— Natural timescales : ~ RTT ~ 1s – speed shown in apps ~ Session duration (target) ~ 1 minute: short term history and activity ~ 10 minutes: longer term activity ~ Month: monthly cap

time Bitrate (RTT) time Bitrate (Session) time Bitrate (1 min) time Packet arrivals t Speed Link

Packet#1 Packet#2

RTT Session 1 min

Packet#1 arrived

Bitrate derived

Packet#2 arrived

slide-5
SLIDE 5

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 5

Fairness on multiple timescales

— When to measure bitrate — When source is active – to describe performance — During both active and inactive periods – to judge the fairnessof resource sharing — Fairnessgoal on multiple timescales — Balanced fairness: multiple timescales are considered — Allow higher share on shorter timescales for flows below their fair share in longer timescales — We aim at smooth transition as the relations between the rates measured on different timescales changes

time 1:1 1:1 5:1 time Speed Link Capacity 1:5 1:1 5:1 Speed Link Capacity Improved throughput Same throughput

slide-6
SLIDE 6

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 6

— For a single timescale — Fine grained control — Independent of — Traffic mix — Resource bandwidth — Each of these result in a Packet Value limit: — Congestion Threshold Value (CTV) — Intersection of the TVFs and the CTV defines desired resource sharing

Per Packet Value marking defined by Throughput-Value Functions (TVF)

log log High c. Medium c. Low congestion

slide-7
SLIDE 7

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 7

1 10 100 1000 4 16 64 256 log(Packet Value) log(Throughput [Mbps])

Packet marking based on Rate Measurement

IN pkt stream OUT pkt stream R: rate measurement

r=rnd([0,R])

  • Meas. Rate = 48

random = 20 PPV = 100 PV=TVF(r)

slide-8
SLIDE 8

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 8

— Token Bucket Based RMA — For the ~RTT times-caleonly — Models the fair throughput and buffer share at the bottleneck — A single Token Bucket — its rate changes when empty/full — Sliding window-based RMA — All longer timescales (TS) — Rate = “amount of bits arrived in [t-TS,TS]”/TS — Efficient approximation of this (see article) — Time-Dependent Rate Measurement algorithm with Time Window Moving Average (TDRM-TWMA)

Rate measurement algorithms (RMA) and examples

— TS=[10ms, 1s, 5s, 10s] — When transmission starts — R1 > R2 > R3 > R4 — Rate decrease/transmission stop — R1 < R2 < R3 < R4

slide-9
SLIDE 9

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 9

Multi-Timescale Throughput-Value Function(MTS-TVF)

— (Single-TS) TVF — 1 TVF per flow type — MTS-TVF — 1 TVF per TS per flow type

Throughput Packet Value TVF Throughput Packet Value TVF4 TVF3 TVF2 TVF1

slide-10
SLIDE 10

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 10

— Dominant timescale (TSi) — When the rate measurement on that timescale (Ri) is the largest — (or the longest timescale among largest and roughly equal rate measurements) — Example: Two flows of the same flow type — One has dominant TS=TS1(just arrived) — The other has TS=TS4(long history) — They shall share the bottleneck according to

  • TVF4vs. TVF1

— as if they would be of different flow types in the single-TS framework — But: we aim at smooth transitions when relation between Ris change

Multi-Timescale Throughput-Value Function(MTS-TVF) Resource Sharing

Packet Value TVF4 TVF3 TVF2 TVF1 Throughput Throughput

  • f flow with

dominant TS4 Throughput

  • f flow with

dominant TS1

slide-11
SLIDE 11

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 11

— Provides multi-timescale fairness among flows — Only in well defined scenarios — Number of flows — System capacity — A 4 timescale, 4 Drop precedence example — (ET = Enough tokens) — Any MTS-TVF can be quantized to an MTS- BWP — Not practical implementation — E.g. 65k different PVs →65k*4 token buckets

Multi-Timescale Bandwidth Profile (MTS-BWP)

BS11 R11

flow out flow in

ET?

Yes No drop forward

BS12 R12 BS13 R13 BS14 R14 BS21 R21 ET?

Yes No

BS22 R22 BS23 R23 BS24 R24 BS31 R31 ET?

Yes No

BS32 R32 BS33 R33 BS34 R34 BS41 R41 ET?

Yes No

BS42 R42 BS43 R43 BS44 R44 DP1 DP2 DP3 DP4 TS4 TS3 TS2 TS1

slide-12
SLIDE 12

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 12

— Using a quantized MTS-TVF to MTS-BWP — Multi-Timescale Bandwidth Profile (MTS-BWP) — Also measures rate on each timescale (indirectly) — The limiting Token Buckets determine the rate measurement — At these rate measurements it switches between timescales, — i.e. between TVFs

Practical packet marking using MTS-TVF

Throughput Packet Value TVF2 TVF1 Ri,1 Ri,2 Ri+1,2 Ri+1,1 PVi PVi+1 R2 R2+D PVi PVi+1

TBi,2

TBi+1,2

TBi,1

TBi+1,1

slide-13
SLIDE 13

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 13

— Measure rate for all the timescales — R4, R3, R2, R1 — At Ris determine distance between the TVFs — Blue region of the TVFs are used — Changes as Ris change — Algorithm — r is is a uniform rnd [0,R1] — Determine right region i= - — Relation between Ris and r — Determine Dis

Efficient packet marking based on Multi-Timescale Throughput-Value Function

log(Throughput) log(Packet Value)

D3 TVF4 TVF3 TVF2 TVF1 D1 D2

1 2 3 4 5 6 7

r r + D3 r + D3 + D2 r + D3 + D2 + D1

slide-14
SLIDE 14

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 14

Simulations

— NS-3, NS-3 DCE (TCP Congestion Control) — Core scheduler unchanged from our article “Towards a Congestion Control-Independent Core- Stateless AQM” — 10 ms delay target — A flow consist of either — 1 DCTCP connection or — 4 Cubic TCP connections (faster slow start) — TS=[10ms, 1s, 5s, 10s] — TVF4is Gold or Silver as single-TS TVF — Shorter TSs weights 2, 4, 8, i.e.

slide-15
SLIDE 15

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 15

Greedy flows of the same traffic class (DCTCP)

Multi-Timescale PPV Reference: Single-Timescale PPV New flow is boosted Immediate fair share

slide-16
SLIDE 16

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 16

Greedy flows of the same traffic class

High initial boost Reaches 5s avg fair share in ~1s

slide-17
SLIDE 17

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 17

Faster startup (e.g. time-to play is less) fills the playout buffer faster

Simple adaptive streaming model MTS fairness for on-off pattern

slide-18
SLIDE 18

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 18

Continuous arrival: 10 new flows every 10s

New flows are temporarily boosted Rest have equal sharing

slide-19
SLIDE 19

Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 19

Discussion

— Initial results look promising — Multi-timescale fairness works — Significant performance gains — Advantage for new flows/starting phase — Better long term fairness for flows with on-off behavior — Future work — What is the practical number of timescales to be used? — How shall the timescales be dimensioned? — How to design multi-timescale TVFs? — Does it make sense to use a different kind of policy at various timescales? — What further policies that have practical relevance can be described in this model?

slide-20
SLIDE 20

http://ppv.elte.hu

log(Throughput) log(Packet Value)

D3 TVF4 TVF3 TVF2 TVF1 D1 D2

1 2 3 4 5 6 7

r r + D3 r + D3 + D2 r + D3 + D2 + D1

time Speed Link Capacity 1:5 1:1 5:1 Improved throughput Same throughput