Asynchronous and synchronous approaches for developing software on embedded multicore systems

Research output: Contribution to conferencePaperpeer-review

Abstract

This paper shows modern ways of developing software on embedded multicore systems. It sets its focus on established multithreading technologies on desktop systems and tests their use in an embedded environment. Existing multithreading libraries and newer developments are covered, with the main focus on solutions suitable for industry proven applications and requirements. Also, already established methods for using multicore embedded systems are examined, mainly the use of asynchronous multiprocessing. We compare these approaches, show their differences, examine their areas of use and test whether or not they meet the requirements in industrial applications. Our results show that the use of libraries, like C++11, Intel's TBB, Poco or Boost are able to meet the requirements while providing multithreading solutions for different use-cases, ranging from simple and basic parallelization up to low-level communication and optimization on chip level to larger, highly parallel applications. As the use of multicore processors will increase over time, we believe that these multithreaded libraries will be an essential factor in future development and that their use in embedded systems will be increasing accordingly.

Original languageEnglish
Publication statusPublished - 2015
Event2015 5th International Workshop on Computer Science and Engineering: Information Processing and Control Engineering, WCSE 2015-IPCE - Moscow, Russian Federation
Duration: 15 Apr 201517 Apr 2015

Conference

Conference2015 5th International Workshop on Computer Science and Engineering: Information Processing and Control Engineering, WCSE 2015-IPCE
Country/TerritoryRussian Federation
CityMoscow
Period15.04.201517.04.2015

Keywords

  • Boost
  • C++11
  • MCAPI
  • MRAPI
  • Multicore
  • OpenMP
  • Poco
  • TBB
  • Threads

Fingerprint

Dive into the research topics of 'Asynchronous and synchronous approaches for developing software on embedded multicore systems'. Together they form a unique fingerprint.

Cite this