Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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 Symposium on (DDECS), 2014 18rd International Conference on, April (2014) Luka´s Kekely, Martin ˇ Zˇ adn ´ ´ık, Jiˇr´ı Matousek, Jan Ko ˇ ˇrenek

2 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 2

3 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 3

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. 4

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. 5

6 Introduction(cont.) Multiple self-contained systems on a single platform FPGA Shares available memory bandwidth among the systems In a predictable and scalable way. The main building blocks of the proposed architecture Secure bus bridges that are used to form a segregated hierarchy of memory busses. 6

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. 7

8 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 8

9 Related Work Cuckoo hash function h(x) h’(x) x = {a, b, c} 9 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 = 6 h’(6) = floor(6/11) mod 11 = 0 x ={20, 50, 53,75} 0 1 23 0 1 23

10 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 10

11 Design And Architecture A. Lookup engine interface and functionality B. Cuckoo hash lookup engine C. Binary search tree lookup engine 11

12 Design And Architecture(cont.) A. Lookup engine interface and functionality B. Cuckoo hash lookup engine C. Binary search tree lookup engine 12

13 Design And Architecture(cont.) Lookup engine interface and functionality 13 Lookup Engine Key Width Data Width Maximum Capacity Representation in bits Interface

14 Design And Architecture(cont.) Lookup engine interface and functionality Lookup procedure 3 basic groups: Input Output Configuration 14

15 Design And Architecture(cont.) Lookup engine interface and functionality Lookup procedure 3 basic groups: 15 Lookup Engine Input keysLookup results Routing decision Key identification Arbitrary Data1 bit information Found Invalid (Outputs) Configuration (Every Clock Cycle)

16 Design And Architecture(cont.) A. Lookup engine interface and functionality B. Cuckoo hash lookup engine C. Binary search tree lookup engine 16

17 Design And Architecture(cont.) Cuckoo hash lookup engine 17

18 Design And Architecture(cont.) Cuckoo hash lookup engine 18 Parallel computing CRC implementation

19 Design And Architecture(cont.) Cuckoo hash lookup engine 19 Reading records Key valuedata Record Records from hash tables in memory or outside register

20 Design And Architecture(cont.) Cuckoo hash lookup engine 20 Compared for equality At most one comparison successful Data associated with matching key and set flag

21 Design And Architecture(cont.) Cuckoo hash lookup engine 21 Update key set based on requests received

22 Design And Architecture(cont.) Cuckoo hash lookup engine 22 Controller can evict records from hash tables on-the-fly preserving the set of active keys Reconfiguration cycle

23 Design And Architecture(cont.) Cuckoo hash lookup engine 23 C cuckoo = d x t + 1 d – The number of used hash tables(hash functions) t – The size of individual table 1 – Additional reconfiguration register

24 Design And Architecture(cont.) A. Lookup engine interface and functionality B. Cuckoo hash lookup engine C. Binary search tree lookup engine 24

25 Design And Architecture(cont.) Binary search tree lookup engine 25 Tree level (pipeline stage) Piece of memory Stage Address of a node Searched Key Comparator

26 Design And Architecture(cont.) Binary search tree lookup engine 26 Containing associated data to the key Piece of memory Stage Address of a node Searched Key Comparator

27 Design And Architecture(cont.) Binary search tree lookup engine 27 Atomic operations Piece of memory Stage Address of a node Searched Key Comparator Result corrected according to a register

28 28 The capacity of the BST based engine can be configured by the number of BST levels l. C bst = 2 l - 1 Design And Architecture(cont.) Binary search tree lookup engine

29 Design And Architecture(cont.) A. Lookup engine interface and functionality B. Cuckoo hash lookup engine C. Binary search tree lookup engine D. Top-level lookup engine 29

30 30 Design And Architecture(cont.) Top-level lookup engine Both Cuckoo and BST engine in parallel Both results are stored in FIFOs Cuckoo engineBST engine Stash FIFO

31 C total = d×t+1+s. d and t of the cuckoo hash and the stash size s 31 Design And Architecture(cont.) Top-level lookup engine The maximum capacity of the cuckoo hash with stash lookup engine can be defined:

32 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 32

33 Evaluation And Results Memory utilization can be computed in two basic ways: U cuckoo = (n−m)/C cuckoo U total = n/C total n: Total number of successfully inserted keys before the memory became full m: 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 33

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 U cuckoo and the size of the stash (s) is plotted as a portion of t. 34

35 Evaluation And Results(cont.) 35

36 Evaluation And Results(cont.) 36

37 Evaluation And Results(cont.) 37

38 Evaluation And Results(cont.) 38

39 Outline Introduction Related Work Design And Architecture Evaluation And Results Conclusion 39

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

41 THANK YOU 41


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

Similar presentations


Ads by Google