SlideShare a Scribd company logo
1 of 17
Download to read offline
HKG18-210: Product codeline
optimizations
Daniel Lezcano
Introduction
● Big Little architecture and DynamiQ
● 3D constraints: latency vs throughput vs power
management
● Automated test suite : regressions detected as soon as
possible
● Improvements identification
● Kernel changes tracking : Vanilla and AOSP
Continuous integration
● Automatic process:
○ Merge of different branches
○ Compilation
○ Testing + measurements
○ Report
○ Data presentation
● Integration process triggered only if there is a change
in one of the branches
Continuous integration - branches merge
● Devs add their branches in the configuration file
● All branches are monitored
● Any change triggers a merge
● Merges are automatic, except in case of conflict
○ Reuse-Recorded-Resolution
○ Manual resolution
● One branch as the base branch on a platform reference
● One branch for the missing hardware support of the platform reference
● N branches from developers
Continuous integration - branches merge
Branch 1
Branch 2
Branch N
android-4.9
Branch .. android-4.9-hikey-pmwg
hikey[960] - branch
AOSP kernel
continuous
integration
Scheduled merge
git push
git.linaro.org
Notification
Continuous integration - LAVA + WA
● LAVA jobs triggered by the git tree update
● Compiles and boot
● Runs a Workload automation
● Do energy measurements
● Report back build results
● Report back offending changes in branch
● Report back the data
● Data mining with LISA
● Graphical presentation
Continuous integration - LAVA + WA
git.linaro.org
Workload Automation
pmwg.validation.linaro.org
Agenda Energy
Compilation
Boot
Post build processing
Post test processing
LISA Script
ci.linaro.org
qa-reports.linaro.org
Continuous integration - Status
Feature Status Comment
Branches merge script
Notification after build / boot / tests CT&T
Automatic branch change detection from LAVA CT&T
Workload automation agenda
Energy measurement
Build / boot / test report CT&T
Data mining with LISA Available scripts ?
Graphical web presentation
Data permission access - critical Access PMWG only - feature exists
Test cases
● Homescreen
○ Small task placement on an idle system
● Exoplayer audio
○ Small task placement on an idle system
● Exoplayer video
○ Balanced workload with multiple threads
● Camera
○ High workload with multiple threads
● UIbench
○ Responsiveness, task placement and optimal DVFS
● Temple run [2]
○ Task placement one big thread, several small threads
● Beach buggy blitz
○ Startup screen is CPU and graphic intensive, check DVFS adjustment
speed
Test cases
● Vellamo
○ Check CPUs synergy is not degraded
● UI responsiveness benchmark
○ Check user experience is not degraded
A more detailed summary at https://goo.gl/Hx6UWB
● Traces, statistics, metrics defined there (WIP)
Identifying glitches
● Grouping observations based on test cases
○ https://goo.gl/U54BU7 (WIP)
● Dhrystone
○ Little CPUs finish before big CPUs due to thermal throttling
○ That is not always the case; to be double checked
● Exoplayer audio and homescreen
○ Big CPUs used instead of the little ones
● Sounds like we have conflicting objectives between what
the EAS solves and what schedtune tries to improve
○ Prefer_idle option will always favorize the big CPUs, for better user
experience but at the cost of extra energy consumption
Identifying improvements
● Energy calculation optimization
● Select candidate CPUs on cluster basis
● Consider RT pressure for candidate selection and energy
calculation
● Consider boost margin for candidate selection and energy
calculation
● Handle task placement when task utilization = 0
● Consider coordinate axis and origin with schedtune
● Optimized thermal mitigation with combo cooling device
Identifying improvements
● Anticipated wakeup
○ In order to reduce the latencies, the CPU is wake up a bit before the
expected wake up, the exit latency of the idle state won’t impact the
user experience
● Per task latency
○ Give the opportunity to the userspace to set for a specific task the
desired latency
○ This information can be reuse in the scheduler to optimize the task
placement
● Schedtune
○ The above two improvements should solve a big part of what
schedtune wants to solve
○ Less applications in top-app and foreground ?
○ What about SCHED_IDLE / SCHED_BATCH ?
Upstreaming
● Keep track of the different changes
● Identify the ones to go for android-4.9
● Identify the ones to be merged upstream
● Group already existing patches from Linaro and ARM
Upstreaming
● Thermal
○ Hi960 thermal driver backported from mainline
○ Legacy thermal driver to be removed
○ play_idle() series backported from mainline
● Cpuidle
○ Asymmetric CPUs support backport from mainline
○ Legacy cpuidle driver to be removed
● Ahead of upstream merge
○ Idle injection thermal driver ported to Android 4.9
○ Combo cooling device being ported to Android 4.9 (WIP)
ARM collaboration
● ARM / Linaro collaboration web page : https://goo.gl/jebWXR
● Chris Redpath / Daniel Lezcano contact points for collaboration
● Patrick Bellasi to help for existing tests and LISA scripts ?
● Any branches we can bring to the continuous integration tree ?
● Please Linaro and ARM Cc’ed for the emails so we can keep track of what is
happening
● Mailing list for EAS development: eas-dev@lists.linaro.org
● Lightning meeting every week - status sent
Thank You
#HKG18
HKG18 keynotes and videos on: connect.linaro.org
For further information: www.linaro.org

More Related Content

More from 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...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 mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
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 mainlineLinaro
 
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 allLinaro
 
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 HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
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.MX8MLinaro
 
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 bootLinaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...Linaro
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramLinaro
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNLinaro
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...Linaro
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...Linaro
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionLinaro
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersLinaro
 
HKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with CoresightHKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with CoresightLinaro
 

