ReClick - A Modular Dataplane Design Framework for FPGA-Based Network Virtualization

Network virtualization has emerged as a powerful technique to deploy novel services and experimental protocols over shared network infrastructures. Although recent research has highlighted field programmable gate arrays (FPGAs) as attractive platforms for high performance network virtualization, these devices remain inaccessible to the larger networking research community due to the absence of user-friendly programming models. A programming model that can abstract the intricacies of the hardware platform while being aware of the underlying resource constraints is highly desirable. In this paper, we present ReClick, a framework to efficiently design and deploy reconfigurable data planes for FPGA-based network virtualization systems. A hardware-agnostic programming model is described that allows developers to focus on the virtual data plane semantics rather than the implementation details. The framework exposes interfaces similar to the popular software router development framework, Click, and promotes design reuse. Optimization strategies are included in ReClick which use similarities between virtual data plane configurations to implement multiple planes in an area-efficient manner. Data planes exhibiting up to 1 Gbps data rate have been automatically compiled and tested in hardware in a Net FPGA platform.

[1]  Nick Mathewson,et al.  Tor: The Second-Generation Onion Router , 2004, USENIX Security Symposium.

[2]  Raouf Boutaba,et al.  A survey of network virtualization , 2010, Comput. Networks.

[3]  Nick Feamster,et al.  Building a fast, virtualized data plane with programmable hardware , 2009, CCRV.

[4]  Chuanxiong Guo,et al.  CAFE: a configurable packet forwarding engine for data center networks , 2009, PRESTO '09.

[5]  Lixin Gao,et al.  Customizing virtual networks with partial FPGA reconfiguration , 2011, CCRV.

[6]  John W. Lockwood,et al.  Dynamic hardware plugins in an FPGA with partial run-time reconfiguration , 2002, DAC '02.

[7]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[8]  Glen Gibb,et al.  A Packet Generator on the NetFPGA Platform , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[9]  Fred Kuhns,et al.  Supercharging planetlab: a high performance, multi-application, overlay network platform , 2007, SIGCOMM '07.

[10]  Weijia Shang,et al.  ShapeUp: A High-Level Design Approach to Simplify Module Interconnection on FPGAs , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[11]  Jennifer Rexford,et al.  Revisiting Route Caching: The World Should Be Flat , 2009, PAM.

[12]  Amin Vahdat,et al.  Chimpp: A Click-based programming and simulation environment for reconfigurable networking hardware , 2010, 2010 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[13]  Nick Feamster,et al.  Trellis: a platform for building flexible, fast virtual networks on commodity hardware , 2008, CoNEXT '08.

[14]  Gordon J. Brebner,et al.  Hyper-programmable architectures for adaptable networked systems , 2004, Proceedings. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2004..

[15]  Nick Feamster,et al.  In VINI veritas: realistic and controlled network experimentation , 2006, SIGCOMM.

[16]  Antony I. T. Rowstron,et al.  Cashmere: resilient anonymous routing , 2005, NSDI.

[17]  Nick McKeown,et al.  NetFPGA: A Tool for Network Research and Education , 2006 .

[18]  Santosh S. Vempala,et al.  Path splicing , 2008, SIGCOMM '08.

[19]  Gordon J. Brebner Packets everywhere: The great opportunity for field programmable technology , 2009, 2009 International Conference on Field-Programmable Technology.

[20]  Lixin Gao,et al.  How to lease the internet in your spare time , 2007, CCRV.

[21]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[22]  Madhav P. Desai,et al.  AHIR: A Hardware Intermediate Representation for Hardware Generation from High-level Programs , 2007, 20th International Conference on VLSI Design held jointly with 6th International Conference on Embedded Systems (VLSID'07).

[23]  Lixin Gao,et al.  Scalable network virtualization using FPGAs , 2010, FPGA '10.

[24]  Nick Feamster,et al.  SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware , 2010, SIGCOMM '10.