Aplikace pro demonstraci synchronizačních mechanismů v distribuovaných systémech
Application for Demonstration of Synchronization Mechanisms in Distributed Systems

Author
Advisor
Zbořil, FrantišekReferee
Veigend, PetrGrade
BAltmetrics
Metadata
Show full item recordAbstract
Cieľom tejto práce je navrhnúť a implementovať webovú aplikáciu demonštrujúcu vybrané synchronizačné mechanizmy v distribuovaných systémoch. Jedná sa o algoritmy komunikujúce predávaním správ pre zaistenie vzájomného vylúčenia procesov pri snahe o prístup do kritickej sekcie. Implementovanými sú Lamportov algoritmus, Maekawov algoritmus, Raymondov algoritmus a Suzuki-Kasami vysielací algoritmus. Aplikácia je implementovaná v jazyku Java s využitím Spring Boot frameworku pre načúvanie na rôznych koncových bodoch. Ďalej je využitý nástroj Thymeleaf na výmenu dát medzi backendom a frontendom aplikácie a HTML + JavaScript jazyk pre dynamické vykresľovanie posielaných správ na obrazovku. Dané algoritmy sú implementované v jednotlivých knižniciach, ktoré následne využíva finálne vytvorená aplikácia. Aplikácia prehľadne demonštruje ich funkčnosť na rôznych príkladoch pre čo najlepšie porozumenie. Je primárne určená pre podporu výučby študentov Fakulty informačných technológií Vysokého učenia technického v Brne. The aim of this thesis is to design and create a web application for the demonstration of selected synchronization mechanisms in distributed systems. The algorithms communicate by means of message-passing to ensure mutual exclusion of the processes in an effort to access the critical section. Implemented are Lamport's algorithm, Maekawa's algorithm, Raymond's algorithm and Suzuki-Kasami broadcasting algorithm. The application is implemented in Java programming language with the use of Spring Boot framework for listening on different endpoints. Thymeleaf template engine is used to exchange the necessary data between backend and frontend of the application. HTML + JavaScript language are used for dynamic rendering of sent messages to the screen. The algorithms are implemented in separate libraries, which are then used by the web application. The application illustratively demonstrates function of each algorithm with loads of different examples for the best possible understanding. It's primarily intended for students of Faculty of Information Technology, Brno University of Technology
Keywords
webová aplikácia, výuková demonštračná aplikácia, distribuované systémy, synchronizácia procesov, komunikácia predávaním správ, algoritmus, vzájomné vylúčenie, kritická sekcia, token, kvórum, uviaznutie, vyhladovenie, Lamport, Maekawa, Raymond, Suzuki-Kasami, Java, Spring Boot, Thymeleaf, Javascript, web application, educational demonstrative application, distributed systems, process synchronization, communication by message-passing, algorithm, mutual exclusion, critical section, token, quorum, deadlock, starvation, Lamport, Maekawa, Raymond, Suzuki-Kasami, Java, Spring Boot, Thymeleaf, JavascriptLanguage
slovenština (Slovak)Study brunch
Informační technologieComposition of Committee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Ondřej Ryšavý, Ph.D. (místopředseda) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Martínek, Ph.D. (člen) Dr. Ing. Petr Peringer (člen)Date of defence
2022-06-13Process of defence
Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla 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í studentky na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Jak se liší příklady, které lze před spuštěním vykonávání algoritmu zvolit? Můžete prosím stručně popsat, jak jste testovala vaši aplikaci? Kdo byli testeři? K jakým vylepšením testování vedlo? Kolikrát testování probíhalo? Měla aplikace vliv na úspěšnost absolvování předmětu?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/207286Source
KLIMČÍKOVÁ, L. Aplikace pro demonstraci synchronizačních mechanismů v distribuovaných systémech [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.Collections
- 2022 [309]