Team-16
Architecture
Why onOS as Controller ?
We go for Fat tree Topology since it is a mesh like topology which has more paths
The effect of individual component failure is manageable (Fault Tolerent)
Fat Tree Topology
Each Layer has same aggregated bandwidth
Can be Built with cheap devices with uniform capacity
K-ary FAT Tree
Ex. 4-ary FAT Tree
Pod 1
Pod 2
Pod 3
Pod 4
K-ary FAT Tree
Ex. 4-ary FAT Tree
Pod 1
Pod 2
Pod 3
Pod 4
K-ary FAT Tree
Ex. 4-ary FAT Tree
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
K-ary FAT Tree
Ex. 4-ary FAT Tree
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
Optimizer
Traffic Matrix
Topology
Subset
Subset
Power Controll
Routing
Adress follows: 10.p.e.h
p: pod
e: edge switch
h: host
Match | IP | OUT PORT | PRIORITY |
---|---|---|---|
IP Dest | 10.1.2.0/24 | 1 | 4 |
IP Dest | 10.1.1.0/24 | 2 | 4 |
IP Src | 10.1.2.0/24 | 4 | 3 |
IP Src | 10.1.1.0/24 | 3 | 3 |
Optimizer
Traffic Matrix
Topology
Subset
Subset
Power Control
Routing
Optimizer
Topo Aware Heuristic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Suppose most active trafic is 2Gbps
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Suppose most active trafic is 2Gbps
It suffices if ANY TWO Aggregation switches are active. Dosent matter which
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Suppose most active trafic is 2Gbps
It suffices if ANY TWO Aggregation switches are active. Dosent matter which
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
For each edge switch e, in pod p, Calculate minimum number of links required to support uptraffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
For each edge switch e, in pod p, Calculate minimum number of links required to support uptraffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
For each edge switch e, in pod p, Calculate minimum number of links required to support uptraffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
For each edge switch e, in pod p, Calculate minimum number of links required to support uptraffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
For each edge switch e, in pod p, Calculate minimum number of links required to support downtraffic
Similarly for Down Traffic,
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
The minimum number of links required for edge switch e to support the total traffic is the maximum of these..
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Now, we calculate the minimum number of active links required from pod p to core to support up traffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Now, we calculate the minimum number of active links required from pod p to core to support up traffic
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Minimum number of links required to connect pod p to core is maximum of these
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
compute the minimum number of aggregation switches required to satisfy up-traffic (edge → agg) in pod p:
Max
Max
Max
Max
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
compute the minimum number of aggregation switches required to satisfy up-traffic (edge → agg) in pod p:
Max
Max
Max
Max
Topo-Aware Heuristic
compute the minimum number of aggregation switches required to satisfy down-traffic (core → agg) in pod p:
Aggr
Topo-Aware Heuristic
compute the minimum number of aggregation switches required to satisfy down-traffic (core → agg) in pod p:
Aggr
Topo-Aware Heuristic
compute the minimum number of aggregation switches required to satisfy down-traffic (core → agg) in pod p:
Aggr
the minimum number of aggregation switches required to satisfy traffic in pod p is hence:
Topo-Aware Heuristic
compute the minimum number of aggregation switches required to satisfy down-traffic (core → agg) in pod p:
Aggr
the minimum number of aggregation switches required to satisfy traffic in pod p is hence:
Topo-Aware Heuristic
compute the minimum number of core switches that caters to maximum traffic from aggregation
Aggr
The traffic between the core and the most active pod informs the number of core switches that must be active to satisfy the traffic demands
Topo-Aware Heuristic
compute the minimum number of core switches that caters to maximum traffic from aggregation
Aggr
The traffic between the core and the most active pod informs the number of core switches that must be active to satisfy the traffic demands
Topo-Aware Heuristic
compute the minimum number of core switches that caters to maximum traffic from aggregation
Aggr
The traffic between the core and the most active pod informs the number of core switches that must be active to satisfy the traffic demands
Now we have number of core and aggregation switches that needs to be turned on
Topo-Aware Heuristic
Pod 1
Pod 2
Pod 3
Pod 4
Edge
Aggr
2Gbps
Now, we calculate the minimum number of active links required from pod p to core to support down traffic
Energy Consumption
(also Bandwidth)
Linear, Uniformly increasing Bandwidth
HODMD Prediction
Our Workflow
We use REST api to communicate to onOS
topo_discovery.py
defaultpath.py
flowMeasure.py
monitoringTools.py
runElasticTree.py
fattree.py
to build graph of the current topology based on ONOS info
to create single default path between every host in the network
to compute the number of switches needed in each layer in order to satisfy traffic and save energy
remove/add link , delete flow tables
Returns the Subset of topology to be active
Python file to create virtual SDN network connected to ONOS controller