![Page 1: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/1.jpg)
FPGA Implementation of Lookup Algorithms
Presenter : Shi-qu Yu
Email : [email protected]
Date : 2011/08/31
![Page 2: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/2.jpg)
OutlinePOLP[2] and BPFL algorithmBPFL Search EnginePOLP Search EnginePerformance
![Page 3: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/3.jpg)
POLP algorithmPOLP:Parallel optimized linear pipeline algorithmMain idea:
Split the original binary tree into non-overlapping subtrees that are distributed across P pipelines.
Chose Pipeline:Base on the first I bits of the IP address.
![Page 4: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/4.jpg)
PFL Algorithm
![Page 5: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/5.jpg)
BPFL AlgorithmAn extension of the PFL algorithmAdvantage of BPFL:
Frugally uses the memory resources so the large lookup tables can fit the on-chip memory.
Next-hop information->External memoryLookup table->On-chip memoryThe subtree prefixes are stored in the corresponding balanced
trees(PFL:register)
![Page 6: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/6.jpg)
BPFL Algorithm(cont.)External memory is accessed only once at the end of the
lookup when the next-hop information is retrieved.The on-chip lookup table is organized as a binary tree divided
into levels that are searched in parallel.If the substree is sparsly->Only indices of existing nodes are
kept.
![Page 7: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/7.jpg)
BPFL Search Engine
BPFL search engine top-level
![Page 8: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/8.jpg)
BPFL Search Engine (cont.)
Find the subtree at this level. Process prefix search.
![Page 9: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/9.jpg)
BPFL Search Engine (cont.)
Subtree search engine at level i.
![Page 10: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/10.jpg)
BPFL Search Engine (cont.)
Subtree search engine at level i.
![Page 11: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/11.jpg)
BPFL Search Engine (cont.)
Prefix search engine at level i.
![Page 12: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/12.jpg)
BPFL Search Engine (cont.)
![Page 13: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/13.jpg)
POLP Search Engine
![Page 14: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/14.jpg)
POLP Search Engine(cont.)
Pipeline structure.
![Page 15: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/15.jpg)
POLP Search Engine(cont.)
Stage i structure.
![Page 16: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/16.jpg)
Performance
Altera’s Stratix II EP2S180F1020C5 chip [10].The SRAM memory is used as the external memory.
![Page 17: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/17.jpg)
Performance(cont.)
BPFL(DS=8)
![Page 18: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/18.jpg)
Performance(cont.)
POLP(I=16)
![Page 19: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/19.jpg)
Performance(cont.)
BPFL(DS=8)
![Page 20: Presenter : Shi-qu Yu Email : P76001158@mail.ncku.edu.tw Date : 2011/08/31](https://reader033.vdocuments.us/reader033/viewer/2022042703/56649d2f5503460f94a0667e/html5/thumbnails/20.jpg)
Performance(cont.)
POLP(I=16)