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.
|Publication status||Published - 2015|
|Event||2015 5th International Workshop on Computer Science and Engineering: Information Processing and Control Engineering, WCSE 2015-IPCE - Moscow, Russian Federation|
Duration: 15 Apr 2015 → 17 Apr 2015
|Conference||2015 5th International Workshop on Computer Science and Engineering: Information Processing and Control Engineering, WCSE 2015-IPCE|
|Period||15.04.2015 → 17.04.2015|