Implementace paralelního algoritmu pro hledání optimální cesty závislé na čase

Date issued

2015

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

Citation