A data center is a pool of resources (computational, storage, network) interconnected using a communication network.[1][2] A data center network (DCN) holds a pivotal role in a data center, as it interconnects all of the data center resources together. DCNs need to be scalable and efficient to connect tens or even hundreds of thousands of servers to handle the growing demands of cloud computing.[3][4] Today's data centers are constrained by the interconnection network.[5]
Types of data center network topologies
Data center networks can be divided into multiple separate categories.[6]
The legacy three-tier DCN architecture follows a multi-rooted tree based network topology composed of three layers of network switches, namely access, aggregate, and core layers.[10] The servers in the lowest layers are connected directly to one of the edge layer switches. The aggregate layer switches interconnect together multiple access layer switches. All of the aggregate layer switches are connected to each other by core layer switches. Core layer switches are also responsible for connecting the data center to the Internet. The three-tier is the common network architecture used in data centers.[10] However, three-tier architecture is unable to handle the growing demand of cloud computing.[11] The higher layers of the three-tier DCN are highly oversubscribed.[3] Moreover, scalability is another major issue in three-tier DCN. Major problems faced by the three-tier architecture include, scalability, fault tolerance, energy efficiency, and cross-sectional bandwidth. The three-tier architecture uses enterprise-level network devices at the higher layers of topology that are very expensive and power hungry.[5]
Fat tree
The fat tree DCN architecture reduces the oversubscription and cross section bandwidth problem faced by the legacy three-tier DCN architecture. Fat tree DCN employs commodity network switches based architecture using Clos topology.[3] The network elements in fat tree topology also follows hierarchical organization of network switches in access, aggregate, and core layers. However, the number of network switches is much larger than the three-tier DCN. The architecture is composed of k pods, where each pod contains, (k/2)2 servers, k/2 access layer switches, and k/2 aggregate layer switches in the topology. The core layers contain (k/2)2 core switches where each of the core switches is connected to one aggregate layer switch in each of the pods. The fat tree topology can offer up to 1:1 oversubscription ratio and full bisection bandwidth,[3] depending on each rack's total bandwidth versus the bandwidth available at the tree's highest levels. Higher tree branches are typically oversubscribed to their lower branches by a ratio of 1:5, with the problem compounding at the highest tree levels, including up to 1:80 or 1:240, at the highest levels.[12] The fat tree architecture uses a customized addressing scheme and routing algorithm. The scalability is one of the major issues in fat tree DCN architecture and maximum number of pods is equal to the number of ports in each switch.[11]
DCell
DCell is a server-centric hybrid DCN architecture where one server is directly connected to one server.[4] A server in the DCell architecture is equipped with multiple network interface cards (NICs). The DCell follows a recursively built hierarchy of cells. A cell0 is the basic unit and building block of DCell topology arranged in multiple levels, where a higher level cell contains multiple lower layer cells. The cell0 is building block of DCell topology, which contains n servers and one commodity network switch. The network switch is only used to connect the server within a cell0. A cell1 contains k=n+1 cell0 cells, and similarly a cell2 contains k * n + 1 dcell1. The DCell is a highly scalable architecture where a four level DCell with only six servers in cell0 can accommodate around 3.26 million servers. Besides very high scalability, the DCell architecture depicts very high structural robustness.[13] However, cross section bandwidth and network latency is a major issue in DCell DCN architecture.[1]
Others
Some of the other well-known DCNs include BCube,[14] Camcube,[15] FiConn,[16] Jelly fish,[17] and Scafida.[18] A qualitative discussion of different DCNs along with benefits and drawbacks associated with each one has been made available.[2]
Challenges
Scalability is one of the foremost challenges to the DCNs.[3] With the advent of cloud paradigm, data centers are required to scale up to hundreds of thousands of nodes. Besides offering immense scalability, the DCNs are also required to deliver high cross-section bandwidth. Current DCN architectures, such as three-tier DCN offer poor cross-section bandwidth and possess very high over-subscription ratio near the root.[3] Fat tree DCN architecture delivers 1:1 oversubscription ratio and high cross section bandwidth, but it suffers from low scalability limited to k=total number of ports in a switch. DCell offers immense scalability, but it delivers very poor performance under heavy network load and one-to-many traffic patterns.
Performance Analysis of DCNs
A quantitative analysis of the three-tier, fat tree, and DCell architectures for performance comparison (based on throughput and latency) is performed for different network traffic pattern.[1] The fat tree DCN delivers high throughput and low latency as compared to three-tier and DCell. DCell suffers from very low throughput under high network load and one to many traffic patterns. One of the major reasons for DCell's low throughput is very high over subscription ratio on the links that interconnect the highest level cells.[1]
Structural robustness and Connectivity of DCNs
The DCell exhibits very high robustness against random and targeted attacks and retains most of its node in the giant cluster after even 10% of targeted failure.[13] multiple failures whether targeted or random, as compared to the fat tree and three-tier DCNs.[19] One of the major reasons for high robustness and connectivity of the DCell is its multiple connectivity to other nodes that is not found in fat tree or three-tier architectures.
Energy efficiency of DCNs
The concerns about the energy needs and environmental impacts of data centers are intensifying.[5]Energy efficiency is one of the major challenges of today's information and communications technology (ICT) sector. The networking portion of a data center is accounted to consume around 15% of overall cyber energy usage. Around 15.6 billion kWh of energy was utilized solely by the communication infrastructure within the data centers worldwide in 2010.[20] The energy consumption by the network infrastructure within a data center is expected to increase to around 50% in data centers.[5]IEEE 802.3az standard has been standardized in 2011 that make use of adaptive link rate technique for energy efficiency.[21] Moreover, fat tree and DCell architectures use commodity network equipment that is inherently energy efficient. Workload consolidation is also used for energy efficiency by consolidating the workload on few devices to power-off or sleep the idle devices.[22]
^ abcdefM. Al-Fares, A. Loukissas, A. Vahdat, A scalable, commodity data center 2 network architecture, in: ACM SIGCOMM 2008 Conference on Data 3 Communication, Seattle, WA, 2008, pp. 63–74.
^ abC. Guo, H. Wu, K. Tan, L. Shi, Y. Zhang, S. Lu, DCell: a scalable and fault tolerant network structure for data centers, ACM SIGCOMM Computer Communication Review 38 (4) (2008) 75–86.
^Al-Fares, Mohammad; Radhakrishnan, Sivasankar; Raghavan, Barath; Huang, Nelson; Vahdat, Amin (2010-04-28). "Hedera: dynamic flow scheduling for data center networks". Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation. NSDI'10. San Jose, California: USENIX Association: 19.
^ abCisco, Cisco Data Center Infrastructure 2.5 Design Guide, Cisco Press, 2010.
^Guo, Chuanxiong, et al. "BCube: a high performance, server-centric network architecture for modular data centers." ACM SIGCOMM Computer Communication Review 39.4 (2009): 63-74.
^Costa, P., et al. CamCube: a key-based data center. Technical Report MSR TR-2010-74, Microsoft Research, 2010.
^Li, Dan, et al. "FiConn: Using backup port for server interconnection in data centers." INFOCOM 2009, IEEE. IEEE, 2009.
^Singla, Ankit, et al. "Jellyfish: Networking data centers randomly." 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI). 2012.
^Gyarmati, László, and Tuan Anh Trinh. "Scafida: A scale-free network inspired data center architecture." ACM SIGCOMM Computer Communication Review 40.5 (2010): 4-12.
^Heller, Brandon; Seetharaman, Srinivasan; Mahadevan, Priya; Yiakoumis, Yiannis; Sharma, Puneet; Banerjee, Sujata; McKeown, Nick (2010). "ElasticTree: saving energy in data center networks"(PDF). Proceedings of the 7th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2010, April 28-30, 2010, San Jose, CA, USA. USENIX Association. pp. 249–264.