Data Center TCP (DCTCP)

Similar documents
Data Center TCP (DCTCP)

Lecture 15: Datacenter TCP"

Data Center TCP (DCTCP)

Data Center TCP(DCTCP)

Congestion Control in Datacenters. Ahmed Saeed

TCP Incast problem Existing proposals

Cloud e Datacenter Networking

COSC4377. Network milestones

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

Advanced Computer Networks. Datacenter TCP

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

DIBS: Just-in-time congestion mitigation for Data Centers

Data Center Transmission Control Protocol an Efficient Packet Transport for the Commoditized Data Center

On the Effectiveness of CoDel in Data Centers

EXPERIENCES EVALUATING DCTCP. Lawrence Brakmo, Boris Burkov, Greg Leclercq and Murat Mugan Facebook

Handles all kinds of traffic on a single network with one class

TCP. The TCP Protocol. TCP Header Format. TCP Flow Control. TCP Congestion Control Datacenter TCP

DeTail Reducing the Tail of Flow Completion Times in Datacenter Networks. David Zats, Tathagata Das, Prashanth Mohan, Dhruba Borthakur, Randy Katz

A Method Based on Data Fragmentation to Increase the Performance of ICTCP During Incast Congestion in Networks

Coping with network performance

Computer Networking

Linux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers

T Computer Networks II Data center networks

Advanced Computer Networks. Datacenter TCP

Master Course Computer Networks IN2097

T Computer Networks II Data center networks

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

DAQ: Deadline-Aware Queue Scheme for Scheduling Service Flows in Data Centers

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

ADVANCED TOPICS FOR CONGESTION CONTROL

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter. Glenn Judd Morgan Stanley

Congestion Control for High Bandwidth-delay Product Networks

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

CS644 Advanced Networks

Cross-Layer Flow and Congestion Control for Datacenter Networks

Better Never than Late: Meeting Deadlines in Datacenter Networks

Information-Agnostic Flow Scheduling for Commodity Data Centers. Kai Chen SING Group, CSE Department, HKUST May 16, Stanford University

Congestion Control In the Network

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Lecture 14: Congestion Control"

Appendix B. Standards-Track TCP Evaluation

CSE 123A Computer Networks

CS 268: Computer Networking

Lecture 14: Congestion Control

6.888 Lecture 5: Flow Scheduling

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Investigating the Use of Synchronized Clocks in TCP Congestion Control

CS4700/CS5700 Fundamentals of Computer Networks

Implementation of PI 2 Queuing Discipline for Classic TCP Traffic in ns-3

Preprint. Until published, please cite as:

TCP and QCN in a Multihop Output Generated Hot Spot Scenario

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

TCP improvements for Data Center Networks

Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

CS268: Beyond TCP Congestion Control

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Lecture 14: Congestion Control"

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

A Mechanism Achieving Low Latency for Wireless Datacenter Applications

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Information-Agnostic Flow Scheduling for Commodity Data Centers

Episode 5. Scheduling and Traffic Management

Fastpass A Centralized Zero-Queue Datacenter Network

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Network Management & Monitoring

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Flow-start: Faster and Less Overshoot with Paced Chirping

Elephants, Mice, and Lemmings! Oh My!

TCP Congestion Control

BSDCan 2015 June 13 th Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support. Midori Kato

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS

Flow and Congestion Control

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

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

CS244 Advanced Topics in Computer Networks Midterm Exam Monday, May 2, 2016 OPEN BOOK, OPEN NOTES, INTERNET OFF

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

15-744: Computer Networking TCP

Congestion Control. EE122 Fall 2012 Scott Shenker

One More Bit Is Enough

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Congestion Control. Tom Anderson

Network Performance: Queuing

Advanced Computer Networks. Flow Control

Impact of transmission errors on TCP performance. Outline. Random Errors

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Per-Packet Load Balancing in Data Center Networks

This is a repository copy of M21TCP: Overcoming TCP Incast Congestion in Data Centres.

6.033 Computer System Engineering

Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP? Colin Perkins

arxiv: v1 [cs.ni] 26 Apr 2016

Performance-oriented Congestion Control

