Fat tree network topology looks like a tree topology like below example. In tree topology, we have same terminologies like Root, parent, child etc. This is mainly used to connect a large number of physical servers/ computers in a large data center.
It is recommended that reader should go through the basics of cloud computing and data center first.
In the tree structure topology, leaf nodes are physical servers or computers. Rest other nodes are switches.
Switches are basically 3 types: Core switches, Aggregation switches, and Edge switches.
Servers can be heterogeneous in terms of their configurations.
Fat tree topology is based on the complete binary tree. Below is an example of 3 layer Fat tree topology. The top layer (level-0) of switches is called Core layer. The second layer of switches is called Aggregation layer. And the third layer of switches is called Edge layer. The number of ports in each switch is same.
Now let's construct a Fat tree network.
The information we need is the number of ports present in each switch. Let k be the number of ports that each switch contains. Switches with k number of ports in a Fat tree topology is called k-ary or k-port Fat tree network topology.
From the value of k, we’ll derive the number of core switches, aggregation switches, edge switches and the maximum number of servers that can be attached.
A set of (k/2) number of aggregation switches and (k/2) number of edge switches are combined together and that is known as a Pod.
Example - 1:
Let k=4, i.e. each switch has 4 ports.
Step-1:
Number of core switches is (k/2)^2 = 4 core switches. If the value of k=8, we need (8/2)^2=16 core switches.
Number of pods = k = 4.
Step-2:
Each pod consists of (k/2)=(4/2)=2 aggregation switches and (k/2)=(4/2)=2 edge switches.
The switches are organized in layer wise. First layer is aggregation layer. Second layer is edge layer.
Step-3:
Each aggregation switch within a pod is connected to (k/2)=(4/2)=2 core switches and (k/2)=(4/2)=2 edge switches.
Step-4:
Each edge switch within a pod is connected to (k/2)=(4/2)=2 servers and (k/2)=(4/2)=2 aggregation switches. That means each pod will be connected to (k/2)^2=(4/2)^2=4 servers.
Hence the maximum number of servers that can be connected to the network is (k^3)/4=16 servers.
Example - 2:
If the value of k=8, each switch has 8-ports.
Step-1:
Number of core switches is (k/2)^2 = 16 core switches.
Number of pods = k = 8.
Step-2:
Each pod consists of (k/2)=(8/2)=4 aggregation switches and (k/2)=(8/2)=4 edge switches.
The switches are organized in layer wise. First layer is aggregation layer. Second layer is edge layer.
Step-3:
Each aggregation switch within a pod is connected to (k/2)=(8/2)=4 core switches and (k/2)=(8/2)=2 edge switches.
Step-4:
Each edge switch within a pod is connected to (k/2)=(8/2)=4 servers and (k/2)=(8/2)=4 aggregation switches. That means each pod will be connected to (k/2)^2=(8/2)^2=16 servers.
Hence the maximum number of servers that can be connected to the network is (k^3)/4=128 servers.
Thats all for now.
Please comment if you need more information.
-Thank you
Fig-1. An example of tree network topology |
It is recommended that reader should go through the basics of cloud computing and data center first.
In the tree structure topology, leaf nodes are physical servers or computers. Rest other nodes are switches.
Switches are basically 3 types: Core switches, Aggregation switches, and Edge switches.
Servers can be heterogeneous in terms of their configurations.
Fat tree topology is based on the complete binary tree. Below is an example of 3 layer Fat tree topology. The top layer (level-0) of switches is called Core layer. The second layer of switches is called Aggregation layer. And the third layer of switches is called Edge layer. The number of ports in each switch is same.
Fig-2. An example of 3 layer Fat tree topology. |
The information we need is the number of ports present in each switch. Let k be the number of ports that each switch contains. Switches with k number of ports in a Fat tree topology is called k-ary or k-port Fat tree network topology.
From the value of k, we’ll derive the number of core switches, aggregation switches, edge switches and the maximum number of servers that can be attached.
A set of (k/2) number of aggregation switches and (k/2) number of edge switches are combined together and that is known as a Pod.
Example - 1:
Let k=4, i.e. each switch has 4 ports.
Step-1:
Number of core switches is (k/2)^2 = 4 core switches. If the value of k=8, we need (8/2)^2=16 core switches.
Number of pods = k = 4.
Fig-3. Step-1 of Fat tree construction |
Each pod consists of (k/2)=(4/2)=2 aggregation switches and (k/2)=(4/2)=2 edge switches.
The switches are organized in layer wise. First layer is aggregation layer. Second layer is edge layer.
Fig-4. Step-2 of Fat tree construction |
Step-3:
Each aggregation switch within a pod is connected to (k/2)=(4/2)=2 core switches and (k/2)=(4/2)=2 edge switches.
Fig-5. Step-3 of Fat tree construction |
Each edge switch within a pod is connected to (k/2)=(4/2)=2 servers and (k/2)=(4/2)=2 aggregation switches. That means each pod will be connected to (k/2)^2=(4/2)^2=4 servers.
Hence the maximum number of servers that can be connected to the network is (k^3)/4=16 servers.
Fig-6. Step-4 of Fat tree construction |
Example - 2:
If the value of k=8, each switch has 8-ports.
Step-1:
Number of core switches is (k/2)^2 = 16 core switches.
Number of pods = k = 8.
Step-2:
Each pod consists of (k/2)=(8/2)=4 aggregation switches and (k/2)=(8/2)=4 edge switches.
The switches are organized in layer wise. First layer is aggregation layer. Second layer is edge layer.
Step-3:
Each aggregation switch within a pod is connected to (k/2)=(8/2)=4 core switches and (k/2)=(8/2)=2 edge switches.
Step-4:
Each edge switch within a pod is connected to (k/2)=(8/2)=4 servers and (k/2)=(8/2)=4 aggregation switches. That means each pod will be connected to (k/2)^2=(8/2)^2=16 servers.
Hence the maximum number of servers that can be connected to the network is (k^3)/4=128 servers.
Thats all for now.
Please comment if you need more information.
-Thank you
Good technical information Thank you Mr.Chinmaya
ReplyDeleteGreat information.Thank you so much sir. Kindly upload bcube and dcube.
ReplyDeleteClean Explaination
ReplyDeleteThank you so much
ReplyDeletevery precise !! Thanks
ReplyDeleteWhat is use of density variable??
ReplyDeleteThank you for so clear explanation
ReplyDelete