Universal Packet Scheduling. Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

Similar documents
Universal Packet Scheduling. Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

Universal Packet Scheduling. Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

Universal Packet Scheduling

Universal Packet Scheduling

QoS Services with Dynamic Packet State

CSE 461 Quality of Service. David Wetherall

The Network Layer and Routers

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

PARALLEL ALGORITHMS FOR IP SWITCHERS/ROUTERS

Revisiting Network Support for RDMA

"Charting the Course... Implementing Cisco Quality of Service (QOS) Course Summary

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Episode 5. Scheduling and Traffic Management

Basics (cont.) Characteristics of data communication technologies OSI-Model

THE DEFORESTATION OF L2

EE 122: Differentiated Services

Chapter 6 Queuing Disciplines. Networking CS 3470, Section 1

Lecture 24: Scheduling and QoS

Fair Queueing. Presented by Brighten Godfrey. Slides thanks to Ion Stoica (UC Berkeley) with slight adaptation by Brighten Godfrey

Implementing Cisco Quality of Service 2.5 (QOS)

Activity-Based Congestion Management for Fair Bandwidth Sharing in Trusted Packet Networks

Quality of Service (QoS)

Announcements. Quality of Service (QoS) Goals of Today s Lecture. Scheduling. Link Scheduling: FIFO. Link Scheduling: Strict Priority

Quality of Service (QoS)

The War Between Mice and Elephants

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

Expeditus: Congestion-Aware Load Balancing in Clos Data Center Networks

Router Architectures

Problems with IntServ. EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ) DiffServ (cont d)

CS557: Queue Management

Queuing Disciplines. Order of Packet Transmission and Dropping. Laboratory. Objective. Overview

Network Layer Enhancements

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

Queue Management. Last Wed: CongesDon Control. Today: Queue Management. Packet Queues

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

QoS MIB Implementation

CSE 123b Communications Software

Optimal Internal Congestion Control in A Cluster-based Router

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

CSCD 433/533 Advanced Networks Spring Lecture 22 Quality of Service

P802.1Qcz Congestion Isolation

Announcements. Congestion Control. A few words from Panda. Congestion Control Review. Load and Delay. Caveat: In this lecture

MUD: Send me your top 1 3 questions on this lecture

CS551 Router Queue Management

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Computer Science & Engineering

Congestion Control. EE122 Fall 2012 Scott Shenker

Investigating the Use of Synchronized Clocks in TCP Congestion Control

A MPLS Simulation for Use in Design Networking for Multi Site Businesses

Order of Packet Transmission and Dropping

Order of Packet Transmission and Dropping

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

Configuring Link Fragmentation and Interleaving for Multilink PPP

Packet Scheduling in Data Centers. Lecture 17, Computer Networks (198:552)

Kommunikationssysteme [KS]

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

CSC 401 Data and Computer Communications Networks

Packet Scheduling and QoS

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Introduction to IP QoS

Real-Time Protocol (RTP)

PERFORMANCE ANALYSIS OF AF IN CONSIDERING LINK UTILISATION BY SIMULATION WITH DROP-TAIL

Internet Quality of Service: an Overview

New Lecture Schedule. Advanced Topics in Congestion Control. Office Hours This Week. Announcements. Project 3: Ask Panda

Chapter 24 Congestion Control and Quality of Service Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Quality of Service (QoS)

Building Efficient and Reliable Software-Defined Networks. Naga Katta

Tutorial 9 : TCP and congestion control part I

Advanced Topics in Congestion Control

Congestion Control and Resource Allocation

6.888 Lecture 5: Flow Scheduling

A report on a few steps in the evolution of congestion control. Sally Floyd June 10, 2002 IPAM Program in Large Scale Communication Networks

Chapter 4 Network Layer: The Data Plane

TVA: A DoS-limiting Network Architecture L

Lecture 14: M/G/1 Queueing System with Priority

Part1: Lecture 4 QoS

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

CPE 448 Exam #2 (50 pts) April Name Class: 448

Last time! Overview! 14/04/15. Part1: Lecture 4! QoS! Router architectures! How to improve TCP? SYN attacks SCTP. SIP and H.

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Investigating the Use of Synchronized Clocks in TCP Congestion Control

CSC 4900 Computer Networks: Network Layer

Quality of Service (QoS)

Announcements. Quality of Service (QoS) Goals of Today s Lecture. Scheduling. Link Scheduling: Strict Priority. Link Scheduling: FIFO

Large-Scale Deterministic Network (LDN)

Frame Relay IP RTP Priority

Comparing the bandwidth and priority Commands of a QoS Service Policy

NETLOGIC TRAINING CENTER

Modified Packet Scheduling Algorithm using Real-time Service

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

Congestion Control 3/16/09

Routing in packet-switching networks

Cisco IOS Switching Paths Overview

Quality of Service II

CS4700/CS5700 Fundamentals of Computer Networks

Key Network-Layer Functions

Understanding How Routing Updates and Layer 2 Control Packets Are Queued on an Interface with a QoS Service Policy

Computer Network Fundamentals Fall Week 12 QoS Andreas Terzis

The IP Data Plane: Packets and Routers

Transcription:

Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

Many Scheduling Algorithms Many different algorithms FIFO, FQ, virtual clocks, priorities Many different goals fairness, small packet delay, small FCT Many different contexts WAN, datacenters, cellular

Many Scheduling Algorithms Implemented in router hardware. How do we support different scheduling algorithms for different requirements? Option 1: Change router hardware for each new algorithm Option 2: Implement all scheduling algorithms in hardware Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotN

Many Scheduling Algorithms Implemented in router hardware. How do we support different scheduling algorithms for different requirements? Option 1: Change router hardware for each new algorithm Option 2: Implement all scheduling algorithms in hardware Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotN

