SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Integrated Computer Solutions Inc.
Improving User Experience with Ubiquitous QuickBoot
Jeff Tranter, ICS
Andrew McNaughton, Ubiquitous AI
Integrated Computer Solutions Inc.
Jeff Tranter
Engineering Manager
ICS
Optimizing Boot Times for Embedded Systems
Integrated Computer Solutions Inc.
Optimizing Boot Times for Embedded Systems
1. The Importance of Fast Booting.
2. OS/Linux Distribution Choice Considerations.
3. Specific Optimization Techniques.
4. Qt-Specific Optimizations.
5. Minimizing Impact on UI.
6. Summary and Conclusions.
3
Integrated Computer Solutions Inc.
The Importance of Fast Booting
● Fast boot times are critical for embedded applications.
● Slow boot is, at best, an inconvenience (e.g. automotive IVI system).
● At worst, life and death (e.g. medical defibrillator).
● Cost impact: may require use of faster and more expensive hardware
platform.
● Increasingly challenging as software becomes larger and more complex at a
greater rate than hardware.
4
Integrated Computer Solutions Inc.
The Importance of Fast Booting
● Conceptually, boot time is the time from power on to the device being fully up
and running, including user interface (if applicable).
● Will want to look at and optimize all the phases of booting:
● Power on -> SPL -> boot loader -> kernel -> init -> application
● Recommend measuring, quantifying, and focussing on slowest areas first.
● Will look at some specific approaches and techniques.
5
Integrated Computer Solutions Inc.
OS/Linux Distribution Choice Considerations
● One approach is to use an operating system developed for desktop (e.g. Linux
or Windows) and adapt it to embedded.
● This will bring in many applications, processes, services which are not
required.
● While you can cut it down to only what is required, this can be a significant
effort and difficult to do at the end of the development process.
● Better to use an operating system/distribution designed specifically for
embedded (e.g. Yocto Linux).
6
Integrated Computer Solutions Inc.
Remove Unused Services and Processes
● Minimize running services and processes to only those that are needed.
● Will help at boot and run time and reduce memory usage and CPU load.
● Also desirable for cybersecurity.
● Can start services on demand when needed.
● Systemd has some advantages over SysVinit (e.g. makes it easier to
parallelize job execution).
7
Integrated Computer Solutions Inc.
Qt-Specific Optimizations
● Embedding files as Qt resources in the application generally improves
performance, but can be an issue for large assets like videos.
● Enable ahead-of-time caching of compiled QML so this does not happen at
run time and slow down the initial run of the application.
● Also has the benefit that the QML source code is no longer in the application,
making reverse engineering harder.
● Usually just need to add "CONFIG += qtquickcompiler"
● The application binary is typically only slightly larger.
8
Integrated Computer Solutions Inc.
Misc. Techniques
● Explore optimal compiler and compile options.
● Remove any delays in your boot loader (e.g. U-Boot waiting for key press).
● Disable console.
● Remove unneeded drivers from kernel that scan for non-existent devices
(smaller kernel also boots faster).
● Memory checks in boot loader.
● Avoid/minimize file system checks on boot.
9
Integrated Computer Solutions Inc.
Misc. Techniques
● Statically linked applications can start up faster (but may be licensing
implications for LGPL code, etc.)
● Use of compiled languages (e.g. C, C++) versus interpreted or JIT (e.g.
Python, Java).
● May want to use a small RTOS or "bare metal" to minimize application size
and boot time.
● Qt for MCUs is an option with RTOS or bare metal.
● Useful tools: grabserial, bootchart
10
Integrated Computer Solutions Inc.
Minimizing Impact on UI
Various techniques to hide or minimize impact of boot time on the user:
● Splash screen early on startup.
● Run time consuming functions in the background so UI comes up earlier.
● Suspend/resume/hibernate solutions and products like Quick Boot.
● Always keep device running (impact on power consumption unless device can
go into a low power/sleep mode).
11
Integrated Computer Solutions Inc.
Summary and Conclusions
● Fast boot times are critical for embedded systems.
● Various techniques to reduce boot times.
● Tackle it early: more difficult to solve late in the project.
12
Integrated Computer Solutions Inc.
Andrew McNaughton
Senior Manager
Ubiquitous AI Corporation
Integrated Computer Solutions Inc.
Founded in 2001, Ubiquitous AI Corporation is a Leading Embedded
Software Development Company, headquartered in Tokyo,
Japan. Ubiquitous AI Corporation is a Public Company listed on the
JASDAQ Stock Exchange (3858).
https://www.ubiquitous-ai.com/en/
● Connectivity & Security
● Embedded Database - DeviceSQL
● QuickBoot
2
Integrated Computer Solutions Inc.
What is QuickBoot ?
3
● Advanced Hibernation Technology
● Rapid Boot from a complete Power Down State.
● Delivered as an SDK
Integrated Computer Solutions Inc.
Uses
● Shorten the Boot Time for a better User Experience
● Use No Power State to Save Energy / Maximize battery
● Faster Development
4
Integrated Computer Solutions Inc.
Over 40 Million Devices
5
Integrated Computer Solutions Inc.
QuickBoot vs Hibernation
6
Entire Image is
Restored
Prioritized Image
Restoration
Integrated Computer Solutions Inc.
Super Fast Boot
● Unique Technologies:
The Snapshot Image only needs to be partially loaded
before the device is up and running
● Optimization:
QuickBoot’s Optimization Features help customers
optimize their Boot Time
● Compression:
Compress the Snapshot Image to reduce disk usage and
increase boot performance
7
Integrated Computer Solutions Inc.
Experience
● Over 40 Million Devices with QuickBoot installed
● Millions of new devices ship with QuickBoot every year.
● Leverage Ubiquitous’ experience in developing great user
experiences and reducing cold boot times.
8
Integrated Computer Solutions Inc.
SDK
● Source Code for Kernel, Bootloader and Storage Driver all
provided for easy debugging and integration
● Custom Core - ported to your development environment
9
Integrated Computer Solutions Inc.
Technical Details
10
Integrated Computer Solutions Inc.
Requirements
● ARM CPU - v5, v6, v7, v8 (AArch32, AArch64)
x86_64 CPU - Bay Trail, Apollo Lake
● RAM
- min. 192 KiB for QuickBoot BIOS
- avg. 8 MiB in Kernel
● Storage
- eMMC, SD, NAND, NOR
- Contiguous partition for Snapshot Image
● Linux - 3.x, 4.x, 5.x
Android 4 and above
11
Integrated Computer Solutions Inc.
QuickBoot Software Stack
12
Integrated Computer Solutions Inc.
QuickBoot Sequence
13
Integrated Computer Solutions Inc.
Snapshot Creation Sequence
14
Integrated Computer Solutions Inc.
QuickBoot Configuration
● Static Mode
● One Snapshot Image used for QuickBoot
● Settings and State must be restored Manually
● System Resumes to same State
● Dynamic Mode
● Snapshot Image Saved at Shutdown
● System Resumes to last State Automatically
● Settings Restored Automatically
● Android
● Install Apps, Restore Settings, OTA
15
Integrated Computer Solutions Inc.
QuickBoot Features
● Read Boost
● Maximize eMMC throughput
● Minimize Preload time
● Interruptible
● QuickBoot can be interrupted at any time
● Concurrent Threads
● Implement own threads which run while QuickBooting
16
Integrated Computer Solutions Inc.
Snapshot Customization
● Learning Feature
● Adjust Preload Data size
● Update Snapshot Image after QuickBoot
● Automatic
● Preload Customization
● Specify exact Memory ranges to add to Preload
● Manual
17
Integrated Computer Solutions Inc.
Secure Boot
● Tampering Detection
● QuickBoot Binaries
● Snapshot Image
● Digest Lookup
● Integration
● ATF
● SoC / Hardware Key Store
● Encryption / Hashing
18
Integrated Computer Solutions Inc.
QuickBoot Demo
19
Integrated Computer Solutions Inc.
Linux on STMicroelectronics STA1295A
20
Integrated Computer Solutions Inc.
Android on MediaTek MT2712
21
Integrated Computer Solutions Inc.
DON'T WAIT. QUICKBOOT

