SlideShare a Scribd company logo
1 of 13
Download to read offline
ASIA 2013 (LCA13)
big.LITTLE update
Power Management Working Group - v2
Vincent Guittot / Amit Kucheria / Morten Rasmussen
ASIA 2013 (LCA13)
www.linaro.org
Content
Status
Policy
Patches
Open issues
Details
ASIA 2013 (LCA13)
www.linaro.org
Status
Current Linaro kernel uses old HMP patches
New patches designed to not be HMP specific
Patches under internal review and tests
Currently under review and test by ARM and Linaro
1st results are aligned with old HMP patches
Available on git.linaro.org
See patches section
Few use cases need to be improved
See open issues section
ASIA 2013 (LCA13)
www.linaro.org
Policy
As simple as 3 rules
Pack small tasks on LITTLE cores at wake up
Balance long running tasks in priority
Choose core with best capacity
ASIA 2013 (LCA13)
www.linaro.org
Patches : some fixes
Fix nr_busy_cpus
Remove spurious trig of Idle Load Balance
https://lkml.org/lkml/2013/2/21/53
v5 under preparation
Fix load_avg with -rt task
Fix the load average tracking if only -rt tasks run on a core
https://lkml.org/lkml/2013/2/13/71
Fix active migration
Fix the target CPU of active load balance if only 1 task run on a core
https://lkml.org/lkml/2013/2/12/158
ASIA 2013 (LCA13)
www.linaro.org
Patches : load balance (1/2)
Pack small tasks
Pack small tasks on few cores (A7 for b.L)
http://lwn.net/Articles/528883/
v3 under test
Use per task load average
Weight the task contribution with the run time
Only nice priority before
Use LB_MIN feature
Balance long running tasks in priority
PST takes care of small task
ASIA 2013 (LCA13)
www.linaro.org
Patches : load balance (2/2)
Migrate on CPU with highest capacity
Use CPU with highest capacity
Tune sched_domain for b.L
Tunings for b.L platform
Reduce Periodic load balance for responsiveness
Scaling Invariance
Ensure load invariance across core and running frequency
Not available yet
ASIA 2013 (LCA13)
www.linaro.org
Open issue: nice priority - load_avg_contrib
Nice priority define a “runtime slice allocation”
load_avg_contrib is %runnable x nice_prio
nice priority -20 @ 10% : 887
nice priority 0 @ 100% : 1024
nice priority 10 @ 100% : 110
What is the best place for :
A long running task with low priority ?
AsyncTask in Android as an example
A short running tasks with high priority ?
ASIA 2013 (LCA13)
www.linaro.org
A15 cluster
capacity of 2882
CPU0
Open issue: Offloading to A7
Use A7 instead of overloading A15
Load balance puts more tasks on A15 and let an A7 idle
Example with sysbench and 5 threads
T0
CPU1
T1
T2
A7 cluster
capacity of 1883
CPU3
T3
CPU4
T4
CPU2
ASIA 2013 (LCA13)
www.linaro.org
Pack small tasks in details
Pack small tasks
on LITTLE core for big.LITTLE
Powertop results for Android MP3 playback
A15 Cluster CPU0 CPU1
WFI 0% 0%
C1 99,4% 99,9%
A7 Cluster CPU2 CPU3 CPU4
WFI 0,2% 0,1% 0,0%
C1 80,1% 97,6% 98,2%
ASIA 2013 (LCA13)
www.linaro.org
Use best core in details
Use the core with highest capacity
Periodic load balance focuses long running tasks
Ensure long running tasks are balanced in priority
A15
A15
A7
A7
A7
ASIA 2013 (LCA13)
www.linaro.org
Bbench example
Page rendering example with audio playback
WebViewCore-Thread
SurfaceFlinger
Android.browser
Audio Threads
A15
A15
A7
A7
A7
A15
A15
A7
A7
A7
More about Linaro Connect: www.linaro.org/connect/
More about Linaro: www.linaro.org/about/
More about Linaro engineering: www.linaro.org/engineering/
ASIA 2013 (LCA13)

