CS 268: Lecture 17 (Dynamic Packet State) Ion Stoica April 15, 2002.

Slides:



Advertisements
Similar presentations
Quality of Service CS 457 Presentation Xue Gu Nov 15, 2001.
Advertisements

CS640: Introduction to Computer Networks Aditya Akella Lecture 20 – QoS.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Real-Time Protocol (RTP) r Provides standard packet format for real-time application r Typically runs over UDP r Specifies header fields below r Payload.
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
1 Scalable Network Architectures for Providing Per-flow Service Guarantees Jasleen Kaur Department of Computer Science University of North Carolina at.
Ion Stoica, Scott Shenker, and Hui Zhang SIGCOMM’98, Vancouver, August 1998 subsequently IEEE/ACM Transactions on Networking 11(1), 2003, pp Presented.
CPSC Topics in Multimedia Networking A Mechanism for Equitable Bandwidth Allocation under QoS and Budget Constraints D. Sivakumar IBM Almaden Research.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
ACN: IntServ and DiffServ1 Integrated Service (IntServ) versus Differentiated Service (Diffserv) Information taken from Kurose and Ross textbook “ Computer.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
CS Summer 2003 Lecture 8. CS Summer 2003 Populating LFIB with LDP Assigned/Learned Labels Changes in the LFIB may be triggered routing or.
CS 268: Differentiated Services Ion Stoica February 25, 2003.
CS 268: Project Suggestions Ion Stoica February 6, 2003.
CS 268: Lecture 8 (Router Support for Congestion Control) Ion Stoica February 19, 2002.
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
1 Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica,Scott Shenker, and Hui Zhang SIGCOMM’99,
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
Advanced Computer Networks1 Providing Guaranteed Services Without Per Flow Management By: Ion Stoica, Hui Zhang Presented by: Sanjeev R. Kulkarni.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
CS 268: Lecture 10 (Integrated Services) Ion Stoica March 4, 2002.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Rigorous fair Queueing requires per flow state: too costly in high speed core routers.
CS 268: Lecture 11 (Differentiated Services) Ion Stoica March 6, 2001.
CS 268: Integrated Services Ion Stoica February 23, 2004.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
1 CS 194: Distributed Systems Resource Allocation Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Fair Queueing requires per flow state: too costly in high speed core routers Yet, some.
24-1 Chapter 24. Congestion Control and Quality of Service part Quality of Service 23.6 Techniques to Improve QoS 23.7 Integrated Services 23.8.
Tiziana FerrariQuality of Service for Remote Control in the High Energy Physics Experiments CHEP, 07 Feb Quality of Service for Remote Control in.
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
CSE679: QoS Infrastructure to Support Multimedia Communications r Principles r Policing r Scheduling r RSVP r Integrated and Differentiated Services.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 23 - Multimedia Network Protocols (Layer 3) Klara Nahrstedt Spring 2011.
Tiziana Ferrari Quality of Service Support in Packet Networks1 Quality of Service Support in Packet Networks Tiziana Ferrari Italian.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
IP QoS for 3G. A Possible Solution The main focus of this network QoS mechanism is to provide one, real time, service in addition to the normal best effort.
QOS مظفر بگ محمدی دانشگاه ایلام. 2 Why a New Service Model? Best effort clearly insufficient –Some applications need more assurances from the network.
Rev PA Signaled Provisioning of the IP Network Resources Between the Media Gateways in Mobile Networks Leena Siivola
ACN: CSFQ1 CSFQ Core-Stateless Fair Queueing Presented by Nagaraj Shirali Choong-Soo Lee ACN: CSFQ1.
1 Optical Burst Switching (OBS). 2 Optical Internet IP runs over an all-optical WDM layer –OXCs interconnected by fiber links –IP routers attached to.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
Packet Scheduling and Buffer Management Switches S.Keshav: “ An Engineering Approach to Networking”
Florida State UniversityZhenhai Duan1 BCSQ: Bin-based Core Stateless Queueing for Scalable Support of Guaranteed Services Zhenhai Duan Karthik Parsha Department.
Nick McKeown Spring 2012 Lecture 2,3 Output Queueing EE384x Packet Switch Architectures.
EE 122: Lecture 15 (Quality of Service) Ion Stoica October 25, 2001.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Differentiated Services IntServ is too complex –More focus on services than deployment –Functionality similar to ATM, but at the IP layer –Per flow QoS.
Queue Scheduling Disciplines
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Providing QoS in IP Networks
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
EE 122: Router Support for Congestion Control: RED and Fair Queueing
EE 122: Quality of Service and Resource Allocation
EE 122: Lecture 18 (Differentiated Services)
Computer Science Division
EE 122: Lecture 7 Ion Stoica September 18, 2001.
COMP/ELEC 429 Introduction to Computer Networks
EE 122: Differentiated Services
CIS679: Two Planes and Int-Serv Model
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
کنترل جریان امیدرضا معروضی.
Presentation transcript:

