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...
Main Authors: | , , , , , , , |
---|---|
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 |