ISBN: 978-981-09-5471-0 DOI: 10.18178/wcse.2015.04.080
Asynchronous and Synchronous Approaches for Developing Software on Embedded Multicore Systems
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.
Index Terms— multicore, MCAPI, MRAPI, C++11, threads, TBB, OpenMP, Boost, Poco
Michael Bogner, Matthias Bonora, Franz Wiesinger
University of Applied Sciences Upper Austria, AUSTRIA
Cite: Michael Bogner, Matthias Bonora, Franz Wiesinger, "Asynchronous and Synchronous Approaches for Developing Software on Embedded Multicore Systems," 2015 The 5th International Workshop on Computer Science and Engineering-Information Processing and Control Engineering (WCSE 2015-IPCE), pp. 482-486, Moscow, Russia, April 15-17, 2015.