CS 268: Lecture 17 (Dynamic Packet State) Ion Stoica April 15, 2002

What is the Problem?  Internet has limited resources and management capabilities -Prone to congestion, and denial of service -Cannot provide guarantees  Existing solutions -Stateless – scalable and robust, but weak network services -Stateful – powerful services, but much less scalable and robust

Stateless vs. Stateful Solutions  Stateless solutions – routers maintain no fine grained state about traffic  scalable, robust  weak services  Stateful solutions – routers maintain per-flow state  powerful services guaranteed services + high resource utilization fine grained differentiation protection  much less scalable and robust

Existing Solutions StatefulStateless QoS  Tenet [Ferrari & Verma ’89]  Intserv [Clark et al ’91]  ATM [late ’80s]  Diffserv - [Clark & Wroclawski ‘97] - [Nichols et al ’97] Network support for congestion control  Round Robin [Nagle ’85]  Fair Queueing [Demers et al ’89]  Flow Random Early Drop (FRED) [Lin & Morris ’97]  DecBit [Ramkrishnan & Jain ’88]  Random Early Detection (RED) [Floyd & Jacobson ’93]  BLUE [Feng et al ’99]

Stateful Solution: Guaranteed Services Sender Receiver  Achieve per-flow bandwidth and delay guarantees -Example: guarantee 1MBps and < 100 ms delay to a flow

Stateful Solution: Guaranteed Services Sender Receiver  Allocate resources - perform per-flow admission control

Stateful Solution: Guaranteed Services Sender Receiver  Install per-flow state

Sender Receiver  Challenge: maintain per-flow state consistent Stateful Solution: Guaranteed Services

Stateful Solution: Guaranteed Services Sender Receiver  Per-flow classification

Stateful Solution: Guaranteed Services Sender Receiver  Per-flow buffer management

Stateful Solution: Guaranteed Services Sender Receiver Per-flow scheduling

Stateful Solution Complexity  Data path -Per-flow classification -Per-flow buffer management -Per-flow scheduling  Control path -install and maintain per-flow state for data and control paths Classifier Buffer management Scheduler flow 1 flow 2 flow n output interface … Per-flow State

Stateless vs. Stateful  Stateless solutions are more -scalable -robust  Stateful solutions provide more powerful and flexible services -guaranteed services + high resource utilization -fine grained differentiation -protection

Question  Can we achieve the best of two worlds, i.e., provide services implemented by stateful networks while maintaining advantages of stateless architectures?

Answer  Yes, at least in some interesting cases: -guaranteed services [Stoica and Zhang, SIGCOMM’99] -network support for congestion control: Core-Stateless Fair Queueing [Stoica et al, SIGCOMM’98] -service differentiation [Stoica and Zhang, NOSSDAV’98]

 Solution: SCORE architecture and DPS technique  Example: providing guaranteed services  Conclusions Outline

Scalable Core (SCORE)  A trusted and contiguous region of network in which -edge nodes – perform per flow management -core nodes – do not perform per flow management core nodes edge nodes

The Approach 1. Define a reference stateful network that implements the desired service Reference Stateful Network

The Idea  Instead of having core routers maintaining per-flow state have packets carry per-flow state Reference Stateful Network SCORE Network

The Technique: Dynamic Packet State (DPS)  Ingress node: compute and insert flow state in packet’s header

The Technique: Dynamic Packet State (DPS)  Ingress node: compute and insert flow state in packet’s header

The Technique: Dynamic Packet State (DPS)  Core node: -process packet based on state it carries and node’s state -update both packet and node’s state

The Technique: Dynamic Packet State (DPS)  Egress node: remove state from packet’s header

 Solution: SCORE architecture and DPS technique  Example: providing guaranteed services  Conclusions Outline

