230 likes | 365 Vues
GAMT (GPU-Accelerated Multi-bit Trie) is designed to improve IP lookup performance for software routers by leveraging GPU computing. Compared to previous models, GAMT efficiently scales to IPv6 and maintains stable lookup throughput, even under frequent updates. Through the use of an optimized multi-bit trie structure and performance enhancements, this engine mitigates latency and enhances speed for dynamic data environments. The design principles and experimental results demonstrate GAMT's capacity to surpass existing solutions in efficiency and adaptability.
E N D
GAMT: A Fast and Scalable IP Lookup Engine forGPU-based Software Routers Author: YanbiaoLi, DafangZhang, Alex X. Liu and Jintao Zheng Publisher: ANCS 2013 Presenter: Yu Hao, Tseng Date: 2013/11/13
Outline • Introduction • Background and Related Work • GPU-Accelerated Lookup Engine • GPU-accelerated Multi-bit Trie • Performance Optimization • Experimental Evaluation
Introduction • The GPU is becoming an emerging platform for high performance general-purpose computing. • J. Zhao et al. [27] - GPU-Accelerated Lookup Engine (GALE) • only applicable for IPv4 • decline sharply with the increase of update frequency • GPU-Accelerated Multi-bit Trie (GAMT) • Scale to IPv6 smoothly • Keep stable lookup throughput under highly frequent updates • Improve lookup performance with latency controlled
Background and Related Work • Multi-bit Trie
Background and Related Work (Cont.) • CUDA Programming Model • Coalescence of Global Memory Accesses • Overlapping Behaviors on the GPU • GPU-Accelerated IP Lookup Engine
GPU-accelerated Multi-bit Trie • Encoding Rules and Lookup Approach
GPU-accelerated Multi-bit Trie (Cont.) • Encoding Rules and Lookup Approach • Ex : 10001* • Step 1. Default (inf, jump) = (0, 1) • Step 2. (inf, jump) = (0 + 1, 1) = (1, 1) => (inf, jump) = (0, 2) • Step 3. (inf, jump) = (0 + 0, 2) = (0, 2) => (inf, jump) = (0, 3) • Step 4. (inf, jump) = (0 + 1, 3) = (1, 3) => (inf, jump) = (5, 0)
GPU-accelerated Multi-bit Trie (Cont.) • Encoding Rules and Lookup Approach
GPU-accelerated Multi-bit Trie (Cont.) • Update Mechanism
GPU-accelerated Multi-bit Trie (Cont.) • Update Mechanism
GPU-accelerated Multi-bit Trie (Cont.) • Architecture Overview
Performance Optimization • Possibility of being Faster than GALE
Performance Optimization (Cont.) • Optimized Multi-bit Trie
Performance Optimization (Cont.) • Optimized Multi-bit Trie
Performance Optimization (Cont.) • Delete in Lazy Mode • Multi-Stream Pipeline
Experimental Evaluation • Evaluation Methodology
Experimental Evaluation (Cont.) • Evaluation Methodology
Experimental Evaluation (Cont.) • Lookup Performance
Experimental Evaluation (Cont.) • Lookup Performance
Experimental Evaluation (Cont.) • Lookup Performance
Experimental Evaluation (Cont.) • Update Overhead
Experimental Evaluation (Cont.) • Comprehensive Performance