Analýza výkonu programů založená na frameworku PIN
Loading...
Date
Authors
Močáry, Peter
ORCID
Advisor
Referee
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Cieľom tejto práce je rozšíriť výkonnostný verzovací system - Perun implementáciou nového Tracer engine využívajúceho inštrumentačný nástroj PIN. Toto rozšírenie implementuje základné funkcie Tracer modulu a zároveň zber argumentov funkcií spolu so zberom dĺžky behu základných blokov programu. Tieto nové údaje spolu s vizualizáciami vytvorenými v tejto práci poskytujú potrebný kontext, ktorý zjednodušuje odhalenie zhoršenia výkonu. Okrem nástroja PIN využíva Tracer engine python knižnicu pyelftools na analýzu ladiacich informácií vo formáte DWARF pre zistenie podrobností o argumentoch funkcií pred procesom zberu údajov. Výsledný engine bol testovaný na viacerých implementáciách triediacich algoritmov a úspešne detekoval časovo najnáročnejšie funkcie spolu s informáciami o zvýšenej zložitosti súvisiacej s jej argumentom. Testovanie na projekte väčšieho rozsahu odhalilo, že v porovnaní s ostatnými implementáciami Tracer engine, tento nový engine pracuje lepšie alebo porovnateľne a produkuje správne výstupy.
The goal of this thesis is to extend the Performance Version System - Perun by implementing a new Tracer engine leveraging PIN instrumentation framework. This extension implements basic Tracer functionality and, in addition to that, a recording of function arguments' values as well as basic block run-times. The additional data, along with the visualizations introduced in this thesis, provide the necessary context that simplifies the detection of performance degradation. Besides the PIN framework, the new Tracer engine implements an analysis of debug information in DWARF format (using the python pyelftools library) to gather details about function arguments before the data collection process. The resulting engine was tested on multiple implementations of sorting algorithms and successfully detected the most time consuming functions along with the information about the effect of its parameter value on the functions complexity. Testing the PIN engine on a larger-scale project revealed that, in comparison to other Tracer engine implementations, the engine performs better or comparably, and produces the correct output.
The goal of this thesis is to extend the Performance Version System - Perun by implementing a new Tracer engine leveraging PIN instrumentation framework. This extension implements basic Tracer functionality and, in addition to that, a recording of function arguments' values as well as basic block run-times. The additional data, along with the visualizations introduced in this thesis, provide the necessary context that simplifies the detection of performance degradation. Besides the PIN framework, the new Tracer engine implements an analysis of debug information in DWARF format (using the python pyelftools library) to gather details about function arguments before the data collection process. The resulting engine was tested on multiple implementations of sorting algorithms and successfully detected the most time consuming functions along with the information about the effect of its parameter value on the functions complexity. Testing the PIN engine on a larger-scale project revealed that, in comparison to other Tracer engine implementations, the engine performs better or comparably, and produces the correct output.
Description
Citation
MOČÁRY, P. Analýza výkonu programů založená na frameworku PIN [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda)
doc. Ing. Ondřej Ryšavý, Ph.D. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
doc. Ing. Tomáš Martínek, Ph.D. (člen)
Dr. Ing. Petr Peringer (člen)
Date of acceptance
2022-06-13
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Proč je transformace dat nasbíraných PIN kolektorem do podoby výkonnostního profilu nástroje Perun časově nejnáročnější částí celého sběru výkonnostních dat i přesto, že sběr samotných dat behěm exekuce programu je rychlejší nebo srovnatelný s existujícími kolektory? Pro sběr některých informací je potřeba přítomnost ladících informací v programu, kdy je aktuálně podporován pouze formát DWARF. Které informace lze tedy sesbírat u Windows programů, které tento formát nepodporují? Bude mít toto omezení dopad např. na lepší identifikaci základních bloků, kdy lze v ladících informacích dohledat řádky kódu pro konkrétní základní bloky?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení