Bachelor's Thesis

Performance Analysis of Programs Based on PIN Framework

Final Thesis 3.58 MB

Author of thesis: Ing. Peter Močáry

Acad. year: 2021/2022

Supervisor: Ing. Jiří Pavela

Reviewer: Ing. Jan Fiedor, Ph.D.

Abstract:

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.

Keywords:

performance testing, performance bottlenecks, Perun, dynamic instrumentation, PIN

Date of defence

13.06.2022

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of 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?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
Ing. Jiří Pavela

Grade proposed by supervisor: A

File inserted by supervisor Size
Hodnocení vedoucího [.pdf] 86,23 kB

Reviewer’s report
Ing. Jan Fiedor, Ph.D.

Grade proposed by reviewer: B

File inserted by the reviewer Size
Posudek oponenta [.pdf] 91,71 kB

Responsibility: Mgr. et Mgr. Hana Odstrčilová