20
FPGA Implementation of Lookup Algorithms Presenter : Shi-qu Yu Email : [email protected] Date : 2011/08/31

FPGA Implementation of Lookup Algorithms

  • Upload
    claral

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

FPGA Implementation of Lookup Algorithms. Presenter : Shi- qu Yu Email : [email protected] Date : 2011/08/31. Outline. POLP[2] and BPFL algorithm BPFL Search Engine POLP Search Engine Performance. POLP algorithm. POLP:Parallel optimized linear pipeline algorithm - PowerPoint PPT Presentation

Citation preview

Page 1: FPGA Implementation of Lookup Algorithms

FPGA Implementation of Lookup Algorithms

Presenter : Shi-qu Yu

Email : [email protected]

Date : 2011/08/31

Page 2: FPGA Implementation of Lookup Algorithms

OutlinePOLP[2] and BPFL algorithmBPFL Search EnginePOLP Search EnginePerformance

Page 3: FPGA Implementation of Lookup Algorithms

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: FPGA Implementation of Lookup Algorithms

PFL Algorithm

Page 5: FPGA Implementation of Lookup Algorithms

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: FPGA Implementation of Lookup Algorithms

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: FPGA Implementation of Lookup Algorithms

BPFL Search Engine

BPFL search engine top-level

Page 8: FPGA Implementation of Lookup Algorithms

BPFL Search Engine (cont.)

Find the subtree at this level. Process prefix search.

Page 9: FPGA Implementation of Lookup Algorithms

BPFL Search Engine (cont.)

Subtree search engine at level i.

Page 10: FPGA Implementation of Lookup Algorithms

BPFL Search Engine (cont.)

Subtree search engine at level i.

Page 11: FPGA Implementation of Lookup Algorithms

BPFL Search Engine (cont.)

Prefix search engine at level i.

Page 12: FPGA Implementation of Lookup Algorithms

BPFL Search Engine (cont.)

Page 13: FPGA Implementation of Lookup Algorithms

POLP Search Engine

Page 14: FPGA Implementation of Lookup Algorithms

POLP Search Engine(cont.)

Pipeline structure.

Page 15: FPGA Implementation of Lookup Algorithms

POLP Search Engine(cont.)

Stage i structure.

Page 16: FPGA Implementation of Lookup Algorithms

PerformanceAltera’s Stratix II EP2S180F1020C5 chip [10].The SRAM memory is used as the external memory.

Page 17: FPGA Implementation of Lookup Algorithms

Performance(cont.)

BPFL(DS=8)

Page 18: FPGA Implementation of Lookup Algorithms

Performance(cont.)

POLP(I=16)

Page 19: FPGA Implementation of Lookup Algorithms

Performance(cont.)

BPFL(DS=8)

Page 20: FPGA Implementation of Lookup Algorithms

Performance(cont.)

POLP(I=16)