当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Timing isolation and improved scheduling of deep neural networks for real‐time systems
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2020-06-01 , DOI: 10.1002/spe.2840
Daniel Casini 1, 2 , Alessandro Biondi 1, 2 , Giorgio Buttazzo 1, 2
Affiliation  

In recent years, the performance of deep neural networks (DNNs) is significantly improved, making them suitable for many application fields, such as autonomous driving, advanced robotics, and industrial control. Despite a lot of research being devoted to improving the accuracy of DNNs, only limited efforts have been spent to enhance their timing predictability, required in several real‐time applications. This paper proposes a software infrastructure based on the Linux operating system to integrate DNNs within a real‐time multicore system. It has been realized by modifying both the internal scheduler of the popular TensorFlow framework and the SCHED_DEADLINE scheduling class of Linux. The proposed infrastructure allows providing timing isolation of DNN inference tasks, hence improving the determinism of the temporal interference generated by TensorFlow. The proposal is finally evaluated with a case study derived from a state‐of‐the‐art benchmark inspired by an autonomous industrial system. Extensive experiments demonstrate the effectiveness of the proposed solution and show a significant reduction of both average and longest‐observed response times of TensorFlow tasks.

中文翻译:

实时系统深度神经网络的时序隔离和改进调度

近年来,深度神经网络(DNN)的性能得到显着提升,使其适用于许多应用领域,如自动驾驶、先进机器人和工业控制。尽管有大量研究致力于提高 DNN 的准确性,但仅花费了有限的努力来增强其时序可预测性,这在几个实时应用中是必需的。本文提出了一种基于 Linux 操作系统的软件基础设施,用于在实时多核系统中集成 DNN。它是通过修改流行的 TensorFlow 框架的内部调度器和 Linux 的 SCHED_DEADLINE 调度类来实现的。提议的基础设施允许提供 DNN 推理任务的时间隔离,因此提高了 TensorFlow 产生的时间干扰的确定性。该提案最终通过一个案例研究进行评估,该案例研究源自受自主工业系统启发的最先进基准。大量实验证明了所提出解决方案的有效性,并表明 TensorFlow 任务的平均响应时间和观察到的最长响应时间均显着减少。
更新日期:2020-06-01
down
wechat
bug