Dinamikus vasúti mérleg off-line adatfeldolgozási feladatainak hatékony implementálása (evopro Innovation)

Tanszéki konzulens: 
A munkatárs fényképe
docens
Szoba: IE333
Tel.:
+36 1 463-4372
Email: khazy (*) mit * bme * hu
Külső konzulens: 
Pechan Imre (evopro Innovation Kft.)

A kiírás adatai

A téma státusza: 
Korábbi (jelenleg nem aktív, de látszik)
Kiírás éve: 
2017
A kiírás jellege: 
szakdolgozat/diplomaterv

Az evopro Innovation Kft. által kifejlesztett dinamikus vasúti mérőrendszer jelenleg Magyarország számos pontján van letelepítve és üzemeltetve. A rendszerek normál működése során jelentős mennyiségű adat keletkezik. Ezen adatok off-line feldolgozása segítségével végezhetők el olyan feladatok, mint például a rendszerek kalibrálása, statisztikai adatok generálása, stb. Ezen feladatok jelenleg Matlab környezetben hajtódnak végre, ami a nagy adatmennyiségre való tekintettel nem hatékony.

A végrehajtás gyorsítása érdekében szükséges az eljárások alacsonyszintű programnyelven (C/C++) történő hatékony implementálása, esetleges párhuzamosítása multicore architektúra segítségével. Az implementáláskor körbe kell járni a nagy adatmennyiség hatékony kezelésének, a kód párhuzamosíthatóságának és a skálázhatóságnak kérdéskörét. Tekintettel kell lenni a kód karbantarhatóságára és újrahasznosíthatóságára, mivel a rendszerek üzemeltetése során gyakran merülnek fel új igények, valamint a tesztelhetőségére is, hogy a már meglévő implementáció alapján a működés verifikálható legyen.

A Hallgató feladatai:

  • Ismerkedjen meg az evopro dinamikus vasúti mérőrendszerével és az off-line feldolgozást megvalósító (főleg Matlab alapú) kódbázissal!
  • Mérje fel az algoritmusok futási karakterisztikáját (I/O műveletek, processzálás, Matlab profiler) és hatékony, párhuzamos implementációs lehetőségeit!
  • Tekintse át a párhuzamos megvalósítást elősegítő szabadon elérhető könyvtárakat (pl. OpenCL, FastFlow, stb.)!
  • Készítse el az off-line adatfeldolgozó szoftver tervét!
  • Implementálja a szoftvert, különös tekintettel a karbantarthatóság és tesztelhetőség szempontjaira! Szükség szerint párhuzamosítsa a kódot!
  • Tesztelje a működést a már meglévő, Matlab-alapú implementációval összevetve!

Kapcsolódó készségek és ismeretek:

  • Szoftverfejlesztés C/C++ nyelven
  • Matlab ismeretek
  • Párhuzamos programozási ismeretek
© 2010-2019 BME MIT | Hibajelentés | Használati útmutató