Hardware Accelerator Queue Control for Interference-Free ADAS Kernels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern Advanced Driver Assistance Systems (ADAS) face interference issues due to contention for hardware accelerators, leading to software malfunctions and unpredictable execution times, as existing frameworks prioritize performance over safety-critical considerations like freedom from interference.
Innovation Solution
A Hardware Accelerator Manager (HWA) component is introduced to manage kernel execution requests, ensuring each kernel is executed on a compatible accelerator without simultaneous execution, using queues and defined criteria to prioritize and schedule kernels, thereby guaranteeing freedom from interference and predictability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple software components execute kernels simultaneously on the same hardware accelerator, then accelerator utilization and productivity are improved, but interference between kernels occurs leading to unpredictable execution times and software malfunctions
Solution Approach 1:
The patent introduces a Hardware Accelerator Manager (HWA) as an intermediary component between software components and hardware accelerators. The HWA receives kernel execution requests, manages queues for each accelerator, sorts kernels according to defined criteria, and triggers execution while ensuring no simultaneous kernel execution on the same accelerator. This mediator resolves the contradiction by controlling access to prevent interference while maintaining systematic utilization.
2Reliability
If a Hardware Accelerator Manager is introduced to ensure exclusive control and prevent simultaneous kernel execution, then freedom from interference and predictability are improved, but accelerator utilization may decrease due to sequential execution
Solution Approach 1:
The HWA performs preliminary actions by receiving and enqueuing kernel requests before execution, sorting them according to defined criteria (such as priority, deadline, or other system-defined parameters). This advance organization allows the system to maintain exclusive control and prevent interference while optimizing the sequence of execution to maximize accelerator utilization within the constraints of safety-critical requirements.
3Ease of operation
If existing software frameworks like CUDA or OpenCL are used to manage hardware accelerators, then ease of operation and adaptability are improved, but freedom from interference cannot be guaranteed due to performance optimization priorities
Solution Approach 1:
The HWA serves as a specialized intermediary layer that sits between the software components and the hardware accelerators, providing a controlled interface for kernel execution requests. While existing frameworks like CUDA or OpenCL may be used underneath, the HWA manages the queues and execution triggering, ensuring that kernels are not executed simultaneously on the same accelerator, thus guaranteeing freedom from interference while maintaining a usable interface for software components.
Data Source
AI summary
A method and computer system to execute functions in an automotive computer system, wherein a function comprises software components as well as computation kernels. The computer system comprises a hardware accelerator manager component, “HWA”. The HWA enqueues each kernel in one queue of an accelerator, which accelerator is compatible to the kernel, and sorts the kernels within their queues, wherein the HWA enqueues and sorts the kernels according to defined criteria. The HWA receives requests from running software components to execute specific kernels and triggers the execution of requested kernels on their accelerators. The requested kernels are executed on their accelerators taking into account the queues and their sorting order within their queues. The HWA has exclusive control of the accelerators and ensures that a kernel is only executing on its accelerator if no other kernel accelerator is executing simultaneously.


