In this paper, we proposed a parallel IP address lookup architecture, which is a novel concept based on graphics processing unit (GPU) via Compute Unified Device Architecture (CUDA). Device function in GPU only performs IP address lookup. Host function is exploited to construct and update the data structure of IP address lookup. Both host and device functions can be executed simultaneously to fully utilize computation resource. Accordingly, we propose an IPv6-capable data structure and implement the data structure with CUDA. One of experimental results shows that G92 GPU can achieve a throughput more than 1.3 billion packets per second (GPPS) on IPv4 routing tables with more than 350K prefixes, which signifies CUDA-based IP forwarding engine with the proposed approach has the capability of GPPS IP forwarding rate on a low-end CUDA device. By employing dual data structures, our implementation can support several hundred thousand updates per second. Furthermore, the proposed forwarding scheme is varied to be applied and compatible with other Internet schemes and devices.
Paper available at IEEE.
Department of Computer Science and Engineering, National Chung Hsing University, Taichung 402, Taiwan