platform-based power management and linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfpcc...
TRANSCRIPT
![Page 1: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/1.jpg)
© Copyright 2010 Hewlett-Packard Development Company, L.P.
Bdale Garbee, HP
Naga Chumbalkar, HP
Platform-based PowerManagement and Linux
![Page 2: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/2.jpg)
© Copyright 2010 Hewlett-Packard Development Company, L.P.2
“Power saved is powergenerated”
Anonymous
![Page 3: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/3.jpg)
3 4 May 2010
Agenda
• More upstream, less maintenance
• BIOS-based P-state management
• Platform-based Power Capping
• Processor Clocking Control (PCC) interface
• Collaboration between OS and platform
![Page 4: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/4.jpg)
4 4 May 2010
More upstream, less maintenance
• Previously closed-source drivers are nowupstream
• hpilo : Channel interface driver tocommunicate with the management processor
• hpwdt : Watchdog timer. Also sources NMIs toinform user what HW component is at fault
![Page 5: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/5.jpg)
Typical Server Power Usage
![Page 6: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/6.jpg)
Managing P-states
P-State Technology HP ProLiant
Intel Enhanced SpeedStep DL380 G6
AMD PowerNow! DL585 G6
P-State Frequency
P0 2.92 GHz
P1 2.79 GHz
P2 2.66 GHz
P3 2.53 GHz
P4 2.39 GHz
P5 2.26 GHz
P6 2.13 GHz
P7 2.00 GHz
P8 1.86 GHz
P9 1.73 GHz
P10 1.60 GHz
Intel Xeon X5570 Processor
OS
Driver
HW Registers
System ROM
HW Registers
Linux Platform
![Page 7: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/7.jpg)
Power Capping
• Limit the power a server can use
• Implemented in the firmware, hardware
• Independent of the OS
Data center advantages:
• Aids in provisioning cooling infrastructure
• Protects electrical circuit-breaker from tripping
• Reclaims trapped power (example on anotherslide)
![Page 8: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/8.jpg)
Power vs. Performance
![Page 9: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/9.jpg)
Power Capping - Example
HP ProLiantDL380 G5
Faceplate “capped”Total PowerConsumed
6 400 W 2400 W
6 300 W 1800 W
8 300 W 2400 W
Platform guarantees that the power will be “capped” at 300W per server
Reclaim trapped power, and allocate two more servers!
![Page 10: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/10.jpg)
OS
Kernel
Single-servercentric
Server-levelcapping
Platform
OS vs. Platform
System ROM, BMC/Enclosure FW
Enclosure-level view
Group-level power capping
![Page 11: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/11.jpg)
Processor Clocking Control (PCC)
• Interface between BIOS and OS
• Feedback to the OS to become “capping” aware
OS
PCC Driver
System ROM
HW Registers
Linux with PCC support
![Page 12: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/12.jpg)
12 4 May 2010
Interaction between Linux and platform
Linux
BIOS
BMC(iLO2)
HW
CPU
PCC
Group power capPower usage
Power cap
Set P-state
CPU frequency telemetry
![Page 13: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/13.jpg)
PCC usage
• PCC consists of a shared memory region that canbe accessed by OS and BIOS
• OS computes required target frequency for alogical CPU based on workload
• PCC driver sends commands to the BIOS viainput/output buffers to honor the OS’s request
• Platform will achieve that frequency. However, ifpower budget conditions are in place, platform willachieve the best possible frequency
![Page 14: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/14.jpg)
PCC discovery
• BIOS will expose PCC only if OS is capable
• OS can evaluate ACPI PCCH() to discover sharedmemory area location
• OS can evaluate ACPI PCCP() to discoverinput/output buffer location for each logical CPU
![Page 15: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/15.jpg)
15 4 May 2010
$ PCC
input buffer
output buffer
input buffer
output buffer
Shared Memory Region
discovered via PCCH ()
discovered via PCCP ()
logical CPU0
logical CPU0
logical CPU1
logical CPU1
signature
![Page 16: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/16.jpg)
PCC Commands
• Get Average Frequency
• Set Desired Frequency
OSGovernor
Platformfirmware
ProcessorPCC driver
Get freq
Set freq
![Page 17: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/17.jpg)
PCC is not proprietary
The Processor Clocking Control (PCC) Specification is open:http://www.acpica.org/download/Processor-Clocking-Control-v1p0.pdf
PCC driver is open source, and is upstream (2.6.34)http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/x86/kernel/cpu/cpufreq/pcc-
cpufreq.c;h=ce7cde713e7174e8293b552b332f968946a46904;hb=250541fca717a5c9b0d3710e737b2ca32ebb6fbc
Driver is not tied to any specific platform vendor
Driver will load on any platform that supports the
PCC specification
![Page 18: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/18.jpg)
Collaborate and Innovate
PCC allows the platform to innovate
(e.g.) power capping, enclosure-level group capping
Allows the OS to innovate
(e.g.) better methods to react to changing workload,
decide what CPU on what NUMA should be at what speed
No one entity (platform, OS) has a complete picture of the
individual server and the data center.
![Page 19: Platform-based Power Management and Linuxevents.static.linuxfound.org/slides/lfcs2010_garbee.pdfPCC usage •PCC consists of a shared memory region that can be accessed by OS and BIOS](https://reader033.vdocument.in/reader033/viewer/2022050122/5f521ef2fd78f944863d0f02/html5/thumbnails/19.jpg)
Outcomes that matter.