KUPČO, P. Integrace výpočetních zdrojů Amazon Compute Cloud do systému k-Dispatch [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Tato bakalářská práce měla za cíl integrovat nové výpočetní prostředky do systému k-Dispatch, umožnit jejich správu, monitorování a využití při zpracování komplexních úloh. Odevzdaná práce obsahuje jen minimální funkční kostru aplikace. Aktivita studenta v letním semestru byla nedostatečná pro zdárné dokončení práce. Bohužel ani odklad odevzdání nevedl k nápravě, student tak promarnil dalších 5 týdnů a předložil vedoucímu práci až těsně před odevzdáním bez možnosti zásadního komentování textu práce či samotné realizace. Proto hodnotím práci na spodní hranici stupně E, 50 body.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Cílem bakalářské práce byla integrace výpočetního clusteru Amazon AWS EC2 do systém k-Dispatch pro automatizované vykonávání složitých výpočetních workflows. Jednalo se o průměrně složité zadání z něhož však student splnil naprosté minimum. S výsledným produktem nejsem spokojený. Jedná se v podstatě o kostru složenou z několika málo scriptů pro tvorbu clusteru a jeho spuštění. Tyto scripty musí administrátor k-Dispatch provést manuálně z příkazové řádky, není zde žádné rozhraní pro správu instancí a jejich monitoring. Rovněž zápis do databáze si musí administrátor udělat sám. Odevzdaný repositář neobsahuje modifikace pro k-Dispatch, takže systém není možné zprovoznit. Samotný vývoj neprobíhal dle standardů skupiny SC@FIT, repositář nemá žádná issues, merge requesty, v souborech chybí hlavičky, atd. Testování aplikace je provedeno špatně a navíc velice povrchně. Nebyly testovány nestandardní stavy jako pád úlohy, nedostupnost clusteru, překročení kvót, atd. Celkově tedy realizace balancuje na hranici akceptovatelnosti. | ||
Práce s literaturou | Vedoucí práce poskytl dílčí dokumentaci k systému k-Dispatch, dále si student hledal literaturu sám. | ||
Aktivita během řešení, konzultace, komunikace | Aktivita během zimního semestru byla standardní. Práce byla rozumě rozjeta. V letním semestru však začala práce stagnovat a student dělal minimální pokroky. Intenzivněji začal pracovat až v dubnu, a to už bylo pozdě. Během semestru jsem neměl možnost otestovat dílčí kroky, zdrojový kód jsem viděl až těsně před odevzdáním, což už bylo pozdě na jakoukoliv změnu. | ||
Aktivita při dokončování | Aktivita při dokončování byla špatná. Práci se nepodařilo dokončit ve standardním termínu. Po prodloužení se student na 5 týdnu odmlčel a ozval se až 13.7. s tím že konzultace proběhla 17.7. Zde jsem viděl demo aplikace a urgentně žádal o zdrojové kódy. Bohužel jsem je nedostal. Text práce jsem obdržel 24.7. ve stavu, kdy chyběla polovina kapitoly implementace, celé testování a závěr. K práci jsem tedy vznesl pouze všeobecné připomínky, ale na nějaké zásadní změny nezbyl čas. | ||
Publikační činnost, ocenění |
Téma bakalářské práce má vysoký potenciál v oblasti služeb HPC a zabývá se aktuální tématikou využívající moderní technologie. Práce svým vypracováním a trochu chaotickým předvedením však působí, že byla pojata ledabyle nebo možná nebyly správně pochopeny některé aspekty. Technická zpráva je v mnoha místech uměle nafouknuta a naopak některé relevantní části mohly být propracovanejší. Realizační výstup je nedostatečný. Kódy komentované jsou, avšak ne všechny splňují pravidla pro vývoj stanovené výzkumnou skupinou SC@FIT. Z hlediska vývoje v GIT repozitáři, student nepracoval systematicky a práce se jeví, že byla vytvořena v posledních třech týdnech. U některých kódů nelze určit, zda je autorem student nebo byly převzaty z jiných zdrojů. Z výše zmíněných důvodů hodnotím známkou F (nevyhovující).
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Cílem práce bylo prostudovat a seznámit se s výpočetními prostředky Amazon AWS EC2 a systémem k-Dispatch pro automatizované spouštění a monitorování výpočetních úloh. Student měl dále navrhnout a implementovat modul pro komunikaci s Amazon Compute Cloud pro k-Dispatch. Dále pak navrhnout a implementovat prostředek pro vytváření alokací na Amazon Cloud určený pro administrátory k-Dispatch. Následně řešení otestovat, zdokumentovat a diskutovat. Téma této práce považuji za průměrně obtížné. | ||
Rozsah splnění požadavků zadání | Zadání práce bylo splněno s výhradami k následujícím bodům: Bod 3 zadání - Popis návrhu v kapitole 5 technické zprávy je v podstatě teoretická část a popis vybrané funkcionality k-Dispatch. V pár větách je zakomponovaný postup práce, což ale není návrh. Mezi odevzdanými soubory se většinově vyskytují soubory bez hlaviček, nejednotně napsány a navíc porušující pravidla pro tvorbu kódu výzkumné skupiny SC@FIT, v rámci které byla práce vytvořena. Z tohoto důvodu nejsem schopna posoudit, zda se jedná o převzaté a případně upravené kódy, či kódy vytvořené studentem. Bod 5 zadání - Aplikace nebyla dostatečně otestována. Z hlediska funkčnosti kódu mohly být vytvořeny například jednotkové testy. Z hlediska validity získaných výsledků mohly být vytvořeny typické výpočetní scénaře s cílem kontrolovat dosažené výsledky a pořadí spouštění úloh. Studentem vypracované testy považuji za nedostatečně diskutované a postrádám závěr nad využitím výsledků. | ||
Rozsah technické zprávy | Technická zpráva obsahuje 59 normostran a tudíž dosahuje téměř obvyklého rozmezí. Práce bohužel trpí následujícími nedostatky, bez kterých by technická zpráva dosahovala maximálně minimalní hranice: Text obsahuje zbytečně velké obrázky, často rozostřené, jejichž informační hodnota vzhledem k textu je irelevantní (např. na straně 23). Zpráva obsahuje opakující se a nepodstatné úseky textu, které jsou často popisovány zbytečně obsáhle (např. postup pro stažení binárních souborů z odkazu na straně 37, přejmenování souboru a doplnění hlavičky souboru na straně 38). | ||
Prezentační úroveň technické zprávy | 45 | Logicky je technická zpráva stravěna dobře, jednotlivé kapitoly na sebe navazují. Porozumnět textu bez znalosti tématiky je problematické. K textu mám několik výtek: Kapitola 2 působí dojmem, že není dopsána. Podkapitola zabívající se plánovači úloh je krátká a popisuje povrchně pouze jeden plánovač. Jelikož se jedná o rozsáhlé téma, na které existuje spousta publikací a jelikož dále v textu jsou zmíněné i jiné plánovače, bylo by tedy žádoucí podkapitolu rozepsat mnohem více a detailněji. Z textu dále pak není jasné, co vedlo k jednotlivým rozhodnutím při implementaci. Nejednotné názvosloví, např. cloud vs. oblak, podsíť vs. subnet. Nejednoznačné reference - u odkazů není jasné, zda se jedná o kapitolu, obrázek apod. Strohé popisky obrázků, příliš velké nebo neostré obrázky. Některé obrázky nenesou informaci a spíše jen zabírají prostor, např. na stranách 26 a 27. Chybějící reference na zmíněné nástroje. Chybějící reference na výpisy (až na jeden). V provedených testech v kapitole 7 nejsou dostatečně popsané použité datové sady. Student porovnává nesouvisející datové sady (simulační plány). | |
Formální úprava technické zprávy | 50 | Největší prohřešky vnímám v nemalém množství nejednoznačných referencí, absencí referencování výpisů v textu a osamocených referencí na literaturu na novém řádku. Dále chybějící tečky na konci vět. Lepší formální úpravy, kdy například na nové stránce jsou pouze dva řádky textu, by se dalo docílit přeuspořádáním či lehkým přepsáním textu. Některé odstavce jsou tvořeny pouze jednou rozsáhlou větou. | |
Práce s literaturou | 50 | Práci s literaturou hodnotím jako slabší. Převládají zejména internetové zdroje a z celkového počtu 33 citací mohlo být přibližně 20 uvedeno spíše jako poznámka pod čarou, jelikož odkazují například nějaký produkt. Práce postrádá citace z oblasti plánování úloh a plánovačů, která je tím pádem v teorii popsána velice omezeně. V úvodní kapitole postrádám citace ke zmíněným nástrojům. Myslím si, že by textu prospěla ještě minimálně jedna iterace čtení a oprav, jelikož citace v textu jsou často nevhodně použity. Např. citace se týká jen věty namísto celého odstavce dle kontextu, stejná citace je použita napříč kapitolou opakovaně po každém odstavci (vhodnější by bylo ji použít jednou na začátku, jelikož se týká jednoho produktu). | |
Realizační výstup | 40 | Realizační výstup lze rozdělit na dvě části: (1) realizace modulu pro komunikace s Amazon Compute Cloud pro k-Dispatch, a (2) realizace prostředku pro vytváření alokací na Amazon Cloud. Při implementaci (1) student vycházel z již funkčního kódu, kde pozměnil třídu komunikující s konkrétním výpočetním prostředkem (AWS). Implementovaný modul bohužel není opatřen žádnými automatickými testy a student nezdokumentoval způsob, jakým funčnost ověřil. Při osobní schůzce byl student schopen úlohu spustit na Amazon Compute Cloud, ale již nebyl schopen předvést, zda k-Dispatch správně monitoruje spuštěné úlohy a účtuje za využité služby. Jelikož toto pokládám za stěžejní část funkcionality, nelze vytvořené řešení pokládat za funkční. Student dále neimplementoval žádný mechanismus, jak detekovat vzniklé chyby (chyba při spuštění úlohy, chyba při nastartování hlavního/výpočetního uzlu apod.). Takové řešení pak pro nasazení v produkčním prostředí není použitelné. Při realizaci (2) byla vytvořena konzolová aplikace využívající nástroj AWS ParallelCluster. Kapitola 5 týkající se návrhu však o této aplikaci vůbec nehovoří. Odevzdané kódy neobsahují hlavičky, liší se stylem programování a porušují pravidla pro psaní kódu v rámci výzkumné skupiny SC@FIT. Nejsem tedy schopna zhodnotit, zda a do jak velké míry jsou dané kódy převzaté (např. přímo z příkladů, které poskytuje Amazon) nebo zda se jedná o originální kódy studenta. Kapitola 6 rozebírající implementaci zmiňuje pouze využití nástroje AWS ParallelCluster. Z daného textu chápu, že student pro danou aplikaci vytvořil pouze konfigurační soubory. Potřebné prostředí a aplikaci se bohužel dle přiloženého návodu nepovedlo nainstalovat a zprovoznit. Student pak aplikaci předvedl alespoň na svém osobním počítači (kromě výše zmíněné funkcionality). Realizační výstup tedy nepovažuji za dostatečný jak z hlediska implementace (např. kontrola chybových stavů, atd.), tak z hlediska integrace do systému k-Dispatch (nefunkční monitorování úloh, účtování, atd.). | |
Využitelnost výsledků | Téma bakalářské práce se zabývá aktuální tématikou, reaguje na potřeby uživatelů a administrátorů HPC služeb a využívá nejmodernější technologie. Práce by tedy určitě měla potenciál pro využití v praxi. Využitelnost vytvořené realizace však není možná z následujících důvodů: otestování aplikace, nefunkční monitorování úloh a účtování, nesystematický vývoj v rámci GIT repozitáře, který vznikl během posledních tří týdnů a porušující požadavky na vývoj v rámci výzkumné skupiny SC@FIT. |
eVSKP id 144965