Parallel scheduling for cyber-physical systems: analysis and case study on a self-driving car

  • Authors:
  • Junsung Kim;Hyoseung Kim;Karthik Lakshmanan;Ragunathan (Raj) Rajkumar

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh, PA;Carnegie Mellon University, Pittsburgh, PA;Google Inc., Mountain View, CA;Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • Proceedings of the ACM/IEEE 4th International Conference on Cyber-Physical Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the complexity of software for Cyber-Physical Systems (CPS) rapidly increases, multi-core processors and parallel programming models such as OpenMP become appealing to CPS developers for guaranteeing timeliness. Hence, a parallel task on multi-core processors is expected to become a vital component in CPS such as a self-driving car, where tasks must be scheduled in real-time. In this paper, we extend the fork-join parallel task model to be scheduled in real-time, where the number of parallel threads can vary depending on the physical attributes of the system. To efficiently schedule the proposed task model, we develop the task stretch transform. Using this transform for global Deadline Monotonic scheduling for fork-join real-time tasks, we achieve a resource augmentation bound of 3.73. In other words, any task set that is feasible on m unit-speed processors can be scheduled by the proposed algorithm on m processors that are 3.73 times faster. The proposed scheme is implemented on Linux/RK as a proof of concept, and ported to Boss, the self-driving vehicle that won the 2007 DARPA Urban Challenge. We evaluate our scheme on Boss by showing its driving quality, i.e., curvature and velocity profiles of the vehicle.