DRFQ: Multi-Resource Fair Queueing for Packet Processing Ali Ghodsi 1,3, Vyas Sekar 2, Matei Zaharia 1, Ion Stoica 1 1 UC Berkeley, 2 Intel ISTC/Stony.

Slides:



Advertisements
Similar presentations
Sharing Cloud Networks Lucian Popa, Gautam Kumar, Mosharaf Chowdhury Arvind Krishnamurthy, Sylvia Ratnasamy, Ion Stoica UC Berkeley.
Advertisements

Stratos: A Network-Aware Orchestration Layer for Middleboxes in the Cloud Aditya Akella, Aaron Gember, Anand Krishnamurthy, Saul St. John University of.
Abhay.K.Parekh and Robert G.Gallager Laboratory for Information and Decision Systems Massachusetts Institute of Technology IEEE INFOCOM 1992.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
Design and Implementation of a Consolidated Middlebox Architecture 1 Vyas SekarSylvia RatnasamyMichael ReiterNorbert Egi Guangyu Shi.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
The War Between Mice and Elephants LIANG GUO, IBRAHIM MATTA Computer Science Department Boston University ICNP (International Conference on Network Protocols)
Reciprocal Resource Fairness: Towards Cooperative Multiple-Resource Fair Sharing in IaaS Clouds School of Computer Engineering Nanyang Technological University,
Chapter 8 Hardware Conventional Computer Hardware Architecture.
The War Between Mice and Elephants Presented By Eric Wang Liang Guo and Ibrahim Matta Boston University ICNP
Scheduling CS 215 W Keshav Chpt 9 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
Generalized Processing Sharing (GPS) Is work conserving Is a fluid model Service Guarantee –GPS discipline can provide an end-to-end bounded- delay service.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
Chapter 11 Operating Systems
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
DRFQ: Multi-Resource Fair Queueing for Packet Processing Ali Ghodsi 1,3, Vyas Sekar 2, Matei Zaharia 1, Ion Stoica 1 1 UC Berkeley, 2 Intel ISTC/Stony.
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
Network Sharing Issues Lecture 15 Aditya Akella. Is this the biggest problem in cloud resource allocation? Why? Why not? How does the problem differ wrt.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
DaVinci: Dynamically Adaptive Virtual Networks for a Customized Internet Jennifer Rexford Princeton University With Jiayue He, Rui Zhang-Shen, Ying Li,
Cloud Computing Energy efficient cloud computing Keke Chen.
INFOCOM A Receiver-Driven Bandwidth Sharing System (BWSS) for TCP Puneet Mehra, Avideh Zakhor UC Berkeley, USA Christophe De Vleeschouwer Université.
1 MaxNet and TCP Reno/RED on mice traffic Khoa Truong Phan Ho Chi Minh city University of Technology (HCMUT)
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
E VALUATION OF F AIRNESS IN ICN X. De Foy, JC. Zuniga, B. Balazinski InterDigital
Dominant Resource Fairness: Fair Allocation of Multiple Resource Types Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion.
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.
Opportunistic Traffic Scheduling Over Multiple Network Path Coskun Cetinkaya and Edward Knightly.
Florida State UniversityZhenhai Duan1 BCSQ: Bin-based Core Stateless Queueing for Scalable Support of Guaranteed Services Zhenhai Duan Karthik Parsha Department.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
Packet Scheduling: SCFQ, STFQ, WF2Q Yongho Seok Contents Review: GPS, PGPS SCFQ( Self-clocked fair queuing ) STFQ( Start time fair queuing ) WF2Q( Worst-case.
Deadline-based Resource Management for Information- Centric Networks Somaya Arianfar, Pasi Sarolahti, Jörg Ott Aalto University, Department of Communications.
Dynamic Bandwidth Allocation with Fair Scheduling For WCDMA Systems Liang Xu, Xumin Shen, and Jon W. Mark University of Waterloo published in IEEE Wireless.
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.
Scheduling Determines which packet gets the resource. Enforces resource allocation to each flows. To be “Fair”, scheduling must: –Keep track of how many.
Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented.
Author Utility-Based Scheduling for Bulk Data Transfers between Distributed Computing Facilities Xin Wang, Wei Tang, Raj Kettimuthu,
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
John Kubiatowicz and Anthony D. Joseph
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
Presented by Qifan Pu With many slides from Ali’s NSDI talk Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion Stoica.
Dominant Resource Fairness: Fair Allocation of Multiple Resource Types Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, Ion.
1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
CS244 Packet Scheduling (Generalized Processor Sharing) Some slides created by: Ion Stoica and Mohammad Alizadeh
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
SketchVisor: Robust Network Measurement for Software Packet Processing
Corelite Architecture: Achieving Rated Weight Fairness
Xin Li , Chen Qian University of Kentucky
Lottery Scheduling and Dominant Resource Fairness (Lecture 24, cs262a)
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Measuring Service in Multi-Class Networks
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Fair Queueing.
Smita Vijayakumar Qian Zhu Gagan Agrawal
COMP/ELEC 429 Introduction to Computer Networks
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Fair Queueing.
کنترل جریان امیدرضا معروضی.
Presentation transcript:

DRFQ: Multi-Resource Fair Queueing for Packet Processing Ali Ghodsi 1,3, Vyas Sekar 2, Matei Zaharia 1, Ion Stoica 1 1 UC Berkeley, 2 Intel ISTC/Stony Brook, 3 KTH 1

Increasing Network Complexity Packet processing becoming evermore sophisticated – Software Defined Networking (SDN) – Middleboxes – Software Routers (e.g. RouteBricks) – Hardware Acceleration (e.g. SSLShader) Data plane no longer merely forwarding – WAN optimization – Caching – IDS – VPN 2

Motivation Flows increasingly have heterogeneous resource consumption – Intrusion detection bottlenecking on CPU – Small packets bottleneck memory-bandwidth – Unprocessed large packets bottleneck on link bw 3 Scheduling based on a single resource insufficient

Problem How to schedule packets from different flows, when packets consume multiple resources? 4 How to generalize fair queueing to multiple resources?

Contribution 5 Allocation in Space Allocation in Time Single-Resource Fairness Max-Min Fairness Fair Queueing Multi-Resource Fairness DRFDRFQ Generalize Virtual Time to Multiple Resources

Outline Analysis of Natural Policies DRF allocations in Space DRFQ: DRF allocations in Time Implementation/Evaluation 6

Desirable Multi-Resource Properties Share guarantee: – Each flow can get 1/n of at least one resource Strategy-proofness: – A flow shouldn’t be able to finish faster by increasing the resources required to process it. 7

flow 1 CPU NIC time flow 2 Violation of Share Guarantee Example of FQ applied to a – Two resources CPU and NIC, used serially – Two flows with profiles and – FQ based on NIC alternates one packet from each flow Share Guarantee Violated by Single Resource FQ flow 2 flow 1 100% 50% 0% CPUNIC 66% 33% 8 p1p1 p1p1 p1p1 p1p1 p1p1 p1p1 p1p1 p1p1 p2p2 p2p2 p2p2 p2p2 p2p2 p2p2 p2p2 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4

Violation of Strategy-Proofness Bottleneck fairness – Determine which resource is bottlenecked – Apply FQ to that resource Example with Bottleneck Fairness – 2 resources (CPU, NIC), 3 flows,, – CPU bottlenecked and split equally – Flow 1 changes to. NIC bottlenecked and split equally Bottleneck Fairness Violates Strategy-Proofness CPUNIC 0% 100% 50% 48% CPUNIC 0% 100% 50% 33% flow 1 flow 2 flow 3 33% 9

Bottleneck Fairness and Multiple Bottleneck Example with 2 flows and 2 res. – Demands and  bottleneck unclear – CPU bottleneck:7× + = – Oscillates to the other resource – NIC bottleneck: + 6× = 10

Natural Policy Per-Resource Fairness (PRF) – Have a buffer between each resource – Apply fair queueing to each resource Per-Resource Fairness not strategy-proof – 2 resources, 2 flows, – Flow 1 changes demand to CPUNIC 0% 100% 50% 86% Flow 1 Flow 2 43% 14% 57% CPUNIC 0% 100% 50% 33% 66% 33% 11

Problems with Per-Resource Fairness PRF violates strategy-proofness – Can be manipulated by wasting resources PRF requires per-resource queues – Problematic for parallel resource consumption e.g. CPU and memory consumption in a module 12

Why care about strategy-proofness? Lack of strategy-proofness encourages wastage – Decreasing goodput of the system Networking applications especially savvy – Peer-to-peer apps manipulate to get more resources Trivially guaranteed for single resource fairness – But not for multi-resource fairness 13

Summary of Policies PolicyShare Guarantee Strategy- Proofness Fair Queueing a Single Resource Bottleneck Fairness Per-Resource FairnessX Dominant Resource FairnessXX 14

Outline Analysis of Natural Policies DRF allocations in Space DRFQ: DRF allocations in Time Implementation/Evaluation 15

Dominant Resource Fairness DRF originally in the cloud computing context – Satisfies share guarantee – Satisfies strategy-proofness 16

DRF Allocations Dominant resource of a user is the resource she is allocated most of – Dominant share is the user’s share of her dominant resource DRF: apply max-min fairness to dominant shares – ”Equalize” the dominant share of all users Total resources: User 1 demand: dom res: CPU User 2 demand: dom res: mem 17 User 2 User 1 100% 50% 0% CPUmem 3 CPUs 12 GB 12 CPUs4 GB 66%

Allocations in Space vs Time DRF provides allocations in space – Given 1000 CPUs and 1 TB mem, how much to allocate to each user DRFQ provides DRF allocations in time – Multiplex packets to achieve DRF allocations over time 18

Outline Analysis of Natural Policies DRF allocations in Space DRFQ: DRF allocations in Time Implementation/Evaluation 19

Determining Packet Resource Consumption A-priori packet link usage known in FQ – Packet size divided by throughput of link Packet processing time a-priori unknown for multi-resources – Depends on the modules that process it Leverage Start-time Fair Queueing (SFQ) – Schedules based on virtual start time of packets – Start time of packet p independent of resource consumption of packet p 20

Memoryless Requirement Virtual Clock simulates flows with dedicated 1/n link – Attach start and finish tags according to dedicated link – Serve packet with smallest finish tag (work conserving) Problem – During light load a flow might get more than 1/n – That flow experiences long delays when new flows start Requirement: memoryless scheduling – A flow’s share of resources should be independent of its share in the past 21

slope 2 Memoryless through Virtual Time Virtual time to track amount service received – A unit of virtual time always corresponds to same amount of service Example with 2 flows – Time 0: one backlogged flow – Time 20: two backlogged flows Schedule the packets according to V(t) – Assign virtual start/finish time when packet arrives Real Time Virtual Time V(t) slope 1

Dove-tailing Requirement FQ: flow size should determine service, not packet size – Flow with 10 1kb packets gets same service as 5 2kb packets Want flow processing time, not packet processing time – Example: give same service to these flows: Flow 1:p 1,p 2,p 3,p 4, … Flow 2:p 1,p 2, p 3,p 4, … Requirement: dove-tailing – Packet processing times should be independent of how resource consumption is distributed in a flow 23

Tradeoff Dovetailing and memoryless property at odds – Dovetailing needs to remember past consumption DRFQ developed in three steps – Memoryless DRFQ: uses a single virtual time – Dovetailing DRFQ : use virtual time per resource – DRFQ: generalizes both, tradeoff between memoryless and dovetailing 24

Memoryless DRFQ Attach a virtual start and finish time to every packet – S(p) and F(p) of packet p Computing virtual finish time F(P) 1.F(p) = S(p) + max i { p_time(p, i) } p_time(p, i) = { processing time of p on resource i } Computing virtual start time, S(p) 2.S(p) = max( F(p -1 ), C(t) ) C(t) = { max start time of currently serviced packet } Service the packet with minimum virtual start time 25

Memoryless DRFQ Attach a virtual start and finish time to every packet Computing virtual finish time 1.finish time = start time + packet-max-processing-time Computing virtual start time 2.Start time of the first packet in a burst equals the start time of the packet currently serviced (zero if none) 3.For a backlogged flow, the start time of a packet is equal to finish time of previous packet Service the packet with minimum virtual start time 26

Memoryless DRFQ example Two flows become backlogged at time 0 – Flow 1 alternates and packet processing – Flow 2 uses packet processing time 1.F(p) = S(p) + max i { p_time(p, i) } 2.S(p) = max( F(p -1 ), C(t) ) 27 Flow 1 P1 S: 0 F: 2 Flow 1 P2 S: 2 F: 4 Flow 1 P3 S: 4 F: 6 Flow 1 P4 S: 6 F: 8 Flow 1 P5 S: 8 F: 10 Flow 2 P1 S: 0 F: 3 Flow 2 P2 S: 3 F: 6 Flow 2 P3 S: 6 F: 9 Flow 1 gets worse service than Flow 2

Dovetailing DRFQ Keep track of start and finish time per resource – Use max start time per resource for scheduling – Dovetail by keeping track of all resource usage 28

Dovetailing DRFQ example 29 Flow 1 S 1 : 0 F 1 : 1 S 2 : 0 F 2 : 2 Flow 1 S 1 : 1 F 1 : 3 S 2 : 2 F 2 : 3 Flow 1 S 1 : 3 F 1 : 4 S 2 : 3 F 2 : 5 Flow 1 S 1 : 4 F 1 : 6 S 2 : 5 F 2 : 6 Flow 1 S 1 : 6 F 1 : 7 S 2 : 6 F 2 : 8 Flow 2 S 1 : 0 F 1 : 3 S 2 : 0 F 2 : 3 Flow 2 S 1 : 3 F 1 : 6 S 2 : 3 F 2 : 6 Flow 2 S 1 : 6 F 1 : 9 S 2 : 6 F 2 : 9 Dovetailing ensures both flows get same service Two flows become backlogged at time 0 – Flow 1 alternates and packet processing – Flow 2 uses per packet

DRFQ algorithm DRFQ bounds dovetailing to Δ processing time – Dovetail up to Δ processing time units – Memoryless beyond Δ DRFQ is a generalization – When Δ=0 then DRFQ=memoryless DRFQ – When Δ=∞ then DRFQ=dovetailing DRFQ Set Δ to a few packets worth of processing 30

Outline Analysis of Natural Policies DRF allocations in Space DRFQ: DRF allocations in Time Implementation/Evaluation 31

Isolation Experiment DRFQ Implementation in Click – 2 elephants: 40K/sec basic, 40K/sec IPSec – 2 mice: 1/sec basic, 0.5/sec basic Non-backlogged flows isolated from backlogged flows 32

Simulating Bottleneck Fairness 2 flows and 2 res. – Demands and  bottleneck unclear Especially bad for TCP and video/audio traffic 33

Summary Packet processing becoming evermore sophisticated – Consume multiple resources Natural policies not suitable – Per-Resource Fairness (PRF) not strategy-proof – Bottleneck Fairness doesn’t provide isolation Proposed Dominant Resource Fair Queueing (DRFQ) – Generalization of FQ to multiple resources – Generalizes virtual time to multiple resources – Provides tradeoff between memoryless and dovetailing – Provides share-guarantee (isolation) and strategy- proofness 34

35

36

Overhead 350 MB trace run through our Click implementation Evaluate overhead of two modules – Intrusion Detection, 2% overhead – Flow monitoring, 4% overhead 37

Determining Resource Consumption Resource consumption obvious in routers – Packet size divided by link rate Generalize consumption to processing time – Normalized time a resource takes to process packet Normalized processing time – e.g. 1 core takes 20μs to service a packet, on a quad-core the packet processing time is 5μs – Packet processing time ≠ packet service time 38

Module Consumption Estimation Linear estimation of processing time – For module m and resource r as function of packet size R 2 > 0.90 for most modules 39

Simulating Bottleneck Fairness 2 flows and 2 res. – Demands and  bottleneck unclear – CPU bottleneck:7× + = – NIC bottleneck: + 6× = – Periodically oscillates the bottleneck 40

TCP and oscillations Implemented Bottleneck Fairness in Click – 20 ms artificial link delay added to simulate WAN – Bottleneck determined every 300 ms – 1 BW-bound flow and 1 CPU-bound flow Oscillations in Bottleneck degrade performance of TCP 41

Multi-Resource Consumption Contexts Different modules within a middlebox – E.g. Bro modules for HTTP, FTP, telnet Different apps on a consolidated middlebox – Different applications consume different resources Other contexts – VM scheduling in hypervisors – Requests to a shared service (e.g. HDFS) 42