Method for Profile-Guided Optimization of Android Applications Using Random Forest

When choosing a smartphone, many users are guided by the performance of smartphones and the speed of applications. Because it is difficult to measure the application speed directly, the speed of the application startup is considered and used for comparison. Android runtime (ART) uses several technol...

Full description

Bibliographic Details
Main Authors: Andrei Visochan, Andrey Stroganov, Ivan Titarenko, Sergei Lonchakov, Stanislav Mologin, Svetlana Pavlova, Anastasia Lyupa, Anna Kozlova
Format: Article
Language:English
Published: IEEE 2022-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9919810/
_version_ 1811337281328381952
author Andrei Visochan
Andrey Stroganov
Ivan Titarenko
Sergei Lonchakov
Stanislav Mologin
Svetlana Pavlova
Anastasia Lyupa
Anna Kozlova
author_facet Andrei Visochan
Andrey Stroganov
Ivan Titarenko
Sergei Lonchakov
Stanislav Mologin
Svetlana Pavlova
Anastasia Lyupa
Anna Kozlova
author_sort Andrei Visochan
collection DOAJ
description When choosing a smartphone, many users are guided by the performance of smartphones and the speed of applications. Because it is difficult to measure the application speed directly, the speed of the application startup is considered and used for comparison. Android runtime (ART) uses several technologies to speed up applications. The first approach is the just-in-time (JIT) compilation of frequently used methods at runtime. The second approach is to compile entire application code ahead of time (AOT). The performance profile is a way to strike a balance between JIT and AOT. The runtime optimization features were introduced in Android Nougat in form of profile-guided optimization (PGO). By aggregating data from a multiplicity of users and devices in Play Store, ART profiling significantly speeds up this process and makes its outcome available to all users alike. We propose a machine learning based method called SPMLGen for generating application profiles used in the optimization. We avoid time delays caused by the need to collect information in advance to perform optimization and ensure user privacy. With profiles generated by SPMLGen, we obtain approximately the same application launch time as with profiles from Play Store. Measurements were taken on Samsung Galaxy S22 and A52 devices with Android 12 firmware and several dozen Samsung applications.
first_indexed 2024-04-13T17:52:31Z
format Article
id doaj.art-8c7a7fc449ad4015badaca735d84fa06
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-04-13T17:52:31Z
publishDate 2022-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-8c7a7fc449ad4015badaca735d84fa062022-12-22T02:36:38ZengIEEEIEEE Access2169-35362022-01-011010965210966210.1109/ACCESS.2022.32149719919810Method for Profile-Guided Optimization of Android Applications Using Random ForestAndrei Visochan0https://orcid.org/0000-0003-2605-2098Andrey Stroganov1Ivan Titarenko2Sergei Lonchakov3Stanislav Mologin4Svetlana Pavlova5Anastasia Lyupa6https://orcid.org/0000-0003-3654-9233Anna Kozlova7Platform Laboratory, Samsung Research Russia, Moscow, RussiaPlatform Laboratory, Samsung Research Russia, Moscow, RussiaPlatform Laboratory, Samsung Research Russia, Moscow, RussiaPlatform Laboratory, Samsung Research Russia, Moscow, RussiaPlatform Laboratory, Samsung Research Russia, Moscow, RussiaSolution Development Laboratory, Samsung Research Russia, Moscow, RussiaMoscow Software OS Laboratory, Huawei Technologies Russia, Moscow, RussiaKelly Services CIS, Moscow, RussiaWhen choosing a smartphone, many users are guided by the performance of smartphones and the speed of applications. Because it is difficult to measure the application speed directly, the speed of the application startup is considered and used for comparison. Android runtime (ART) uses several technologies to speed up applications. The first approach is the just-in-time (JIT) compilation of frequently used methods at runtime. The second approach is to compile entire application code ahead of time (AOT). The performance profile is a way to strike a balance between JIT and AOT. The runtime optimization features were introduced in Android Nougat in form of profile-guided optimization (PGO). By aggregating data from a multiplicity of users and devices in Play Store, ART profiling significantly speeds up this process and makes its outcome available to all users alike. We propose a machine learning based method called SPMLGen for generating application profiles used in the optimization. We avoid time delays caused by the need to collect information in advance to perform optimization and ensure user privacy. With profiles generated by SPMLGen, we obtain approximately the same application launch time as with profiles from Play Store. Measurements were taken on Samsung Galaxy S22 and A52 devices with Android 12 firmware and several dozen Samsung applications.https://ieeexplore.ieee.org/document/9919810/Androidapplication launch timeclassificationmachine learningprobability treeprofile-guided optimization
spellingShingle Andrei Visochan
Andrey Stroganov
Ivan Titarenko
Sergei Lonchakov
Stanislav Mologin
Svetlana Pavlova
Anastasia Lyupa
Anna Kozlova
Method for Profile-Guided Optimization of Android Applications Using Random Forest
IEEE Access
Android
application launch time
classification
machine learning
probability tree
profile-guided optimization
title Method for Profile-Guided Optimization of Android Applications Using Random Forest
title_full Method for Profile-Guided Optimization of Android Applications Using Random Forest
title_fullStr Method for Profile-Guided Optimization of Android Applications Using Random Forest
title_full_unstemmed Method for Profile-Guided Optimization of Android Applications Using Random Forest
title_short Method for Profile-Guided Optimization of Android Applications Using Random Forest
title_sort method for profile guided optimization of android applications using random forest
topic Android
application launch time
classification
machine learning
probability tree
profile-guided optimization
url https://ieeexplore.ieee.org/document/9919810/
work_keys_str_mv AT andreivisochan methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT andreystroganov methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT ivantitarenko methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT sergeilonchakov methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT stanislavmologin methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT svetlanapavlova methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT anastasialyupa methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest
AT annakozlova methodforprofileguidedoptimizationofandroidapplicationsusingrandomforest