intelligent power allocation
TRANSCRIPT
2
Agenda
Background and Motivation
What is ARM Intelligent Power Allocation?
Results
Status and Conclusions
3
Power Consumption Scenarios
1. Short term responsiveness
Power consumption allowed to significantly
exceed sustainable max power of the SoC for
relatively short periods
E.g. Web Browsing, UI update, HDR processing
(first few shots)
2. Sustained workload
Goal is to maximise performance at, or within,
the sustainable power envelope
Adapt performance allocation to major power
consuming entities
E.g. Gaming, long benchmarks, video processing
3. Energy constrained use cases
Operates ‘under the radar’ of intelligent power allocation
E.g. low power audio
The illustration to the right depicts 3
distinct types of power consumption:
A successful thermal management scheme will
maximize the user experience for types1 and 2. P
ower
/Per
form
ance
Time
Max Sustainable Power
Burst for
responsiveness
Sustained
performance
Power Optimised
Low End
T >= Tjmax, Tskin
1 32
4
Power Consumption Scenarios
1. Short term responsiveness
Power consumption allowed to significantly
exceed sustainable max power of the SoC for
relatively short periods
E.g. Web Browsing, UI update, HDR processing
(first few shots)
2. Sustained workload
Goal is to maximise performance at, or within,
the sustainable power envelope
Adapt performance allocation to major power
consuming entities
E.g. Gaming, long benchmarks, video processing
3. Energy constrained use cases
Operates ‘under the radar’ of intelligent power allocation
E.g. low power audio
The illustration to the right depicts 3
distinct types of power consumption:
A successful thermal management scheme will
maximize the user experience for types1 and 2. P
ower
/Per
form
ance
Time
Max Sustainable Power
Burst for
responsiveness
Sustained
performance
Power Optimised
Low End
T >= Tjmax, Tskin
1 32
5
Power Consumption Scenarios
1. Short term responsiveness
Power consumption allowed to significantly
exceed sustainable max power of the SoC for
relatively short periods
E.g. Web Browsing, UI update, HDR processing
(first few shots)
2. Sustained workload
Goal is to maximise performance at, or within,
the sustainable power envelope
Adapt performance allocation to major power
consuming entities
E.g. Gaming, long benchmarks, video processing
3. Energy constrained use cases
Operates ‘under the radar’ of intelligent power allocation
E.g. low power audio
The illustration to the right depicts 3
distinct types of power consumption:
A successful thermal management scheme will
maximize the user experience for types1 and 2. P
ower
/Per
form
ance
Time
Max Sustainable Power
Burst for
responsiveness
Sustained
performance
Power Optimised
Low End
T >= Tjmax, Tskin
1 32
6
Power Consumption Scenarios
1. Short term responsiveness
Power consumption allowed to significantly
exceed sustainable max power of the SoC for
relatively short periods
E.g. Web Browsing, UI update, HDR processing
(first few shots)
2. Sustained workload
Goal is to maximise performance at, or within,
the sustainable power envelope
Adapt performance allocation to major power
consuming entities
E.g. Gaming, long benchmarks, video processing
3. Energy constrained use cases
Operates ‘under the radar’ of intelligent power allocation
E.g. low power audio
The illustration to the right depicts 3
distinct types of power consumption:
A successful thermal management scheme will
maximize the user experience for types1 and 2. P
ower
/Per
form
ance
Time
Max Sustainable Power
Burst for
responsiveness
Sustained
performance
Power Optimised
Low End
T >= Tjmax, Tskin
1 32
7
Power Consumption Scenarios
1. Short term responsiveness
Power consumption allowed to significantly
exceed sustainable max power of the SoC for
relatively short periods
E.g. Web Browsing, UI update, HDR processing
(first few shots)
2. Sustained workload
Goal is to maximise performance at, or within,
the sustainable power envelope
Adapt performance allocation to major power
consuming entities
E.g. Gaming, long benchmarks, video processing
3. Energy constrained use cases
Operates ‘under the radar’ of intelligent power allocation
E.g. low power audio
The illustration to the right depicts 3
distinct types of power consumption:
A successful thermal management scheme will
maximize the user experience for types1 and 2. P
ower
/Per
form
ance
Time
Max Sustainable Power
Burst for
responsiveness
Sustained
performance
Power Optimised
Low End
T >= Tjmax, Tskin
1 32
8
Current Linux Thermal Framework
Thermal ‘trip’ mechanism
Designed to turn on fans, and/or reduce operating
frequency
Activates on temperature overshoot
Does not accommodate power partitioning
between different parts of SoC: GPU, CPU, DSP, video
Reactive and static
Trip2
Trip1
9
IPA Thermal Management technology
Proactive vs. Reactive Thermal Management
Fixed response to temperature crossing a threshold (Reactive) vs. continuously adapting response
based on power consumption and thermal headroom (Proactive)
Static vs. Dynamic Partitioning
A fixed policy for each component based on prior knowledge of its power consumption vs. a
dynamic policy that takes into account component behaviour over time
Maximising performance within thermal limits is critical
Closed-loop control to dynamically allocate power budget, taking into
account: Thermal headroom
Real-time performance requirements
10
Agenda
Background and Motivation
What is ARM Intelligent Power Allocation?
Results
Status and Conclusions
11
SoC
SoC
ARM Intelligent Power Allocation
IPA
Tdie
Tskin Performance Requests
Allocated Performance
big LITTLE GPU
big LITTLE GPU
Power to Heat
Dynamic Allocation by:
•Performance required
•Thermal headroom
Real-time CPU & GPU
Performance requests
Elements:
•Temperature control
• Power estimation
• Performance allocation
12
Actors
Thermal Management Approach
Power
Arbiter
Perf
metrics
CPU
Pow
er m
odel
Power
Estimate
Perf
request
Delta
Power
Estimate
Granted Performance
Perf
metrics
GPU
Pow
er m
odel
Power
Estimate
Perf
request
Delta
Power
Estimate
Granted Performance
Perf
metrics
…
Pow
er m
odel
Power
Estimate
Perf
request
Delta
Power
Estimate
Granted Performance
Config
Temp.
Monitor
Policy
Central Arbiter performs two
tasks:
1.Keeps system within thermal envelope
Proactive power budget via closed loop
control
Exploits thermal headroom
2.Dynamic power allocation per actor
based on
Performance demand
Power models
PID
Power
arbitration
13
PID Controller and Power Allocation
control_temp
K_po/pu
S
tdp
-Temp
Power
Allocation
Pmax
Performance Granted
Performance Requests
e
x
x S
K_iActor 1 … Actor N
P
I
-rest_of_soc_power
∫e
∂e
∂t x
K_d
D
S Actor1..N weight
Actor1..N maxpower
Actor 1 … Actor N
PID – Controller Provides a power budget, based
on current and control temp
14
PID Controller and Power Allocation
control_temp
K_po/pu
S
tdp
-Temp
Power
Allocation
Pmax
Performance Granted
Performance Requests
e
x
x S
K_iActor 1 … Actor N
P
I
-rest_of_soc_power
∫e
∂e
∂t x
K_d
D
S Actor1..N weight
Actor1..N maxpower
Actor 1 … Actor N
Power Allocation based on:
Requested performance
Power budget
Policy
Produces final output power
17
Agenda
Background and Motivation
What is ARM Intelligent Power Allocation?
Results
Status and Conclusions
18
Configuration
Platform: Odroid XU3: 4xA15, 4xA7 ARM Mali-T628
Aims:
Target control temperature 65oC
Critical temperature 69oC
Static policy:
GPU:
4 Trip points, one for each frequency
At each trip point, max frequency is reduced
Trips at 56, 57, 58, 59 oC
A15/A7:
3 trip points at 60, 62, 64 oC
IPA:
Control temp = 65 oC
Hotplug actioned if reached 69oC
Higher priority for A7
19
Intelligent Power Allocation on Games
31% higher FPS
with IPA
Unity the Chase:
Enlighten Transporter:
8% higher FPS
with IPA
T/˚C
T/˚C
Time
Time
20
Intelligent Power Allocation SOLID Temperature Control
Unity the Chase:
Enlighten Transporter:
T/˚C
T/˚C
22
Intelligent Power Allocation in Action
IPA dynamically allocates power to CPU clusters or GPU, based on load
Temperature determines available power
You set Temperature, IPA caps Frequencies
Load determines how power is divided between CPUs (big and LITTLE) and GPU
Median filtered chart for clarity
Max OPP big
Max OPP LITTLE
Max OPP GPU
Runnin
g Fre
quency
Time (s)
GLB Trex HD [3 Runs] big
LITTLE
GPU
23
Intelligent Power Allocation in Action
Median filtered chart for clarity
Device is still cool
There are no constraints on frequency
Every actor runs at max frequency
Max OPP big
Max OPP LITTLE
Max OPP GPU
Runnin
g Fre
quency
Time (s)
GLB Trex HD [3 Runs]
IPA dynamically allocates power to CPU clusters or GPU, based on load
Temperature determines available power
You set Temperature, IPA caps Frequencies
Load determines how power is divided between CPUs (big and LITTLE) and GPU
big
LITTLE
GPU
24
Intelligent Power Allocation in Action
Median filtered chart for clarity
High load on GPU
Low load on CPU
GPU gets most of the power
Max OPP big
Max OPP LITTLE
Max OPP GPU
Runnin
g Fre
quency
Time (s)
GLB Trex HD [3 Runs]
IPA dynamically allocates power to CPU clusters or GPU, based on load
Temperature determines available power
You set Temperature, IPA caps Frequencies
Load determines how power is divided between CPUs (big and LITTLE) and GPU
big
LITTLE
GPU
25
Intelligent Power Allocation in Action
Median filtered chart for clarity
High load on CPU
Low load on GPU
CPU gets most of the power
Max OPP big
Max OPP LITTLE
Max OPP GPU
Runnin
g Fre
quency
Time (s)
big
LITTLE
GPU
GLB Trex HD [3 Runs]
IPA dynamically allocates power to CPU clusters or GPU, based on load
Temperature determines available power
You set Temperature, IPA caps Frequencies
Load determines how power is divided between CPUs (big and LITTLE) and GPU
26
Intelligent Power Allocation in Action
Median filtered chart for clarity
As the device gets hotter
IPA reduces available power to actors
to maintain temperature control
Max OPP big
Max OPP LITTLE
Max OPP GPU
Runnin
g Fre
quency
Time (s)
GLB Trex HD [3 Runs]
IPA dynamically allocates power to CPU clusters or GPU, based on load
Temperature determines available power
You set Temperature, IPA caps Frequencies
Load determines how power is divided between CPUs (big and LITTLE) and GPU
big
LITTLE
GPU
27
Agenda
Background and Motivation
What is ARM Intelligent Power Allocation?
Results
Status and Conclusions
28
ARM has produced a Linux OS implementation of IPA Demonstrates key concepts and shows benefit on real workloads
ARM contributing IPA to Linux kernel
RFCs have been sent to linux-pm
Latest: v5 RFC: https://lkml.org/lkml/2014/7/10/365
Supported by Mali DDK
Check out IPA code for ARM Juno release (includes GPU integration)
https://git.linaro.org/landing-teams/working/arm/kernel-release.git
(tag ‘lsk-3.10-armlt-juno-20140924’)
http://releases.linaro.org/14.09/members/arm/android/images/armv8-android-juno-lsk
Upstream timescales are subject to variation, depending on community feedback
ARM, Linaro, ARM partners all contributing & reviewing
IPA upstreaming – Status
29
Conclusions
ARM Intelligent Power Allocation is designed to maximise performance in the
thermal envelope:
Proactively adjusts available power budget, based on device temperature
Allocates power dynamically among actors, based on performance demand
ARM Intelligent Power Allocation shows solid thermal control and better
performance than existing Linux thermal framework
We are providing Intelligent Power Allocation to the community to as baseline for
best-in-class thermal management