Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.

Slides:



Advertisements
Similar presentations
Compressing Forwarding Tables Ori Rottenstreich (Technion, Israel) Joint work with Marat Radan, Yuval Cassuto, Isaac Keslassy (Technion, Israel) Carmi.
Advertisements

Greedy Algorithms.
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
Nanxi Kang Princeton University
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
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.
Types of Algorithms.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Optimal Fast Hashing Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Hebrew Univ., Israel)
Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions.
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
OpenFlow-Based Server Load Balancing GoneWild
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Approximating Maximum Edge Coloring in Multigraphs
On the Code Length of TCAM Coding Schemes Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) 1.
Hash Tables With Finite Buckets Are Less Resistant to Deletions Yossi Kanizo (Technion, Israel) Joint work with David Hay (Columbia U. and Hebrew U.) and.
Decision Tree Algorithm
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
1 DRES:Dynamic Range Encoding Scheme for TCAM Coprocessors Authors: Hao Che, Zhijun Wang, Kai Zheng and Bin Liu Publisher: IEEE Transactions on Computers,
Optimal Fast Hashing Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Politecnico di Torino, Italy)
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
UNC Chapel Hill Lin/Manocha/Foskey Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject.
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
The Simplex Method.
Fundamental Techniques
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
September 12, 2006IEEE PIMRC 2006, Helsinki, Finland1 On the Packet Header Size and Network State Tradeoff for Trajectory-Based Routing in Wireless Networks.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Multipath Routing Algorithms for Congestion Minimization Ron Banner and Ariel Orda Department of Electrical Engineering Technion- Israel Institute of Technology.
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Evaluating Performance for Data Mining Techniques
MAX FLOW CS302, Spring 2013 David Kauchak. Admin.
PEDS: Parallel Error Detection Scheme for TCAM Devices David Hay, Politecnico di Torino Joint work with Anat Bremler Barr (IDC, Israel), Danny Hendler.
Graph Partitioning Donald Nguyen October 24, 2011.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Layered Interval Codes for TCAM-based Classification David Hay, Politecnico di Torino Joint work with Anat Bremler-Barr (IDC), Danny Hendler (BGU) and.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
A compression-boosting transform for 2D data Qiaofeng Yang Stefano Lonardi University of California, Riverside.
Packet Classifiers In Ternary CAMs Can Be Smaller Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison) Jia Wang.
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
On Finding an Optimal TCAM Encoding Scheme for Packet Classification Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Data Structures & Algorithms Graphs
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
Adaptive Sorting “A Dynamically Tuned Sorting Library” “Optimizing Sorting with Genetic Algorithms” By Xiaoming Li, Maria Jesus Garzaran, and David Padua.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject to some constraints. (There may.
Minimizing Delay in Shared Pipelines Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) Yoram Revah, Aviran Kadosh.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Correlation Clustering Nikhil Bansal Joint Work with Avrim Blum and Shuchi Chawla.
DECOR: A Distributed Coordinated Resource Monitoring System Shan-Hsiang Shen Aditya Akella.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
11/21/02CSE Max Flow CSE Algorithms Max Flow Problems.
CS 312: Algorithm Design & Analysis Lecture #29: Network Flow and Cuts This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
The Simplex Method. and Maximize Subject to From a geometric viewpoint : CPF solutions (Corner-Point Feasible) : Corner-point infeasible solutions 0.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Chapter 5. Greedy Algorithms
The minimum cost flow problem
Chapter 6 Delivery & Forwarding of IP Packets
Load Balancing Memcached Traffic Using SDN
The Power of Two in Consistent Network Updates: Hard Loop Freedom, Easy Flow Migration Klaus-Tycho Förster and Roger Wattenhofer.
Instructor: Shengyu Zhang
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
Chapter 3 The Simplex Method and Sensitivity Analysis
On the effect of randomness on planted 3-coloring models
Discrete Math 2 Shortest Path Using Matrix
EE5900 Advanced Embedded System For Smart Infrastructure
Packet Classification Using Binary Content Addressable Memory
Presentation transcript:

Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Hebrew Univ., Israel)

Software Defined Networks  An abstraction of network devices and operations  Implemented through the network controller  A single centralized device with a global view of the entire network  To implement a policy, it relies on the forwarding table in each network switch.  Ternary content-addressable-memory (TCAM)  Limited in size. E.g., 750 entries [1].  Example: access control. [1] 2

Access Control Table Action ---- RuleAction Policy Database (classifier) Access Control Forwarding Engine Incoming Packet HEADERHEADER Switch 3

TCAM Architecture Encoder Match lines deny accept deny accept deny accept  1  00   10    1110  010  0  11   01    1010    row 3  Each entry is a word in {0,1,  } W Packet Header TCAM Array Source Port Width W 4

Example: Access Control  Consider the following network.  Access control table at each ingress point Problem: Ingress points need to hold large tables Problem: Ingress points need to hold large tables 5

Palette: Approach  Idea: Distribute the rules among all switches such that each packet goes through all rules along its path.  Implementation: 1. Decompose the large table into subtables.  Each subtable is denoted by a different color 2. Distribute colors to switches  Each path is a rainbow path, i.e. includes all the colors 6

Example  1. Split the rule table into subtables. 7

Example  2. Consider all (active) paths in the network  … and distribute the subtables. 8

