Counter Braids: A novel counter architecture

Similar documents
Counter Braids: A novel counter architecture

Counter Braids: A novel counter architecture

Data Center Quantized Congestion Notification (QCN): Implementation and Evaluation on NetFPGA

Enhanced Forward Explicit Congestion Notification (E-FECN) Scheme for Datacenter Ethernet Networks

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

QCN: Quantized Congestion Notification. Rong Pan, Balaji Prabhakar, Ashvin Laxmikantha

Router s Queue Management

KNOM Tutorial Internet Traffic Matrix Measurement and Analysis. Sue Bok Moon Dept. of Computer Science

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Appendix B. Standards-Track TCP Evaluation

Designing Statistics Counters from Slower Memories

A Survey on Congestion Notification Algorithm in Data Centers

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

Highly Compact Virtual Counters for Per-Flow Traffic Measurement through Register Sharing

Improving TCP Performance over Wireless Networks using Loss Predictors

Sizing Router Buffers

Data Center TCP (DCTCP)

Internetwork. recursive definition point-to-point and multi-access: internetwork. composition of one or more internetworks

Design and Performance Analysis of a DRAM-based Statistics Counter Array Architecture

Simply Top Talkers Jeroen Massar, Andreas Kind and Marc Ph. Stoecklin

Data Communication Networks Final

Congestion Control Without a Startup Phase

Page 1. Multilevel Memories (Improving performance using a little cash )

CSE 123A Computer Networks

2.993: Principles of Internet Computing Quiz 1. Network

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

CS244a: An Introduction to Computer Networks

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

RD-TCP: Reorder Detecting TCP

New Directions in Traffic Measurement and Accounting. Need for traffic measurement. Relation to stream databases. Internet backbone monitoring

Baidu s Best Practice with Low Latency Networks

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

Data Center Transport Mechanisms. EE384M Spring 2011

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

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

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

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

Advanced Computer Networks. Flow Control

Tracking Frequent Items Dynamically: What s Hot and What s Not To appear in PODS 2003

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

Optimizing Memory Bandwidth of a Multi-Channel Packet Buffer

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

Adaptive Non-Linear Sampling Method for. Accurate Flow Size Measurement

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Outline. The demand The San Jose NAP. What s the Problem? Most things. Time. Part I AN OVERVIEW OF HARDWARE ISSUES FOR IP AND ATM.

Caches and Memory Hierarchy: Review. UCSB CS240A, Fall 2017

DRAM is Plenty Fast for Wirespeed Statistics Counting

Kommunikationssysteme [KS]

The War Between Mice and Elephants

The Network Layer and Routers

Congestion Control in TCP

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

Professor Yashar Ganjali Department of Computer Science University of Toronto.

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

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Network Processors and their memory

Data Streaming Algorithms for Efficient and Accurate Estimation of Flow Size Distribution

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.

CS244a: An Introduction to Computer Networks

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

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

DRAM is Plenty Fast for Wirespeed Statistics Counting

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

UNIT IV -- TRANSPORT LAYER

LS Example 5 3 C 5 A 1 D

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table

Power of Slicing in Internet Flow Measurement. Ramana Rao Kompella Cristian Estan

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Lecture 14: Congestion Control"

CS307 Operating Systems Main Memory

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

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

Telematics. 5rd Tutorial - LLC vs. MAC, HDLC, Flow Control, E2E-Arguments

Caches and Memory Hierarchy: Review. UCSB CS240A, Winter 2016

Wireless TCP Performance Issues

A Framework for Efficient Class-based Sampling

Host Solutions Group Technical Bulletin August 30, 2007

Chapter 1. Introduction

Router Architecture Overview

ET4254 Communications and Networking 1

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

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568/668

Memory Management Prof. James L. Frankel Harvard University

CS 552 Computer Networks

Congestion control in TCP

Internet Protocols Fall Lecture 16 TCP Flavors, RED, ECN Andreas Terzis

New Approaches to Optical Packet Switching in Carrier Networks. Thomas C. McDermott Chiaro Networks Richardson, Texas

