Building distributed applications that run in data centers is
hard. The CamCube project explores the design of a ship-
ping container sized data center with the goal of building an
easier platform on which to build these applications. Cam-
Cube replaces the traditional switch-based network with a
3D torus topology, with each server directly connected to
six other servers. As in other proposals, e.g. DCell and
BCube, multi-hop routing in CamCube requires servers to
participate in packet forwarding. To date, as in existing data
centers, these approaches have all provided a single routing
protocol for the applications.
In this paper we explore if allowing applications to im-
plement their own routing services is advantageous, and if
we can support it efficiently. This is based on the obser-
vation that, due to the
exibility offered by the CamCube
API, many applications implemented their own routing pro-
tocol in order to achieve specific application-level charac-
teristics, such as trading off higher-latency for better path
convergence. Using large-scale simulations we demonstrate
the benefits and network-level impact of running multiple
routing protocols. We demonstrate that applications are
more efficient and do not generate additional control traffic
overhead. This motivates us to design an extended routing
service allowing easy implementation of application-specific
routing protocols on CamCube. Finally, we demonstrate
that the additional performance overhead incurred when us-
ing the extended routing service on a prototype CamCube
is very low.