PEDS: Parallel Error Detection Scheme for TCAM Devices David Hay, Politecnico di Torino Joint work with Anat Bremler Barr (IDC, Israel), Danny Hendler.

Slides:



Advertisements
Similar presentations
The Complexity of Linear Dependence Problems in Vector Spaces David Woodruff IBM Almaden Joint work with Arnab Bhattacharyya, Piotr Indyk, and Ning Xie.
Advertisements

Liron Schiff * (TAU) Joint work with Yehuda Afek, Anat Bremler-Barr (TAU) (IDC) Recursive Design of Hardware Priority Queues Supported by European Research.
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Applied Algorithmics - week7
Error Control Code.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
II. Linear Block Codes. © Tallal Elshabrawy 2 Last Lecture H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error.
On the Code Length of TCAM Coding Schemes Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) 1.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
PEDS: Parallel Error Detection Scheme for TCAM Devices David Hay, Politecnico di Torino Joint work with Anat Bremler Barr (IDC), Danny Hendler (BGU) and.
Algorithms for Advanced Packet Classification with TCAMs Karthik Lakshminarayanan UC Berkeley Joint work with Anand Rangarajan and Srinivasan Venkatachary.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Error Detection and Correction
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
exercise in the previous class (1)
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
Syndrome Decoding of Linear Block Code
Linear Codes.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Layered Interval Codes for TCAM-based Classification David Hay, Politecnico di Torino Joint work with Anat Bremler-Barr (IDC), Danny Hendler (BGU) and.
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Exercise in the previous class p: the probability that symbols are delivered correctly C: 1 00 → → → → What is the threshold.
4-2 binary fields and binary vector spaces Special Thanks to Dr. Samir Al-Ghadhban & EE430 Students.
ORange: Multi Field OpenFlow based Range Classifier Liron Schiff Tel Aviv University Yehuda Afek Tel Aviv University Anat Bremler-Barr Inter Disciplinary.
Wire Speed Packet Classification Without TCAMs ACM SIGMETRICS 2007 Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison)
Packet Classifiers In Ternary CAMs Can Be Smaller Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison) Jia Wang.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
PEDS: A PARALLEL ERROR DETECTION SCHEME FOR TCAM DEVICES Author: Anat Bremler-Barr, David Hay, Danny Hendler and Ron M. Roth Publisher/Conf.: IEEE INFOCOM.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Error Detection and Correction
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
On Finding an Optimal TCAM Encoding Scheme for Packet Classification Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
DIGITAL COMMUNICATIONS Linear Block Codes
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Information Theory Linear Block Codes Jalal Al Roumy.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
Cross-Product Packet Classification in GNIFS based on Non-overlapping Areas and Equivalence Class Author: Mohua Zhang, Ge Li Publisher: AISS 2012 Presenter:
1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming Code
Some Computation Problems in Coding Theory
Error Detection and Correction
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
1 Bit Weaving: A Non-Prefix Approach to Compressing Packet Classifiers in TCAMs Author: Chad R. Meiners, Alex X. Liu, and Eric Torng Publisher: IEEE/ACM.
Hamming Distance & Hamming Code
Compression for Fixed-Width Memories Ori Rottenstriech, Amit Berman, Yuval Cassuto and Isaac Keslassy Technion, Israel.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Space-Efficient TCAM-based Classification Using Gray Coding Authors: Anat Bremler-Barr and Danny Hendler Publisher: IEEE INFOCOM 2007 Present: Chen-Yu.
The Matrix Equation A x = b (9/16/05) Definition. If A is an m  n matrix with columns a 1, a 2,…, a n and x is a vector in R n, then the product of A.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
REVIEW Linear Combinations Given vectors and given scalars
parity bit is 1: data should have an odd number of 1's
The Variable-Increment Counting Bloom Filter
Coding Theory Dan Siewiorek June 2012.
II. Linear Block Codes.
Yotam Harchol The Hebrew University of Jerusalem, Israel
Information Redundancy Fault Tolerant Computing
Yotam Harchol The Hebrew University of Jerusalem, Israel
Lecture 17 Making New Codes from Old Codes (Section 4.6)
Worst-Case TCAM Rule Expansion
Presentation transcript:

PEDS: Parallel Error Detection Scheme for TCAM Devices David Hay, Politecnico di Torino Joint work with Anat Bremler Barr (IDC, Israel), Danny Hendler (BGU, Israel) and Ron Roth (Technion, Israel) Supported by a Cisco grant 20/6/2008

Bottlenecks in Packet Switching Packet Classification Switching Packet Scheduling

Packet Classification w/ TCAM Encoder Match lines Packet Header accept deny accept TCAM Array Each entry represents a rule and is a word in {0,1,*} W

TCAM Dimensions 100, ,000 rules (rows) Each entry is ternary symbols (column) This leaves few dozens (~36) extra symbols in each entry, that can be used to optimize TCAM performance

TCAM-Related Challenges How to efficiently represent rules with range fields? E.g., all packets with dest-port [1,6] or [1024, ] are accepted, all other are denied. One possibility: prefix expansion. Use multiple entries to code a single rule. [1,6]= {001, 01*,10*, 110} Causes 16% more entries in real TCAMs. Better solution: use the extra symbols to code ranges. Reduces dramatically the number of additional entries required. [Bremler-Barr, Hay, Hendler and Farber, SIGMETRICS 2008] This talk: Error Correction codes for TCAM. [Bremler-Barr, Hay, Hendler and Roth]

