Applying NOX to the Datacenter. (2009)

Internet datacenters offer unprecedented computing power for a new generation of data-intensive computational tasks. There is a rapidly growing literature on the operating and distributed systems issues raised by these datacenters, but only recently have researchers turned their attention to the datacenter’s unique set of networking challenges. In contrast to enterprise networks, which usually grow organically over time, datacenter networks are carefully and coherently architected, so they provide an isolated setting in which new networking designs can be explored and deployed. The combination of interesting intellectual challenges and lowered deployment barriers makes datacenters a rich arena for network research and innovation, as evinced by the recent flurry of research papers on datacenter networks. Of particular interest are the network designs proposed in [1, 5, 6, 9], which vary along many design dimensions but are all specifically tailored to the datacenter environment. In the more general networking literature, in 2004 the 4D project [4] initiated a renaissance in the network management literature by advocating a logically centralized view of the network. The goal of this approach was to provide a general management plane, not specialized to a particular context (such as the datacenter). A recent development in this vein is the NOX network operating system [7]. NOX gives logically centralized access to high-level network abstractions such as users, topology, and services, and exerts control over the network by installing flow entries in switch forwarding tables. By providing programmatic access (through Python or C++) to network observation and control primitives, NOX serves as a flexible and scalable platform for building advanced network management functionality. Enterprise network management systems built on NOX have been in production use for over a year, and an early version of NOX is freely available under the GPL license at www.noxrepo.org. This philosophical question behind this paper is whether the general-purpose approach in networking, which has served the Internet and enterprise so well, can be extended to specialized environments like the datacenter, or if special-case solutions will prevail. The more practical instantiation of this question is: How well does a general-purpose management system, like NOX, cope with the highly specific and stringent requirements of the datacenter? As we explain in this paper, we find that not only can NOX provide reasonable management of datacenter environments, it also offers operators a choice of several points in the datacenter design spectrum, rather than locking them into one specific solution. Due to our familiarity with it, we use NOX throughout the paper as a concrete instance of a general network platform. However, the goal is to explore more broadly whether a general approach can be used in place of point solutions. Hence, this discussion should apply equally well to similar systems such as 4D [4], or Maestro [2]. We also don’t make the claim that these systems are better than any of these point solutions. Our only goal is to demonstrate that there is still hope for the “generalpurpose” philosophy that has served networking so well. In the rest of the paper, we first present background material on datacenter networks and NOX (§2), and then demonstrate NOX’s flexibility by describing implementations of existing architectures that can scale to a hundred thousand servers and millions of VMs (§3). We subsequently discuss how NOX provides basic datacenter functionality (§4) and several additional capabilities (§5). We end with a general discussion (§6).