Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Ondřej Šulc
Acad. year: 2022/2023
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: Ing. Vladimír Bartík, Ph.D.
This thesis deals with the optimization of data processing from IoT sensors of smart cities into the form of key performance indicators (abbr. KPI). KPIs are a mean of monitoring a large amount of data and expressing the status of performance factors affecting the prosperity of the entire city. Data processing in this form is a computationally demanding process, but it consists of a large number of mutually independent calculations. Therefore the goal of this thesis was to perform optimization using parallelization. In parallel processing, calculations can be divided between multiple threads, enabling all available computing resources (CPU cores) to be fully used. This concept was practically implemented in the Smart City project of Logimic company. However, the project is built on the Node.js platform, and when using parallelization there are complications with the use of libraries for object-relational mapping (abbr. ORM). ORM libraries on the Node.js platform are not always ready to work in a parallel environment. This problem is solved by creating a separate instance of the used library for each parallel thread. The thesis focuses on reducing the overhead associated with this and also on the correct distribution of work between parallel threads so that all cores are used equally. The results of this work prove that optimizing IoT data processing using parallelization leads to a significant speedup that conforms to Amdahl's law, as overhead problems can be reduced to a negligible minimum.
key performance indikators, KPI, smart cities, internet of things, IoT, database systems, object-relational mapping, ORM, optimization, parallelization, multithreading, Typescript, Node.js
Date of defence
22.06.2023
Result of the defence
Defended (thesis was successfully defended)
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.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Cybersecurity (NSEC)
Composition of Committee
doc. Dr. Ing. Petr Hanáček (předseda) prof. RNDr. Alexandr Meduna, CSc. (člen) prof. Ing. Jiří Jaroš, Ph.D. (člen) Ing. Vladimír Veselý, Ph.D. (člen) Ing. Ondřej Kanich, Ph.D. (člen) Mgr. Ing. Pavel Očenášek, Ph.D. (člen)
Supervisor’s reportIng. Jiří Hynek, Ph.D.
Student ke své práci přistupoval svědomitě, dokázal pracovat samostatně a vytvořil použitelné řešení, díky kterému výrazně zefektivnil zpracování dat z chytrých zařízení v systému firmy Logimic. Výsledky byly publikovány. Navrhuji hodnocení stupněm A.
Zadání vzniklo ve spolupráci s firmou Logimic. Cílem bylo analyzovat a optimalizovat současný způsob výpočtů tzv. klíčových identifikátorů výkonu (KPI) z dat získaných z chytrých zařízení. Student musel důkladně prostudovat proces ukládání dat do databáze InfluxDB a následné agregace těchto dat do relační databáze PosgtreSQL nasazené na platformě AWS. Dále se musel důkladně seznámit problematikou objektově relačního mapování (knihovnou TypeORM), prostředím NodeJS a možnostmi paralelních výpočtů, které byly použity pro optimalizaci výpočtu KPI. Zadání hodnotím jako složitější. Bylo splněno ve všech jeho bodech.
Student prostudoval doporučenou literaturu a aktivně si vyhledával další zdroje týkající se zejména databázových systémů, principů paralelizace, KPI a použitých technologií.
Student komunikoval během celého akademického roku. Konzultace probíhaly online s vedoucím práce a Ing. Františkem Mikulů z firmy Logimic. Dále se mimo jiné aktivně zapojil i do dalších diskusí firmy týkajících se dané problematiky. Student řádně plnil zadané úkoly a práce postupovala dobrým tempem.
Práce byla dokončena v předstihu, a mohla tak být řádně konzultována s vedoucím práce a vývojáři firmy Logimic.
Způsoby využití paralelizace byly prezentovány formou posteru na konferenci Excel@FIT 2023.
Grade proposed by supervisor: A
Reviewer’s reportIng. Vladimír Bartík, Ph.D.
Celkově práci hodnotím jako nadprůměrnou, nedostatky jsou pouze drobné, jinak je technická zpráva i realizační výstup kvalitní. Navrhuji proto hodnotit tuto práci stupněm B (velmi dobře).
Evaluation level: průměrně obtížné zadání
Zadání pro externího zadavatele vyžadovalo prozkoumání způsobu výpočtu KPI v jejich systému pracujícím s daty IoT zařízení a pokusit se o zefektivnění tohoto výpočtu, které by umožnilo navýšit počet KPI, které by současně mohly být počítány. Zadání bylo náročné díky nutnosti důkladně prozkoumat stávající řešení a vyzkoušet různé možnosti paralelizace těchto výpočtů.
Evaluation level: zadání splněno
Všechny body zadání byly splněny.
Evaluation level: je v obvyklém rozmezí
Rozsah technické zprávy splňuje předepsané požadavky.
Technická zpráva je psána srozumitelně, organizace kapitol a jejich návaznost je v pořádku. Celé řešení je popsáno a vyhodnoceno velmi pečlivě a přínos vytvořeného řešení je tak zřejmý. V práci bych ocenil podrobnější vysvětlení některých údajů ukládaných v databázi a v kapitole popisující samotné řešení bych místo poměrně rozsáhlých ukázek zdrojového kódu ocenil spíše slovní vysvětlení některých konstrukcí. To však jsou jediné menší nedostatky, jinak hodnotím prezentační úroveň kladně.
Formální úpravu hodnotím také jako nadprůměrnou, chyb v textu a překlepů je minimální množství, typogtafické nedostatky se v technické zprávě prakticky nevyskytují.
Z hlediska výběru studijní pramenů a práce s literaturou nevidím v práci žádné pochybení, vlastní výsledky jsou v práci jasně odlišeny od převzatých a z hlediska splnění norem je také vše v pořádku.
Realizačním výstupem je upravené řešení pro výpočet KPI v systému Smart Cities. Optimalizace byla realizována paralelizací celého výpočtu, ale i drobnými úpravami schématu databáze a přesunutím některých výpočtů do jiných částí kódu. Přínos celého řešení byl ověřen díky experimentům, které jsou v práci také popsány a vyhodnoceny.
Výsledky práce využije především firma, která je zadavatelem práce. Díky výsledkům bude možné provést výpočet většího počtu KPI v rozumném čase.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová