This Article 
 Bibliographic References 
 Add to: 
DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors
July 2008 (vol. 57 no. 7)
pp. 902-915
One of the most critical resource management issues in the use of ternary content addressable memory (TCAM) for packet classification/filtering is how to effectively support filtering rules with ranges, known as range matching. In this paper, a Dynamic Range Encoding Scheme (DRES) is proposed to significantly improve TCAM storage efficiency for range matching. Unlike the existing range encoding schemes requiring additional hardware support, DRES uses the TCAM coprocessor itself to assist range encoding. Hence, DRES can be readily programmed in a network processor using a TCAM coprocessor for packet classification. A salient feature of DRES is its ability to allow a subset of ranges to be encoded and hence to have full control over the range code size. This feature allows DRES to exploit the TCAM structure to maximize TCAM storage efficiency. DRES is a comprehensive solution, including a dynamic range selection algorithm, a search key encoding scheme, a range encoding scheme, and a dynamic encoded range update algorithm. While the dynamic range selection algorithm running in software allows optimal selection of ranges to be encoded to maximize the TCAM storage efficiency, the dynamic encoded range update algorithm allows the TCAM database to be updated lock-free without interrupting the TCAM database lookup process. DRES is evaluated based on real-world databases and the results show that DRES can reduce the TCAM storage expansion ratio from 6.20 to 1.23. The performance analysis of DRES based on a probabilistic model demonstrates that DRES significantly improves TCAM storage efficiency for a wide spectrum of range distributions.

[1] “AMCC Ships 10-Gbit/s Processor,” Light Reading, Mar. 2002.
[2] F. Baboesu and G. Varghese, “Scalable Packet Classification,” Proc. ACM SIGCOMM '01, pp. 97-108, 2001.
[3] L. Breslau, P. Cao, J. Fan, G. Phillips, and S. Shenker, “Web Caching and Zipf-Like Distributions: Evidence and Implications,” Proc. IEEE INFOCOM '99, pp. 126-134, 1999.
[4] H. Che, Y. Wang, and Z. Wang, “A Rule Grouping Technique for Weight-Based TCAM Coprocessors,” Proc. 11th Symp. High-Performance Interconnects, pp. 32-37, Aug. 2003.
[5] Cypress Ayama 10K/20K NSE Series TCAM Products, http:/, 2008.
[6] A. Feldman and S. Muthukrishnan, “Tradeoffs for Packet Classification,” Proc. IEEE INFOCOM '00, pp. 1293-1302, 2000.
[7] A. Gottlieb, “Optimizing Next-Generation Application-Dependent Packet Classification,” , 2007.
[8] P. Gupta and N. McKeown, “Algorithms for Packet Classification,” IEEE Network, pp. 24-32, 2001.
[9] P. Gupta and N. McKeown, “Packet Classification on Multiple Fields,” Proc. ACM SIGCOMM '99, pp. 147-160, 1999.
[10] P. Gupta and N. McKeown, “Packet Classification Using Hierarchical Intelligent Cuttings,” Proc. Seventh Symp. High Performance Interconnects, 1999.
[11] “IDT Introduces IP Coprocessors with Seamless QDR Interface to Intel's New Network Processors,” , Feb. 2002.
[12] “IDT Samples Industry's First Network Search Engines with a Fully Integrated Interface for AMCC Network Processors,” , 2007.
[13] M.E. Kounavis, A. Kumar, H. Vin, R. Yavatkar, and A.T. Campbell, “Directions in Packet Classification for Network Processors,” Proc. Second Workshop Network Processors, 2003.
[14] T. Lakshman and D. Stiliadis, “High-Speed Policy-Based Packet Forwarding Using Efficient Multi-Dimensional Range Matching,” ACM SIGCOMM Computer Comm. Rev., vol. 28, no. 4, pp. 203-214, Oct. 1998.
[15] K. Lakshminarayanan, A. Rangarajan, and S. Venkatachary, “Algorithms for Advanced Packet Classification with Ternary CAMs,” Proc. ACM SIGCOMM, 2005.
[16] H. Liu, “Efficient Mapping of Range Classifier into Ternary-CAM,” Proc. 10th Symp. High-Performance Interconnects, pp. 95-100, Aug. 2002.
[17] J. van Lunteren and A.P.J. Engbersen, “Dynamic Multi-Field Packet Classification,” Proc. IEEE Global Telecomm. Conf., pp. 2215-2219, Nov. 2002.
[18] J. van Lunteren and A.P.J. Engbersen, “Fast and Scalable Packet Classification,” IEEE J. Selected Areas in Comm., vol. 21, no. 4, pp.560-571, 2003.
[19] E. Spitznagel, D. Taylor, and J. Turner, “Packet Classification Using Extended TCAMs,” Proc. 11th IEEE Int'l Conf. Network Protocols, pp. 120-131, Sept. 2003.
[20] V. Srinivasan, G. Varghese, S. Suri, and M. Waldvogel, “Fast and Scalable Layer-Four Switching,” Proc. ACM SIGCOMM '98, pp.192-202, 1998.
[21] V. Srinivasan, S. Suri, and M. Waldvogel, “Packet Classification Using Tuple Space Search,” Proc. ACM SIGCOMM '99, pp. 135-146, 1999.
[22] M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, “Scalable High-Speed Prefix Matching,” ACM Trans. Computer Systems, vol. 19, no. 4, pp. 440-482, 2001.
[23] Z. Wang, H. Che, M. Kumar, and S. Das, “CoPTUA: Consistent Policy Table Update Algorithm for TCAM without Locking,” IEEE Trans. Computers, vol. 53, no. 12, pp. 1602-1614, Dec. 2004.
[24] K. Zheng, C. Hu, H. Lu, and B. Liu, “A TCAM-Based Distributed Parallel IP Lookup Scheme and Performance Analysis,” IEEE/ACM Trans. Networking, vol. 14, no. 4, pp. 863-875, Aug. 2006.
[25] K. Zheng, H. Che, Z. Wang, B. Liu, and X. Zhang, “DPPC-RE: TCAM-Based Distributed Parallel Packet Classification with Range Encoding,” IEEE Trans. Computers, vol. 55, no. 8, pp. 947-961, Aug. 2006.

Index Terms:
Associative memories, Composite structures, Storage/repositories, Network repositories/data mining/backup
Hao Che, Zhijun Wang, Kai Zheng, Bin Liu, "DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors," IEEE Transactions on Computers, vol. 57, no. 7, pp. 902-915, July 2008, doi:10.1109/TC.2007.70838
Usage of this product signifies your acceptance of the Terms of Use.