  Data centers are becoming increasingly popular for their flexibility and
processing capabilities in the modern computing environment. They are managed
by a single entity (administrator) and allow dynamic resource provisioning,
performance optimization as well as efficient utilization of available
resources. Each data center consists of massive compute, network and storage
resources connected with physical wires. The large scale nature of data centers
requires careful planning of compute, storage, network nodes, interconnection
as well as inter-communication for their effective and efficient operations. In
this paper, we present a comprehensive survey and taxonomy of network
topologies either used in commercial data centers, or proposed by researchers
working in this space. We also compare and evaluate some of those topologies
using mininet as well as gem5 simulator for different traffic patterns, based
on various metrics including throughput, latency and bisection bandwidth.
