Configuring ADAS Platforms for Automotive Applications Using Metaheuristics - McLean, Shane D.; Juul Hansen, Emil Alexander; Pop, Paul; Craciunas, Silviu S. (Frontiers in Robotics and AI, 2022)
Modern Advanced Driver-Assistance Systems (ADAS) combine critical real-time and non-critical best-effort tasks and messages onto an integrated multi-core multi-SoC hardware platform. The real-time safety-critical software tasks have complex interdependencies in the form of end-to-end latency chains featuring, e.g., sensing, processing/sensor fusion, and actuating. The underlying real-time operating systems running on top of the multi-core platform use static cyclic scheduling for the software tasks, while the communication backbone is either realized through PCIe or Time-Sensitive Networking (TSN). In this paper we address the problem of configuring ADAS platforms for automotive applications, which means deciding the mapping of tasks to processing cores and the scheduling of tasks and messages. Time-critical messages are transmitted in a scheduled manner via the timed-gate mechanism described in IEEE~802.1Qbv according to the pre-computed Gate Control List (GCL) schedule. We study the computation of the assignment of tasks to the available cores of the platform, the static schedule tables for the real-time tasks, as well as the GCLs, such that task and message deadlines, as well as end-to-end task chain constraints, are satisfied. This is an intractable combinatorial optimization problem. As the ADAS platforms and applications become more complex, such problems cannot be optimally solved and require problem specific heuristics or metaheuristics to determine good quality feasible solutions in a reasonable time. We propose two metaheuristic solutions, a Genetic Algorithm (GA) and one based on Simulated Annealing (SA), both creating static schedule tables for tasks by simulating Earliest Deadline First (EDF) scheduling parameterized by task offsets and deadlines. Furthermore, we use a List Scheduling-based heuristic to create the GCLs in platforms featuring a TSN backbone. We evaluate the proposed solution with real-world and synthetic test cases scaled to fit the future requirements of ADAS systems. The results show that our proposed strategy is able to find solutions that meet the complex timing and dependency constraints at a higher rate than the related work approaches, the jitter constraints are satisfied in over 6 times more cases and the task chains are satisfied in 41% more cases on average. Our method scales well with the growing trend of ADAS platforms.