Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Ondřej Míchal
Ak. rok: 2022/2023
Vedoucí: Ing. Jiří Pavela
Oponent: Ing. Jan Fiedor, Ph.D.
Spotřeba softwarových zdrojů je široce a aktivně zkoumanou oblastí. Z mnoha zdrojů v softwaru, které lze profilovat, byla spotřeba energie dlouho jediným zdrojem, který neměl mnoho obecných, a přesto komplexních, profilerů. V době mobilních zařízení a výkonných výpočetních jednotek je poptávka po takových profilerech neustále rostoucí. V této práci zkoumáme metody pro přesné měření spotřeby energie softwaru. Na jejich základě vytváříme open-source profiler a implementujeme komplexní vizualizér profilovaných dat. S vytvořeným profilerem pak provádíme řadu experimentů, abychom předvedli jeho schopnosti a demonstrovali užitečnost měření spotřeby energie softwaru.
perun, spotřeba energie, profilování, verzovací systém, vcs, ebpf, rapl, perf, systemová volání
Termín obhajoby
15.06.2023
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
A
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 A.
Otázky k obhajobě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (BIT)
Složení komise
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. František Grézl, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen)
Posudek vedoucíhoIng. Jiří Pavela
Student v rámci zadání bakalářské práce řešil značně netriviální problém, který vyžadoval nastudování a pochopení většího množství komplexní odborné literatury. Student byl v průběhu řešení práce velmi aktivní a pravidelně konzultoval jak stav realizačního řešení, tak pokrok při psaní technické zprávy. Výsledné řešení je funkční a splňuje všechny nároky na něj kladené. Technické řešení i zpráva byly v průběhu řešení konzultovány s vývojáři nástroje Perun, kteří jsou s podobou řešení velice spokojení. Práce obsahuje i rozšíření nad rámec zadání, konkrétně implementaci více různých vizualizací (namísto jedné požadované) a experimentální evaluaci ve větším než požadovaném rozsahu. Z těchto důvodů proto navrhuji hodnocení stupněm A.
Student se v rámci zadání bakalářské práce rozhodl věnovat profilování spotřeby el. energie software, což je složitý a nepříliš probádaný problém, kterému je v současnosti věnováno velké výzkumné úsilí. Náročnost zadání proto hodnotím jako nadprůměrné jelikož vyžaduje prozkoumání velkého množství přístupů. Práce navazuje na vývoj nástroje Perun (do kterého bude v blízké době integrována) a probíhající výzkum v oblasti dynamické anlýzy spotřeby zdrojů. Dosažené výsledky jsou kvalitní a umožňují tak pokračování vývoje v navazujících projektových nebo závěrečných pracích.
Student v rámci řešení práce zvládl samostatně nastudovat velké množství odborné publikované literatury, která svou složitostí přesahuje typické nároky kladené na studenta bakalářského studijního programu. Nastudované informace pak student vhodně aplikoval při řešení zvoleného problému.
Student byl v průběhu řešení velmi aktivní a pravidelně se účastnil dohodnutých schůzek. Dosažený postup a případné problémy aktivně konzultoval v průběhu celého semestru. Student také v průběhu celého řešení práce pravidelně poskytoval nové části technické zprávy, takže bylo možné konzultovat i postup v této oblasti.
Práce byla dokončena s dostatečným předstihem a její výsledný obsah byl aktivně konzultován.
Student svou práci úspěšně publikoval na studentské konferenci Excel@FIT 2023. Výsledná práce je rovněž dostupná online ve formě open-source nástroje a rozšiřuje stávající možnosti open-source nástroje Perun.
Známka navržená vedoucím: A
Posudek oponentaIng. Jan Fiedor, Ph.D.
Zadání je obtížnějšího charakteru. Student musel nejen nastudovat specializovanou oblast měření spotřeby energie, ale také aplikovat získané poznatky při návrhu řešení využívajícího jen zakladního vybavení počítačů, což většina stávajících řešení neumožňuje.
Technická zpráva je informačně bohatá a tvoří ideální zdroj pro uživatele, kteří se snaží proniknout do oblasti měření spotřeby energie. Práce je psána v anglickém jazyce a i přes větší množství překlepů a gramatických chyb pro čtenáře dobře pochopitelná.
Navržený přístup je plně funkční a použitelný na většině moderních procesorů. Vše bylo otestováno na sadě testovacích scénářů monitorujících spotřebu energie grafického rozhraní GNOME.
Výsledky práce byly publikovány na studentské konferenci Excel@FIT.
Celkově jde o výbornou práci a navrhuji hodnocení A.
Stupeň hodnocení: obtížnější zadání
Práci hodnotím jako obtížnější z důvodu nutnosti nastudovat velmi specializovanou oblast měření spotřeby energie a aplikovat poznatky z této oblasti při návrhu obecného řešení monitorování spotřeby energie pro konkrétní prvky programu pouze s využitím technologií tvořících zakladní vybavení počítačů (tzn. bez spolehání na např. externí měřiče spotřeby, na kterých je řada předchozích řešení závislá).
Stupeň hodnocení: zadání splněno
Všechny body zadání byly splněny.
Stupeň hodnocení: přesahuje obvyklé rozmezí
Práce výrazně přesahuje obvyklé rozmezí. Technická zpráva rozebírá aktuální přístupy měření spotřeby energie, a to jak přístupy cílící čistě na měření spotřeby energie, tak přístupy monitorující spotřebu energie pro jiné účely (např. side-channel útoky), jejichž myšlenky lze ovšem v této oblasti také s výhodou aplikovat. Práce také porobně rozebírá možnosti zjišťování spotřeby energie, jejich aplikovatelnost pro měření spotřeby konkrétních prvků programů, a technologie, kterými všeho dosáhnout. Všechny částí technické zprávy jsou informačně bohaté a jelikož je psána v anglickém jazyce, lze ji použít nejen pro pochopení navrženého řešení, ale také jako výborné uvedení do problematiky měření spotřeby energie s velkým počtem odkazů na další odbornou literaturu.
Práce má výbornou prezentační úroveň, je informačně velmi bohatá, a pro čtenáře dobře pochopitelná. Poskytuje výborný přehled prací z oblasti měření spotřeby energie, diskutuje klady a zápory jednotlivých přístupů a srovnává technologie, které lze využít pro zjišťování aktuální spotřeby energie a jejich využití pro meření spotřeby konkrétních prvků programů.
Jazyková stránka technické zprávy je neslabší částí práce. Text obsahuje větší množství překlepů a gramatických chyb. Jelikož je ovšem práce rozsáhlá a nejvíce chyb je v obsahově méně kritických částech technické zprávy, neztěžují tyto chyby pochopitelnost práce. Práce je navíc psána v anglickém jazyce. Typograficky je práce na vysoké úrovni.
Práce se odkazuje na velké množství věděckých článků, knih, a jiných odborných publikací a v teoretické části se na ně bohatě odkazuje. Implementačně zameřené části práce se odkazují na velké množství dokumentů a manuálů k uvažovaným a použitým technologiím. Práce může být použita jako výborná rešerše pro oblast měření spotřeby energie. Všechny zdroje jsou řádně odcitovány.
Navržený přístup využívá techologie RAPL (Running Average Power Limit) pro měření spotřebý energie v čase a instrumentační rámec eBPF pro monitorování běhu vybraného programu a asociaci naměřené spotřeby energie tohoto programu se systémovými funkcemi, jenž tento program volá.
Navržené řešení je plně funkční a připraveno k integraci do hlavní vývojové větve nástroje Perun jako jeho modul. Vytvořený modul lze navíc používat i nezávisle na nástroji Perun jako samostatný nástroj, jelikož je ale primárně koncipován jako modul pro nástroj Perun, existuje zde závislost na některých knihovnách nástroje Perun.
Funkčnost navrženého řešení byla otestována na grafickém rozhraní GNOME pracujícího v různých režimech šetření energie a pod různými úrovněmi zatížení (workload).
Práce rozšiřuje open-source nástroj Perun o možnosti monitorování spotřeby energie ve formě nového modulu, který bude v brzké době integrován do hlavní vývojové větve nástroje Perun. Navíc lze tento modul používat i nezavisle na nástroji Perun. Jelikož je vytvořený modul open-source, může být využit kýmkoliv, kdo potřebuje monitorovat spotřebu energie svého programu.
Známka navržená oponentem: A
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová