qos scheduling
play

QoS & Scheduling Danny Dolev Danny Dolev * Notes from * Notes - PDF document

Communication Networks and Protocols* QoS & Scheduling Danny Dolev Danny Dolev * Notes from * Notes from Keshav Keshav and and Anker Anker 1 Quality of Service (QoS) Headlines: Headlines: What is What is QoS QoS, why we need it ,


  1. Communication Networks and Protocols* QoS & Scheduling Danny Dolev Danny Dolev * Notes from * Notes from Keshav Keshav and and Anker Anker 1 Quality of Service (QoS) Headlines: Headlines: What is What is QoS QoS, why we need it , why we need it � � Components of Components of QoS QoS � � Traffic shaping Traffic shaping � � Performance guarantees: Performance guarantees: � � � Best effort schedulers Best effort schedulers � � Statistical guarantees and deterministic guarantees Statistical guarantees and deterministic guarantees � � schedulers for deterministic guarantees schedulers for deterministic guarantees � Admission Control Admission Control � � Buffer management (and drop policy) Buffer management (and drop policy) � � Danny Dolev 2 1

  2. Outline What is scheduling What is scheduling � � Why we need it Why we need it � � Requirements of a scheduling discipline Requirements of a scheduling discipline � � Fundamental choices Fundamental choices � � Scheduling best effort connections Scheduling best effort connections � � Scheduling guaranteed- -service connections service connections Scheduling guaranteed � � Packet drop strategies Packet drop strategies � � Danny Dolev 3 Scheduling Sharing always results in contention Sharing always results in contention � � A A scheduling discipline scheduling discipline resolves contention: resolves contention: � � � who who’ ’s next? s next? � Key to fairly sharing resources Key to fairly sharing resources and and providing performance providing performance � � guarantees guarantees Danny Dolev 4 2

  3. Components A scheduling discipline does two things: A scheduling discipline does two things: � � � decides service order decides service order � � manages queue of service requests manages queue of service requests � Example: Example: � � � consider queries awaiting web server consider queries awaiting web server � � scheduling discipline decides service order scheduling discipline decides service order � � and also if some query should be ignored and also if some query should be ignored � Danny Dolev 5 Where? Anywhere where contention may occur Anywhere where contention may occur � � At every layer of protocol stack At every layer of protocol stack � � Usually studied at network layer, at output queues of switches Usually studied at network layer, at output queues of switches � � Danny Dolev 6 3

  4. Three generations of packet switches Different trade- -offs between cost and performance offs between cost and performance Different trade � � Represent evolution in switching capacity, rather than in Represent evolution in switching capacity, rather than in � � technology technology � With same technology, a later generation switch achieves greater With same technology, a later generation switch achieves greater � capacity, but at greater cost capacity, but at greater cost All three generations are represented in current products All three generations are represented in current products � � Danny Dolev 7 First generation switch Most Ethernet switches and cheap packet routers Most Ethernet switches and cheap packet routers � � Bottleneck can be CPU, host Bottleneck can be CPU, host- -adaptor or I/O bus, depending adaptor or I/O bus, depending � � Danny Dolev 8 4

  5. Second generation switch Port mapping intelligence in line cards Port mapping intelligence in line cards � � ATM switch guarantees hit in lookup cache ATM switch guarantees hit in lookup cache � � Ipsilon IP switching IP switching Ipsilon � � assume underlying ATM network assume underlying ATM network � � by default, assemble packets by default, assemble packets � � if detect a flow, ask upstream to send on a particular VCI, and install entry in if detect a flow, ask upstream to send on a particular VCI, and install entry in � � port mapper mapper => implicit signaling => implicit signaling port Danny Dolev 9 Third generation switches Bottleneck in second generation switch is the bus (or ring) Bottleneck in second generation switch is the bus (or ring) � � Third generation switch provides parallel paths (fabric) Third generation switch provides parallel paths (fabric) � � Danny Dolev 10 5

  6. Outline What is scheduling What is scheduling � � Why we need it Why we need it � � Requirements of a scheduling discipline Requirements of a scheduling discipline � � Fundamental choices Fundamental choices � � Scheduling best effort connections Scheduling best effort connections � � Scheduling guaranteed- -service connections service connections Scheduling guaranteed � � Packet drop strategies Packet drop strategies � � Danny Dolev 11 Why do we need one? Because future applications need it Because future applications need it � � We expect two types of future applications We expect two types of future applications � � � best best- -effort (adaptive, non effort (adaptive, non- -real time) real time) � � e.g. email, some types of file transfer e.g. email, some types of file transfer � � guaranteed service (non guaranteed service (non- -adaptive, real time) adaptive, real time) � � e.g. packet voice, interactive video, stock quotes e.g. packet voice, interactive video, stock quotes � Danny Dolev 12 6

  7. What can scheduling disciplines do? Give different users different qualities of service Give different users different qualities of service � � Example of passengers waiting to board a plane Example of passengers waiting to board a plane � � � early boarders spend less time waiting early boarders spend less time waiting � � bumped off passengers are bumped off passengers are ‘ ‘lost lost’ ’! ! � Scheduling disciplines can allocate Scheduling disciplines can allocate � � � bandwidth bandwidth � � delay delay � � loss loss � They also determine how fair They also determine how fair the network is the network is � � Danny Dolev 13 Outline What is scheduling What is scheduling � � Why we need it Why we need it � � Requirements of a scheduling discipline Requirements of a scheduling discipline � � Fundamental choices Fundamental choices � � Scheduling best effort connections Scheduling best effort connections � � Scheduling guaranteed Scheduling guaranteed- -service connections service connections � � Packet drop strategies Packet drop strategies � � Danny Dolev 14 7

  8. Requirements An ideal scheduling discipline An ideal scheduling discipline � � � is easy to implement is easy to implement � � is fair is fair � � provides performance bounds provides performance bounds � � allows easy allows easy admission control admission control decisions decisions � � to decide whether a new flow can be allowed to decide whether a new flow can be allowed � Danny Dolev 15 Requirements: 1. Ease of implementation Scheduling discipline has to make a decision once every few Scheduling discipline has to make a decision once every few � � microseconds! microseconds! Should be implementable Should be implementable in few instructions or simple hardware in few instructions or simple hardware � � � for hardware: critical constraint is VLSI for hardware: critical constraint is VLSI space space � Work per packet should scale less than linearly with number of Work per packet should scale less than linearly with number of � � active connections active connections Danny Dolev 16 8

  9. Requirements: 2. Fairness Scheduling discipline allocates allocates a a resource resource Scheduling discipline � � An allocation is fair if it satisfies min min- -max fairness max fairness An allocation is fair if it satisfies � � Intuitively Intuitively � � � each connection gets no more than what it wants each connection gets no more than what it wants � � the excess, if any, is equally shared the excess, if any, is equally shared � Transfer half of excess Unsatisfied demand A B C A B C Danny Dolev 17 Fairness (contd.) Fairness is intuitively intuitively a good idea a good idea Fairness is � � But it also provides But it also provides protection protection � � � traffic hogs cannot overrun others traffic hogs cannot overrun others � � automatically builds automatically builds firewalls firewalls around heavy users around heavy users � Fairness is a global Fairness is a global objective, but scheduling is local objective, but scheduling is local � � Each endpoint must restrict its flow to the smallest fair alloca Each endpoint must restrict its flow to the smallest fair allocation tion � � Dynamics + delay => global fairness may never be achieved Dynamics + delay => global fairness may never be achieved � � Danny Dolev 18 9

Recommend


More recommend