energy awareness
play

Energy Awareness Power is a critical, limited, and shared system - PowerPoint PPT Presentation

Philipps-Universitt Marburg, Fachbereich 12 SE 12086: Aktuelle Betriebssystemtechnologien Michael Engel, Prof. Bernd Freisleben Energy Awareness Power is a critical, limited, and shared system resource Niels Fallenbeck, Christoph Scheid


  1. Philipps-Universität Marburg, Fachbereich 12 SE 12086: Aktuelle Betriebssystemtechnologien Michael Engel, Prof. Bernd Freisleben Energy Awareness “Power is a critical, limited, and shared system resource” Niels Fallenbeck, Christoph Scheid energy_awareness@webkommune.de

  2. outline • The Past • The Present • Technologies in Research • A Green TCP/IP • Scheduling for reduced CPU energy • PAVM - power aware virtual memory • Binary Rewriting

  3. Who eats the energy? 120 W 115 W 100 W Intel Pentium 4 90 W 89 W Intel Mobile Pentium 4 Intel Pentium M 77 W FreeScale MPC7447A (G4) 60 W IBM PowerPC 970FX (G5) AMD Athlon XP AMD Athlon64 FX 30 W 35 W 30 W 9 W 0 W

  4. Who eats the energy? 70% 68% 53% 35% 39% 34% 31% 18% 22% 20% 18% 15% 12% 12% 9% 0% 4% 3% 1% 1% 1994 1998 2004 Display CPU Hard disk Memory Graphics Other

  5. Measurements • CPU Frequency Scaling • Turn Off Display/Hard Disk Drive • Deactivate unused hardware • any more?

  6. “Energy Stars” • In 2000 PCs in USA used approx. 21,9 TWh • US $ 1,75 billion at US $ 0,08 per kWh • less than half: system units • more than half: monitors

  7. “Energy Stars II” • PC on but not used • 74% on during daytime • used 12% of time • 21% on overnight/weekends w/ no use

  8. EnergyStar [1992] • Environmental Protection Agency (EPA) • EnergyStar-Certificate (=Green PC) • <60 W during periods of inactivity • power-off processors • software state: save to disk

  9. EnergyStar* [1995] • 1995: President Clinton: all PC’s purchased by government agencies must be EnergyStar compliant.* • two challenges: • network connections are dropped • ressources are unaccessible • 11% of EnergyStar-PCs fully enabled for Energy Star operation * There are no requirements that Energy Star features must remain enabled following installation of PC.

  10. TCP/IP

  11. a green TCP/IP • connection sleep option TCP_SLEEP

  12. modifications (TCP-Code in Linux Kernel) • server-side: • connectins are not dropped after timeout • sleeping connections are blocked. (to prevent client from being flooded) • client-side • TCP_SLEEP -option

  13. testing green TCP/IP • two telnet-sessions, biff (email notification) • TCP_SLEEP -package + power-down sequence + power-off (cable) + emails to servers • one session crashed (timeout), one OK.

  14. green TCP/IP todo • Advanced Power Management (APM) Firmware interface • maximum sleep period • three-way handshake for both entering and exiting connection sleep

  15. Scheduling • Running CPU in full speed 100% energy used • Cutting CPU frequency and voltage by 2 25% energy used • Idle Times • hard (disk wait, ...) • soft (waiting for user input, ...)

  16. Scheduling • Algorithms • Opt • FUTURE • PAST • PAST Algorithm • CPU utilization • Energy computation • Speed adjustment

  17. Scheduling

  18. PAVM Power Aware Virtual Memory • Organized in Modules (= Bunch of Devices) • SDR/DDR • wide data bus, low clock rate • RDRAM • narrow data bus, high clock rate • 4 different power states in memory controller: attention, standby, nap, powerdown • power saving policy uses attention and standby

  19. PAVM Power Aware Virtual Memory Attention Refresh, clock, row, col decoder 313 mW Standby Refresh, clock, row decoder 225 mW Nap Refresh, clock Powerdown Refresh 11 mW 7 mW Attention Standby Nap Powerdown

  20. PAVM Power Aware Virtual Memory • Memory Nodes 100% • Tracking Active Nodes 75% • Reducing Active Set 50% • NUMA 25% Non-Uniform Memory Access 0% • Hiding Latency 0 300 600 900 1200 context switching time (ns)

  21. PAVM Power Aware Virtual Memory • Revision #1: DLL Aggregation • Revision #2: Page Migration • private page, shared page • kmigrated daemon • Revision #3: Reducing Migration Overhead • ignoring short-lived processes (as done by kmigrated )

  22. PAVM Power Aware Virtual Memory 4.500 mW Base On/Off 4.230 mW 4.118 mW 4.100 mW 3.991 mW PAVM 3.600 mW PAVMr1 PAVMr2 2.700 mW 2.687 mW 2.442 mW 2.324 mW 1.800 mW 1.725 mW 900 mW 986 mW 892 mW 791 mW 646 mW 465 mW 397 mW 237 mW Light Poweruser Multimedia

  23. Binary Rewriting to Improve Energy Efficiency through Post-pass Register Re-allocation • binaries are optimized for energy efficiency • reduce cache power consumption by reducing dynamic activities (dynamic load/ stores) • find dead & unused registers and re-allocate them on hot paths

  24. dead/unused register problem • inefficiencies in register allocation (long live ranges of variables) • large regions where variable occupies register but is not used

  25. types of allocators / methods of allocation • spilling vs. splitting

  26. framework overview

  27. register re-allocation overview

  28. definitions • dead register: register which does not contain live value • unused register: register which does contain live value, but neither defined nor used at current basic block • dead registers need not be stored • unused registers (if carrying live value) must be stored before a new value is loaded

  29. basic blocks

  30. hot region identification • hot region = hot basic block • hot if average dynamic execution frequency exceeds threshold • adjacent hot basic blocks: hot region ! algorithm • two hot regions separated by cold basic block (disjoint regions: register re- allocation carried out independently)

  31. spill identification • identify spills to be removed from hot blocks • alias analysis

  32. weighted bipartite graph matching • spilled variables in hot region: bipartition A (same variable in different basic block: different vertices) • set of dead registers in hot region: bipartition B

  33. experiment • x86 (Pentium) • 6 general purpose registers (eax, ecx, edx, ebx, esi, edi) • Machine Suif compiler (does not support live range splitting) • benchmarks: SPEC2000, MediaBench

  34. results • number of hot basic blocks is small • sizes of hot regions are small • number of spills removed is small

  35. more results • number of static load/stores is reduced by 0.4% (average) • number of dynamic spill load/ stores is reduced significantly: 0 - 26.4%

  36. Resources • Home of “energy awareness” http://www.mathematik.uni-marburg.de/~fallenbe/energy/

Recommend


More recommend