Lightweight but Powerful QoS Solution for Embedded Systems Andreas FOGLAR
History of Traffic Theory Before 1980 Erlang statistics 1 Erlang = one resource constantly used Control plane only (BHCA) After 1980 Internet (Arpanet) basically best effort Methods available: DiffServ, IntServ, ToS, RSVP, … ATM High level QoS: 6 QoS classes Universal technology: TDM replacement solved Proposal 2002 Exploit ATM achievements in QoS Combine with Internet methods
Traffic management in Backbone Over-provisioning or Energy saving Example : DE CIX Yearly Traffic Statistics Over- provision Energy saving
Embedded Systems Limited Resources Portable Multimedia Device acting as Forwarder Video conference Browser eMail FTP Higher Layers Inter-MAC Bottleneck: Queuing point WLAN PLC Other devices Home Gateway
Traffic Management Basics M/D/1 Queue 2 3 : N Multiplexer Serving rate Queue Load Queue Length Incoming events: ATM cell, packet, burst, … equally distributed arrival times Load < 1 ! Queue Length → N →
Traffic Management Basics M/D/1 Queue size calculation results
Traffic Management Basics Quantile definition Probability Probability distribution of queuing delay Total area = 1 Area = quantile (e.g. 10-7) min mean max delay Max: Jitter Idea: limit jitter and buffer size – depending on load
Introducing Traffic Classes - differentiated by Jitter value Priority Class Low Latency Real Time Elastic Max. jitter per node 1ms 30ms 900ms Maximum burst size 200byte 1500byte 9000byte Loss probability 10-11 10-7 4th Class: Best Effort One step beyond DiffServ: absolute values!
Result of calculation Predictable end-2-end jitter Priority Class Low Latency Real Time Elastic Max. jitter over 10 nodes 3ms 100ms 3000s Mean jitter over 10 nodes 0.4ms 10ms 400ms Max. value calculation: convolution Mean value calculation: sum How does jitter translate into delay?
Jitter contribution to end-2-end Delay UDP, Streaming: User experiences Maximum Delay Play-out buffer Network Max. Delay Video Server TCP, Interactive: User experiences Mean Delay Network Web Server
Predictable end-2-end Delay some examples Class Low Latency Real Time Elastic E-2-e delay Max Mean 100km 5 ms 3 ms 99 ms 19ms 2979ms 339ms 1000km 10ms 7 ms 103ms 23ms 2983ms 343ms 10000km 55ms 52ms 148ms 68ms 3028ms 388ms Fast Internet access: 2 Mb/s upstream, 10 Mb/s downstream 10 nodes Streaming example: RT class for interactive video Browser example: RT class for interactive video
Implementation: Strict Priority Scheduler … has best delay behavior 1ms LL Serving rate = R 30ms RT Serving rate = RRLL Input Output 900ms Classification: DiffServ Strict priority mux EL Serving rate = RRRTRLL Serving rate R BE Serving rate = RREFRRTRLL RXX = Sum of rates of XX Traffic Class
Calculation of Queue Sizes … depending on Priority Class Load Link Load LL Queue RT Queue EL Queue Total 10% 1.2 8.8 26.4 45.1 20% 1.8 13.2 43.9 76.5 30% 2.1 16.1 61.5 106.2 40% 2.9 22.0 79.1 130.4 50% 3.7 27.8 105.5 181.0 60% 5.1 38.1 140.6 236.5 70% 7.2 54.2 202.1 342.7 80% 11.3 85.0 325.2 553.3 85% 15.4 115.7 439.5 755.2 90% 23.6 177.2 676.8 1167.7 95% 48.4 363.3 1388.7 2389.3 Values in kByte
Reserved traffic for Priority Classes
Summary We combined ATM traffic models to Internet We introduced new QoS classes differentiated by absolute Jitter values We calculated end-to-end delays We calculated buffer sizes Achievements Predictable end-to-end delays for the application Noticeable QoS class difference by the user Willingness to pay more for better class Simple scheduler Known buffer sizes for HW dimensioning Better use of resources for network operator
MuSE PlaNetS Acknowledgements Work enabled by publicly funded research projects FP6 MUSE Medea+ PlaNetS FP7 OMEGA Thank you for your attention! Questions? MuSE PlaNetS
Thank you for your attention We value your opinion and questions