FPGA implementation and experimental evaluation of a multizone network cache

Abstract Network routers rely on content addressable memories (CAMs) to accelerate the process of looking up the next hop of a packet. The input for this lookup is the destination address of the packet. This article describes our implementation and evaluation of a versatile prototype for a CAM. This prototype allows the empirical evaluation of the idea of caching lookup results in a multizone cache organized according to the length of the network prefix portion of the addresses. Implementing a cache in an FPGA efficiently required the design of a new cache replacement policy, the Bank N th Chance policy. In this article we present results from a functional simulator that allows the comparison of this new policy with existing ones such as least recently used, first in, first out and Second Chance. With a complete and functional prototype in a Xilinx Virtex 2000E device, we also report frequency of operation and occupation of the device. We present programmable logic design techniques that enable the implementation of ternary logic CAM cells, the efficient implementation of the new policy reference fields, and the pipelining of lookups.

[1]  Tzi-cker Chiueh,et al.  Cache memory design for network processors , 2000, Proceedings Sixth International Symposium on High-Performance Computer Architecture. HPCA-6 (Cat. No.PR00550).

[2]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[3]  Tzi-cker Chiueh,et al.  High-performance IP routing table lookup using CPU caching , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[4]  Wayne Luk,et al.  Irregular Reconfigurable CAM Structures for Firewall Applications , 2003, FPL.

[5]  José Nelson Amaral,et al.  The Bank Nth Chance Replacement Policy for FPGA-Based CAMs , 2003, FPL.

[6]  Patrick Wade Jon An integrated content addressable memory system , 1988 .

[7]  Tzi-cker Chiueh,et al.  Improving Route Lookup Performance Using Network Processor Cache , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[8]  Ivan Leonidovitch. Chvets,et al.  Multi-zone caching for IP address lookup , 2002 .

[9]  Paul Francis,et al.  Fast routing table lookup using CAMs , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

[10]  Lawrence Chisvin,et al.  Content-addressable and associative memory: alternatives to the ubiquitous RAM , 1989, Computer.

[11]  M. H. MacGregor Design algorithms for multi-zone IP address caches , 2003, Workshop on High Performance Switching and Routing, 2003, HPSR..

[12]  Axel Jantsch,et al.  A Dynamically Reconfigurable FPGA-based Content Addressable Memory for IP Characterization , 2000 .

[13]  ScienceDirect Microprocessors and microsystems , 1978 .

[14]  Shih-Lien Lu,et al.  Implementation of HW$im - A Real-Time Configurable Cache Simulator , 2003, FPL.

[15]  Teuvo Kohonen,et al.  Content-addressable memories , 1980 .

[16]  José Nelson Amaral,et al.  An FPGA prototype for the experimental evaluation of a multizone network cache , 2004, FPGA '04.

[17]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[18]  Otto Fucík,et al.  Project of IPv6 Router with FPGA Hardware Accelerator , 2003, FPL.