Introducing optical switching into the network

This document provides an overview of buffer tuning based on current platforms, and gives general information about the show buffers command.

Hardware Acceleration in Computer Networks. Jan Kořenek Conference IT4Innovations, Ostrava

P802.1Qcz Congestion Isolation

TCP Congestion Control

TCP Congestion Control

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

Differential Congestion Notification: Taming the Elephants

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

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Rapid PHY Selection (RPS): Emulation and Experiments using PAUSE

Transcription:

Counter Braids: A novel counter architecture Balaji Prabhakar Balaji Prabhakar Stanford University Joint work with: Yi Lu, Andrea Montanari, Sarang Dharmapurikar and Abdul Kabbani

Overview Counter Braids Background: current approaches Exact, per-flow accounting Approximate, large-flow accounting Our approach The Counter Braid architecture A simple, efficient message passing algorithm Performance, comparisons and further work Congestion notification in Ethernet Overview of IEEE standards effort

Traffic Statistics: Background Routers collect traffic statistics; useful for Accounting/billing, traffic engineering, security/forensics Several products in this area; notably, Cisco s NetFlow, Juniper s cflowd, Huawei s NetStream Other areas In databases: number and count of distinct items in streams Web server logs Key problem: At high line rates, memory technology is a limiting factor 500,000+ active flows, packets arrive once every 10 ns on 40 Gbps line We need fast and large memories for implementing counters: v.expensive 3

An initial approach: Exact counting Shah, Iyer, Prabhakar, McKeown (001) Hybrid SRAM-DRAM architecture LSBs in SRAM: high-speed updates, on-chip MSBs in DRAM: less frequent updates; can use slower speed, off-chip DRAMs F1 Fl Fn 35 4 15 SRAM Interconnect -- Speed: L/S Counter Mgmt Algorithm DRAM Main result: Min. num. of bits for each SRAM counter to have no overflows 4

Related work Ramabhadran and Varghese (003), Zhao et al (006) simplify and generalize previous results F1 Fl CMA Interconnect -- Speed: L/S Fn SRAM DRAM Main problem of exact methods Can t fit counters into single SRAM Need to know the flow-counter association Need perfect hash function; or, fully associative memory (e.g. CAM) 5

Approximate counting Statistical in nature Use heavy-tailed (Pareto) distribution of network flow sizes 80% of data brought by the biggest 0% of the flows So, quickly identify these big flows and count their packets Sample and hold: Estan et al (004) Packets off of the wire Large flow? Yes No Counter Array Given the cost of memory, it strikes an good trade-off Moreover, the flow-to-counter association problem is manageable But, the counts are very approximate 6

Compress Space via Braiding Save counter space by braiding counters Give nearly exclusive LSBs, share MSBs LSBs Shared MSBs 7

Counter Braids for Measurement (in anticipation) Status bit Indicates overflow Mouse Traps Many, shallow counters Elephant Traps Few, deep counters 8

Redundancy via Multiple Hashes Multiple hash functions Single hash function leads to collisions However, one can use two or more hash functions and use the redundancy to recover the flow size 1 0 1 3 6 3 40 3 36 35 3 35 3 5 1 5 45 Need efficient decoding algorithm Invert C --> F 9

The Count-Min Algorithm This algorithm is due to Cormode and Muthukrishnan Algorithm: Estimate flow j s size as the minimum counter it hits The flow sizes for the example below would be estimated as: 36, 36, 3 1 34 36 Major drawbacks Need lots of counters for accurate estimation Don t know how much the error is; in fact, don t know if there is an error We shall see that applying the Turbo-principle to this algorithm gives terrific results 10

The Turbo-principle 11

Example 3 1 34 36 0 36 3 3 3 0 36 0 1 1 0 Iter 0 Iter 1 Iter Iter 3 Iter 4 Count-Min 1

Properties of the MP Algorithm Anti-monotonicity: With initial estimates of 1 for the flow sizes, Flow size Flow index Note: Because of this property, estimation errors are both detectable and have a bound! 13

