Experiences with HPX on embedded real-time systems

Abstract

Recently more and more embedded devices use multi-core processors. For example, the current generation of high-end engine-control units exhibit triple-core processors. To reliably exploit the parallelism of these cores, an advanced programming environment is needed, such as the current C++17 Standard, as well as the upcoming C++20 Standard. Using C++ to cooperatively parallelize software is comprehensively investigated, but not in the context of embedded multi-core devices with real-time requirements. For this paper we used two algorithms from Continental AG's powertrain which are characteristic for real-time embedded devices and examined the effect of parallelizing them with C++17/20, represented by HPX as a C++17/20 runtime implementation. Different data sizes were used to increase the execution times of the parallel sections. According to Gustafson's Law, with these increased data sizes, the benefit of parallelization increases and greater speed-ups are possible. When keeping Continental AG's original data sizes, HPX is not able to reduce the execution time of the algorithms

    Similar works