SideCar: building programmable datacenter networks without programmable switches

This paper examines an extreme point in the design space of programmable switches and network policy enforcement. Rather than relying on extensive changes to switches to provide more programmability, SideCar distributes custom processing code between shims running on every end host and general purpose sidecar processors, such as server blades, connected to each switch via commonly available redirection mechanisms. This provides applications with pervasive network instrumentation and programmability on the forwarding plane. While not a perfect replacement for programmable switches, this solves several pressing problems while requiring little or no change to existing switches. In particular, in the context of public cloud data centers with 1000s of tenants, we present novel solutions for multicast, controllable network bandwidth allocation (e.g., use-what-you-pay-for), and reachability isolation (e.g., a tenant's VM only sees other VMs of the tenant and shared services).

[1]  Stephen E. Deering,et al.  Multicast routing in datagram internetworks and extended LANs , 1990, TOCS.

[2]  Steven McCanne,et al.  The BSD Packet Filter: A New Architecture for User-level Packet Capture , 1993, USENIX Winter.

[3]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

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

[5]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[6]  Steven McCanne,et al.  BPF+: exploiting global data-flow optimization in a generalized packet filter architecture , 1999, SIGCOMM '99.

[7]  Hui Zhang,et al.  A case for end system multicast (keynote address) , 2000, SIGMETRICS '00.

[8]  Eric C. Rosen,et al.  Multiprotocol Label Switching Architecture , 2001, RFC.

[9]  Yitzchak M. Gottlieb,et al.  Building a robust software-based router using network processors , 2001, SOSP.

[10]  Mark Handley,et al.  Congestion control for high bandwidth-delay product networks , 2002, SIGCOMM '02.

[11]  Miguel Castro,et al.  Practical byzantine fault tolerance and proactive recovery , 2002, TOCS.

[12]  Srinivasan Seshan,et al.  A case for end system multicast , 2002, IEEE J. Sel. Areas Commun..

[13]  Howard Gobioff,et al.  The Google file system , 2003, SOSP '03.

[14]  Benoit Claise,et al.  Cisco Systems NetFlow Services Export Version 9 , 2004, RFC.

[15]  Michael Walfish,et al.  Middleboxes No Longer Considered Harmful , 2004, OSDI.

[16]  Martín Casado,et al.  Ethane: taking control of the enterprise , 2007, SIGCOMM '07.

[17]  Scott Shenker,et al.  Ethane: taking control of the enterprise , 2007, SIGCOMM.

[18]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[19]  Martín Casado,et al.  NOX: towards an operating system for networks , 2008, CCRV.

[20]  Sujata Banerjee,et al.  API Design Challenges for Open Router Platforms on Proprietary Hardware , 2008, HotNets.

[21]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[22]  Zhao Yu,et al.  SR-IOV Networking in Xen: Architecture, Design and Implementation , 2008, Workshop on I/O Virtualization.

[23]  Yoav Tock,et al.  Dr. Multicast: Rx for data center communication scalability , 2008, LADIS '08.

[24]  Katerina J. Argyraki,et al.  RouteBricks: exploiting parallelism to scale software routers , 2009, SOSP '09.

[25]  Albert G. Greenberg,et al.  VL2: a scalable and flexible data center network , 2009, SIGCOMM '09.

[26]  Thomas E. Anderson,et al.  An End to the Middle , 2009, HotOS.

[27]  Irfan Ahmad,et al.  PARDA: Proportional Allocation of Resources for Distributed Storage Access , 2009, FAST.

[28]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[29]  Yoav Tock,et al.  Dr. multicast: Rx for data center communication scalability , 2010, EuroSys '10.

[30]  Kang G. Shin,et al.  LiteGreen: Saving Energy in Networked Desktops Using Virtualization , 2010, USENIX Annual Technical Conference.

[31]  Jeffrey C. Mogul,et al.  SPAIN: COTS Data-Center Ethernet for Multipathing over Arbitrary Topologies , 2010, NSDI.