aalto1 untyped-item.component.html
Profile-guided optimization: Problems, methods and approaches for mobile development
Loading...
Files
Aalto login required (access for Aalto Staff only).
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
Department
Major/Subject
Mcode
SCI3027
Degree programme
Language
en
Pages
28
Series
Abstract
Smartphones' inherent hardware limitations put constraints on battery capacity and processing power. Therefore, it is crucial to optimize the current hardware to its full extent, without compromising the device's stability. Profile-guided optimization represents a promising approach for smartphone optimization. Profile-guide optimization is a method that makes use of the profiles collected during application runtime. Based on the profile, the compiler organizes program code to optimize memory and cache usage.
The main goal of this thesis is to form a comprehensive overview of methods and challenges in profile-guided optimization in mobile development, explain the concept of profile-guided optimization, examine what methods are currently used, and compare the effectiveness of these methods. This study is a review of the current literature available on this topic.
The most challenging part of the profile-guided optimization is gathering a profile. The profile gathering is a critical step in the optimization technique. In traditional PGO, the profile gathering tends to be resource-intensive and time consuming. This thesis examines alternative ways to bypass the profile collection phase. These approaches have their downsides, mainly that the profiles might not be that accurate. However, these methods can make the optimization faster and enhance privacy.
As a conclusion, the study finds that there is no right or wrong way to optimize the hardware. Many of these optimization techniques have their strengths and weaknesses. The optimization must be adapted according to the software's and compiler's needs.
Älypuhelimiin liittyvät fyysiset laitteistorajoitukset, kuten akun kapasiteetti ja prosessorin nopeus, asettavat haasteita laitteiden suorituskyvylle. On tärkeää optimoida olemassa oleva laitteisto tehokkaasti vaarantamatta laitteen vakautta. Profiiliohjattu optimointi on lupaava lähestymistapa kääntäjän optimointiin, joka voi parantaa matkapuhelinten ohjelmistojen tehokkuutta. Profiiliohjattu optimointi on menetelmä, jossa hyödynnetään ohjelman suorituksen yhteydessä kerättyjä profiileja. Profiilin perusteella kääntäjä järjestää ohjelmakoodia siten, että muistin- ja välimuistinkäyttö optimoituu.
Tämän kandidaatintyön tavoitteena on koota yhteen tietoa, saada kokonaiskuva siitä, mitä profiiliohjattu optimointi on, mitä eri profiiilioptimointitekniikoita mobiililaitteissa käytetään ja verrata näiden profiliioptimointitekniikoi-en tuloksia toisiinsa. Tutkimusmenetelmänä käytetään kirjallisuuskatsausta ja tutkielma keskittyy profiiliohjausmenetelmiin puhelimissa.
Profiiliohjatun optimoinnin keskeisin haaste on profiilien kerääminen. Profiilien keruu on välttämätön osa optimointiprosessia. Perinteiset profiilin keruu menetelmät ovat hitaita ja resurssi-intensiivisiä, mutta ne tuottavat tarkempia tuloksia. Tässä tutkielmassa tarkastellaan vaihtoehtoisia tapoja ohittaa profiilin keräämisvaiheen. Nämä menetelmät eivät ole yhtä tarkkoja, mutta niiden avulla profiilien kerääminen on nopeampaa ja tietoturvallisempaa.
Tutkielman johtopäätös osoittaa, että ei ole yhtä ja oikeaa optimointimenetelmää kääntäjän tai ohjelman optimoinnissa, vaan optimointi pitää soveltaa ohjelman tai kääntäjän eri tarpeisiin.