Sadeh, W., Rawashdeh, O., Burkard, D., Dobbins, K. et al., "Development of a Fork-Join Dynamic Scheduling Middle-Layer for Automotive Powertrain Control Software," SAE Int. J. Passeng. Cars – Electron. Electr. Syst. 10(2):2017, doi:10.4271/2017-01-1620.
Multicore microcontrollers are rapidly making their way into the automotive industry. We have adopted the Cilk approach (MIT 1994) to develop a pure ANSI C Fork-Join dynamic scheduling runtime middle-layer with a work-stealing scheduler targeted for automotive multicore embedded systems. This middle-layer could be running on top of any AUTOSAR compliant multicore RTOS. We recently have successfully integrated our runtime layer into parts of legacy Ford powertrain software at Ford Motor Company. We have used the 3-core AURIX multicore chip from Infineon and the multicore RTA-OS. For testing purposes, we have forked some parallelizable functions inside two periodic tasks in Ford legacy powertrain software to be dynamically scheduled and executed on the available cores. Our preliminary evaluation showed 1.3–1.4x speedups for these two forked tasks. It also showed that this runtime layer scales well to the available cores and that it abstracts away the details involved in load balancing and inter-core communications from programmers. This paper outlines our preliminary design and results of evaluating the dynamic scheduler approach for powertrain control software on multicore chips. This work is ongoing research and this paper presents challenges such as meeting deadlines, reliability, and safety that arise when adopting dynamic scheduling for such time and safety-critical software.