Wire Speed Name Lookup: A GPU-based Approach

This paper studies the name lookup issue with longest prefix matching, which is widely used in URL filtering, content routing/switching, etc. Recently Content-Centric Networking (CCN) has been proposed as a clean slate future Internet architecture to naturally fit the content-centric property of today's Internet usage: instead of addressing end hosts, the Internet should operate based on the identity/name of contents. A core challenge and enabling technique in implementing CCN is exactly to perform name lookup for packet forwarding at wire speed. In CCN, routing tables can be orders of magnitude larger than current IP routing tables, and content names are much longer and more complex than IP addresses. In pursuit of conquering this challenge, we conduct an implementation-based case study on wire speed name lookup, exploiting GPU's massive parallel processing power. Extensive experiments demonstrate that our GPU-based name lookup engine can achieve 63.52M searches per second lookup throughput on large-scale name tables containing millions of name entries with a strict constraint of no more than the telecommunication level 100µs per-packet lookup latency. Our solution can be applied to contexts beyond CCN, such as search engines, content filtering, and intrusion prevention/ detection.

[1]  Edward Fredkin,et al.  Trie memory , 1960, Commun. ACM.

[2]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[3]  Robert E. Tarjan,et al.  Storing a sparse table , 1979, CACM.

[4]  Ellis Horowitz,et al.  Algorithms for trie compaction , 1984, TODS.

[5]  Lixia Zhang,et al.  URL forwarding and compression in adaptive Web caching , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[6]  Víctor Pàmies,et al.  Open Directory Project , 2003 .

[7]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach (4. ed.) , 2007 .

[8]  C.A. Shue,et al.  Packet Forwarding: Name-based Vs. Prefix-based , 2007, 2007 IEEE Global Internet Symposium.

[9]  Sotiris Ioannidis,et al.  Gnort: High Performance Network Intrusion Detection Using Graphics Processors , 2008, RAID.

[10]  Katerina J. Argyraki,et al.  RouteBricks: exploiting parallelism to scale software routers , 2009, SOSP '09.

[11]  Masayuki Murata,et al.  A Feasibility Evaluation on Name-Based Routing , 2009, IPOM.

[12]  Niccolo Cascarano,et al.  iNFAnt: NFA pattern matching on GPGPU devices , 2010, CCRV.

[13]  Jyuo-Min Shyu,et al.  Accelerating String Matching Using Multi-Threaded Algorithm on GPU , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[14]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[15]  Tiecheng Song,et al.  A High-Performance URL Lookup Engine for URL Filtering Systems , 2010, 2010 IEEE International Conference on Communications.

[16]  Alastair Nottingham,et al.  Parallel packet classification using GPU co-processors , 2010, SAICSIT '10.

[17]  Yangdong Deng,et al.  IP routing processing with graphic processors , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[18]  Xin Wang,et al.  Achieving O(1) IP lookup on GPU-based software routers , 2010, SIGCOMM '10.

[19]  Deborah Estrin,et al.  Named Data Networking (NDN) Project , 2010 .

[20]  Kang Kang,et al.  Scalable packet classification via GPU metaprogramming , 2011, 2011 Design, Automation & Test in Europe.

[21]  Xin Wang,et al.  Exploiting graphics processors for high-performance IP lookup in software routers , 2011, 2011 Proceedings IEEE INFOCOM.

[22]  Bin Liu,et al.  Parallel Name Lookup for Named Data Networking , 2011, 2011 IEEE Global Telecommunications Conference - GLOBECOM 2011.

[23]  David A. Patterson,et al.  Computer Architecture, Fifth Edition: A Quantitative Approach , 2011 .

[24]  Seungyeop Han,et al.  SSLShader: Cheap SSL Acceleration with Commodity Processors , 2011, NSDI.

[25]  Wing-Kai Hon,et al.  Memory-efficient pattern matching architectures using perfect hashing on graphic processing units , 2012, 2012 Proceedings IEEE INFOCOM.

[26]  Akshat Verma,et al.  Shredder: GPU-accelerated incremental storage and computation , 2012, FAST.

[27]  Van Jacobson,et al.  Networking named content , 2009, CoNEXT '09.

[28]  Ming Yang,et al.  GPU-based NFA implementation for memory efficient high speed regular expression matching , 2012, PPoPP '12.

[29]  Bin Liu,et al.  Scalable Name Lookup in NDN Using Effective Name Component Encoding , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[30]  Bin Liu,et al.  NameFilter: Achieving fast name lookup with low memory cost via applying two-stage Bloom filters , 2013, 2013 Proceedings IEEE INFOCOM.

[31]  Patrick Crowley,et al.  Named data networking , 2014, CCRV.