Detail práce
Performance Analysis of Programs Based on PIN Framework
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.
výkonnostné testovanie, výkonnostné úzke miesta, Perun, dynamická inštrumentácia, PIN
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.
- 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?
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Martínek Tomáš, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Peringer Petr, Dr. Ing. (UITS FIT VUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), člen
@bachelorsthesis{FITBT23847, author = "Peter Mo\v{c}\'{a}ry", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Performance Analysis of Programs Based on PIN Framework", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2022, location = "Brno, CZ", language = "english", url = "https://www.fit.vut.cz/study/thesis/23847/" }