Large-scale deployment of autonomous vehicles (AVs) requires the reconciliation of two competing goals: performance and safety. AV systems also need to be deterministic so that their worst-case behavior can be validated for satisfying timing guarantees. On a complex SoC like the NVIDIA? DRIVE? Orin? SoC, the behavior exhibited by any software component depends on the state of the SoC as exhibited by two factors: the state of other software components (locks, memory contention, etc.), and the state of the hardware (caches, physical memory, etc.).
To solve the problems associated with dynamic scheduling, we present a static, centrally monitored, OS agnostic, non-preemptive scheduler that manages work across hardware engines on NVIDIA DRIVE Orin? SoC. Our scheduling framework also offers methodologies and tools to both characterize and tune the interactions between tasks on different hardware engines.
STM provides the ability to schedule Runnables across the various hardware engines on the NVIDIA DRIVE Orin? SoC as well as any discrete GPUs attached to NVIDIA DRIVE Orin? SoC. Below is a short overview of the supported hardware engines and software libraries.