Check out my first novel, midnight's simulacra!

Power Management

From dankwiki
Revision as of 16:40, 21 April 2009 by Dank (talk | contribs)

Implementations

  • APM (Advanced Power Management): All PM policy/mechanism resides within the BIOS
    • Motivated by, largely relevant only to laptops
    • apmd debian package
    • No longer supported in Vista. Off by default in recent Debian kernels.
  • ACPI: Current, often buggy (but also often easily repairable via BIOS flash or by hand)
    • C-States, which are decomposable into P-States and T-States
  • P4 Thermal Throttling: Slows down or shuts off the processor based on CPU temperature
    • Adjustment is either via idle cycle insertion or lowering the clock multiplier

CPU Frequency

  • On Linux, cpufreq-info provides lots of good information:
[recombinator](0) $ cpufreq-info
cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@lists.linux.org.uk, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 1.60 GHz - 2.39 GHz
  available frequency steps: 2.39 GHz, 1.60 GHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 1.60 GHz and 2.39 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz.
  cpufreq stats: 2.39 GHz:27.25%, 1.60 GHz:72.75%  (78631)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 1
  hardware limits: 1.60 GHz - 2.39 GHz
  available frequency steps: 2.39 GHz, 1.60 GHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 1.60 GHz and 2.39 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz.
  cpufreq stats: 2.39 GHz:4.32%, 1.60 GHz:95.68%  (19387)
[recombinator](0) $ 
  • On FreeBSD, sysctls from the dev.cpu and debug.cpufreq MIB hierarchies are your window into frequency control. See cpufreq(4).

Disks/Filesystems

  • noatime -- critical for all kinds of things! FIXME: find and add great Ingo Molnar quote
  • SATA link state management? what is this? seen in powertop output
  • turning up the writeback time / disk head parking / other debatable techniques

Workload Distribution

  • The /sys/devices/system/cpu/sched_smt_power_savings tunable causes tasks (under light load) to be preferentially distributed across processing elements (ie including SMP units) and cores of physical packages (as opposed to packages themselves).
  • The /sys/devices/system/cpu/sched_mc_power_savings tunable does the same, but doesn't apply to SMT.
  • Task migration has overhead and associated architecture warmup (ie, caches, branch prediction and hardware prefetching). How is this affected? FIXME

See Also