Parallel Processing of Vehicle Telemetric Data
No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Author
Date
2014-12-01
Department
Major/Subject
Tietoliikenneohjelmistot
Mcode
T3005
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
63 + 7
Series
Abstract
The thesis studies the use of a task-based parallel programming model, Open Event Machine, for processing of automotive data streams. In the Open Event Machine programming model, code is split into run-to-completion tasks, which are triggered via events sent to processing queues. The Open Event Machine model aims to deliver high-performance parallel computing on many-core systems by using hardware to schedule the queued events. Automotive computing is increasingly moving towards networked vehicles. These vehicles are capable of producing large amounts of interesting data, which could be combined. A large number of automotive sensors easily produce staggering amounts of data, which presents a need for parallel processing. The Open Event Machine model has been previously shown to deliver high-performance on special hardware, which raises the question whether it would be applicable to automotive field. However, the Open Event Machine model provides a very low-abstraction interface for the programmer. We have qualitatively evaluated the Open Event Machine as a programming model by implementing automotive sensor processing applications using Open Event Machine. The sensor data was gathered using a real-world car equipped with different sensors. Through the evaluation, we have discovered several open issues with the Open Event Machine programming model. We also propose solutions to these problems. Some of the key problems found are related to the verbosity of the API of the model and the synchronization constructs for events and queues.Tässä diplomityössä on tutkittu tehtävärinnakkaisuuteen perustuvan ohjelmointimallin, Open Event Machinen, käyttöä autojen tuottamien anturitietojen käsittelyssä. Open Event Machine -ohjelmointimallissa ohjelmakoodi pilkotaan loppuun asti suoritettaviin tehtäviin, joiden suoritus laukaistaan käsittelyjonoihin lähetettävillä tapahtumilla. Open Event Machine -ohjelmointimalli pyrkii tarjoamaan erinomaista suorituskykyä rinnakkaislaskennassa erittäin moniytimisillä järjestelmillä hyödyntämällä laitteistokiihdytettyä suorituksen ajoitusta. Autojen laskentajärjestelmät ja autot ovat verkottumassa lähitulevaisuudessa. Nämä ajoneuvot pystyvät tuottamaan suuria määriä kiinnostavaa tietoa, jota voitaisiin yhdistellä. Suuri määrä ajoneuvojen antureita tuottaa hyvin lyhyessä ajassa niin suuren määrän tietoa, että käsittelyyn vaaditaan käytännössä rinnakkaisuutta. Open Event Machinen on aikaisemmin jo näytetty saavuttavan hyvän suorituskyvyn erityislaitteilla, mistä herää kysymys, että olisiko Open Event Machine sovellettavissa ajoneuvoista saatavan tiedon käsittelyyn. Open Event Machine tarjoaa kuitenkin hyvin alhaisen abstraktiotason ohjelmointirajapinnan ohjelmoijalle. Olemme tässä työssä tutkineet kvalitatiivisesti Open Event Machineä ohjelmointimallina toteuttamalla ajoneuvodatan käsittelyohjelmia Open Event Machinellä. Tätä varten on myös kerätty ajoneuvoihin liittyvää anturidataa oikealla antureja sisältävällä autolla. Tutkimuksen tuloksena löysimme useita ongelmia Open Event Machinen ohjelmointimallista. Työssä esittelemme myös korjausehdotukset näihin ongelmiin. Keskeiset ongelmat liittyvät Open Event Machinen vaatimiin monisanaisiin alustuskutsuihin sekä tapahtumien ja jonojen synkronointikonstruktioiden vajavaisuuteen.Description
Supervisor
Nurminen, JukkaThesis advisor
Hirvisalo, VesaKeywords
open event machine, parallel programming model, parallel programming, hardware-accelerated parallel processing