Many Scheduling Algorithms Implemented in router hardware. How do we support different scheduling algorithms for different requirements? Option 1: Change router hardware for each new algorithm Option 2: Implement all scheduling algorithms in hardware Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotN

Many Scheduling Algorithms Implemented in router hardware. How do we support different scheduling algorithms for different requirements? Option 1: Change router hardware for each new algorithm Option 2: Implement all scheduling algorithms in hardware Option 3: Programmable scheduling hardware * * Towards Programmable Packet Scheduling, Sivaraman et. al., HotN

We are asking a new question.. How do we support different scheduling algorithms for different requirements? Is there a universal packet scheduling algorithm?

UPS: Universal Packet Scheduling Algorithm A single scheduling algorithm that can imitate the network-wide output produced by any other algorithm.

How can a single algorithm imitate all others?

Network Model Input Traffic INGRESS CORE NETWORK

Network Model Input Traffic INGRESS Schedulin g Algorithm CORE NETWORK

Network Model Input Traffic (Optional) INGRESS Schedulin g Algorithm CORE NETWORK Output Traffic EGRESS

Network Model Input Traffic Output Traffic tied to Scheduling Algorithm (Optional) INGRESS Schedulin g Algorithm CORE NETWORK Output Traffic EGRESS

Network Model Input Traffic Goal: Minimize Mean FCT (Optional) Priority Value Flow Size INGRESS Priority Schedulin g CORE NETWORK Output Traffic EGRESS

Network Model Input Traffic Goal: Fairness (Optional) INGRESS FQ CORE NETWORK Output Traffic EGRESS

Network Model Input Traffic Goal: Weighted Fairness (Optional) Flow Weights INGRESS WFQ CORE NETWORK Output Traffic EGRESS

Network Model Input Traffic Output Traffic tied to INGRESS Scheduling Algorithm* CORE NETWORK Output Traffic EGRESS * Uses packet header state to make scheduling decisi

Network Model Input Traffic Smart INGRESS UPS? CORE NETWORK Output Traffic EGRESS Greater processing capability in the edge than in the core. As per on prior SDN-based architecture designs.

How do we formally define and evaluate a UPS?

Defining a UPS Theoretical Viewpoint: Can it replay a given schedule? objective? Practical Viewpoint: Can it achieve a given

Theoretical Viewpoint Can it replay a given schedule?

Original Schedule Only requirement from original schedule: Output Times are viable Input Traffic (Optional) INGRESS Arbitrary Scheduling Algorithm CORE NETWORK Output Times o(p) for a packet p EGRESS

Replaying the Schedule, given o(p) Input Traffic (using o(p)) INGRESS UPS CORE NETWORK Output Times o (p) for a packet p EGRESS For every packet p, o (p) o(p)

Pragmatic Constraints on a UPS Input Traffic (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

Pragmatic Constraints on a UPS Input Traffic (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

Pragmatic Constraints on a UPS Input Traffic (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

Pragmatic Constraints on a UPS Input Traffic (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

Pragmatic Constraints on a UPS Input Traffic Limited State: Scheduling can use only header state and static information (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

Pragmatic Constraints on a UPS Input Traffic Limited State: Scheduling can use only header state and static information (using o(p)) UPS Obliviousness: For initializing p s header, use only o(p) and path(p) Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS

We call this Blackbox Input Traffic Limited State: Scheduling can use only header state and static information (using o(p)) UPS Output Times o (p) for a packet p INGRESS CORE NETWORK EGRESS Obliviousness: For initializing p s header, use only o(p) and path(p)

Basic Existence and Non-existence Results There exists a UPS under Omniscient when scheduling time at every hop is known No UPS exists under Blackbox when only the final output time is known

How close can we get to a UPS?

Key Result: Depends on congestion points No. of Congestion Points per Packet Genera l 1 2 3

Can we achieve this upper bound? Yes, LSTF!

Can we achieve this upper bound? Yes, LSTF!

Least Slack Time First Packet header initialized with a slack value slack = maximum tolerable queuing delay At the routers Schedule packet with least slack time first Update the slack by subtracting the wait time

Key Results No. of Congestion Points per Packet Genera l LSTF 1 2 3

Not all algorithms achieve upper bound No. of Congestion Points per Packet Genera l LSTF Priorities 1 2 3

How well does LSTF perform empirically?

Empirically, LSTF is (almost) universal ns-2 simulation results on realistic network settings - Less than 3% packets missed their output times - Less than 0.1% packets are late by more than one transmission time

Practical Viewpoint Can it achieve a given objective?

Achieving various network objectives Slack assignment based on heuristics Three objective functions - Tail packet delays - Mean Flow Completion Time - Fairness We also show how LSTF can facilitate AQM from the edge. See NSDI 16 paper for details!

Results Summary Theoretical results show that - There is no UPS under blackbox initialization - LSTF comes as close to a UPS as possible - Empirically, LSTF is very close LSTF can be used in practice to achieve a variety of network-wide objectives.

Implication Less need for many different scheduling and queue management algorithms. Can just use LSTF, with varying slack initializations.

There are still some interesting open questions!

Open Questions What is the least amount of information needed to achieve universality? Are there tractable bounds for the degree of lateness with LSTF? What is the class of objectives that can be achieved with LSTF in practice?

Conclusion Theoretical results show that - There is no UPS under blackbox initialization. - LSTF comes as close to a UPS as possible. - Empirically, LSTF is very close. LSTF can be used in practice to achieve a variety of network-wide objectives. Contact: radhika@eecs.berkeley.edu Code: http://netsys.github.io/ups/ Thank You!