High-performance IPv6 address lookup in GPU-accelerated software routers

Abstract Due to the ever-increasing physical link speed, routing table size and internet traffic, modern routers have been the major bottleneck to process packages with a high throughout. As the most time-consumption task of routers, designing efficient IP lookup schemes for IPv6 face new challenges. In this paper, we design parallel bloom filter for IPv6, and implement it on Graphics Processing Unit to develop a novel GPU-accelerated software router, GRv6. Moreover, we design two schemes to support dynamic prefix update, i.e., dynamic prefix insert scheme and dynamic prefix delete scheme. To evaluate the performance of GRv6, we implement it with NVIDIA GeForce GTX 580 and utilize 5 real-life IPv6 routing tables to demonstrate that the IP lookup engine could achieve 60 Gbps for static routing tables, and 40 Gbps for dynamic routing tables with 3000 updates per second.

[1]  Gang Wang,et al.  Towards Dynamic and Scalable High-Speed IP Address Lookup Based on B+ Tree , 2012, IEICE Trans. Inf. Syst..

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

[3]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[4]  Gang Wang,et al.  A Dynamic IP Lookup Architecture using Parallel Multiple Hash in GPU-based Software Router , 2013 .

[5]  Hyesook Lim,et al.  New Approach for Efficient IP Address Lookup Using a Bloom Filter in Trie-Based Algorithms , 2016, IEEE Transactions on Computers.

[6]  Hyesook Lim,et al.  On reducing false positives of a bloom filter in trie-based algorithms , 2014, 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

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

[8]  Hyesook Lim,et al.  On Adding Bloom Filters to Longest Prefix Matching Algorithms , 2014, IEEE Transactions on Computers.

[9]  Fang Hao,et al.  Scalable IP lookups using shape graphs , 2009, 2009 17th IEEE International Conference on Network Protocols.

[10]  Dafang Zhang,et al.  GAMT: A fast and scalable IP lookup engine for GPU-based software routers , 2013, Architectures for Networking and Communications Systems.

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

[12]  Hyesook Lim,et al.  Hierarchical packet classification using a Bloom filter and rule-priority tries , 2010, Comput. Commun..

[13]  W. Lu,et al.  Low-Power TCAMs for Very Large Forwarding Tables , 2010, IEEE/ACM Transactions on Networking.

[14]  Fang Hao,et al.  IPv6 Lookups using Distributed and Load Balanced Bloom Filters for 100Gbps Core Router Line Cards , 2009, IEEE INFOCOM 2009.

[15]  M. V. Ramakrishna,et al.  Efficient Hardware Hashing Functions for High Performance Computers , 1997, IEEE Trans. Computers.

[16]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.

[17]  Yan Ma,et al.  Tree, Segment Table, and Route Bucket: A Multi-Stage Algorithm for IPv6 Routing Table Lookup , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[18]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[19]  H. Jonathan Chao,et al.  FlashTrie: Hash-based Prefix-Compressed Trie for IP Route Lookup Beyond 100Gbps , 2010, 2010 Proceedings IEEE INFOCOM.

[20]  Hyesook Lim,et al.  Survey and proposal on packet classification algorithms , 2010, 2010 International Conference on High Performance Switching and Routing.

[21]  Gaogang Xie,et al.  Towards practical use of Bloom Filter based IP lookup in operational network , 2014, 2014 IEEE Network Operations and Management Symposium (NOMS).

[22]  Viktor K. Prasanna,et al.  Scalable GPU-Accelerated IPv6 Lookup Using Hierarchical Perfect Hashing , 2014, GLOBECOM 2014.

[23]  Hyesook Lim,et al.  Priority Tries for IP Address Lookup , 2010, IEEE Transactions on Computers.

[24]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[25]  Rick S. Blum,et al.  Throughput Optimizing for Power-Splitting Based Relaying in Wireless-Powered Cooperative Networks , 2014, 2015 IEEE Global Communications Conference (GLOBECOM).

[26]  David E. Taylor,et al.  Longest prefix matching using bloom filters , 2006, TNET.

[27]  Nick McKeown,et al.  Routing lookups in hardware at memory access speeds , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[28]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[29]  Zhuo Huang,et al.  Approximately-perfect hashing: Improving network throughput through efficient off-chip routing table lookup , 2011, 2011 Proceedings IEEE INFOCOM.