03-12-2012, 01:37 PM
DPillar: Scalable Dual-Port Server Interconnection for Data Center Networks
DPillar.pdf (Size: 311 KB / Downloads: 20)
Abstract
Data centers are becoming increasingly important
infrastructures for many essential applications such as data
intensive computing and large-scale network services. A typical
future data center can consist of up to hundreds of thousands
of servers. Yet, the conventional data center networks are not
able to keep up with the network bandwidth requirement for
efficiently connecting that huge number of servers in a costefficient
manner. It is hard to scale the hierarchical tree-based
interconnection network used in conventional data centers to
support the massive amount of data communication in future
data centers. In this paper, we present DPillar, a highly scalable
data center interconnection architecture, which uses only lowend
off-the-shelf commodity PC servers and Ethernet switches.
DPillar has minimal requirements for the equipment. The Ethernet
switches can be low-cost plug-and-play layer-2 devices and
the servers can be typical dual-port commodity PCs. The salient
feature of DPillar is that it expands to any number of servers
without requiring to physically upgrading the existing servers.We
present a simple yet efficient routing scheme that maintains short
path length in server communications. We also propose faulttolerant
and traffic-aware routing schemes to ensure balanced
load in the data center network.
INTRODUCTION
Data centers with a cluster of commodity servers become
common places for data storage, data analysis, and large-scale
network services [1,16]. Such a data center infrastructure is
driven by the demand of petabyte of data storage and high
computation power required for processing the data. More
importantly, it is projected that the demand for data storage
and processing will grow rapidly as more data are available for
applications such as web searching, medical image processing,
social network mining, and scientific computing. To meet the
demand of the growth, one of the essential requirements for
data center infrastructure is that it must scale to hundreds of
thousands or millions of servers.
INTERCONNECTION OF DPILLAR
In this section, we first present the interconnection structure
of DPillar. Then we discuss some of the topological properties
of DPillar and the cost of building such a network.
Network Structure of DPillar
A DPillar network is built of two kinds of devices, dual-port
servers and n-port switches. The servers are arranged into k
columns; the switches are arranged into k columns too. We
use H0 ∼ Hk−1 to represent the k server columns and S0 ∼
Sk−1 to represent the k switch columns. The k server columns
and k switch columns are alternately placed along a cycle, as
shown in Figure 1. Visually, it looks like the 2k columns of
servers and switches are attached to the cylindrical surface of
a pillar. Using its two ports, a server in each server column is
connected to the two switches in its two neighboring switch
columns. In other words, for a server in column Hi, one of its
ports is connected to a switch in column Si and the other port
of the server is connected to a switch in column S(i+k−1)%k.
For a switch in column Si, half of its n ports are connected
to n/2 servers in Hi and the other half are connected to n/2
servers in H(i+1)%k. Deciding which n servers are connected
to the same n-port switch is important and we will discuss it
soon later. For easy description, in the rest of this paper we call
server column H(i+1)%k a clockwise neighboring column of
Hi and H(i+k−1)%k a counter-clockwise neighboring column
of Hi.
HANDLING FAILURE AND BALANCING LOAD IN
DPILLAR
The rich connections in DPillar facilitate the design of simple
yet efficient fault-tolerant routing scheme. In this section,
we present the design of a routing scheme which can bypass a
wide range of failures in DPillar. We also discuss how to use
the insights gotten from designing the fault-tolerant routing
scheme to balance the traffic load in DPillar.
Discovering Failures
To bypass failures in DPillar network, the first step would be
detecting the failures. Each server in DPillar runs a lightweight
Hello protocol to report the reachability to other servers
connected to the same switches. If a server A does not hear
Hello message from server B for a certain period of time,
server A assumes B is not directly reachable. Servers should
not forward any Hello messages.
We can set the period of sending Hello messages to be
slightly smaller than the time for ARP cache to timeout.
Therefore, the server can always have “fresh” ARP cache so
it does not need to query for the MAC address of a neighbor
connecting to the same switch before sending out any data
packets to that neighbor.
CONCLUSION
In this paper, we present DPillar, a scalable data center
network architecture which uses only commodity off-theshelf
hardware. DPillar can easily scale to huge number of
servers without imposing any additional requirements to the
devices, such as installing additional NICs in the servers. The
topology of DPillar is totally symmetric and a DPillar network
has balanced network capacity. DPillar is a server centric
and the networking intelligence is placed in the servers, so
that the switches used in DPillar are merely dummy layer-
2 devices connecting the servers. We designed simple yet
efficient routing schemes for DPillar