bakalářská práce

Analýza spotřeby zdrojů v programech

Text práce 6.74 MB Příloha 18.4 MB

Autor práce: Bc. Ondřej Míchal

Ak. rok: 2022/2023

Vedoucí: Ing. Jiří Pavela

Oponent: Ing. Jan Fiedor, Ph.D.

Abstrakt:

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.

Klíčová slova:

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)

znamkaAznamka

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ě

  1. V sekci 4.5 popisujete alternativní technologie pro instrumentaci a monitorování běhu programů. Na základě tabulky 4.1 to vypadá, že každá z popisovaných technologií má své výhody a nevýhody a žádná nevyčnívá nad ostatními. V textu ovšem chybí diskuze, proč byl nakonec vybrán instrumentační rámec eBPF jako nejvhodnější technologie pro implementaci. Mužete zdůvodnit, proč jste nakonec vybral eBPF jako nejlepší technologii pro Vaši práci?
  2. Lze pozorovat nějakou souvislost mezi spotřebou energie a standardními čítači výkonu jako jsou vytížení CPU/GPU, využití paměti, nebo intenzitou vstupně-výstupních operací?
  3. Jakým způsobem konkrétně používáte technologii eBPF?
  4. Jaké všechny zdroje v rámci analýzy sledujete?

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. 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ího
Ing. 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.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

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.

Práce s literaturou

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.

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

Práce byla dokončena s dostatečným předstihem a její výsledný obsah byl aktivně konzultován.

Publikační činnost, oceně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.

Výsledný počet bodů navržený vedoucím: 100

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

Posudek oponenta
Ing. 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.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

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á).

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Všechny body zadání byly splněny.

Rozsah technické zprávy

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.

Prezentační úroveň technické zprávy

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

95
Formální úprava technické zprávy

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.

80
Práce s literaturou

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.

95
Realizační výstup

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

90
Využitelnost výsledků

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.

Otázky k obhajobě:
  1. V sekci 4.5 popisujete alternativní technologie pro instrumentaci a monitorování běhu programů. Na základě tabulky 4.1 to vypadá, že každá z popisovaných technologií má své výhody a nevýhody a žádná nevyčnívá nad ostatními. V textu ovšem chybí diskuze, proč byl nakonec vybrán instrumentační rámec eBPF jako nejvhodnější technologie pro implementaci. Mužete zdůvodnit, proč jste nakonec vybral eBPF jako nejlepší technologii pro Vaši práci?
  2. Lze pozorovat nějakou souvislost mezi spotřebou energie a standardními čítači výkonu jako jsou vytížení CPU/GPU, využití paměti, nebo intenzitou vstupně-výstupních operací?
Výsledný počet bodů navržený oponentem: 90

Známka navržená oponentem: A

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