Types of TCAM Errors False Miss False Hit Indirect False Hit * 1 * 1 * * 1 * 1 * No Match

Types of TCAM Errors False Miss False Hit Indirect False Hit * 1 * 1 * * 1 * 1 *

Types of TCAM Errors False Miss False Hit Indirect False Hit * 1 * 1 * * 1 * 1 *

TCAM Errors vs. SRAM Errors In SRAM (or any regular memory) Input: address (entry number) Output: content of that address One can apply an error detection/correcting code on that content In TCAM Even if the content seems OK, we still have false miss or indirect false miss errors  TCAM EDC/ECC are harder: we prove that on-the-fly error correcting is impossible, and that hardware change is needed for error detection

PEDS We add one or more check symbols to each entry as error detection code In most TCAM configuration, extra-bits are available anyway With the TCAM parallel lookup we provide a generic scheme with tradeoff points between: 1. Resilience 2. Number of extra-bits 3. Time till all errors are detected 4. Hardware changes Most tradeoff points can be set after deployment Always Depends on the entry width and not number of entries

Toy Example For each entry, duplicate each symbol 0*10  00**1100 → The entry is correct iff each pair has the equal symbols: 00, 11 or **. Applying two lookups for the first pair: 01****** 10****** If 00, 11 – none of the lookups match. If **, both lookups match If 01, 0*, *1 – only first lookup matches If 10, 1*, *0 – only second lookup matches Repeat for all other pairs. Even number of Matches Odd number of Matches

Hardware Change Encoder One XOR gate + One single-bit register per match lines (+control lines) Each register will save the result of the previous match and XOR it with the result of the current match. This will enable us to determine if we got even or odd number of matches.

One Generalization One check symbol for each k symbols (a.k.a. k-clause) Previous toy example: k=1 Total Space: W/k extra bits. Resilience*: W/k k

Determining Check Symbols Treat the symbols as element over GF(3) “1”↔ +1 “0”↔ -1 “*” ↔ 0 Each k-clause is just a vector over GF(3) k Add parity check symbol x for any k-clause, that is where w i is the i-th symbol of the clause “*” has a special semantic and so does 0

Determining Lookup Set Set of lookup keys C: set of all vectors GF(2) k+1,, such that the sum of all their elements is either +1 or -1 GF(2)={-1,+1}, no ‘*’s, Main Theorem - even-correct/odd-wrong property: The number of keys in C that matches a clause i is even if and only if clause i is correct Proof by induction... Can be further generalized to any linear [n,k,d] code This is the linear [n=k+1, k,2] code (Much) more sophisticated lookup keys derivation, using the parity-check matrix of the code 

PEDS Performance Total Space: W/k extra bits. Resilience * : W/k #keys for k symbols ~ 2 k+2 /3 #lookups ~ W[2 k+2 /(3k)] K# keys# lookups (W=100) # extra bits (W=100)

Pushing the counters out k Suppose that only one error can occur in the same clause of each M lines M (log M)/2 XOR gates (log M)/M registers per entry on average

Pushing the counters out k M unit vector v (specific) parity check matrix H Syndrome of v: s=Hv Problem: even if we assume one error, we don’t have a unit vector!

Pushing the counters out Added hardware  multiple a matrix H with a vector v. returns the right syndrome only if v is a unit vector We have one vector for each lookup key v 1, v 2,…v n  we compute Hv 1  Hv 2  …  Hv n By even-correct/odd-wrong and the single error assumption: v=v 1  v 2  …  v n is a unit vector with 1 in the erroneous entry  Hv 1  Hv 2  …  Hv n = H (v 1  v 2  …  v n ) =H·v = s is the right syndrome! Right result in the end, meaningless values in the middle

Wrap-up Detecting all errors using the built-in parallel lookup of the TCAM The number of lookups is a function of W, the width of the TCAM word, and not the number of entries in the database. Requires a hardware change, but only in the peripheral circuitry of the TCAM chip More generalizations and constructions in the paper… Using other codes Using 3-mod counter to reduce time (=hardware-time tradeoff) 

Thank You

Using other codes - Preliminaries (Ternary) linear code [n,k,d] is a set of 3 k vectors of length n over GF(3) that: forms a linear space over GF(3) have minimum Hamming distance d encodes words in GF(3) k to words in GF(3) n Each linear code has a parity check matrix H The linear code C is H’s right kernel: C= {v  GF(3) n | Hv T =0} If the rows of H are h 1,h 2,...,h r this is equivalent to: v is error free if and only if for each i, h i v T =0

Using other codes – TCAM definition The support of a vector is the set of indices in which it has no ‘0’. (  no ‘*’) Two vectors match if they have the same value in their joint support u j =v j for every j  J(u)  J(v) J(u) is the support of u

Determining set of search keys s(h;b) = {u  GF(3) n |J(u)=J(v) and hu T =b} Same non-’*’ coordinates, scalar product b If h has hamming weight w then: 1. |s(h;0)| = 2/3(2 w-1 +(-1) w ) 2. |s(h;  1)| = 1/3(2 w -(-1) w ) L(h) = s(h;+1)  s(h;-1) For h,v  GF(3) n where h  0: hv T =0 iff the number of vectors in L(h) that matches v is even  L = L(h 1 )  L(h 2 )  …  L(h r ) where h i is the i-th row of the parity check matrix of the code. Odd number Even number