Weitere ähnliche Inhalte

Was ist angesagt?

XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
The Linux Foundation
 

Was ist angesagt? (20)

Loosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effectLoosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effect
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
 
Aplit-Soft
Aplit-Soft Aplit-Soft
Aplit-Soft
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
Gary Brown (Movidius, Intel): Deep Learning in AR: the 3 Year Horizon
Gary Brown (Movidius, Intel): Deep Learning in AR: the 3 Year HorizonGary Brown (Movidius, Intel): Deep Learning in AR: the 3 Year Horizon
Gary Brown (Movidius, Intel): Deep Learning in AR: the 3 Year Horizon
 
Inthinc waysmart case study
Inthinc waysmart case studyInthinc waysmart case study
Inthinc waysmart case study
 
Automotive 101: Current Trends Viacheslav Salnikov
Automotive 101: Current Trends  Viacheslav SalnikovAutomotive 101: Current Trends  Viacheslav Salnikov
Automotive 101: Current Trends Viacheslav Salnikov
 
Intel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of ThingsIntel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of Things
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5
 
Cloud Computing Latest
Cloud Computing LatestCloud Computing Latest
Cloud Computing Latest
 
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
 
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, IntelXPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
XPDS16: Live scalability for vGPU using gScale - Xiao Zheng, Intel
 
An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...
 
Android device driver structure introduction
Android device driver structure introductionAndroid device driver structure introduction
Android device driver structure introduction
 
Intels presentation at blue line industrial computer seminar
Intels presentation at blue line industrial computer seminarIntels presentation at blue line industrial computer seminar
Intels presentation at blue line industrial computer seminar
 
Deploying Image Classifiers on Intel® Movidius™ Neural Compute Stick
Deploying Image Classifiers on Intel® Movidius™ Neural Compute StickDeploying Image Classifiers on Intel® Movidius™ Neural Compute Stick
Deploying Image Classifiers on Intel® Movidius™ Neural Compute Stick
 
Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*
 
Reducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System ConsolidationReducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System Consolidation
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 

Ähnlich wie Improving User Experience with Ubiquitous QuickBoot

Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
Vivek Kumar
 
A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...
BouchraBourass
 
booting-booster-final-20160420-0700
booting-booster-final-20160420-0700booting-booster-final-20160420-0700
booting-booster-final-20160420-0700
Samsung Electronics
 

Ähnlich wie Improving User Experience with Ubiquitous QuickBoot (20)

TI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBootTI TechDays 2010: swiftBoot
TI TechDays 2010: swiftBoot
 
Renesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal BootRenesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal Boot
 
ERTS_IV_ECE.pptx
ERTS_IV_ECE.pptxERTS_IV_ECE.pptx
ERTS_IV_ECE.pptx
 
Ppt on embedded system
Ppt on embedded systemPpt on embedded system
Ppt on embedded system
 
ELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot TimesELC-E 2010: The Right Approach to Minimal Boot Times
ELC-E 2010: The Right Approach to Minimal Boot Times
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Final presentasi gnome asia
Final presentasi gnome asiaFinal presentasi gnome asia
Final presentasi gnome asia
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
 
Reducing boot time in embedded Linux
Reducing boot time in embedded LinuxReducing boot time in embedded Linux
Reducing boot time in embedded Linux
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
 
A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...A framework for optimization of the boot time on embedded linux environment w...
A framework for optimization of the boot time on embedded linux environment w...
 
booting-booster-final-20160420-0700
booting-booster-final-20160420-0700booting-booster-final-20160420-0700
booting-booster-final-20160420-0700
 
Play with Micro-controller(Embedded Development)
Play with Micro-controller(Embedded Development)Play with Micro-controller(Embedded Development)
Play with Micro-controller(Embedded Development)
 
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
Innovate 2014: Get an A+ on Testing Your Enterprise Applications with Rationa...
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introduction
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
 

Mehr von ICS

Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
 

