+ All Categories
Home > Documents > Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and...

Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and...

Date post: 18-Jan-2018
Category:
Upload: olivia-holland
View: 215 times
Download: 0 times
Share this document with a friend
Description:
Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 3
41
Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International Symposium on (DDECS), 2014 18rd International Conference on, April (2014) Luka´s Kekely, Martin ˇ Zˇ adn ´ ´ık, Jiˇr´ı Matousek, Jan Ko ˇ ˇrenek
Transcript
Page 1: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

Fast Lookup for Dynamic Packet Filtering in FPGA

REPORTER: HSUAN- JU L I2014/09/18

Design and Diagnostics of Electronic Circuits & Systems, 17th International Symposium on (DDECS), 2014 18rd

International Conference on, April (2014)Luka´s Kekely, Martin ˇ Zˇ adn ´ ´ık, Jiˇr´ı Matousek, Jan Ko ˇ ˇrenek

Page 2: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

2

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 3: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

3

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 4: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

4

Introduction Software applications of safety- and security-critical embedded systems are often divided into several self-contained functions.

Between individual system partitions and functions.We use segregation to confine error propagation.

Soft processors are one order of magnitude slower in terms of operating frequency than hard-wired devices.

Page 5: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

5

Introduction(cont.) Current FPGA families provide wide and fast memory attachments mostly implemented as hard macros that are faster than configurable logic.There is a performance gap between soft processors and the

memory attachment.Propose an architecture combines : The specific needs of partitioned software.The flexibility of reconfigurable hardware.

Page 6: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

6

Introduction(cont.) Multiple self-contained systems on a single platform FPGAShares available memory bandwidth among the systems In a predictable and scalable way.

The main building blocks of the proposed architectureSecure bus bridges that are used to form a segregated hierarchy

of memory busses.

Page 7: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

7

Introduction(cont.) With secure bus bridges, it is possible to use soft processors for safety and security-critical functions.To reach high assurance levels with far less effort.

Page 8: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

8

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 9: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

9

Related Work Cuckoo hash function

h(x)

h’(x)

x = {a, b, c}

h(a) h(b) h(c)

h’(b) h’(c) h’(a)

h(a) h(b) h(c)

h’(b) h’(c) h’(a)

h(6) = 6 mod 11 = 6h’(6) = floor(6/11) mod 11 = 0x ={20, 50, 53,75}

0 1 2 3

0 1 2 3

Page 10: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

10

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 11: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

11

Design And ArchitectureA. Lookup engine interface and functionalityB. Cuckoo hash lookup engineC. Binary search tree lookup engine

Page 12: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

12

Design And Architecture(cont.)A. Lookup engine interface and functionalityB. Cuckoo hash lookup engineC. Binary search tree lookup engine

Page 13: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

13

Design And Architecture(cont.) Lookup engine interface

and functionality

LookupEngine

Key Width Data Width Maximum Capacity

Representation in bits

Interface

Page 14: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

14

Design And Architecture(cont.) Lookup engine interface

and functionalityLookup procedure 3 basic groups:InputOutputConfiguration

Page 15: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

15

Design And Architecture(cont.) Lookup engine interface

and functionalityLookup procedure 3 basic groups:

LookupEngine

Input keys Lookup results

Routing decisionKey identification

Arbitrary Data 1 bit information

FoundInvalid

(Outputs)

Configuration

(Every Clock Cycle)

Page 16: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

16

Design And Architecture(cont.)A. Lookup engine interface and functionalityB. Cuckoo hash lookup engineC. Binary search tree lookup engine

Page 17: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

17

Design And Architecture(cont.) Cuckoo hash

lookup engine

Page 18: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

18

Design And Architecture(cont.) Cuckoo hash

lookup engine

Parallelcomputing

CRC implementation

Page 19: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

19

Design And Architecture(cont.) Cuckoo hash

lookup engineReading records

Key value data

Record

Records from hash tables in memory or outside register

Page 20: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

20

Design And Architecture(cont.) Cuckoo hash

lookup engineCompared for equality

At most one comparison successful

Data associated with matching key and set flag

Page 21: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

21

Design And Architecture(cont.) Cuckoo hash

lookup engine

Update key set based on requests received

Page 22: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

22

Design And Architecture(cont.) Cuckoo hash

lookup engine

Controller can evict records from hash tables on-the-fly preserving the set of active keys

Reconfiguration cycle

Page 23: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

23

Design And Architecture(cont.) Cuckoo hash

lookup engine

Ccuckoo = d x t + 1

d – The number of used hash tables(hash functions)t – The size of individual table1 – Additional reconfiguration register

Page 24: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

24

Design And Architecture(cont.)A. Lookup engine interface and functionalityB. Cuckoo hash lookup engineC. Binary search tree lookup engine

Page 25: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

25

Design And Architecture(cont.) Binary search tree

lookup engineTree level (pipeline stage)

Piece of memory

Stage

Address of a node

Searched KeyComparator

Page 26: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

26

Design And Architecture(cont.) Binary search tree

lookup engineContaining associated data to the key

Piece of memory

Stage

Address of a node

Searched KeyComparator

Page 27: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

27

Design And Architecture(cont.) Binary search tree

lookup engine

Atomic operations

Piece of memory

Stage

Address of a node

Searched KeyComparator

Result corrected according to a register

Page 28: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

28

The capacity of the BST based engine can be configured by the number of BST levels l.

Cbst = 2l - 1

Design And Architecture(cont.) Binary search tree

lookup engine

Page 29: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

29

Design And Architecture(cont.)A. Lookup engine interface and functionalityB. Cuckoo hash lookup engineC. Binary search tree lookup engineD. Top-level lookup engine

Page 30: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

30

Design And Architecture(cont.) Top-level

lookup engineBoth Cuckoo and BST engine in parallelBoth results are stored in FIFOs

Cuckoo engine BST engine

Stash Stash

FIFO

Page 31: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

31

Ctotal = d×t+1+s.d and t of the cuckoo hash and the stash size s

Design And Architecture(cont.) Top-level

lookup engineThe maximum capacity of the cuckoo hash with stash lookup engine can be defined:

Page 32: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

32

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 33: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

33

Evaluation And Results Memory utilization can be computed in two basic ways:Ucuckoo = (n−m)/Ccuckoo

Utotal = n/Ctotal

n: Total number of successfully inserted keys before the memory became fullm: The number of keys that resides in the stash

Stash can be always filled up to 100% of its capacity It can always put m = s

The values of n must be acquired from the test runs

Page 34: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

34

Evaluation And Results Evaluate the relation between achievable memory utilization of cuckoo hash and the used sizes of stash for different parameters.

The memory utilization plotted in the graphs is Ucuckoo and the size of the stash (s) is plotted as a portion of t.

Page 35: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

35

Evaluation And Results(cont.)

Page 36: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

36

Evaluation And Results(cont.)

Page 37: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

37

Evaluation And Results(cont.)

Page 38: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

38

Evaluation And Results(cont.)

Page 39: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

39

OutlineIntroductionRelated WorkDesign And ArchitectureEvaluation And ResultsConclusion

Page 40: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

40

Conclusion The proposed architecture leverages the combination of the cuckoo hash engine with BST engine with a focus on parallel implementation in FPGA.

Page 41: Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.

41

THANK YOU


Recommended