Název:
Analýza výkonu programů založená na frameworku PIN
Překlad názvu:
Performance Analysis of Programs Based on PIN Framework
Autoři:
Močáry, Peter ; Fiedor, Jan (oponent) ; Pavela, Jiří (vedoucí práce) Typ dokumentu: Bakalářské práce
Rok:
2022
Jazyk:
eng
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [eng][cze]
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.
Klíčová slova:
dynamic instrumentation; performance bottlenecks; performance testing; Perun; PIN; dynamická inštrumentácia; Perun; PIN; výkonnostné testovanie; výkonnostné úzke miesta
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/207220