Why Guaranteed Service Example?  Illustrate power and flexibility of our solution -guaranteed service - strongest semantic service proposed in context of stateful networks guaranteed services statistical services differentiated services congestion control support best-effort service qualitybetterworse

Example: Guaranteed Services  Goal: provide per-flow delay and bandwidth guarantees  How: emulate ideal model in which each flow traverses dedicated links of capacity r  Per-hop packet service time = (packet length) / r rrr flow (reservation = r )

Guaranteed Services  Define reference network to implement service -control path: per-flow admission control, reserve capacity r on each link -data path: enforce ideal model, by using Jitter Virtual Clock (Jitter- VC) scheduler Reference Stateful Network Jitter-VC

Guaranteed Services  Use DPS to eliminate per-flow state in core -control path: emulate per-flow admission control -data path: emulate Jitter-VC by Core-Jitter Virtual Clock (CJVC) Reference Stateful Network SCORE Network Jitter-VC CJVC

 Solution: SCORE architecture and DPS technique  Example: providing guaranteed services  Eliminate per-flow state on data path -Eliminate per-flow state on control path -Implementation and experimental results  Conclusions Outline

Data Path Ideal Model Stateful solution: Jitter Virtual Clock Stateless solution: Core-Jitter Virtual Clock

Ideal Model: Example time packet arrival time packet transmission time (service) in ideal model p1 arrivalp2 arrival length(p2) / rlength(p1) / r

Stateful Solution: Jitter Virtual Clock (Jitter-VC) time With each packet associate –eligible time – start time of serving packet in ideal model –deadline – finish time of serving packet in ideal model eligible timesdeadlines

Jitter-VC time Algorithm: schedule eligible packets in increasing order of their deadlines Property: guarantees that all packets meet their deadlines eligible timesdeadlines

Jitter-VC: Eligible Time Computation  Minimum between -arrival time -deadline at previous node + propagation delay -deadline of previous packet time eligible time = packet deadline at previous node eligible time = arrival time

Jitter-VC: Eligible Time Computation time eligible time = arrival time eligible time = packet deadline at prev. node eligible time = prev. packet deadline using previous packet’s deadline  per flow state  Minimum between -arrival time -deadline at previous node + propagation delay -deadline of previous packet

Stateless Solution: Core-Jitter Virtual Clock (CJVC) time  Goal: eliminate per-flow state -eliminate dependency on previous packet deadline

Core-Jitter Virtual Clock (CJVC)  Solution: make eligible time greater or equal to previous packet deadline time

Core-Jitter Virtual Clock (CJVC) time  How: associate to each packet a slack variable s  Delay eligible time at each node by s s eligible time = packet deadline at prev. node + s

 Theorem: CJVC and Jitter-VC provide the same end-to-end delay bounds  s can be computed at ingress: depends on -current and previous packet eligible times ( e and e p ) -current and previous packet lengths ( l p and l ) -slack variable associated to previous packet ( s p ) -flow reservation ( r ) -number of hops ( h ) – computed at admission time CJVC Properties

CJVC Algorithm  Each packet carries in its header three variable -slack variable s (computed and inserted by ingress) -flow’s reserved rate r (inserted by ingress) -ahead of schedule a (inserted by previous node)  Eligible time = arrival time + a + s  Deadline = eligible time + (packet length) / r  NOTE: -using a instead of the deadline at previous node  no need for synchronized clocks

Jitter-VC: Core Router  Data path -Per-flow classification -Per-flow buffer management -Per-flow scheduling  Control path -install and maintain per-flow state for data and control paths Classifier Buffer management Scheduler flow 1 flow 2 flow n … Per flowl State

 Data path -Per-flow classification -Per-flow buffer management -Per-packet scheduling  Control path -Install and maintain per-flow state for data and control paths CJVC: Core Router Buffer management Scheduler … Control State

 Motivations: what is the problem and why it is important?  Existing solutions  Solution: SCORE architecture and DPS technique  Example: providing guaranteed services -Eliminate per-flow state on data path  Eliminate per-flow state on control path -Implementation and experimental results  Conclusions Outline

Control Path: Admission Control  Goal: reserve resources (bandwidth) for each flow along its path  Approach: light-weight protocol that does not require core nodes to maintain per-flow state yes

Per-hop Admission Control  A node admits a reservation r, if -C – output link capacity -R – aggregate reservation:  Need: maintain aggregate reservation R  Problem: it requires per flow state to handle partial reservation failures and message loss

Solution 1. Estimate aggregate reservation R est 2. Account for approximations and compute an upper bound R bound, i.e., R bound >= R 3. Use R bound, instead of R, to perform admission control, i.e., admit a reservation r if

 Observation: If all flows were sending at their reserved rates, computing R est is trivial: -just measure the traffic throughput, e.g., where S(a, a+T) contains all packets of all flows received during [ a, a+T ) Estimating Aggregate Reservation ( R est )

Virtual Length Problem: What if flows do not send at their reserved rates ?

Virtual Length Problem: What if flows do not send at their reserved rates ? Solution: associate to each packet a virtual length such that –if lengths of all packets of a flow were equal to their virtual lengths, the flow sends at its reserved rate Then, use virtual lengths instead of actual packet lengths to compute R est

Virtual Length  Definition: -r – flow reserved rate -crt_time – transmission time of current packet -prev_time – transmission time of previous packet  Example: assume a flow with reservation r = 1 Mbps sending 1000 bit packets ms ms 1000 length ms 1000 virtual length

Estimating Aggregate Reservation ( R est )  Use Dynamic Packet State (DPS)  Ingress node: upon each packet departure computes the virtual length and inserts it in the packet header  Core node: Estimate R est on each output link as -where S(a, a+T) contains of all packets of all flows received during [ a, a+T )

Aggregate Reservation Estimation: Discussion  The estimation algorithm is robust in presence of control message loss and duplication -their effect is “forgotten” after one estimation interval  If no packet of a flow departs during a predefined interval (i.e., maximum inter-departure time), ingress node generates a dummy packet  Utilization <= 1 – f, -where f = (max. inter-departure time) / (estimation int.) -e.g.: max. inter-departure time = 5s; estimation int. = 30s  utilization <= 0.83

 Data path -Per-flow classification -Per-flow buffer management -Per-packet scheduling  Control path -Install and maintain per flow state for data and control paths Core Router Buffer management Scheduler … Control State

 Data path -Per-flow classification -Per-flow buffer management -Per-packet scheduling  Control path -Install and maintain per flow state for data and control paths Core Router Buffer management Scheduler Control State no need to maintain consistency of per-flow state

 Motivations: what is the problem and why is it important?  Existing solutions  Solution: SCORE architecture and DPS technique  Example: providing guaranteed services -Eliminate per-flow state on data path -Eliminate per-flow state on control path  Implementation and experimental results  Conclusions Outline

Implementation: State Encoding  Problem: Where to insert the state ?  Possible solutions: -between link layer and network layer headers -as an IP option (IP option 23 allocated by IANA) -find room in IP header

Implementation: State Encoding  Current solution -4 bits in DS field (belong to former TOS) -13 bits by reusing fragment offset  Encoding techniques -Take advantage of implicit dependencies between state values -Temporal multiplexing: use one field to encode two states, if these states do not need to be simultaneously presented in each packet

Implementation  FreeBSD  Pentium II 400 MHz  ZNYX network cards 10/100 Mbps Ethernet  Fully implements control and data path functionalities  Management and monitoring infrastructure

Monitoring Infrastructure  Light weight mechanism that allows continuous monitoring at packet level  Implementation -Record each packet (28 bytes) IP header and port numbers arrival, departure or drop times -Use raw IP to send this information to a monitoring site

A Simple Experiment  Three flows sharing a 10 Mbps link -Flow 1: 1 Mbps reservation -Flow 2: 3 Mbps reservation with ON/OFF traffic -Flow 3: best-effort UDP sending at > 8 Mbps aruba (ingress) cozumel (core) Monitoring machine

Aggregate Reservation Computation  0.5 Mbps reservation active during entire interval  0.5 Mbps reservation starting at 18 sec; ending at 39 sec accept reservation (0.5 Mbps) terminate reservation (0.5 Mbps)

Conclusions  Propose a network architecture (SCORE) and a technique (DPS) that bridge longstanding gap between stateless and stateful solutions  Key ideas -Instead of core routers maintain per-flow state have packets carry this state -Use state to coordinate edge and core router actions Reference Stateful Network SCORE Network

Conclusions  Develop first scalable solutions to provide: -Service guarantees -Network support for congestion control -Service differentiation  DPS compatible with Diffserv: can greatly enhances the functionality while requiring minimal changes