Post on 05-Aug-2020
transcript
On Chip Controller(OCC) Overview
Todd Rosedahl, Chief Engineer
IBM/POWER Firmware Development
Join the conversation at #OpenPOWERSummit 1
#OpenPOWERSummit
2 Join the conversation at #OpenPOWERSummit
Introduction/Motivation System Stack/Ecosystem Video OCC Overview Hardware Block Diagram Firmware Details Sample Results – Graphs Future Enhancements References
Agenda
3 Join the conversation at #OpenPOWERSummit
US datacenter energy consumption – 91Billion KWH 34 500MW power plants State of Minnesota – 68Billion KWH Power Usage Effectiveness
Motivation
4 Join the conversation at #OpenPOWERSummit
Cloud Software
Operating System / KVM
Standard Operating Environment
(System Mgmt)
Power Open Source Software Stack Components
Existing Open Source
Software Communities
Firmware
Hardware
New OSS Community
OpenPOWER Technology
OpenPOWER Firmware
July 2014 Power8 open source firmware stack contributed thru GitHub
Toolkits and resources for porting and optimizing, growing repository on website
Firmware Technical Training – OpenPower Pavilion Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training
P8 HW
KVM/Linux
Host Boot SBE
OPAL OCC BM
C
System
Management Console ETH
Ecosystem Enablement
Your logo here
Join the conversation at #OpenPOWERSummit 5
6 Join the conversation at #OpenPOWERSummit
OCC Overview
What is OCC? Hardware/Firmware that controls power, performance & thermal 405 processor with 512k dedicated RAM General Purpose Engines (GPE) to offload the 405
What does OCC do? Reads/controls system power Reads/controls chip temps
• Enables efficient fan control • Provides OT protection
Power Capping Fault Tolerance Energy saving Performance boost
Physical paths not shown
OCC Runs on
GPE
Processor
405
Register Reads/Writes
Memory
Power
Measurement
VRMs
Measures/Actuates
Fan Control Actuation
Measures Actuates
Opal Sys Mem
Communicates
BMC
Loads
C C
Communicates
HostBoot
Communicates to other OCC via Loaded and
initialized by
Processor
405 C C
Reads
Writes
7 Join the conversation at #OpenPOWERSummit
OCC Overview
Physical paths not shown
OCC Runs on
GPE
Processor
405
Register Reads/Writes
Memory
Power Measurement
VRMs
Measures/Actuates
Fan Control Actuation
Measures Actuates
Opal System Memory
Communicates
BMC
Loads
C C
Communicates
HostBoot
Communicates to other OCC
Loaded and initialized by
Processor
405 C C
Reads
Writes
8 Join the conversation at #OpenPOWERSummit
Main Memory Uses Initial Load OPAL communication OCC communication
Main Memory Measurement
Temperature Sensing Utilization Measurement Bandwidth control
Processor
Temperature Sensing Core Frequency Control - PSTATES Chip Voltage Control – PSTATES Utilization Measurement
BMC Report power/temperature Provide Power Cap DCMI compliance
Hardware Block Diagram
9 Join the conversation at #OpenPOWERSummit
OCC Internal Details
10 Join the conversation at #OpenPOWERSummit
PSTATE Details
POWER8 BMC
System
Qemu libvirt Linux Hypervisor
Linux Guest
(LPAR)
Linux Guest
(LPAR)
Qemu
SLOF SLOF
OPAL
OCC
Host Boot
Linux
Host Kernel
Platform
Drivers
cpuidle
OCC mem
PORE
cpufreq
Cpufreq – exploits SPR based P-state change
Host Power Mode
Policies
Utilization and governor policy are inputs to cpufreq in Hypervisor
11 Join the conversation at #OpenPOWERSummit
User Set Power Limit
12 Join the conversation at #OpenPOWERSummit
Processor Over Temperature
13 Join the conversation at #OpenPOWERSummit
Power Shifting Improvements
• Memory Bandwidth % vs Processor Frequency • Power Shift between other devices
Modify Controls • Run processors at higher speeds • Run processor/memory at higher temperatures
Adjust loop times • Increase responsiveness to workload changes
Potential Future Enhancements
14 Join the conversation at #OpenPOWERSummit
Open Power Blog link:
http://openpowerfoundation.org/press-releases/occ-firmware-code-is-now-open-source/
GitHub pages:
OpenPOWER project: https://github.com/open-power
OCC: https://github.com/open-power/occ
Building OpenPOWER: https://github.com/open-power/op-build
Technical Firmware Training – OpenPOWER Pavilion:
Thursday 9-11am Architectural Overview
Thursday 12-2pm Hands-on Training – Build/Modify
Reference Platform (Palmetto) – TYAN GN70-BP010
References