|
Performance Analysis of Programs Based on PIN Framework
Močáry, Peter ; Fiedor, Jan (referee) ; Pavela, Jiří (advisor)
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.
|
|
Database Performance Tester
Šulaj, Martin ; Hujňák, Ondřej (referee) ; Očenáš, Martin (advisor)
Main goal goal of this project is to create tool for performance testing of relational databases and to prove his functionality. The tool is logically divided into 4 parts and every one of them can work independently. With the use of the tool we ca create, execute and evaluate test suites. Graphical visualisation of processed results is a part of the tool. The tool works with test suites that are executed on Raspberry Pi 3 B device and on well performing laptop. Databases that are tested with this tool are MySQL, PostgreSQL and SQLite.
|
|
Performance Analysis Based on Noise Injection
Liščinský, Matúš ; Malík, Viktor (referee) ; Fiedor, Tomáš (advisor)
Táto práca predstavuje nástroj Perun-Blower, využívajúci perfblowing techniku: vkladanie šumu do funkcií testovaného programu a nasledovné vyhodnotenie vplyvu šumu na výkon programu na základe zozbieraných časových údajov týchto funkcií z behu programu. Implementácia je postavená na dynamickej binárnej inštrumentácii nástroja Pin. Zameriavame sa na hľadanie funkcií, ktoré majú vysoký vplyv na výkon a rovnako tak aj odhad potenciálneho zrýchlenia behu vlákna pri optimalizácii konkrétnej funkcie. Naviac sme rozšírili existujúci Trace collector používaný v nástroji Perun na zbieranie časových dát funkcií, o nový tzv. engine, ktorý je založený práve na nástroji Pin. Funkčnosť implementácie sme otestovali na dvoch netriviálnych projektoch, kde sme dokázali nájsť funkcie (1) so značným vplyvom na výkon, (2) s najvýznamnejším optimalizačným prínosom a (3) funkcie, ktorých degradácia spôsobí, že vykonávanie programu sa neskončí ani po niekoľkých hodinách.
|
|
Performance Analysis of Programs Based on PIN Framework
Močáry, Peter ; Fiedor, Jan (referee) ; Pavela, Jiří (advisor)
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.
|
|
Performance Analysis Based on Noise Injection
Liščinský, Matúš ; Malík, Viktor (referee) ; Fiedor, Tomáš (advisor)
Táto práca predstavuje nástroj Perun-Blower, využívajúci perfblowing techniku: vkladanie šumu do funkcií testovaného programu a nasledovné vyhodnotenie vplyvu šumu na výkon programu na základe zozbieraných časových údajov týchto funkcií z behu programu. Implementácia je postavená na dynamickej binárnej inštrumentácii nástroja Pin. Zameriavame sa na hľadanie funkcií, ktoré majú vysoký vplyv na výkon a rovnako tak aj odhad potenciálneho zrýchlenia behu vlákna pri optimalizácii konkrétnej funkcie. Naviac sme rozšírili existujúci Trace collector používaný v nástroji Perun na zbieranie časových dát funkcií, o nový tzv. engine, ktorý je založený práve na nástroji Pin. Funkčnosť implementácie sme otestovali na dvoch netriviálnych projektoch, kde sme dokázali nájsť funkcie (1) so značným vplyvom na výkon, (2) s najvýznamnejším optimalizačným prínosom a (3) funkcie, ktorých degradácia spôsobí, že vykonávanie programu sa neskončí ani po niekoľkých hodinách.
|
|
Database Performance Tester
Šulaj, Martin ; Hujňák, Ondřej (referee) ; Očenáš, Martin (advisor)
Main goal goal of this project is to create tool for performance testing of relational databases and to prove his functionality. The tool is logically divided into 4 parts and every one of them can work independently. With the use of the tool we ca create, execute and evaluate test suites. Graphical visualisation of processed results is a part of the tool. The tool works with test suites that are executed on Raspberry Pi 3 B device and on well performing laptop. Databases that are tested with this tool are MySQL, PostgreSQL and SQLite.
|