Chapter III: Transport Layer

CS 268: Lecture 7 (Beyond TCP Congestion Control)

Transcription:

Data Center TCP (DCTCP) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Microsoft Research Stanford University 1

Data Center Packet Transport Large purpose-built DCs Huge investment: R&D, business Transport inside the DC TCP rules (99.9% of traffic) How s TCP doing? 2

TCP in the Data Center We ll see TCP does not meet demands of apps. Suffers from bursty packet drops, Incast *SIGCOMM 09+,... Builds up large queues: Adds significant latency. Wastes precious buffers, esp. bad with shallow-buffered switches. Operators work around TCP problems. Ad-hoc, inefficient, often expensive solutions No solid understanding of consequences, tradeoffs 3

Roadmap What s really going on? Interviews with developers and operators Analysis of applications Switches: shallow-buffered vs deep-buffered Measurements A systematic study of transport in Microsoft s DCs Identify impairments Identify requirements Our solution: Data Center TCP 4

Case Study: Microsoft Bing Measurements from 6000 server production cluster Instrumentation passively collects logs Application-level Socket-level Selected packet-level More than 150TB of compressed data over a month 5

Partition/Aggregate Application Structure Picasso Art is TLA 1. Deadline = 250ms 2. Art is a lie 3... Picasso Time is money Strict deadlines (SLAs) 1. Missed deadline 2. 3. Lower quality result.. MLA MLA Deadline = 50ms 1. Art is a lie 2. The chief 3... Everything The It I'd is Art Computers Inspiration your chief like Bad is to you a work enemy lie live artists can that in as are does of imagine life a makes copy. useless. creativity poor that exist, man is the real. is They but can it ultimate with Good must realize only good lots artists find give seduction. the of sense. money. you truth. steal. working. answers. Deadline = 10ms Worker Nodes 6

Generality of Partition/Aggregate The foundation for many large-scale web applications. Web search, Social network composition, Ad selection, etc. Example: Facebook Partition/Aggregate ~ Multiget Aggregators: Web Servers Workers: Memcached Servers Internet Web Servers Memcached Protocol Memcached Servers 7

Workloads Partition/Aggregate (Query) Delay-sensitive Short messages [50KB-1MB] (Coordination, Control state) Delay-sensitive Large flows [1MB-50MB] (Data update) Throughput-sensitive 8

Impairments Incast Queue Buildup Buffer Pressure 9

Incast Worker 1 Worker 2 Synchronized mice collide. Caused by Partition/Aggregate. Aggregator Worker 3 RTO min = 300 ms Worker 4 TCP timeout 10

MLA Query Completion Time (ms) Incast Really Happens Requests are jittered over 10ms window. Jittering trades 99.9 th off percentile median against is being high tracked. percentiles. Jittering switched off around 8:30 am. 11

Queue Buildup Sender 1 Big flows buildup queues. Increased latency for short flows. Receiver Sender 2 Measurements in Bing cluster For 90% packets: RTT < 1ms For 10% packets: 1ms < RTT < 15ms 12

Data Center Transport Requirements 1. High Burst Tolerance Incast due to Partition/Aggregate is common. 2. Low Latency Short flows, queries 3. High Throughput Continuous data updates, large file transfers The challenge is to achieve these three together. 13

Tension Between Requirements High Throughput High Burst Tolerance Low Latency Deep Buffers: Queuing Delays Increase Latency Shallow Buffers: Bad for Bursts & Objective: Throughput Low Queue Occupancy & High DCTCP Throughput Reduced RTO min (SIGCOMM 09) Doesn t Help Latency AQM RED: Avg Queue Not Fast Enough for Incast 14

The DCTCP Algorithm 15

Review: The TCP/ECN Control Loop Sender 1 ACK Packet Data Packet Receiver Sender 2 16

Review: The TCP/ECN Control Loop Sender 1 ECN = Explicit Congestion Notification ECN Mark (1 bit) Receiver Sender 2 ECN Echo in ACK 16

Small Queues & TCP Throughput: The Buffer Sizing Story Bandwidth-delay product rule of thumb: A single flow needs buffers for 100% Throughput. Appenzeller rule of thumb (SIGCOMM 04): Large # of flows: is enough. Cwnd Buffer Size B Throughput 100% 17

