Adaptive Systems-on-Chips (SoCs) are increasingly being used in mixed criticality systems (MCSs), such as in autonomous driving, aviation and medical systems. In this context, AMD has proposed the Versal SoC, which has a heterogeneous architecture including, among other components, an Artificial Intelligence Engine (AIE), which is a 2D array of processors and memory tiles designed for AI and signal processing workloads. While this AIE offers significant potential for accelerating real-time data processing tasks, this has not yet been explored in the context of MCSs since individual tasks with different criticality levels cannot be dynamically assigned to tiles due to the static mapping of dataflow graphs and tasks. In this work, we propose a dynamic task dispatching infrastructure that enables task switching on the AIE at runtime. Based on this infrastructure, we present an MCS design that dynamically assigns tasks of different criticality to a pool of AIE tiles, depending on the criticality mode of the system. Our approach overcomes the limitations of static dataflow graph mappings and, for the first time, exploits the parallel processing capabilities of the AIE for MCSs. We also present a comprehensive timing analysis of the overhead introduced by the task dispatcher infrastructure, focusing on control logic, context switching and data copy operations. This shows that these operations have low variance and are negligible compared to the overall execution time, demonstrating that our infrastructure is suitable for MCSs. Finally, we evaluate the proposed infrastructure using an autonomous driving workload with tasks that have variable execution times and different criticality levels. In this case study, we maximized AIE utilization, reducing idle time by 65.5 %, while measuring an execution time overhead of less than 0.002 %, and doubling the throughput of low-criticality tasks.
翻译:自适应片上系统(SoCs)正日益应用于混合关键性系统(MCSs),例如自动驾驶、航空和医疗系统。在此背景下,AMD提出了Versal SoC,其异构架构包含人工智能引擎(AIE)——一种用于AI和信号处理工作负载的二维处理器与存储瓦片阵列。尽管AIE在加速实时数据处理任务方面具有巨大潜力,但因数据流图与任务的静态映射特性,不同关键性级别的独立任务无法动态分配到瓦片,这使其在MCS场景中的潜力尚未被探索。本文提出一种动态任务调度基础设施,支持AIE在运行时进行任务切换。基于该基础设施,我们设计了一种MCS方案,根据系统关键性模式,将不同关键性任务动态分配到一组AIE瓦片。该方法突破了静态数据流图映射的限制,首次利用AIE的并行处理能力服务于MCS。我们还针对任务调度器基础设施引入的开销进行了全面的时序分析,重点关注控制逻辑、上下文切换和数据拷贝操作。分析表明,这些操作方差低且与整体执行时间相比可忽略不计,证明了该基础设施适用于MCS。最后,我们采用包含可变执行时间及不同关键性级别的自动驾驶工作负载对所提基础设施进行评估。在该案例中,我们最大化AIE利用率,将空闲时间减少65.5%,同时测量到执行时间开销低于0.002%,并将低关键性任务的吞吐量提升了一倍。