Mehr von ICS (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdf
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management Solution
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoT
 

Kürzlich hochgeladen

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 

Improving User Experience with Ubiquitous QuickBoot

  • 1. Integrated Computer Solutions Inc. Improving User Experience with Ubiquitous QuickBoot Jeff Tranter, ICS Andrew McNaughton, Ubiquitous AI
  • 2. Integrated Computer Solutions Inc. Jeff Tranter Engineering Manager ICS Optimizing Boot Times for Embedded Systems
  • 3. Integrated Computer Solutions Inc. Optimizing Boot Times for Embedded Systems 1. The Importance of Fast Booting. 2. OS/Linux Distribution Choice Considerations. 3. Specific Optimization Techniques. 4. Qt-Specific Optimizations. 5. Minimizing Impact on UI. 6. Summary and Conclusions. 3
  • 4. Integrated Computer Solutions Inc. The Importance of Fast Booting ● Fast boot times are critical for embedded applications. ● Slow boot is, at best, an inconvenience (e.g. automotive IVI system). ● At worst, life and death (e.g. medical defibrillator). ● Cost impact: may require use of faster and more expensive hardware platform. ● Increasingly challenging as software becomes larger and more complex at a greater rate than hardware. 4
  • 5. Integrated Computer Solutions Inc. The Importance of Fast Booting ● Conceptually, boot time is the time from power on to the device being fully up and running, including user interface (if applicable). ● Will want to look at and optimize all the phases of booting: ● Power on -> SPL -> boot loader -> kernel -> init -> application ● Recommend measuring, quantifying, and focussing on slowest areas first. ● Will look at some specific approaches and techniques. 5
  • 6. Integrated Computer Solutions Inc. OS/Linux Distribution Choice Considerations ● One approach is to use an operating system developed for desktop (e.g. Linux or Windows) and adapt it to embedded. ● This will bring in many applications, processes, services which are not required. ● While you can cut it down to only what is required, this can be a significant effort and difficult to do at the end of the development process. ● Better to use an operating system/distribution designed specifically for embedded (e.g. Yocto Linux). 6
  • 7. Integrated Computer Solutions Inc. Remove Unused Services and Processes ● Minimize running services and processes to only those that are needed. ● Will help at boot and run time and reduce memory usage and CPU load. ● Also desirable for cybersecurity. ● Can start services on demand when needed. ● Systemd has some advantages over SysVinit (e.g. makes it easier to parallelize job execution). 7
  • 8. Integrated Computer Solutions Inc. Qt-Specific Optimizations ● Embedding files as Qt resources in the application generally improves performance, but can be an issue for large assets like videos. ● Enable ahead-of-time caching of compiled QML so this does not happen at run time and slow down the initial run of the application. ● Also has the benefit that the QML source code is no longer in the application, making reverse engineering harder. ● Usually just need to add "CONFIG += qtquickcompiler" ● The application binary is typically only slightly larger. 8
  • 9. Integrated Computer Solutions Inc. Misc. Techniques ● Explore optimal compiler and compile options. ● Remove any delays in your boot loader (e.g. U-Boot waiting for key press). ● Disable console. ● Remove unneeded drivers from kernel that scan for non-existent devices (smaller kernel also boots faster). ● Memory checks in boot loader. ● Avoid/minimize file system checks on boot. 9
  • 10. Integrated Computer Solutions Inc. Misc. Techniques ● Statically linked applications can start up faster (but may be licensing implications for LGPL code, etc.) ● Use of compiled languages (e.g. C, C++) versus interpreted or JIT (e.g. Python, Java). ● May want to use a small RTOS or "bare metal" to minimize application size and boot time. ● Qt for MCUs is an option with RTOS or bare metal. ● Useful tools: grabserial, bootchart 10
  • 11. Integrated Computer Solutions Inc. Minimizing Impact on UI Various techniques to hide or minimize impact of boot time on the user: ● Splash screen early on startup. ● Run time consuming functions in the background so UI comes up earlier. ● Suspend/resume/hibernate solutions and products like Quick Boot. ● Always keep device running (impact on power consumption unless device can go into a low power/sleep mode). 11
  • 12. Integrated Computer Solutions Inc. Summary and Conclusions ● Fast boot times are critical for embedded systems. ● Various techniques to reduce boot times. ● Tackle it early: more difficult to solve late in the project. 12
  • 13. Integrated Computer Solutions Inc. Andrew McNaughton Senior Manager Ubiquitous AI Corporation
  • 14. Integrated Computer Solutions Inc. Founded in 2001, Ubiquitous AI Corporation is a Leading Embedded Software Development Company, headquartered in Tokyo, Japan. Ubiquitous AI Corporation is a Public Company listed on the JASDAQ Stock Exchange (3858). https://www.ubiquitous-ai.com/en/ ● Connectivity & Security ● Embedded Database - DeviceSQL ● QuickBoot 2
  • 15. Integrated Computer Solutions Inc. What is QuickBoot ? 3 ● Advanced Hibernation Technology ● Rapid Boot from a complete Power Down State. ● Delivered as an SDK
  • 16. Integrated Computer Solutions Inc. Uses ● Shorten the Boot Time for a better User Experience ● Use No Power State to Save Energy / Maximize battery ● Faster Development 4
  • 17. Integrated Computer Solutions Inc. Over 40 Million Devices 5
  • 18. Integrated Computer Solutions Inc. QuickBoot vs Hibernation 6 Entire Image is Restored Prioritized Image Restoration
  • 19. Integrated Computer Solutions Inc. Super Fast Boot ● Unique Technologies: The Snapshot Image only needs to be partially loaded before the device is up and running ● Optimization: QuickBoot’s Optimization Features help customers optimize their Boot Time ● Compression: Compress the Snapshot Image to reduce disk usage and increase boot performance 7
  • 20. Integrated Computer Solutions Inc. Experience ● Over 40 Million Devices with QuickBoot installed ● Millions of new devices ship with QuickBoot every year. ● Leverage Ubiquitous’ experience in developing great user experiences and reducing cold boot times. 8
  • 21. Integrated Computer Solutions Inc. SDK ● Source Code for Kernel, Bootloader and Storage Driver all provided for easy debugging and integration ● Custom Core - ported to your development environment 9
  • 22. Integrated Computer Solutions Inc. Technical Details 10
  • 23. Integrated Computer Solutions Inc. Requirements ● ARM CPU - v5, v6, v7, v8 (AArch32, AArch64) x86_64 CPU - Bay Trail, Apollo Lake ● RAM - min. 192 KiB for QuickBoot BIOS - avg. 8 MiB in Kernel ● Storage - eMMC, SD, NAND, NOR - Contiguous partition for Snapshot Image ● Linux - 3.x, 4.x, 5.x Android 4 and above 11
  • 24. Integrated Computer Solutions Inc. QuickBoot Software Stack 12
  • 25. Integrated Computer Solutions Inc. QuickBoot Sequence 13
  • 26. Integrated Computer Solutions Inc. Snapshot Creation Sequence 14
  • 27. Integrated Computer Solutions Inc. QuickBoot Configuration ● Static Mode ● One Snapshot Image used for QuickBoot ● Settings and State must be restored Manually ● System Resumes to same State ● Dynamic Mode ● Snapshot Image Saved at Shutdown ● System Resumes to last State Automatically ● Settings Restored Automatically ● Android ● Install Apps, Restore Settings, OTA 15
  • 28. Integrated Computer Solutions Inc. QuickBoot Features ● Read Boost ● Maximize eMMC throughput ● Minimize Preload time ● Interruptible ● QuickBoot can be interrupted at any time ● Concurrent Threads ● Implement own threads which run while QuickBooting 16
  • 29. Integrated Computer Solutions Inc. Snapshot Customization ● Learning Feature ● Adjust Preload Data size ● Update Snapshot Image after QuickBoot ● Automatic ● Preload Customization ● Specify exact Memory ranges to add to Preload ● Manual 17
  • 30. Integrated Computer Solutions Inc. Secure Boot ● Tampering Detection ● QuickBoot Binaries ● Snapshot Image ● Digest Lookup ● Integration ● ATF ● SoC / Hardware Key Store ● Encryption / Hashing 18
  • 31. Integrated Computer Solutions Inc. QuickBoot Demo 19
  • 32. Integrated Computer Solutions Inc. Linux on STMicroelectronics STA1295A 20
  • 33. Integrated Computer Solutions Inc. Android on MediaTek MT2712 21
  • 34. Integrated Computer Solutions Inc. DON'T WAIT. QUICKBOOT