Reducing Network Energy Consumption via Sleeping and Rate Adaptation
Reducing Network Energy Consumption via Sleeping and Rate Adaptation Authors: Sergiu Nedevschi UC Berkeley & Intel Research Lucian Popa (UC Berkeley) Sylvia Ratnasamy (Intel Research) Gianluca Iannaccone (Intel Research) David Wetherall (U Washington & Intel Research) My Name: Anand Seetharam
Motivation Network energy consumption a growing issue Equipment increasingly power-hungry (power density) Rising energy costs (significant fraction of TCO) Environmental concerns Energy Efficient Ethernet Taskforce (IEEE 802.3 az) Focuses on saving network energy for Ethernet
Opportunity Networks are provisioned for peak-load phone network needs to work on 1st JAN, at 12AM Average utilization is low: Network Utilization AT&T switched voice 33% Internet Links 15% Private line networks 3-5% LANs 1% “Data networks are lightly utilized, and will stay that way” A. M. Odlyzko, Review of Network Economics, 2003
Opportunity Energy consumption proportional to capacity, not actual utilization!! Idle energy consumption is high For example, a Cisco GSR linecard draws: [Chabarek etal, INFOCOM08] ~ 80W idle ~ 90W fully loaded Most energy consumed by networks is wasted! Goal: Make network energy consumption reflect utilization levels, not peak provisioning
Idea Key Idea: Let network equipment sleep for brief periods or slow down when lightly loaded to save energy Inspiration: Use of sleep and performance states in PCs, processors Rationale: E ~= pidle Tidle + pactive Tactive Assumptions: We assume support for sleep/performance states in NICs, linecards, switches, and routers and consider how to best use them Depend on: Type/extent of hardware support for sleep and performance states Careful use of these states to protect performance and maximize savings Sleeping reduces idle energy Slowing down reduces both
Outline Key questions and method Sleeping Rate adaptation (slowing down) Sleep vs. Rate adaptation
1. Key questions and method How much energy can we save without compromising performance? Can we realize these savings with practical schemes? Methodology: Model hardware support for sleep and rate adaptation Evaluate savings/performance with simulations (ns) Abilene and Intel topologies and their traffic workloads Look for (unrealistic) bounds as well as practical schemes
2. Sleeping states Model Metrics Single sleep state with power psleep<< pidle δ: transition period (ms) Timer or activity-driven wakeup Interfaces sleep independently Metrics Energy savings in % time asleep Performance in loss and max delay power pidle (idle) psleep (sleep) time δ
When can a link sleep? Packets over a link: Buffer and burst: Periods of sleep Packets over a link: sleep time depends on: Buffer and burst: δ time 1 2 3 4 5 6 7 Transition time δ time 1 2 3 4 5 6 7 Sleep
Making sleep gaps on links with buffer & burst (B&B) Basic idea: use limited buffering at ingress to create predictable and useful sleep gaps (>2δ); do once, adds bounded delay 2ms 5ms 20ms R1 R2 R3 tx @ t=1 t=B+1 t=2B+1 @ t=8 t=B+8 t=2B+8 wake @ t=3 t=B+3 t=2B+3 @ t=28 t=B+28 t=2B+28
Coordination among ingresses Basic idea: align bursts/gaps on links in networks by adjusting relative timing phase of different ingresses t, t+B,… I1 8ms coordinate burst times to align in the network R 3ms t+5, t+5+B,… I2
Potential for savings with sleep (optB&B) “perfect” coordination not generally possible t1 1ms t1 + 1ms = t2 + 20ms I1 R1 15ms 20ms t2 t1 + 15ms = t2 + 2ms I1 2ms R2 Upper bound (optB&B): Global search to find ingress transmission times that maximize network-wide sleep
Potential benefits of sleeping Abilene, transition time=1ms, B=10ms idle (bound) WoA (pareto) WoA (CBR) optB&B(CBR) Upper bound for any scheme Upper bound without buffering/shaping Upper bound with buffering/shaping A little shaping can get most of the utilization gain
Practical sleeping algorithm (practB&B) Ingress buffers and transmits packets in a bunch every Bms Within bunch, packets are organized by egress Router interfaces wake to process bursts Router interfaces sleep if start of next burst is >2δ ms away
No coordination (practB&B) Abilene, transition time=1ms, B=10ms Practical algorithm realizes most of the benefit
Impact of sleeping on delay Abilene, transition time=1ms 98th percentile delay (ms) No added loss; added delay ~ bounded by Bms
Impact of sleep: Any Losses? No additional losses are incurred until utilizations come close to saturating some links. Losses greater than 0.1% occur at Scheme Utilization Default 41% B = 10ms 38% B = 25ms 36% Abilene, network utilization=5%
Impact of sleep transition time Quick transitions (preferably < 1ms) needed Abilene, network utilization=5%
Outline Key questions and method Sleeping Rate adaptation (slowing down) Sleep vs. Rate adaptation
3. Rate adaptation states Model N performance states Rates r1, …, rn and pi < pi+1 δ : transition period (ms) Interfaces can rate-adapt independently Metrics Energy savings in average rate reduction Performance in loss and max delay power pi+1 (1G) (100M) pi δ time
bytes arriving at router Using performance states Basic idea: decrease rate as much as possible without introducing more than than d ms per hop bytes arriving at router bytes leaving router service rate Optimal algorithm: ideal service curve follows shortest Euclidean distance.
Practical rate adaptation (practRA) Idea: lower rate if doing so will maintain minimal queuing delay (of at most d ms); aggressively increase rate to clear buildup Algorithm: rf : estimated arrival rate as average (EWMA) of past arrivals q: current queue size d: target maximum queuing delay ri : current link operating rate Rules: increase to ri+1 iff (q/ri > d) OR (δrf +q)/ri+1> (d- δ) decrease to ri-1 iff (q = 0) AND (rf < ri-1 ) duration since last rate change > k δ (k=4) Leave headroom for transition time Avoid frequent changes
Benefits of rate adaptation Abilene, transition time δ =1ms, d=3ms Upper bound for any scheme Practical rate adaptation close with uniform rates Far with exponential rates Added delay < d * (#hops) No observed packet loss
Outline Key questions and method Sleeping Rate adaptation (slowing down) Sleep vs. Rate adaptation
Models of future power profiles Fraction of power that doesn’t scale with rate pactive = C + fn(rate) pidle = C + β fn(rate) psleep = μ pidle(rmax) Rate scaling function fn(rate) ~ rate frequency scaling fn(rate) ~ rate3 dynamic voltage scaling Idle/Active Workload Ratio Power reduction using sleep
Sleeping and rate adaptation (DVS-r3)
Sleeping and rate adaptation (Frequency Scaling -r)
Observations The authors say “Hence to avoid complex interactions, we consider that the whole network , or at least well-defined components of it, run either rate adaption or sleep” But both schemes can be combined to give better results. For eg: In rate adaptation one can try to put the links to sleep instead of keeping them in the idle state.
Observations When rate adaptation is done using frequency scaling the authors themselves say that for values (C=0.3 and β =0.1) and (C=0.3 and β =0.8) the savings obtained are poor and add little additional information. My observation is that rate adaptation (frequency scaling) gives no gain in terms of energy.
Thank you. Questions?