Implementing multi-threaded algorithms to the JGraphT library
Implementace vícevláknových algoritmů v knihovně JGraphT
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Cílem této práce je implementaci čtyř vybraných vícevláknových algoritmů do knihovny JGraphT. Jedná se o Java knihovnu poskytující grafové datové struktury a související algoritmy. Čtyři vybrané vícevláknové algoritmy jsou BFS, DFS, Dijkstra a Bellman-Ford. První část práce se zabývá samotnou knihovnou a popisem jejích hlavních částí. Druhá část se soustředí na samotné algoritmy, přesněji jejich vícevláknové verze a jejich teoretický popis. Třetí část obsahuje implementační požadavky a technické detaily samotné implementace. Poslední část práce potom prezentuje výsledky testů, hodnotí efektivitu jednotlivých implmementovaných algoritmů a zkoumá naplnění implementačních požadavků. Hlavním výstupem této práce je implementace daných algoritmů, která vhodně využívá prvky knihovny JGraphT, je řádně otestována a zdokumentována.
The aim of the thesis is to implement four parallel, multi-threaded algorithms to the JGraphT -- a Java library providing graph data structures and corresponding algorithms. The selected multi-threaded algorithms to be implemented are BFS, DFS, Dijkstra, and Bellman-Ford. First part of the thesis provides an overview of the JGraphT and its main components. Second part presents theoretical description of the selected algorithms and their parallel versions. Third part introduces implementation requirements and describe the implementation of the algorithms. Last part of the thesis focuses on presenting the testing results, evaluating performance of the implementations, and assessing the fulfillment of the outlined implementation requirements. The main outcome of the thesis is the implementation of the selected multi-threaded algorithms which uses existing components of the JGraphT appropriately, is fully tested and documented.
The aim of the thesis is to implement four parallel, multi-threaded algorithms to the JGraphT -- a Java library providing graph data structures and corresponding algorithms. The selected multi-threaded algorithms to be implemented are BFS, DFS, Dijkstra, and Bellman-Ford. First part of the thesis provides an overview of the JGraphT and its main components. Second part presents theoretical description of the selected algorithms and their parallel versions. Third part introduces implementation requirements and describe the implementation of the algorithms. Last part of the thesis focuses on presenting the testing results, evaluating performance of the implementations, and assessing the fulfillment of the outlined implementation requirements. The main outcome of the thesis is the implementation of the selected multi-threaded algorithms which uses existing components of the JGraphT appropriately, is fully tested and documented.