compact trie forest: scalable architecture for ip lookup on fpgas author: o˘guzhan erdem, aydin...
TRANSCRIPT
![Page 1: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/1.jpg)
Compact Trie Forest: Scalable architecture for IP Lookup on FPGAsAuthor: O˘guzhan Erdem, Aydin Carus and Hoang LePublisher: ReConFig 2012Presenter: Yu Hao, TzengDate: 2013/2/20
![Page 2: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/2.jpg)
Outline
• Introduction• Algorithm and Data Structure• Architecture and Implementation on FPGA• Performance• Conclusion
![Page 3: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/3.jpg)
Introduction
• Most hardware-based solutions for network routers• TCAM• DRAM / SRAM
• FPGA
• Compact Trie Forest• support up to 703K IPv4 and 418K IPv6 prefixes• sustain a throughput of 420 million lookups per second, or 135
Gbps for the minimum packet size of 40 Bytes
![Page 4: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/4.jpg)
Algorithm and Data Structure
• Definitions and Notations• MSB ( Most Significant Bit )• LSB ( Least Significant Bit )• MSSB ( Most Significant Set Bit )• LSSB ( Least Significant Set Bit )• MSRB ( Most Significant Reset Bit )• LSRB ( Least Significant Reset Bit )• Example : 00110101*
• 0 and 1 values as MSB and LSB• 2, 7, 0 and 6 values for MSSB, LSSB, MSRB and LSRB positions
• Prefix Node• Non-Prefix Node
![Page 5: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/5.jpg)
Algorithm and Data Structure (Cont.)• Definitions and Notations• Active Part
• MSSB and LSSB bits for (MSB, LSB) = (0, 0)• MSSB and LSRB bits for (MSB, LSB) = (0, 1)• MSRB and LSSB bits for (MSB, LSB) = (1, 0)• MSRB and LSRB bits for (MSB, LSB) = (1, 1)• Example A : 011011*• AP : 1
• Example B : 00101100*• AP : 01
• Conflicted Prefixes• For instance, the active part of 011001 and 001∗ 1010 are 10.∗
![Page 6: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/6.jpg)
Algorithm and Data Structure (Cont.)• Prefix Table Conversion• prefix p = xyz can be represented as a triplet {|x|, y, |z|}• For example, 000010010100 can be represented as {5, 0010 , ∗ ∗
3},
![Page 7: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/7.jpg)
Algorithm and Data Structure (Cont.)• Compact Trie Structure• In addition to the child pointers and the next hop information
fields, extra information (|x|, |z|, MSB and LSB values) are stored at each node to differentiate the conflicted prefixes.
![Page 8: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/8.jpg)
Algorithm and Data Structure (Cont.)• Compact Trie Structure• set a limit for the number of conflicted prefixes per node Ptrie, and
move the excessive conflicted prefixes to a newly generated CT
![Page 9: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/9.jpg)
Algorithm and Data Structure (Cont.)• IP Lookup Algorithm
![Page 10: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/10.jpg)
Algorithm and Data Structure (Cont.)
![Page 11: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/11.jpg)
Architecture and Implementation on FPGA
![Page 12: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/12.jpg)
Architecture and Implementation on FPGA (Cont. )
![Page 13: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/13.jpg)
Performance
![Page 14: Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:](https://reader035.vdocuments.site/reader035/viewer/2022062722/56649f275503460f94c3f9ab/html5/thumbnails/14.jpg)
Conclusion• Therefore, the algorithm can be used to improve the
performance (throughput and memory efficiency) of trie-based IPv4/v6 lookup schemes to satisfy fast internet link rates up to and beyond 100 Gbps at core routers, and compact memory footprint that can fit in the on-chip caches of multi-core and network processors.