towards
play

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,


  1. 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 Nádas(Ericsson Research) Gergő Gombos, Ferenc Fejes and Sándor Laki(ELTE EötvösLorándUniversity) szilveszter.nadas@ericsson.com 5:1 1:1 http://ppv.elte.hu 1:5 Speed Link Capacity Same throughput time Improved Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 1 throughput

  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] Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 2

  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 Marker Packet Marker (per node) Packet Marker Edge (per node) (per node) — Packet Marking at the edge Packet Desired Resource Sharing is marking — encodes policy into a value marked on each packet defined by packet marking Only — Resource Node – AQM and Scheduling (no policy or flow information is needed) Resource — behavior based on packet marking only Node — no need for Core — policy information Resource mngment — flow identification — separate queues — very fast and simple implementations exist Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 3

  4. Bitrate measurement and timescales Speed Link Packet#1 Packet#2 t Packet#1 Packet#2 — Bitrateis a derived measure arrived arrived Packet — Discrete packet arrivals are translated to bitrate arrivals — Bitrate always has a timescale associated time 𝐶𝑗𝑢𝑠𝑏𝑢𝑓 = 𝑊𝑝𝑚𝑣𝑛𝑓 (𝑐𝑗𝑢𝑡) Bitrate Bitrate 𝑈𝑗𝑛𝑓 (𝑡𝑓𝑑) derived (RTT) RTT — Natural timescales : ~ RTT Bitrate time (Session) ~ 1s – speed shown in apps Session ~ Session duration (target) ~ 1 minute: short term history and activity Bitrate time (1 min) ~ 10 minutes: longer term activity 1 min ~ Month: monthly cap Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 4 time

  5. 5:1 Fairness on multiple timescales 1:1 1:1 Speed Link Capacity — When to measure bitrate — When source is active – to describe performance time — During both active and inactive periods – to judge the fairnessof resource sharing 5:1 — Fairnessgoal on multiple timescales 1:1 — Balanced fairness: multiple timescales are considered 1:5 Speed — Allow higher share on shorter timescales for flows Link below their fair share in longer timescales Capacity — We aim at smooth transition as the relations between the rates measured on different timescales changes Same throughput time Improved throughput Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 5

  6. Per Packet Value marking defined by Throughput-Value Functions (TVF) — For a single timescale — Fine grained control — Independent of — Traffic mix — Resource bandwidth High c. — Each of these result in a Packet Value limit: Medium c. — Congestion Threshold log Value (CTV) Low congestion — Intersection of the TVFs and the CTV defines desired resource sharing log Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 6

  7. Packet marking based on Rate Measurement 1000 PPV = 100 log(Packet Value) 100 10 random = 20 Meas. Rate = 48 1 4 16 64 256 log(Throughput [Mbps]) R: rate r=rnd([0,R]) PV=TVF(r) IN pkt stream OUT pkt stream measurement Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 7

  8. Rate measurement algorithms (RMA) and examples — 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 — TS=[10ms, 1s, 5s, 10s] — Efficient approximation of this (see article) — When transmission starts — Time-Dependent Rate Measurement — R 1 > R 2 > R 3 > R 4 algorithm with Time Window Moving Average (TDRM-TWMA) — Rate decrease/transmission stop — R 1 < R 2 < R 3 < R 4 Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 8

  9. Multi-Timescale Throughput-Value Function(MTS-TVF) — (Single-TS) TVF — MTS-TVF — 1 TVF per flow type — 1 TVF per TS per flow type TVF TVF 4 TVF 3 TVF 2 TVF 1 Packet Value Packet Value Throughput Throughput Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 9

  10. Multi-Timescale Throughput-Value Function(MTS-TVF) Resource Sharing TVF 4 TVF 3 TVF 2 TVF 1 — Dominant timescale (TS i ) Packet Value — When the rate measurement on that timescale (R i ) 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=TS 1 (just arrived) — The other has TS=TS 4 (long history) — They shall share the bottleneck according to TVF 4 vs. TVF 1 — as if they would be of different flow types in the Throughput single-TS framework Throughput Throughput — But: we aim at smooth transitions when relation of flow with of flow with between R i s change dominant TS 4 dominant TS 1 Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 10

  11. Multi-Timescale Bandwidth Profile (MTS-BWP) DP 1 DP 2 DP 3 DP 4 R 14 R 24 R 34 — Provides multi-timescale fairness among flows R 44 — Only in well defined scenarios BS 14 TS 4 BS 24 BS 34 BS 44 — Number of flows R 13 R 23 R 33 R 43 — System capacity BS 13 TS 3 — A 4 timescale, 4 Drop precedence example BS 23 BS 33 BS 43 R 12 R 22 — (ET = Enough tokens) R 32 R 42 TS 2 BS 12 BS 22 BS 32 BS 42 — Any MTS-TVF can be quantized to an MTS- R 11 R 21 R 31 R 41 BWP — Not practical implementation BS 11 BS 21 TS 1 BS 31 BS 41 — E.g. 65k different PVs → 65k*4 token flow in buckets flow out Yes Yes ET? Yes forward ET? Yes No ET? No ET? No No drop Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 11

  12. Practical packet marking using MTS-TVF — Using a quantized MTS-TVF to MTS-BWP TVF 1 TVF 2 — Multi-Timescale Bandwidth Profile (MTS-BWP) R i,2 R i,1 Packet Value — Also measures rate on each timescale (indirectly) R i+1,1 PV i PV i TB i,2 R i+1,2 TB i,1 — The limiting Token Buckets determine the rate measurement PV i+1 PV i+1 TB i+1,2 TB i+1,1 — At these rate measurements it switches between timescales, R 2 + D R 2 Throughput — i.e. between TVFs Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 12

  13. Efficient packet marking based on Multi-Timescale Throughput-Value Function — Measure rate for all the timescales TVF 4 TVF 3 TVF 2 TVF 1 r — R 4 , R 3 , R 2 , R 1 log(Packet Value) r + D 3 D 3 — At R i s determine distance between the r + D 3 + D 2 TVFs D 2 r + D 3 + D 2 + D 1 — Blue region of the TVFs are used — Changes as R i s change — Algorithm D 1 — r is is a uniform rnd [0,R 1 ] 6 1 2 3 4 5 7 — Determine right region i= - — Relation between R i s and r — Determine D i s log(Throughput) Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 13

  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] — TVF 4 is Gold or Silver as single-TS TVF — Shorter TSs weights 2, 4, 8, i.e. Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 14

  15. Greedy flows of the same traffic class (DCTCP) New flow is boosted Immediate fair share Multi-Timescale PPV Reference: Single-Timescale PPV Szilveszter Nadas | ppv.elte.hu | 2019-07-22 @ ANRW2019 | Towards Core-Stateless Fairness on Multiple Timescales | | Page 15

Recommend


More recommend