hybrid data structure for ip lookup in virtual routers using fpgas

16
Hybrid Data Structure for IP Lookup in Virtual Routers Using FPGAs Authors: Oĝuzhan Erdem, Hoang Le, Viktor K. Prasanna, Cüneyt F. Bazlamaçcı Publisher: IEEE ASAP , 2011 Presenter: Jia-Wei,Yo Date: 2011/12/14 1

Upload: oriel

Post on 24-Feb-2016

55 views

Category:

Documents


0 download

DESCRIPTION

Hybrid Data Structure for IP Lookup in Virtual Routers Using FPGAs. Authors: Oĝuzhan Erdem , Hoang Le, Viktor K. Prasanna , Cüneyt F. Bazlamaçcı Publisher: IEEE ASAP , 2011 Presenter: Jia-Wei,Yo Date: 2011/12/14. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

1

Hybrid Data Structure for IP Lookup in Virtual Routers Using FPGAsAuthors:Oĝuzhan Erdem, Hoang Le, Viktor K. Prasanna, Cüneyt F. BazlamaçcıPublisher: IEEE ASAP , 2011Presenter:Jia-Wei,YoDate:2011/12/14

Page 2: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

2

Introduction Several ideas use leaf pushing and an additional

shared search structure to eliminate the high memory bandwidth requirement.

increases the complexity in updates decreases the memory efficiency by introducing data redundancy in the share next hop structure. Don’t scale well as the number of virtual routers increases.

Page 3: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

3

Introduction(1) A compact trie representation and a hybrid data structure for IP lookup that reduce the memory requirement. This structure does not need backtracking while preforming a search.(2) A merging algorithm that eliminates leaf pushing and simplifies the table updates in virtual routers.(3) A linear pipelined SRAM-based architecture on

FPGAs that can support up to 3.1M IPv4 prefixes, while achieving a sustained throughput of 394 million lookups per second.

Page 4: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

4

Hybrid data structure Definition Active part (AP) of a prefix

is the bit string between the most and least significant set bits of a prefix including the most significant set bit but not the least significant set bit.

Page 5: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

5

Hybrid data structure AP Example : 0010100* , 01001* , 1000* , 1001*

0010100* => 10* 01001* => 100* (conflict) 1000* => * 1001* => 100* (conflict)

Page 6: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

6

Hybrid data structure Solve conflict prefixes

most significant set bit position (M) number of trailing zeros (L)

Size of L is , W denote the maximum length of an IP and k is the number of virtual table.

Size of M is also ,it’s can reduce to , if the virtual ID including all 0’s is not used.

Page 7: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

7

Hybrid data structure-Converted

Page 8: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

8

Hybrid data structure-Converted

Page 9: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

9

Hybrid data structure-Constructing A single binary trie is constructed for all

the prepended prefixes of the virtual tables, using only their active part.

Trie is shallower and denser than a traditional binary trie.

Extra information is stored at each node to distinguish the conflicted prefixes.

An auxiliary data structure can be constructed for the conflicted prefixes.

Page 10: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

10

Hybrid data structure-Constructing

Page 11: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

11

Hybrid data structure-Lookup

Page 12: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

12

Hybrid data structure-Update

Prefix insertion: If the new prefix conflicts with the existing prefixes, then the new prefix is added to the tree data structure.Otherwise, it is added to the trie data structure.

Prefix deletion: The target prefix is located and its valid bit is reset.

Route change: The target prefix is located and its next hop information is updated.

Page 13: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

13

Architecture And Implementation On FPGA

There are at most W + stages in the trie pipeline

Page 14: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

14

Performance Xilinx ISE 12.4 with Xilinx Virtex-6

XC6VSX475T with -2 speed

Clock period 5.084 ns Capable running at 197MHz Using dual-pipeline ,support 394

million lookups per second , or 126 Gbps ( for the minimum packet size of 40 Bytes )

Page 15: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

15

Performance

The number of conflict prefix is less than 10% of the total number of prefix.

Page 16: Hybrid  Data Structure for IP Lookup in  Virtual Routers  Using FPGAs

16

Performance