Implementing Energy Saving Algorithms for Ethernet ...

30 downloads 0 Views 3MB Size Report
Implementing Energy Saving Algorithms for Ethernet Link Aggregates with ONOS. Pablo Fondo-Ferreiro. Miguel Rodríguez-Pérez. Manuel Fernández-Veiga ...
Implementing Energy Saving Algorithms for Ethernet Link Aggregates with ONOS Pablo Fondo-Ferreiro Miguel Rodríguez-Pérez Manuel Fernández-Veiga

Introduction (I) ● Many energy-efficient proposals remain unimplemented: ○ L. Chiaraviglio et al., “Minimizing ISP Network Energy Cost: Formulation and Solutions”, IEEE/ACM Transactions on Networking, 2012. ○ Y.-M. Kim et al., “Ant colony based self-adaptive energy saving routing for energy efficient Internet”, Computer Networks, 2012. ○ D. Jung et al., “Power-saving strategy for balancing energy and delay performance in WLANs”, Computer Communications, 2014. ○ M. Rodríguez Pérez et al., “Optimum Traffic Allocation in Bundled Energy-Efficient Ethernet Links”, IEEE Systems Journal, 2018. ○ …

● Lack of flexibility in current networks.

2

Introduction (II) ● Software-Defined Networking (SDN): Flexibility.

3

Related Work ● Survey on energy efficiency in SDNs: ○ Reorganize flows to minimize the number active devices. Inactive devices are put into sleep mode. ○ Low traffic load: Minimize the number of active ports.

● GreenSDN: ○ SDN emulation environment: Mininet + POX SDN controller. ○ Only consider turning on/off whole devices and not individual ports.

● ElasticTree, ECODANE: ○ Data-center based proposals. ○ Traffic-aware mechanisms to turn links and devices on and off.

4

Problem Statement ● ONOS application to schedule the traffic in bundles of Energy-Efficient Ethernet (EEE) links among switches in order to maximize energy savings. ● Theoretical basis: ○ M. Rodríguez Pérez et al., “Optimum Traffic Allocation in Bundled Energy-Efficient Ethernet Links”, IEEE Systems Journal, 2018.

● The minimum is achieved using a simple water-filling algorithm. ● Packet delay should be considered. ● Limitations when porting the algorithm to SDN: ○ Flow-level operation. All packets of a flow will be forwarded equally. ○ Queue occupation of a port cannot be accessed in OpenFlow.

5

SDN Implementation ● Theoretical optimum solution assumes packet-level. ● SDN works at the flow-level. ● Challenges: ○ Flow selection: ■ Which fields of the incoming packets will identify our flows? ○ SDN application. ■ How is the ONOS application implemented? ○ Energy-efficient allocation algorithms. ■ How are the flows allocated to the ports of the bundle?

6

Flow Selection (I) ● Flow: Set of fields of the packet headers. ● Which fields will identify our flows? ○ Flow tagging vs field matching.

● We want: ○ Enough flows to allocate them among the ports of the bundle. ○ Few flows so that flow tables keep small. ○ Predictable flows, with low variance in their demand.

● Thus, we will aggregate end-to-end layer 3 flows. ○ Layer 2: we could have insufficient flows (e.g., transit networks). ○ Layer 4: we would have too many flows.

7

Flow Selection (II)

8

SDN Application ● Reactive forwarding application with custom flow definition. ● First packet of a flow is sent to the controller. ● New flows are initially allocated to a random port of the bundle. ● The application periodically queries the flow rules installed in the

switches. ● The rate of a flow is estimated based on its previously transmitted

bytes. ● Flows are re-allocated on the bundle based on their estimated

rates. ● The application instructs the switches to modify the flows that

have changed. 9

Allocation Algorithms ● The tasks of the algorithm are two-fold: ○ Estimate the rate of each flow. ○ Allocate flows to ports of the bundle, minimizing energy consumption.

● The rate of a flow is estimated directly as the bytes that it has transmitted in the previous interval. ● Flow allocation is modelled as a bin packing problem. ● We have implemented three different scheduling algorithms: ○ Greedy ○ Bounded-greedy ○ Conservative

10

Allocation Algorithms ● Greedy ○ First fit decreasing. ○ Flow-level water-filling algorithm. ○ Expectations: Good energy savings. Packet loss could occur.

● Bounded-greedy ○ Maximum traffic load on a link depends on the number of flows already allocated to it. max_load = 1 - bound / allocated_flows ○ Expectations: Similar energy savings. Lower packet loss than greedy.

● Conservative ○ Evenly fill the needed ports. Safety margin. ○ Exploits the fact that energy raises very rapidly with traffic load. ○ Expectations: Lower energy savings. Much lower packet losses.

11

Experimental Setup ● Two switches interconnected by a bundle of 5-link 10GBASE-T interfaces. ● Real traffic trace of 32.5 Gb/s. ● Energy consumption calculation: ○ Models from the literature. ○ IEEE 802.3az simulator.

● Performance metrics: ○ Normalized energy consumption. ○ Packet loss for a given buffer size.

● Java-based SDN simulator. ● Baseline: Equitable algorithm.

12

Results: Energy Consumption

● Theoretical bound: 78.5%. ● Algorithms consumption: 82%

13

Results: Packet Losses

● Conservative algorithm outperforms greedy ones. ● Negligible losses for buffer sizes higher than 10000.

14

Analysis of the Results ● Trade-off between energy consumption and packet loss. ● Packet loss are due to the variability of the flows. ● Conservative algorithm is the best: ○ Similar energy savings. ○ Lower packet loss ratio.

● Very low sampling periods will lead to performance degradation: ○ Many flow modifications per second. ○ Practical implementations must consider this issue.

15

Conclusions ● Implementation of an energy saving algorithm using ONOS. ● The results match the expected values of the packet level mode. ● SDN can be used to implement many types of energy saving algorithms! ● Thanks to ONOS our algorithm is agnostic of the underlying SDN technology of the devices. ● Future work: ○ Reuse computed allocation in downstream aggregates. ○ Analyze flow mods in practical implementation.

16

Thank you www.atlanttic.uvigo.es

/atlanTTic | @atlanTTic_