bakalářská práce

Analýza výkonu programů založená na frameworku PIN

Text práce 3.58 MB

Autor práce: Ing. Peter Močáry

Ak. rok: 2021/2022

Vedoucí: Ing. Jiří Pavela

Oponent: Ing. Jan Fiedor, Ph.D.

Abstrakt:

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.

Klíčová slova:

výkonnostné testovanie, výkonnostné úzke miesta, Perun, dynamická inštrumentácia, PIN

Termín obhajoby

13.06.2022

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

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?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
Ing. Jiří Pavela

Známka navržená vedoucím: A

Soubor vložený vedoucím Velikost
Hodnocení vedoucího [.pdf] 86,23 kB

Posudek oponenta
Ing. Jan Fiedor, Ph.D.

Známka navržená oponentem: B

Soubor vložený oponentem Velikost
Posudek oponenta [.pdf] 91,71 kB

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová