Development of a Fork-Join Dynamic Scheduling Middle-Layer for Automotive Powertrain Control Software
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.