More from Linaro (20)

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
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 Servers
 
HKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with CoresightHKG18-TR14 - Postmortem Debugging with Coresight
HKG18-TR14 - Postmortem Debugging with Coresight
 

Recently uploaded

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?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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 2024The Digital Insurer
 

Recently uploaded (20)

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?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - 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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 

HKG18-210 - Product codeline optimization

  • 2. Introduction ● Big Little architecture and DynamiQ ● 3D constraints: latency vs throughput vs power management ● Automated test suite : regressions detected as soon as possible ● Improvements identification ● Kernel changes tracking : Vanilla and AOSP
  • 3. Continuous integration ● Automatic process: ○ Merge of different branches ○ Compilation ○ Testing + measurements ○ Report ○ Data presentation ● Integration process triggered only if there is a change in one of the branches
  • 4. Continuous integration - branches merge ● Devs add their branches in the configuration file ● All branches are monitored ● Any change triggers a merge ● Merges are automatic, except in case of conflict ○ Reuse-Recorded-Resolution ○ Manual resolution ● One branch as the base branch on a platform reference ● One branch for the missing hardware support of the platform reference ● N branches from developers
  • 5. Continuous integration - branches merge Branch 1 Branch 2 Branch N android-4.9 Branch .. android-4.9-hikey-pmwg hikey[960] - branch AOSP kernel continuous integration Scheduled merge git push git.linaro.org Notification
  • 6. Continuous integration - LAVA + WA ● LAVA jobs triggered by the git tree update ● Compiles and boot ● Runs a Workload automation ● Do energy measurements ● Report back build results ● Report back offending changes in branch ● Report back the data ● Data mining with LISA ● Graphical presentation
  • 7. Continuous integration - LAVA + WA git.linaro.org Workload Automation pmwg.validation.linaro.org Agenda Energy Compilation Boot Post build processing Post test processing LISA Script ci.linaro.org qa-reports.linaro.org
  • 8. Continuous integration - Status Feature Status Comment Branches merge script Notification after build / boot / tests CT&T Automatic branch change detection from LAVA CT&T Workload automation agenda Energy measurement Build / boot / test report CT&T Data mining with LISA Available scripts ? Graphical web presentation Data permission access - critical Access PMWG only - feature exists
  • 9. Test cases ● Homescreen ○ Small task placement on an idle system ● Exoplayer audio ○ Small task placement on an idle system ● Exoplayer video ○ Balanced workload with multiple threads ● Camera ○ High workload with multiple threads ● UIbench ○ Responsiveness, task placement and optimal DVFS ● Temple run [2] ○ Task placement one big thread, several small threads ● Beach buggy blitz ○ Startup screen is CPU and graphic intensive, check DVFS adjustment speed
  • 10. Test cases ● Vellamo ○ Check CPUs synergy is not degraded ● UI responsiveness benchmark ○ Check user experience is not degraded A more detailed summary at https://goo.gl/Hx6UWB ● Traces, statistics, metrics defined there (WIP)
  • 11. Identifying glitches ● Grouping observations based on test cases ○ https://goo.gl/U54BU7 (WIP) ● Dhrystone ○ Little CPUs finish before big CPUs due to thermal throttling ○ That is not always the case; to be double checked ● Exoplayer audio and homescreen ○ Big CPUs used instead of the little ones ● Sounds like we have conflicting objectives between what the EAS solves and what schedtune tries to improve ○ Prefer_idle option will always favorize the big CPUs, for better user experience but at the cost of extra energy consumption
  • 12. Identifying improvements ● Energy calculation optimization ● Select candidate CPUs on cluster basis ● Consider RT pressure for candidate selection and energy calculation ● Consider boost margin for candidate selection and energy calculation ● Handle task placement when task utilization = 0 ● Consider coordinate axis and origin with schedtune ● Optimized thermal mitigation with combo cooling device
  • 13. Identifying improvements ● Anticipated wakeup ○ In order to reduce the latencies, the CPU is wake up a bit before the expected wake up, the exit latency of the idle state won’t impact the user experience ● Per task latency ○ Give the opportunity to the userspace to set for a specific task the desired latency ○ This information can be reuse in the scheduler to optimize the task placement ● Schedtune ○ The above two improvements should solve a big part of what schedtune wants to solve ○ Less applications in top-app and foreground ? ○ What about SCHED_IDLE / SCHED_BATCH ?
  • 14. Upstreaming ● Keep track of the different changes ● Identify the ones to go for android-4.9 ● Identify the ones to be merged upstream ● Group already existing patches from Linaro and ARM
  • 15. Upstreaming ● Thermal ○ Hi960 thermal driver backported from mainline ○ Legacy thermal driver to be removed ○ play_idle() series backported from mainline ● Cpuidle ○ Asymmetric CPUs support backport from mainline ○ Legacy cpuidle driver to be removed ● Ahead of upstream merge ○ Idle injection thermal driver ported to Android 4.9 ○ Combo cooling device being ported to Android 4.9 (WIP)
  • 16. ARM collaboration ● ARM / Linaro collaboration web page : https://goo.gl/jebWXR ● Chris Redpath / Daniel Lezcano contact points for collaboration ● Patrick Bellasi to help for existing tests and LISA scripts ? ● Any branches we can bring to the continuous integration tree ? ● Please Linaro and ARM Cc’ed for the emails so we can keep track of what is happening ● Mailing list for EAS development: eas-dev@lists.linaro.org ● Lightning meeting every week - status sent
  • 17. Thank You #HKG18 HKG18 keynotes and videos on: connect.linaro.org For further information: www.linaro.org