Lightweight runtime and application interface for parallel job execution in AUTOSAR
Thomer, Daniel (2020)
Thomer, Daniel
2020
Degree Programme in Information Technology, MSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. Only for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-08-13
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202007116355
https://urn.fi/URN:NBN:fi:tuni-202007116355
Tiivistelmä
In recent years gains in processor performance have often been accomplished by increasing the number of processor cores. To benefit from this increase, software must be optimised to make use of the higher number of cores - the automotive industry is no exception for this. The base for many automotive applications is a standardized operating system and runtime called AUTOSAR.
This thesis shows the design, implementation and evaluation of a software framework to improve the use of multicore platforms within AUTOSAR. The software framework is called the Worker Core. The goal is to both enhance usability for developers as well as improve performance compared to existing AUTOSAR solutions. The framework supports offloading and speedup use cases for parallelization.
The prototype implemented runs on an Infineon AURIX Tricore microcontroller. In the system several cores are controlled by AUTOSAR, while the Worker Core framework controls a single core to deploy computationally intensive tasks. The dedicated core does not run AUTOSAR or any other OS but is using a lightweight runtime and scheduling to process jobs that are created by an API accessible from any AUTOSAR core.
The measurement results, using sample application jobs (CRC, ED25519), show a significant increase in performance. The overhead of the Worker Core framework is 45% lower than the AUTOSAR solution when operating on a basic software layer without the AUTOSAR runtime. On the application layer the overhead is 60% lower.
Furthermore, the implemented API needs considerably less configuration effort than the AUTOSAR solution. Additionally, it uses the C++ promise/future concept to model a familiar programming paradigm for most developers to improve usage of parallel systems.
The Worker Core framework is a stand-alone and ready to use framework for a homogeneous multicore system within an AUTOSAR environment.
This thesis shows the design, implementation and evaluation of a software framework to improve the use of multicore platforms within AUTOSAR. The software framework is called the Worker Core. The goal is to both enhance usability for developers as well as improve performance compared to existing AUTOSAR solutions. The framework supports offloading and speedup use cases for parallelization.
The prototype implemented runs on an Infineon AURIX Tricore microcontroller. In the system several cores are controlled by AUTOSAR, while the Worker Core framework controls a single core to deploy computationally intensive tasks. The dedicated core does not run AUTOSAR or any other OS but is using a lightweight runtime and scheduling to process jobs that are created by an API accessible from any AUTOSAR core.
The measurement results, using sample application jobs (CRC, ED25519), show a significant increase in performance. The overhead of the Worker Core framework is 45% lower than the AUTOSAR solution when operating on a basic software layer without the AUTOSAR runtime. On the application layer the overhead is 60% lower.
Furthermore, the implemented API needs considerably less configuration effort than the AUTOSAR solution. Additionally, it uses the C++ promise/future concept to model a familiar programming paradigm for most developers to improve usage of parallel systems.
The Worker Core framework is a stand-alone and ready to use framework for a homogeneous multicore system within an AUTOSAR environment.