Master's Thesis

Efficient Techniques for Program Performance Analysis

Final Thesis 3.49 MB

Author of thesis: Ing. Jiří Pavela

Acad. year: 2019/2020

Supervisor: doc. Mgr. Adam Rogalewicz, Ph.D.

Reviewer: Ing. Jan Fiedor, Ph.D.

Abstract:

In this work, we propose optimization techniques focused on the data collection process of program performance analysis and profiling within the Perun framework.
  We enhance Perun (and especially its Tracer module) by extending their architecture and  implementing novel optimization techniques that allow Perun to scale well even for large projects and test scenarios.
  In particular, we focus on improving the data collection precision, scaling down the amount of injected instrumentation, limiting the time overhead of the collection and profiling processes, reducing the volume of raw performance data and the size of the resulting profile.
  To achieve such optimization, we utilized statistical methods, several static and dynamic analysis approaches (as well as their combination) and exploited the advanced features and capabilities of SystemTap and eBPF frameworks.
  Based on the evaluation performed on two selected projects and numerous experiment cases, we were able to conclude that we successfully achieved significant levels of optimization for nearly all of the identified metrics and criteria.

Keywords:

optimization techniques, performance analysis, dynamic analysis, static analysis, dynamic instrumentation, continuous integration, SystemTap, eBPF

Date of defence

16.07.2020

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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 A.

Otázky u obhajoby:

  • Tracer, nástroj pro sběr výkonnostní dat, je závislý na technologiích SystemTap a eBNF, jenž jsou k dispozici pouze pro operační systém Linux. Jak reálné by bylo přidání podpory sběru výkonnostních dat pro operační systém Windows? Existují technologie, jenž by šly použít pro tento účel v systému Windows?
  • Řada optimalizačních technik má jako vstup CGR, neboli CG (call graph) + CFG (control flow graph), a produkuje modifikovaný CGR. Dostává každá technika originální CGR? Pokud ano, jak se poté řeší sloučení modifikovaných CGR? Pokud ne, a každá technika tedy dostává na vstup modifikovaný CGR, jenž je výstupem techniky aplikované před ní, jak ovlivňuje pořadí řetězení optimalizací celkový výsledek?
  • Je možné Vaše řešení použít pro měření performance degradation v kernelu?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (IT-MSC-2)

Field of study

Information Technology Security (MBS)

Composition of Committee

prof. Ing. Martin Drahanský, Ph.D. (předseda)
prof. Ing. Martin Čadík, Ph.D. (místopředseda)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
doc. Mgr. Kamil Malinka, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)

Supervisor’s report
doc. Mgr. Adam Rogalewicz, Ph.D.

Grade proposed by supervisor: A

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

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

Grade proposed by reviewer: A

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

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