Implementace paralelního algoritmu pro hledání optimální cesty závislé na čase
Date issued
2015
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Západočeská univerzita v Plzni
Abstract
Tato práce řeší problém hledání nejkratší cesty v silniční síti, kde doba průjezdu úsekem závisí na čase, konkrétně problém volby doby výjezdu pro dosažení nejkratšího času cesty. Cílem této práce je vyvinout a implementovat paralelní algoritmus. Zaměřil jsem se na algoritmus pro distribuované prostředí na bázi modelu MapReduce.
Práce představuje MapReduce algoritmus pracující ve spojitém čase a založený na LCA (Label Corecting Algorithm), který byl implementován v prostředí Apache Spark za pomocí nástavby GraphX určené pro grafové analýzy. Jako graf byla použita silniční síť z OSM a transportní funkce byly vygenerovány náhodně.
Byl navržen a implementován paralelní algoritmus se složitostí O(n^2) a dobrou škálovatelností. Dále byly provedeny výkonnostní testy, které ukázaly, že vyvinutý algoritmus je vhodný pro velmi velké grafy (které se nevejdou do paměti jednoho počítače), protože režie distribuovaného systému u malých grafů tvoří velké procento výpočetního času.
Description
Subject(s)
Apache Spark, nejkratší cesta, časová závislost, distribuované prostředí, MapReduce, graf