When does the sandwich close? Using the density evolution technique of Coding Theory, one can show that it suffices for m > c*n, where c* = This means for heavy-tailed flow sizes, where there are approximately 35% 1-packet flows, c* is roughly 0.8 In fact, there is a sharp threshold Less than that many counters means you cannot decode correctly, more is not required! 14

Threshold, c*= 0.7 Fraction of flows incorrectly decoded Count-Min s error Reduced due to the Turboprinciple Iteration number 15

The -stage Architecture: Counter Braids Elephant Traps Few, deep counters -- First stage: Lots of shallow counters -- Second stage: V.few deep counters -- First stage counters hash into the second stage; an overflow status bit on first stage counters indicates if the counter has overflowed to the second stage Mouse Traps Many, shallow counters -- If a first stage counter overflows, it resets and counts again; second stage counters track most significant bits -- Apply MP algorithm recursively 16

Counter Braids vs. the One-layer Architecture 10 0 Fraction of flows incorrectly decoded 10-1 10-10 -3 10-4 one layer two layers Two layers One layer 0 1 3 4 5 6 7 8 9 Number of counter bits per flow 17

Internet Trace Simulations Used two OC-48 (.5 Gbps) one-hour contiguous traces collected by CAIDA at a San Jose router. Divided traces into 1 5-minute segments. Trace 1: 0.9 million flows and 0 million packets per segment Trace : 0.7 million flows and 9 million packets per segment We used total counter space of 1.8 MB. We ran 50 experiments, each with different hash functions. There were a total of 100 runs. No error was observed. 18

Comparison Hybrid Sample-and-Hold Count-Min Counter Braids Purpose All flow sizes. Exact. Elephant flows. Approximate. All flow sizes. Approximate. All flow sizes. Exact. Number of flows 900,000 98,000 900,000 900,000 Memory Size (SRAM) counters 4.5 Mbit (31.5 Mbit in DRAM + countermanagement ) 1 Mbit 10 Mbit 10 Mbit Memory Size (SRAM) flow-to-counter association > 5 Mbit 1.6 Mbit Not needed Not needed Error Exact Fractional Large: 0.03745% Medium: 1.090% Small: 43.87% Pe ~ 1 avg abs error = 4.7 Lossless recovery. 19

Conclusions for Counter Braids Cheap and accurate solution to the network traffic measurement problem Good initial results Further work Lossy compression Multi-router solution: same flow passes through many routers 0

Congestion Notification in Ethernet: Part of the IEEE 80.1 Data Center Bridging standardization effort Balaji Prabhakar Berk Atikoglu, Abdul Kabbani, Balaji Prabhakar Stanford University Rong Pan Cisco Systems Mick Seaman

Background Switches and routers send congestion signals to end-systems to regulate the amount of network traffic. Two types of congestion. Transient: Caused by random fluctuations in the arrival rate of packets, and effectively dealt with using buffers and link-level pausing (or dropping packets in the case of the Internet). Oversubscription: Caused by an increase in the applied load either because existing flows send more traffic, or (more likely) because new flows have arrived. We ve been developing QCN (for Quantized Congestion Notification), an algorithm which is being studied as a part of the IEEE 80.1 Data Center Bridging group for deployment in Ethernet

Switched Ethernet vs Internet Some significant differences 1. There is no end-to-end signaling in the Ethernet a la per-packet acks in the Internet So congestion must be signaled to the source by switches Not possible to know round trip time! Algorithm not automatically self-clocked (like TCP). Links can be paused; i.e. packets may not be dropped 3. No sequence numbering of L packets 4. Sources do not start transmission gently (like TCP slow-start); they can potentially come on at the full line rate of 10Gbps 5. Ethernet switch buffers are much smaller than router buffers (100s of KBs vs 100s of MBs) 6. Most importantly, algorithm should be simple enough to be implemented completely in hardware An interesting environment to develop a congestion control algorithm QCN derived from the earlier BCN algorithm Closest Internet relatives: BIC TCP at source, REM/PI controller at switch 3