Return a fat tree datacenter topology, as described in [1]

A fat tree topology built using k-port switches can support up to (k^3)/4 hosts. This topology comprises k pods with two layers of k/2 switches each. In each pod, each aggregation switch is connected to all the k/2 edge switches and each edge switch is connected to k/2 hosts. There are (k/2)^2 core switches, each of them connected to one aggregation switch per pod.

Each node has three attributes:
  • type: can either be switch or host
  • tier: can either be core, aggregation, edge or leaf. Nodes in
  • pod: the pod id in which the node is located, unless it is a core switch the leaf tier are only host, while all core, aggregation and edge nodes are switches.

Each edge has an attribute type as well which can either be core_edge if it connects a core and an aggregation switch, aggregation_edge, if it connects an aggregation and a core switch or edge_leaf if it connects an edge switch to a host.

k : int

The number of ports of the switches

topology : DatacenterTopology


[1](1, 2) M. Al-Fares, A. Loukissas, and A. Vahdat. A scalable, commodity data center network architecture. Proceedings of the ACM SIGCOMM 2008 conference on Data communication (SIGCOMM ‘08). ACM, New York, NY, USA http://doi.acm.org/10.1145/1402958.1402967