Optimal mapping of multiple packet lookup schemes onto FPGA

Nowadays Ethernet/IP based packet forwarding consists of a complex set of lookup schemes. A router/switch may have to support multiple such lookup schemes, depending on the location and specific operation of the device. Manual conversion of lookup schemes into a target architecture is slow and does not ensure an optimal allocation of FPGA resources for best performance. We develop an Integer Linear Programming (ILP) model for the problem of mapping complex lookup schemes onto FPGA while minimizing packet latency. The developed model is extended to provide support for both throughput-optimized and power-aware mapping. In all the cases, our formulation leads to optimal solution. We provide abstractions for representing lookup schemes and their corresponding implementation choices, and also for the FPGA devices and their power consumption. These abstractions simplify the description of lookup schemes, while preserving the necessary details, and thus reduce the solution time. We demonstrate the practicality of the developed model by optimally mapping several complex real world lookup schemes onto a state-of-the-art FPGA device using a popular ILP solver package. In all the cases, the execution time on a desktop workstation is under a minute.

[1]  Viktor K. Prasanna,et al.  Scalable High Throughput and Power Efficient IP-Lookup on FPGA , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[2]  Florin Baboescu DesignCon 2005 Hardware Implementation of a Tree Based IP Lookup Algorithm for OC-768 and beyond , 2005 .

[3]  H. Jonathan Chao,et al.  FlashTrie: Beyond 100-Gb/s IP Route Lookup Using Hash-Based Prefix-Compressed Trie , 2012, IEEE/ACM Transactions on Networking.

[4]  Viktor K. Prasanna,et al.  Optimizing packet lookup in time and space on FPGA , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[5]  Masanori Bando,et al.  FlashLook: 100-Gbps hash-tuned route lookup architecture , 2009, 2009 International Conference on High Performance Switching and Routing.

[6]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[7]  Haoyu Song,et al.  Efficient packet classification for network intrusion detection using FPGA , 2005, FPGA '05.

[8]  Viktor K. Prasanna,et al.  Memory-efficient and scalable virtual routers using FPGA , 2011, FPGA '11.

[9]  Geoffrey Brown,et al.  Reconfigurable Architecture for Network Flow Analysis , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Kuruvilla Varghese,et al.  A Scalable High Throughput Firewall in FPGA , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.