updating designed for fast ip lookup author : natasa maksic, zoran chicha and aleksandra smiljani´c...
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 3TRANSCRIPT
![Page 1: Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052706/5a4d1b2f7f8b9ab05999a469/html5/thumbnails/38.jpg)
Supplement (POLP)
National Cheng Kung University CSIE Computer & Internet Architecture Lab
38