+ All Categories
Home > Technology > SFO15-411: Energy Aware Scheduling: Power vs. Performance policy - Part 1

SFO15-411: Energy Aware Scheduling: Power vs. Performance policy - Part 1

Date post: 11-Apr-2017
Category:
Upload: linaro
View: 779 times
Download: 1 times
Share this document with a friend
20
Presented by Date Event SFO15-411: Energy Aware Scheduling: Power vs. Performance policy Part 1 Vincent Guittot Vincent Guittot Wednesday 23 September 2015 SFO15
Transcript

Presented by

Date

Event

SFO15-411: Energy Aware Scheduling: Power vs.

Performance policyPart 1

Vincent GuittotVincent Guittot

Wednesday 23 September 2015

SFO15

Agenda

● EAS Energy Model vs. Dumb policy

● Evolution of cpu usage calculations

Energy Model

● Intro● Setup● Power model● use case● Measurements

Introduction

EAS uses an energy model to select the most energy efficient CPU● Does this model outperform the dumbest power policy?

○ Always use LITTLE cpus if available○ Always prioritise use of core with lowest OPP

Setup

● mt8173evb board● kernel v4.2-rcX

○ EAS v5○ enabling EAS for arm64 and mt8173

● rt-app to generate workload● trace-cmd to record use case● highchart to display results

Energy Model one A53@1,4Ghzis less efficient thanone A57@507Mhz

Use case

● 3 threads○ Ta & Tb: 95% of A53 @ 1.18Ghz○ Tc: 17% of A53 @ 1.18Ghz

● Total compute capacity○ Don’t fit in A53 @ 1.18Ghz○ But fit in A53 @ 1.4Ghz

● Config 1 (Dumb policy)○ Increase A53 OPP @ 1.4Ghz

● Config 2 (EAS Energy model)○ Use A57 @ 507Mhz for Tc

9.5msTa

9.5msTb

Tc

8msTa

8msTb

Tc 1.4ms

A53@ 1.18

Ghz

A53@ 1.4Ghz

1.7ms

Results

● Config 1 (Dumb policy)○ Ta, Tb & Tc on A53 @1.4Ghz

● Config 2 (EAS Energy model)○ Ta & Tb on A53 @1.18Ghz○ and Tc on A57 @507Mhz

● EAS v5 real behavior○ Ta & Tb on A53 @1.5~1.4Ghz○ and Tc on A57 @507Mhz

10sec config1 config2 easv5

A53 (J) 6.051 4.609 5.719

A57 (J) 0.283 0.771 0.772

Total (J) (including cache)

6.392 5.549 6.576

Sched-dvfs uses a margin not included by EAS

when using the energy model

Evolution of cpu usage

● Intro● Setup● Basic● Idle CPU● Wake up / Sleep● DVFS● Task migration

Introduction

Kernel 4.3 will have a new version of Per Entity Load Tracking● smoother variation

○ include both runnable and blocked tasks● optimization of wake up hot path

Setup

● mt8173evb board● kernel v4.2-rc1

○ +tip/sched/core○ +under review mt8173 patches○ +enabling freq invariance for arm64 and mt8173

● New trace events to track load● rt-app to generate workload● trace-cmd to record use case● highchart to display results

Basic

● not linear○ logarithmic shape

● rounding effect○ small decrease whereas running

● periodic update (tick)○ step shape

● No update during idle 300mstask A

Idle CPU

● No update during idle● But when leaving Idle

task A

task B

Idle CPU

● No update during idle● But during Idle Load Balance

tasks A/B

task C

ILB

Task wake up / sleep

● Don’t impact usage and load● Only impact runnable

○ used to keep legacy load balancing zoom next slide

300mstask Atask B

loadrunnable

usage

Task wake up / sleep

● Don’t impact usage and load● Only impact runnable

○ used to keep legacy load balancing

small task activity

task Atask B

loadrunnable

usage

Task wake up / sleep

● Don’t impact usage and load● Only impact runnable

○ used to keep legacy load balancing

task Atask B

load

usage

CPU wake up / sleep

● Entering idle state○ Nothing

● Leaving idle state○ util and load are updated

300mstask Atask B

DVFS

● util is weighted by freq○ max value weighted too

● load & runnable not weighted○ bad impact on current load

balancing

Tasks migration

● sharp change of util and load○ can raise above max value

● same for following events○ new/fork/exec○ dead○ set scheduling class

max theoretical value


Recommended