Related Work  DIFANE (Yu et al.): Rule set is split into disjoint subsets and distributed to special switches.  Ingress switches redirect packets to the relevant switch.  If a rule is matched, it is stored in the ingress switch cache.  Causes management and redirection overhead (it can change the paths).  CSAMP (Sekar et al.): Each switch along the path handles only a (disjoint) subset of the packets.  Each switch still needs to hold the entire table. 9

Main Results  Table Decomposition  Pivot Bit Decomposition  Cut-Based Decomposition  Rainbow Path Problem  A Single color case  The multiple color case.  Evaluation 10

Table Decomposition  Dividing a large table into c subtables.  Order-oblivious: The order in which the smaller tables are accessed does not matter  Semantically-invariant: This global action of the network is the same as the one taken when using the initial single large table  Goal: minimize the largest subtable. 11

Pivot Bit Decomposition (PBD)  Basic Idea: At each iteration, decompose a table into two subtables.  Pick a column. All rules with ‘0’ go to the first subtable, while all rules with ‘1’ go to the second subtable.  Intuition: Any string can match rule(s) in at most one subtable. 12 See also: Zheng et al., IEEE Trans. Computing, 2006.

PBD: Example  Rule φ 2 has ‘*’ in bit 1.  We replace it by two new rules by replacing the ‘*’ to ‘0’ and ‘1’:  φ’ 2 = 001***0, and  φ’’ 2 = 011***0.  Resulting subtables consist of  φ 1, φ’ 2 and φ 6. (0’s in bit 1).  φ’’ 2, φ 3, φ 4 and φ 5. (1’s in bit 1). 13

PBD  Iteratively decomposing one subtable into two equivalent subtables.  At each iteration  Choose the bit that upon decomposition minimizes the larger resulting subtable.  Repeat this on one of the subtables, until c subtables exist. 14

PBD Drawback  The following table is hard for PBD.  Choose any column, the resulting two subtables are of sizes 5 and 1.  However, it can be easily divided into equally sized subtables (No conflicts between any of the rules). 15

Cut-Based Decomposition (CBD)  Decomposition is based on representing the set of rules in a directed dependency graph.  Nodes represent rules.  Edges represent dependency: an edge exists from u to v iff u has higher priority than v, and there is at least one key that matches both rules.  Goal: decompose the graph into c components (= subtables) with no edges between them. 16

CBD Example 17

Cut-Based Decomposition (CBD)  Decomposing the graph into c equally sized components is usually impossible and hard to approximate.  Allow two operations:  Breaking an edge between u and v: Replace v with a set of rules that have no conflict with u.  Node expansion: Given a set of t ‘*’ bits, replace it with 2 t rules (like the duplication done in PBD). 18

Cut-Based Decomposition (CBD)  Iterative algorithm:  Partition the graph to c (almost) equally sized partitions, subject to minimizing the number of crossing edges.  NP-hard, use approximation (e.g., using METIS [2]).  Break some edges or expand nodes.  Repeat until a (relatively balanced) partition with no crossing edges is found. [2] 19

Main Results  Table Decomposition  Pivot Bit Decomposition  Cut-Based Decomposition  Rainbow Path Problem  A single color case  The multiple color case.  Evaluation 20

Reminder  (Step 2.) Consider all (active) paths in the network … and distribute the subtables. 21

Rainbow Path Problem  Distribute the colors among switches (up to a single color for each switch), such that each path contains all colors.  Goal: maximize the number of colors c used.  NP-hard problem  Turn to greedy algorithms. 22

1-GREEDY  For each new color:  Color the (yet uncolored) switch that maximizes the number of paths going through the switch and not yet containing the new color.  Repeat this until all paths contain the new color.  Runs in time O(n 2 |P|), where n is the number of switches, and P is path set. 23

1-GREEDY: Example  First Iteration (first color):  Switches v 1, v 2 and v 4 belong to two paths (each), while v 3 belongs only to one path. E.g., color v 1.  Need also to color p 3. Color either v 2 or v 4.  Second iteration (second color):  Even by coloring both v 3 and v 4, p 1 remains uncolored. Stop: only use first color. 24

q-GREEDY  In q-GREEDY, at each (sub-)iteration, pick up to q switches that maximize the number of paths going through the switches and not yet containing the new color.  Runs in time O(n q+1 |P|), where n is the number of switches, and P is the path set. 25

The Multiple-Color Case  In the following network, with 3 paths, there is no solution with two colors.  Idea: assign more than one color to each switch: v 1 with colors 1 and 2, v 2 with colors 2 and 3 and v 3 with colors 1 and 3.  All paths contain all colors.  Each switch holds approx. 2/3 of the table. ? 26

The Multiple-Color Case  Goal: Maximize the number of colors used, subject to a maximum number d of colors allowed in each switch.  Problem is NP-hard.  Idea: Reduction to the single-color case:  Split each switch into a chain of d switches.  For each path that goes through a switch, make it go trough the entire chain. d 27

Main Results  Table Decomposition  Pivot Bit Decomposition  Cut-Based Decomposition  Rainbow Path Problem  A Single color case  The multiple color case.  Evaluation 28

Table Decomposition: PBD and CBD  Define quality of the decomposition as: original table size max subtable size * number of subtables 29

Table Distribution: q-GREEDY  Number of colors used cannot exceed shortest path size.  Random network instances.  2-GREEDY performs better than 1- GREEDY. 30

Summary Practical distributed way of implementing access control with small tables: 1. Cut into subtables 2. Distribute the subtables 31

Thank you.