More Related Content

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

LCA13: big.LITTLE MP Updates

  • 1. ASIA 2013 (LCA13) big.LITTLE update Power Management Working Group - v2 Vincent Guittot / Amit Kucheria / Morten Rasmussen
  • 3. ASIA 2013 (LCA13) www.linaro.org Status Current Linaro kernel uses old HMP patches New patches designed to not be HMP specific Patches under internal review and tests Currently under review and test by ARM and Linaro 1st results are aligned with old HMP patches Available on git.linaro.org See patches section Few use cases need to be improved See open issues section
  • 4. ASIA 2013 (LCA13) www.linaro.org Policy As simple as 3 rules Pack small tasks on LITTLE cores at wake up Balance long running tasks in priority Choose core with best capacity
  • 5. ASIA 2013 (LCA13) www.linaro.org Patches : some fixes Fix nr_busy_cpus Remove spurious trig of Idle Load Balance https://lkml.org/lkml/2013/2/21/53 v5 under preparation Fix load_avg with -rt task Fix the load average tracking if only -rt tasks run on a core https://lkml.org/lkml/2013/2/13/71 Fix active migration Fix the target CPU of active load balance if only 1 task run on a core https://lkml.org/lkml/2013/2/12/158
  • 6. ASIA 2013 (LCA13) www.linaro.org Patches : load balance (1/2) Pack small tasks Pack small tasks on few cores (A7 for b.L) http://lwn.net/Articles/528883/ v3 under test Use per task load average Weight the task contribution with the run time Only nice priority before Use LB_MIN feature Balance long running tasks in priority PST takes care of small task
  • 7. ASIA 2013 (LCA13) www.linaro.org Patches : load balance (2/2) Migrate on CPU with highest capacity Use CPU with highest capacity Tune sched_domain for b.L Tunings for b.L platform Reduce Periodic load balance for responsiveness Scaling Invariance Ensure load invariance across core and running frequency Not available yet
  • 8. ASIA 2013 (LCA13) www.linaro.org Open issue: nice priority - load_avg_contrib Nice priority define a “runtime slice allocation” load_avg_contrib is %runnable x nice_prio nice priority -20 @ 10% : 887 nice priority 0 @ 100% : 1024 nice priority 10 @ 100% : 110 What is the best place for : A long running task with low priority ? AsyncTask in Android as an example A short running tasks with high priority ?
  • 9. ASIA 2013 (LCA13) www.linaro.org A15 cluster capacity of 2882 CPU0 Open issue: Offloading to A7 Use A7 instead of overloading A15 Load balance puts more tasks on A15 and let an A7 idle Example with sysbench and 5 threads T0 CPU1 T1 T2 A7 cluster capacity of 1883 CPU3 T3 CPU4 T4 CPU2
  • 10. ASIA 2013 (LCA13) www.linaro.org Pack small tasks in details Pack small tasks on LITTLE core for big.LITTLE Powertop results for Android MP3 playback A15 Cluster CPU0 CPU1 WFI 0% 0% C1 99,4% 99,9% A7 Cluster CPU2 CPU3 CPU4 WFI 0,2% 0,1% 0,0% C1 80,1% 97,6% 98,2%
  • 11. ASIA 2013 (LCA13) www.linaro.org Use best core in details Use the core with highest capacity Periodic load balance focuses long running tasks Ensure long running tasks are balanced in priority A15 A15 A7 A7 A7
  • 12. ASIA 2013 (LCA13) www.linaro.org Bbench example Page rendering example with audio playback WebViewCore-Thread SurfaceFlinger Android.browser Audio Threads A15 A15 A7 A7 A7 A15 A15 A7 A7 A7
  • 13. More about Linaro Connect: www.linaro.org/connect/ More about Linaro: www.linaro.org/about/ More about Linaro engineering: www.linaro.org/engineering/ ASIA 2013 (LCA13)