Microsoft Research Stanford University

Slides:



Advertisements
Similar presentations
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Microsoft Research.
Advertisements

B 黃冠智.
Deconstructing Datacenter Packet Transport Mohammad Alizadeh, Shuang Yang, Sachin Katti, Nick McKeown, Balaji Prabhakar, Scott Shenker Stanford University.
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Modified by Feng.
Lecture 18: Congestion Control in Data Center Networks 1.
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Presented by Shaddi.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
Fixing TCP in Datacenters Costin Raiciu Advanced Topics in Distributed Systems 2011.
PFabric: Minimal Near-Optimal Datacenter Transport Mohammad Alizadeh Shuang Yang, Milad Sharif, Sachin Katti, Nick McKeown, Balaji Prabhakar, Scott Shenker.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Balajee Vamanan et al. Deadline-Aware Datacenter TCP (D 2 TCP) Balajee Vamanan, Jahangir Hasan, and T. N. Vijaykumar.
Mohammad Alizadeh Adel Javanmard and Balaji Prabhakar Stanford University Analysis of DCTCP:Analysis of DCTCP: Stability, Convergence, and FairnessStability,
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
Bertha & M Sadeeq.  Easy to manage the problems  Scalability  Real time and real environment  Free data collection  Cost efficient  DCTCP only covers.
Congestion control in data centers
Defense: Christopher Francis, Rumou duan Data Center TCP (DCTCP) 1.
SEDCL: Stanford Experimental Data Center Laboratory.
Random Early Detection Gateways for Congestion Avoidance
Data Center TCP (DCTCP)
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Advanced Computer Networks : RED 1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking,
03/12/08Nuova Systems Inc. Page 1 TCP Issues in the Data Center Tom Lyon The Future of TCP: Train-wreck or Evolution? Stanford University
Mohammad Alizadeh, Abdul Kabbani, Tom Edsall,
Practical TDMA for Datacenter Ethernet
Mohammad Alizadeh Stanford University Joint with: Abdul Kabbani, Tom Edsall, Balaji Prabhakar, Amin Vahdat, Masato Yasuda HULL: High bandwidth, Ultra Low-Latency.
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan by liyong Data.
TCP & Data Center Networking
TCP Incast in Data Center Networks
Curbing Delays in Datacenters: Need Time to Save Time? Mohammad Alizadeh Sachin Katti, Balaji Prabhakar Insieme Networks Stanford University 1.
Detail: Reducing the Flow Completion Time Tail in Datacenter Networks SIGCOMM PIGGY.
B 李奕德.  Abstract  Intro  ECN in DCTCP  TDCTCP  Performance evaluation  conclusion.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Packet Transport Mechanisms for Data Center Networks Mohammad Alizadeh NetSeminar (April 12, 2012) Mohammad Alizadeh NetSeminar (April 12, 2012) Stanford.
DCTCP & CoDel the Best is the Friend of the Good Bob Briscoe, BT Murari Sridharan, Microsoft IETF-84 TSVAREA Jul 2012 Le mieux est l'ennemi du bien Voltaire.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
Wei Bai with Li Chen, Kai Chen, Dongsu Han, Chen Tian, Hao Wang SING HKUST Information-Agnostic Flow Scheduling for Commodity Data Centers 1 SJTU,
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
Kai Chen (HKUST) Nov 1, 2013, USTC, Hefei Data Center Networking 1.
ECEN 619, Internet Protocols and Modeling Prof. Xi Zhang Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions.
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
6.888: Lecture 3 Data Center Congestion Control Mohammad Alizadeh Spring
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Microsoft Research.
Data Center TCP (DCTCP)
Data Center TCP (DCTCP)
15-744: Computer Networking
Incast-Aware Switch-Assisted TCP Congestion Control for Data Centers
6.888 Lecture 5: Flow Scheduling
OTCP: SDN-Managed Congestion Control for Data Center Networks
HyGenICC: Hypervisor-based Generic IP Congestion Control for Virtualized Data Centers Conference Paper in Proceedings of ICC16 By Ahmed M. Abdelmoniem,
Congestion Control: The Role of the Routers
Router-Assisted Congestion Control
Packet Transport Mechanisms for Data Center Networks
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
Hamed Rezaei, Mojtaba Malekpourshahraki, Balajee Vamanan
Lecture 19 – TCP Performance
Amogh Dhamdhere, Hao Jiang and Constantinos Dovrolis
AMP: A Better Multipath TCP for Data Center Networks
Data Center TCP (DCTCP)
Fast Congestion Control in RDMA-Based Datacenter Networks
Department of Informatics Networks and Distributed Systems (ND) group
SICC: SDN-Based Incast Congestion Control For Data Centers Ahmed M
Lecture 16, Computer Networks (198:552)
TCP Congestion Control
Reconciling Mice and Elephants in Data Center Networks
Lecture 17, Computer Networks (198:552)
Transport Layer: Congestion Control
CS 401/601 Computer Network Systems Mehmet Gunes
AMP: An Adaptive Multipath TCP for Data Center Networks
Data Centers.
Presentation transcript:

Microsoft Research Stanford University 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 Presented by Greg Kesden

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?

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

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

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

Partition/Aggregate Application Structure Art is… Picasso 1. 2. Art is a lie… 3. ….. TLA MLA Worker Nodes ……… Deadline = 250ms Deadline = 50ms Deadline = 10ms Picasso Time is money Strict deadlines (SLAs) Missed deadline Lower quality result 1. 2. 3. ….. 1. Art is a lie… 2. The chief…

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 Memcached Servers Internet Web Servers Memcached Protocol

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

Impairments Incast Queue Buildup Buffer Pressure

Incast “Synchronized mice collide.” Caused by Partition/Aggregate. Worker 1 “Synchronized mice collide.” Caused by Partition/Aggregate. Aggregator Worker 2 Worker 3 RTOmin = 300 ms Worker 4 TCP timeout

Incast Really Happens Requests are jittered over 10ms window. MLA Query Completion Time (ms) 1. Incast really happens – see this actual screenshot from production tool 2. People care, they’ve solved it at application by jittering. 3. They care about the 99.9th percentile, 1-1000 customers Requests are jittered over 10ms window. Jittering switched off around 8:30 am. Jittering trades off median against high percentiles. 99.9th percentile is being tracked.

Queue Buildup Big flows buildup queues. Measurements in Bing cluster 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

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

Tension Between Requirements High Throughput High Burst Tolerance Low Latency Deep Buffers: Queuing Delays Increase Latency Shallow Buffers: Bad for Bursts & Throughput DCTCP Deep Buffers – bad for latency Shallow Buffers – bad for bursts & throughput Reduce RTOmin – no good for latency AQM – Difficult to tune, not fast enough for incast-style micro-bursts, lose throughput in low stat-mux Reduced RTOmin (SIGCOMM ‘09) Doesn’t Help Latency AQM – RED: Avg Queue Not Fast Enough for Incast Objective: Low Queue Occupancy & High Throughput

The DCTCP Algorithm

Review: The TCP/ECN Control Loop Sender 1 ECN = Explicit Congestion Notification ECN Mark (1 bit) Receiver DCTCP is based on the existing Explicit Congestion Notification framework in TCP. Sender 2

Small Queues & TCP Throughput: The Buffer Sizing Story Bandwidth-delay product rule of thumb: A single flow needs buffers for 100% Throughput. Cwnd In the first part of the talk, we established that what we need from DCTCP is to maintain small queues, without loss of throughput Now in the case of TCP, the question of how much buffering is needed for high throughput has been studied and is known in the literature as the buffer sizing problem. … and I’ll show you how to get low var… Buffer Size B Throughput 100%

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 In the first part of the talk, we established that what we need from DCTCP is to maintain small queues, without loss of throughput Now in the case of TCP, the question of how much buffering is needed for high throughput has been studied and is known in the literature as the buffer sizing problem. … and I’ll show you how to get low var… Buffer Size B Throughput 100%

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. In the first part of the talk, we established that what we need from DCTCP is to maintain small queues, without loss of throughput Now in the case of TCP, the question of how much buffering is needed for high throughput has been studied and is known in the literature as the buffer sizing problem. … and I’ll show you how to get low var…

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. In the first part of the talk, we established that what we need from DCTCP is to maintain small queues, without loss of throughput Now in the case of TCP, the question of how much buffering is needed for high throughput has been studied and is known in the literature as the buffer sizing problem. … and I’ll show you how to get low var… Real Rule of Thumb: Low Variance in Sending Rate → Small Buffers Suffice B

Two Key Ideas React in proportion to the extent of congestion, not its presence. Reduces variance in sending rates, lowering queuing requirements. Mark based on instantaneous queue length. Fast feedback to better deal with bursts. 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 5%

Data Center TCP Algorithm B K Switch side: Mark packets when Queue Length > K. Don’t Mark Mark Sender side: Maintain running average of fraction of packets marked (α). In each RTT: Adaptive window decreases: Note: decrease factor between 1 and 2. very simple marking mechanism not all the tunings other aqms have on the source side, the source is tryign to estimate the fraction of packets getting marked using the obs that there is a stream of ecn marks coming back – more info in the stream than in any single bit trying to maintain smooth rate variations to operate well even when using shallow buffers, and only a few flows (no stat mux) F over the last RTT. In TCP there is always a way to get the next RTT from the window size. Comes from the self-clocking of TCP. Only changing the decrease. Simplest version – makes a lot of sense. So generic could apply it to any algorithm – CTCP, CUBIC – how to cut its window leaving increase part to what it already does. Have to be careful here.

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

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

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). Time (W*+1)(1-α/2) W* Window Size W*+1

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). Packets sent in this RTT are marked. Time (W*+1)(1-α/2) W* Window Size W*+1

Analysis 85% Less Buffer than TCP 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

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 Cluster traffic benchmark – Fairness and Convergence – Incast – Static vs Dynamic Buffer Mgmt

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. Put more details We use RTOmin = 10ms for both TCP & DCTCP.

Baseline Background Flows Query Flows To transition to scaled traffic: people always want to get more out of their network.

Baseline Low latency for short flows. Background Flows Query Flows To transition to scaled traffic: people always want to get more out of their network. Low latency for short flows.

Baseline Low latency for short flows. High throughput for long flows. Background Flows Query Flows To transition to scaled traffic: people always want to get more out of their network. Low latency for short flows. High throughput for long flows.

Baseline Low latency for short flows. High throughput for long flows. Background Flows Query Flows To transition to scaled traffic: people always want to get more out of their network. Low latency for short flows. High throughput for long flows. High burst tolerance for query flows.

Scaled Background & Query 10x Background, 10x Query Need to put the take-aways on the slide, or at least have them in mind and slam them… Deep buffer fixes incast, makes delay worse RED, no good on the queries – doesn’t react fast enough Short messages Query

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.