1 / 16

Bundle-Updatable SRAM-Based TCAM Design for OpenFlow -Compliant Packet Processor

Bundle-Updatable SRAM-Based TCAM Design for OpenFlow -Compliant Packet Processor. INTRODUCTION.

coye
Download Presentation

Bundle-Updatable SRAM-Based TCAM Design for OpenFlow -Compliant Packet Processor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bundle-Updatable SRAM-Based TCAM Design for OpenFlow-CompliantPacket Processor National Cheng Kung University CSIE Computer & Internet Architecture Lab

  2. INTRODUCTION TCAM is widely used in the packet processor engines of novel network architectures, including software-defined networking (SDN) and OpenFlow. However, the three-state storage and parallel searching of TCAM requires a large area and high-power consumption. Thus, static randomaccessmemory (SRAM)-based TCAM has recently been developed to increase area and power efficiency. It enables content search in a single cycle at speeds as fast as typical TCAM and a considerably lower cost. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  3. A variety of SRAMbased TCAM memory architectures have been developed, and a fast content updating algorithm has been proposed to decrease latency in the updating of SRAM-based TCAM cells. However, bundle updating in OpenFlow is not supported by the current SRAM-based TCAM cells. In this brief, we propose a binary tree-based prefix encoder (BPE) for low-latency updating in an OpenFlownetwork environment while retaining the area efficiency of conventional SRAM-based TCAM. The proposed BPE transfers a ternary rule into a binary tree-based code word, which can be decoded and mapped directly within the writing address range of the SRAM. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  4. SRAM-Based TCAM Architecture Entry (1) : 1* , Entry (2) : 0* Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  5. Updating Requirements in OpenFlow and Related Works SDN is an emerging network architecture characterized by frequent updating and large rule tables. These days, a rule entry can contain up to 773 bits. The OpenFlowprotocol defines bundle updating to synchronize packet forwarding paths in the network. In bundle updating, rules are sent to the corresponding switches within a given period, and it is determined in the last cycle whether the rules should be installed or dropped. For example, the network controller sends rule R1, R2, . . . , Rm to a switch at time T1, T2, . . . , Tm. After sending m rules, a decision to cancel the update prompts a discard message at Tm+1. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  6. Architecture of Proposed SRAM-Based TCAM A proposed bundle-updatable SRAM-based TCAM (BU-TCAM) module comprises three submodules: an updating controller (UC) with BPE encoder and code-word buffer, an operation module (OM), and a dual-port SRAM. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  7. Since network rules require a large rule table, we refer to hybrid partitioning, in which a large table is divided into vertical and horizontal partitions to reduce the dimensionality of bit vectors. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  8. During updating, an i-bit ternary rule input is presented with two i-bits of data, an input word D, and a mask word M. We developed a binary-tree prefix encoding (BPE) scheme to meet the updating requirements of OpenFlow. In BPE, updating data are encoded to reduce the storage in the buffer. The UC also compares the range relation based on the parent/child relation via a binary tree with the aim of reducing the number of updating cycles by disregarding overlapping addresses during bundle updating. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  9. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  10. Binary Tree-Based Prefix Encoder We also developed a binary tree-based prefix encoder (BPE) to save the storage size in the buffer and reduce latency during bundle updating in OpenFlow. In implementing BPE, we utilize the characteristics of prefix data and a binary tree to encode the original ternary data. Prefix data in a network contain continuous ternary words; therefore, 1s mapped to the bit vector are presented as a range. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  11. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  12. Bundle Updating in BPE We seek to reduce the redundant latency during bundle updating using the characteristics of parent/child relations in the binary tree. First, we set a 1-bit value called a child index (CI) to indicate the range of overlap during group updating. Following the insertion of every rule, we check the relation and perform a parallel comparison with all of the rules in the buffer. In this comparison, if the updating range of one rule covers the other, the CI of the rule in the child position is set to 1. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  13. After receiving all of the updating rules from the network controller, the UC simultaneously completes BPE encoding and CI labeling. While the range of the parent is updating, the rule with the child relation is inserted. For instance, if R0 and R3 are required for updating in a given group, then the CI of R3 is set to 1 during the range comparison. When the UC sends the update data to the OM, the range of R3 is skipped. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  14. We can access the parent/child relation of the BPE code word based on the numerical characteristics of a binary tree, where each leaf node on the left is double the value of its parent. The distance between the first “1” and the MSB in a BPE code word indicates the number of ternary bits in the original data, which can be derived from the level of the node in the tree. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  15. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

  16. we implemented the proposed works and related workson a Xilinx ZC-706 FPGA. The size of the BU-TCAM block was64×32 bits using two 36k block RAM (built-in dual-port SRAM)cells. Computer & Internet Architecture Lab CSIE, National Cheng Kung University

More Related