Improving the support for ARM in the IgProf profiler

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Ou, Zhonghong
dc.contributor.author Nybäck, Filip
dc.date.accessioned 2014-11-11T12:03:35Z
dc.date.available 2014-11-11T12:03:35Z
dc.date.issued 2014-11-03
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/14443
dc.description.abstract IgProf is an application profiler that profiles mainly performance and memory usage. The profiler is extended and improved in three ways as part of this thesis: support for 64-bit ARM is implemented, the execution time of stack tracing is reduced on both 64-bit and 32-bit ARM and a simple energy profiling module is added. The IgProf profiler was available on the Intel x86 and x86-64 architectures, as well as on 32-bit ARM, but support for 64-bit ARM was missing. The port of IgProf to 64-bit ARM enables developers to evaluate how applications execute on the new architecture with regard to performance and memory usage. The port of IgProf is going to be used on 64-bit ARM for examination and optimisation of the CMS software, which is related to the Compact Muon Solenoid (CMS) experiment at CERN. IgProf uses the libunwind library to perform stack tracing as part of the profiling. An optimised version of stack tracing, previously available only on the x86-64 architecture, is ported to both 64-bit and 32-bit ARM. The optimised stack tracing reduces the execution time of profiling, especially when profiling events occur frequently. When a piece of CMS software is profiled for memory usage on 64-bit ARM and the optimised version of stack tracing is used instead of the old version, the execution time of profiling is reduced by approximately 87 %. The overhead in execution time of profiling may not matter when a small application is profiled, but for a big application the overhead determines if it is practically feasible to profile the application. A simple energy profiling module extends the functionality of IgProf. The energy profiling module is based on sampling and obtains energy measurements from the Running Average Power Limit (RAPL) interface present on recent Intel processors. The profiling results of a simple single-threaded application seem to show a correlation between the execution time and the energy spent in a function. The energy profiling module is still rather limited, but is the first step for IgProf in the direction of energy profiling. en
dc.description.abstract IgProf är ett profileringsprogram som huvudsakligen profilerar prestanda och minnesanvändning. Profileringsprogrammet utökas och förbättras på tre sätt som en del av detta diplomarbete: stöd för 64-bitars ARM implementeras, exekveringstiden för stackspårning förkortas både på 64-bitars och 32-bitars ARM och en enkel energiprofileringsmodul läggs till. IgProf fanns tillgängligt för Intels x86- och x86-64-arkitekturer, så väl som för 32-bitars ARM, men stöd för 64-bitars ARM saknades. Porteringen av IgProf till 64-bitars ARM gör det möjligt för utvecklare att utvärdera prestandan och minnesanvändningen för applikationer på den nya arkitekturen. Det finns planer på att använda porteringen av IgProf på 64-bitars ARM för granskning och optimering av CMS-mjukvaran som är relaterad till Compact Muon Solenoid-experimentet (CMS) vid CERN. IgProf använder libunwind-biblioteket för att spåra stacken som en del av profileringen. En optimerad version av stackspårningen, som fanns tillgänglig endast för x86-64-arkitekturen, porteras till både 64-bitars och 32-bitars ARM. Den optimerade stackspårningen förkortar exekveringstiden för profileringen, särskilt då profileringshändelser inträffar frekvent. När en del av CMS-mjukvaran profileras för minnesanvändning på 64-bitars ARM och den optimerade versionen av stackspårningen används istället för den gamla versionen, reduceras exekveringstiden för profileringen med cirka 87 %. Förlängningen av exekveringstiden som profileringen orsakar är måhända obetydlig för små applikationer, men för stora applikationer avgör förlängningen om profileringen är praktiskt genomförbar. En enkel energiprofileringsmodul utökar funktionaliteten i IgProf. Energiprofileringsmodulen baserar sig på sampling och erhåller energimätningar från Running Average Power Limit-gränssnittet (RAPL) som Intels nyare processorer implementerar. Profileringsresultaten av ett enkelt enkeltrådigt program tyder på att exekveringstiden och energikonsumtionen i en funktion korrelerar. Energiprofileringsmodulen är ganska begränsad, men är ett första steg för IgProf i riktning mot energiprofilering. sv
dc.format.extent 79
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Improving the support for ARM in the IgProf profiler en
dc.title Förbättring av stödet för ARM i profileringsprogrammet IgProf sv
dc.type G2 Pro gradu, diplomityö en
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword performance profiling en
dc.subject.keyword memory profiling en
dc.subject.keyword AArch64 en
dc.subject.keyword stack tracing en
dc.subject.keyword libunwind en
dc.subject.keyword energy profiling en
dc.identifier.urn URN:NBN:fi:aalto-201411123020
dc.programme.major Tietoliikenneohjelmistot fi
dc.programme.mcode T3005 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Nurminen, Jukka K.
dc.programme Tietotekniikan koulutusohjelma fi


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account