140 likes | 263 Views
Madhurima Pore Brent Lewis. Power Profiling in Computing Platforms. Overview. ACPI and Improving energy efficiency through better control of ACPI power states Example projects that show power savings using ACPI.
E N D
Madhurima Pore Brent Lewis Power Profiling in Computing Platforms
Overview • ACPI and Improving energy efficiency through better control of ACPI power states • Example projects that show power savings using ACPI. • Research questions and ongoing experiments with power profiling of the computing platforms.
What is ACPI Its all about giving parts of computer some sleep…… Advanced Configuration and Power Management Specification: • ACPI is part of all the Operating Systems, and it allows the operating system to control the amount of power given to each device attached to the device.
ACPI- Global States • Global states are applied to the entire system and are visible to the User: • G0: Working state • G1: Sleeping State or Standby. • G2: Soft Off. • G3: Mechanical Off.
ACPI Power States • S states – affect the whole system • S0 – working • S1 – processor stops, idle hardware powered down • S2 – CPU, Caches powered off • S3 – Standby/Sleep, Suspend to RAM • S4 – Hibernate, Suspend to Disk • S5 – Soft Off • D states – individual device state • D0 – fully on • D1, D2 – intermediate states • D3 – powered off
ACPI Power States- CPU • C state – CPU state • C0 – working • C1 – halted, not executing instructions • C2 – clock stopped • C3 – sleep • P state – changing the performance of CPU or device such as GPU by switching between different Frequency and Voltages to modulate power consumption. • P0 – full speed, frequency, voltage, etc • P1 – slower than P0 • … • Pn – up to 15
Power Failure / Modem HDD CDROM Power Off D 3 D 3 D 3 G3 mechanical off D 2 D 2 D 2 D 1 D 1 D 1 D 0 D 0 D 0 C 0 BIOS Routine G0 –S0 Working S4 • Legacy S3 S2 S1 Sleeping Wake Performance Throttling State Px C 0 G2 – S5 Soft Off C 1 C 2 CPU Cn
Power Saving Techniques – Using P state transitions (Race to Idle) • Power efficiency of P states is not linear • Example (not realistic for simplicity): • P0 is 2MHz and uses 30 watts • P1 is 1MHz and uses 20 watts • 10000 cycles of work to be done: • P0 power usage = 10000 / 2MHz * 30 watts = .15 watt seconds • P1 power usage = 10000 / 1MHz * 20 watts = .20 watt seconds • Use P0 state to complete the work and return to idle sooner. • Known as “race to idle”. • Race to idle > Other P states
Power Saving Techniques – C State (only applies to CPU) Delay scheduled events as long as possible in order to do all work at once, and go back to sleep. This technique is known as “tickless idle”. Sleep longer, save energy. • Option 1: For current kernel, the C0 to C1 transitions, hundreds of times per second. • Option 2 : C0 to C2 transitions. • Power required is less but wake up time is more.
Power Profiling of Computing Platform • Power Profiling of the entire platform for different workloads such as CPU intensive, memory intensive or network intensive. • Can workload assignment match the nature of the workload to the power profile of the system. • Measurement of Power Consumption of CPU in each of C and P states. • Determine the performance cost and power cost of transition to C0 from any other state? • Can server load prediction be used to choose C states more effectively?
Research questionsD and P states (Devices) • The D and P states supported by a device are dependent upon the device implementation. • It's performance and overhead characteristics are all device dependent. • Can load prediction be used to choose device states more effectively? • Can awareness of the nature of the load help to choose the particular computing system?
Power Profiling of Components– D and P states • The same technique can be applied to other devices • NIC, Hard disk, etc. • Give them work to do • Oscillate power state • Measure the performance and power changes.
Power profiling– C States • Measure power at the CPU instead of at the power supply • Measure power usage of each state • Measure C0 by loading the processor to 100% • Test C1-C3 by locking it into a halt state (unrecoverable) • Measure power usage as states transition • 50% C0, 50% C1 (or C2, C3) • Increasing frequency of transition will reduce performance • This curve can be used to calculate transition time • Compare to continuous C state power usage • Determines power consumption of state transitions • Will require modifying Linux kernel
Summary • Introduced ACPI, and how it can be used to reduce the power consumption in a computing platform. • We probed in different issues and suggested different research directions in this area.