14
On Chip Controller(OCC) Overview Todd Rosedahl, Chief Engineer IBM/POWER Firmware Development Join the conversation at #OpenPOWERSummit 1 #OpenPOWERSummit

On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

On Chip Controller(OCC) Overview

Todd Rosedahl, Chief Engineer

IBM/POWER Firmware Development

Join the conversation at #OpenPOWERSummit 1

#OpenPOWERSummit

Page 2: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 3: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 4: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 5: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

Your logo here

Join the conversation at #OpenPOWERSummit 5

Page 6: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 7: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 8: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 9: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

9 Join the conversation at #OpenPOWERSummit

OCC Internal Details

Page 10: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 11: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

11 Join the conversation at #OpenPOWERSummit

User Set Power Limit

Page 12: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

12 Join the conversation at #OpenPOWERSummit

Processor Over Temperature

Page 13: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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

Page 14: On Chip Controller(OCC) Overview€¦ · Thursday 9-11am Architectural Overview Thursday 12-2pm Hands-on Training P8 HW KVM/Linux Host Boot SBE OPAL OCC BMC System Management Console

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