38
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing (HPSR), 2012 Presenter: Kuan-Chieh Feng Date: 2015/9/23 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Embed Size (px)

DESCRIPTION

Introduction In this paper, we propose implement and analyze lookup table updating for POLP lookup algorithm and BPFL. Compare POLP and BPFL update algorithm in terms of real-world routing tables. Measure the memory requirement for both lookup algorithm. Observe the number of memory access when lookup table are updated. National Cheng Kung University CSIE Computer & Internet Architecture Lab 3

Citation preview

Page 1: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Updating Designed for Fast IP Lookup

Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´cConference: IEEE High Performance Switching and Routing (HPSR), 2012Presenter: Kuan-Chieh FengDate: 2015/9/23

Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

Page 2: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Outline

Introduction BPFL (Balanced parallelized frugal lookup) POLP (Parallel optimized linear pipeline) Memory requirement Execution time Conclusion

National Cheng Kung University CSIE Computer & Internet Architecture Lab

2

Page 3: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Introduction

In this paper, we propose implement and analyze lookup table updating for POLP lookup algorithm and BPFL.• Compare POLP and BPFL update algorithm in

terms of real-world routing tables.• Measure the memory requirement for both

lookup algorithm.• Observe the number of memory access when

lookup table are updated.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

3

Page 4: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Outline

Introduction BPFL (Balanced parallelized frugal lookup) POLP (Parallel optimized linear pipeline) Memory requirement Execution time Conclusion

National Cheng Kung University CSIE Computer & Internet Architecture Lab

4

Page 5: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure(1/12)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

5

Page 6: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure(2/12)

Number of levels : : address length : subtree depth

National Cheng Kung University CSIE Computer & Internet Architecture Lab

6

Page 7: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure(3/12)

IP Lookup example:• = 32 , = 8 , L = 4• IP = 10000000100000001111000011110000

National Cheng Kung University CSIE Computer & Internet Architecture Lab

7

Level 1

Level 2

Level 3

Level 4Highest

level match

Page 8: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure(4/12)

Each module at level i contains two parts : • Subtree search engine• Prefix search engine

National Cheng Kung University CSIE Computer & Internet Architecture Lab

8

Page 9: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (5/12)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

9

Subtree search engine Prefix search engine

Page 10: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (6/12)

Subtree search engine• Balanced Tree Selector• Balanced Trees

National Cheng Kung University CSIE Computer & Internet Architecture Lab

10

Page 11: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (7/12)

Subtree search engine• Balanced Tree Selector gives the address of the

root of the subtree.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

11

Address ofthe root of selected

balanced tree

Page 12: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (8/12)

Subtree search engine• The selected balanced tree is traversed based on

the comparisons of its node entries to the given IP address.

• In order to frugally use the on-chip memory, balanced tree nodes do not store pointers to their children.

• The left child address is obtained by adding ‘0’ before the parent’s address, and the right child address is obtained by adding ‘1’.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

12

Page 13: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (9/12)

Subtree search engine

National Cheng Kung University CSIE Computer & Internet Architecture Lab

13

Page 14: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (10/12)

Prefix search engine• Bitmap processor• Internal memory block (subtree bitmap memory)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

14

Page 15: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (11/12)

Prefix search engine• If the number of non-empty nodes is below the

threshold, their indices are kept in the internal memory.

• Otherwise, the complete bitmap vector describing the subtree structure is stored in the internal memory.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

15

Page 16: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Structure (12/12)

Prefix search engine

National Cheng Kung University CSIE Computer & Internet Architecture Lab

16

Page 17: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL advantage

BPFL frugally uses the memory resources so the large lookup tables can fit the on-chip memory.

Since the pipelining is used, one IP lookup can be performed per a clock cycle.

Using memory frugally makes BPFL support IPv6.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

17

Memory saving

Fast lookup

Support IPv6

Page 18: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

BPFL Update

National Cheng Kung University CSIE Computer & Internet Architecture Lab

18

Page 19: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Outline

Introduction BPFL (Balanced parallelized frugal lookup) POLP (Parallel optimized linear pipeline) Memory requirement Execution time Conclusion

National Cheng Kung University CSIE Computer & Internet Architecture Lab

19

Page 20: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (1/7)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

20

Page 21: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (2/7)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

21

POLP Search engine contains:• Pipeline Selector • Pipeline 1 ~ P (Stages)• Final Selector

Page 22: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (3/7)

Pipeline Selector Select with first I bits of input IP address Pass remaining 32-I bits to pipeline

National Cheng Kung University CSIE Computer & Internet Architecture Lab

22

Page 23: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (4/7)

Pipeline• Each pipeline consists of F stages• Children nodes of the given node do not have to

be in the next stage

National Cheng Kung University CSIE Computer & Internet Architecture Lab

23

Page 24: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (5/7)

Pipeline

National Cheng Kung University CSIE Computer & Internet Architecture Lab

24

Page 25: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (6/7)

Stage• Each stage contains a memory block that holds

the nodes of the subtrees

National Cheng Kung University CSIE Computer & Internet Architecture Lab

25

Page 26: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Structure (7/7)

Stage memory contains:• Next-hop bit• Left child bit• Right child bit• Children pointer

National Cheng Kung University CSIE Computer & Internet Architecture Lab

26

Page 27: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP advantage

The lookup process is parallelized and pipelined.

Multiple IP addresses can be searched in parallel through distinct pipelines.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

27

Fast lookup

High throughput

Page 28: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

POLP Update

National Cheng Kung University CSIE Computer & Internet Architecture Lab

28

Page 29: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Outline

Introduction BPFL (Balanced parallelized frugal lookup) POLP (Parallel optimized linear pipeline) Memory requirement Execution time Conclusion

National Cheng Kung University CSIE Computer & Internet Architecture Lab

29

Page 30: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Memory requirement

National Cheng Kung University CSIE Computer & Internet Architecture Lab

30

Page 31: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Outline

Introduction BPFL (Balanced parallelized frugal lookup) POLP (Parallel optimized linear pipeline) Memory requirement Execution time Conclusion

National Cheng Kung University CSIE Computer & Internet Architecture Lab

31

Page 32: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Execution time

National Cheng Kung University CSIE Computer & Internet Architecture Lab

32

Page 33: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Memory access

National Cheng Kung University CSIE Computer & Internet Architecture Lab

33

Page 34: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Memory access

National Cheng Kung University CSIE Computer & Internet Architecture Lab

34

Page 35: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Conclusion

The POLP update algorithm is faster for large routing tables.

The BPFL update algorithm performs better for the smaller routing tables with the number of memory access.

The BPFL algorithm had the smaller memory requirements, and that its memory savings increase with the routing table size.

National Cheng Kung University CSIE Computer & Internet Architecture Lab

35

Page 36: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Supplement

Three realistic lookup table:• 71K• 143K• 309K

FPGA chip:• Altera’s Stratix II RP2S180F1020C5 chip

National Cheng Kung University CSIE Computer & Internet Architecture Lab

36

Page 37: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Supplement (BPFL)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

37

Page 38: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing

Supplement (POLP)

National Cheng Kung University CSIE Computer & Internet Architecture Lab

38