Small Queues & TCP Throughput: The Buffer Sizing Story Bandwidth-delay product rule of thumb: A single flow needs buffers for 100% Throughput. Appenzeller rule of thumb (SIGCOMM 04): Large # of flows: is enough. Can t rely on stat-mux benefit in the DC. Measurements show typically 1-2 big flows at each server, at most 4. 17

Small Queues & TCP Throughput: The Buffer Sizing Story Bandwidth-delay product rule of thumb: A single flow needs buffers for 100% Throughput. Appenzeller rule of thumb (SIGCOMM 04): Large # of flows: is enough. Can t rely on stat-mux benefit in the DC. Measurements show typically 1-2 big flows at each server, at most 4. B Real Rule of Thumb: Low Variance in Sending Rate Small Buffers Suffice 17

Two Key Ideas 1. React in proportion to the extent of congestion, not its presence. Reduces variance in sending rates, lowering queuing requirements. ECN Marks TCP DCTCP 1 0 1 1 1 1 0 1 1 1 Cut window by 50% Cut window by 40% 0 0 0 0 0 0 0 0 0 1 Cut window by 50% Cut window by 5% 2. Mark based on instantaneous queue length. Fast feedback to better deal with bursts. 18

Data Center TCP Algorithm Switch side: Mark packets when Queue Length > K. B Mark K Don t Mark Sender side: Maintain running average of fraction of packets marked (α). In each RTT: Adaptive window decreases: Note: decrease factor between 1 and 2. 19

(Kbytes) DCTCP in Action Setup: Win 7, Broadcom 1Gbps Switch Scenario: 2 long-lived flows, K = 30KB 20

Why it Works 1. High Burst Tolerance Large buffer headroom bursts fit. Aggressive marking sources react before packets are dropped. 2. Low Latency Small buffer occupancies low queuing delay. 3. High Throughput ECN averaging smooth rate adjustments, low variance. 21

Analysis How low can DCTCP maintain queues without loss of throughput? How do we set the DCTCP parameters? Need to quantify queue size oscillations (Stability). Window Size W*+1 W* (W*+1)(1-α/2) Time 22

Analysis How low can DCTCP maintain queues without loss of throughput? How do we set the DCTCP parameters? Need to quantify queue size oscillations (Stability). Window Size Packets sent in this RTT are marked. W*+1 W* (W*+1)(1-α/2) Time 22

Analysis How low can DCTCP maintain queues without loss of throughput? How do we set the DCTCP parameters? Need to quantify queue size oscillations (Stability). 85% Less Buffer than TCP 22

Evaluation Implemented in Windows stack. Real hardware, 1Gbps and 10Gbps experiments 90 server testbed Broadcom Triumph 48 1G ports 4MB shared memory Cisco Cat4948 48 1G ports 16MB shared memory Broadcom Scorpion 24 10G ports 4MB shared memory Numerous micro-benchmarks Throughput and Queue Length Multi-hop Queue Buildup Buffer Pressure Fairness and Convergence Incast Static vs Dynamic Buffer Mgmt Cluster traffic benchmark 23

Cluster Traffic Benchmark Emulate traffic within 1 Rack of Bing cluster 45 1G servers, 10G server for external traffic Generate query, and background traffic Flow sizes and arrival times follow distributions seen in Bing Metric: Flow completion time for queries and background flows. We use RTO min = 10ms for both TCP & DCTCP. 24

Baseline Background Flows Query Flows 25

Baseline Background Flows Query Flows Low latency for short flows. 25

Baseline Background Flows Query Flows Low latency for short flows. High throughput for long flows. 25

Baseline Background Flows Query Flows Low latency for short flows. High throughput for long flows. High burst tolerance for query flows. 25

Scaled Background & Query 10x Background, 10x Query 26

Conclusions DCTCP satisfies all our requirements for Data Center packet transport. Handles bursts well Keeps queuing delays low Achieves high throughput Features: Very simple change to TCP and a single switch parameter. Based on mechanisms already available in Silicon. 27