## 3 Adaptive TrimTree Mechanism
### TrimTree Module  
The TrimTree module employs a simple traffic-and-topology-based heuristic to compute two network subsets; 'active network subset' and 'passive network subset'. We select the regular and straightforward fat-tree DCN topology for implementing Adaptive TrimTree. Before elaborating the details of TrimTree module we briefly discuss the fat-tree DCN topology shown in Figure 2. The fat-tree data center network design incorporates the low cost Ethernet commodity switches to form a k-ary fat-tree [31]. There are k pods, each having two layers of k/2 switches. Each switch in the lower layer is k-port connecting directly to k/2 servers through k/2 ports and connecting with k/2 ports of the aggregation layer through remaining k/2 ports. There are (k/2)\({}^{2}\) k-port core switches with one port connecting to each pod. Generally, a fat-tree with k-port switches supports k\({}^{3}\)/4 servers. The fat-tree topology supports the use of identical, commodity switches in all layers offering multiple-times cost reduction as compared to tier architectures. This design employs two-level route lookups to assist multi-path routing. In order to prevent congestion at a single port due to concentration of traffic to a subnet and to keep the number of prefixes to a limited number, two-level routing tables are used that spread outgoing traffic from a pod evenly among core switches by using the low-order bits of the destination IP address. The \"active network subset\" generated by TrimTree module is a minimum power network subset which meets the current traffic demand using a simple yet fast heuristic based on network topology and traffic information from the traffic analyzer inspired by the topology-aware heuristic proposed by [PERSON] et al. in [11]. This heuristic uses the flows information from the traffic analyzer to find a  
Figure 1: System design of Adaptive TrimTree mechanism. Figure 2: Fat-tree topology of Data Center Network. minimum number of up-traffic and down-traffic active links and active switches in edge, aggregation and core layers of fat-tree DCN. It is suited for fat tree topology and is not routing protocol dependent. The 'active network subset' is computed as follows:  
_Active network subset = {active links + active switches} Active links = {active core-aggregation links + active aggregation-edge links} Active switches = {active core switches + active aggregation switches} Active links computation: Active core-aggregation links = max{min number of links to support uplink traffic pod\(\rightarrow\)core, min number of links to support downlink traffic core\(\rightarrow\)pod, 1} Active core-aggregation links = max{\(\sum\)all uplink pod\(\rightarrow\)core switch traffic flows/link rate, \(\sum\)all downlink core\(\rightarrow\)pod traffic flows/link rate, 1} Active aggregation-edge links = max{min active number of links to support uplink traffic edge\(\rightarrow\)aggregate switch, min number of active links to support downlink traffic aggregate\(\rightarrow\)edge switch, 1} Active aggregation-edge links = max{\(\sum\)all uplink edge\(\rightarrow\)aggregate switch traffic flows/link rate}, 1} Active switches computation: Active aggregation switches = max{min number of aggregation switches uplink traffic edge\(\rightarrow\)aggregate link, min number of aggregation switches downlink core\(\rightarrow\)aggregate link, 1} Active core switches = traffic between core and the most active pod Active core switches = maxlinks[minimum number of uplinks from pod to core to satisfy aggregate\(\rightarrow\)core traffic flows)  
An example of application of this heuristic on fat-tree topology of Figure 3a is shown in Figure 3b. The \"passive network subset\" is computed by the TrimTree module based on \"active network subset\" and DCN application. It is reported by [PERSON] et al. [19] that in cloud data center, 75% of traffic remains within a rack and in university and private enterprise data centers 40%-90% of traffic leaves the rack passing through the network.