Predictable Data-Driven Resource Management: an Implementation using Autoware on Autonomous Platforms

Autonomous embedded systems (AES) are becoming prominent in many application domains such as self-driving cars. However, the conflict between the rather limited memory space in such systems and the data intensive nature of the workloads creates hard challenges on data and memory management, which may easily cause unpredictability in outputting autonomous control decisions. In this paper, we target data-driven AES featuring the integrated architecture by establishing a data-centric system model inspired by Heijunka, a mature production leveling methodology developed by Toyota. Based on this new model, we develop ResCue which contains a dynamic data scheduler and a flexible memory reservation scheme to ensure both temporal and spatial data availability, which shall guarantee predictability in generating outputs in terms of both meeting deadlines and minimizing jitters. We implement and extensively evaluate ResCue under various settings using a popular end-to-end self-driving software Autoware on top of the AES-specific NVIDIA AGX Xavier SoC. Results show that ResCue never misses a deadline and yields a maximum jitter of merely 834 microseconds, while incurring rather small overhead. Moreover, ResCue is able to noticeably reduce memory consumption compared to vanilla Autoware.

[1]  Johannes Ehala,et al.  Time-selective data fusion for in-network processing in ad hoc wireless sensor networks , 2018, Int. J. Distributed Sens. Networks.

[2]  Shinpei Kato,et al.  Deep Learning on Large-Scale Muticore Clusters , 2018, 2018 30th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).

[3]  Takuya Azumi,et al.  IDF-Autoware: Integrated Development Framework for ROS-Based Self-Driving Systems Using MATLAB/Simulink , 2019, ASD@DATE.

[4]  Eric Thorn,et al.  A Framework for Automated Driving System Testable Cases and Scenarios , 2018 .

[5]  Rajesh Gupta,et al.  Embedded software for robotics: challenges and future directions: special session , 2018, EMSOFT.

[6]  Waqar Ali,et al.  BWLOCK: A Dynamic Memory Access Control Framework for Soft Real-Time Applications on Multicore Platforms , 2017, IEEE Transactions on Computers.

[7]  Jian-Jia Chen,et al.  k2U: A General Framework from k-Point Effective Schedulability Analysis to Utilization-Based Tests , 2015, 2015 IEEE Real-Time Systems Symposium.

[8]  Andrew B. Walker,et al.  Hard real-time motion planning for autonomous vehicles , 2011 .

[9]  James H. Anderson,et al.  Task Scheduling with Self-Suspensions in Soft Real-Time Multiprocessor Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[10]  Edward A. Lee Cyber-physical Systems -are Computing Foundations Adequate? Position Paper for Nsf Workshop on Cyber-physical Systems: Research Motivation, Techniques and Roadmap , 1998 .

[11]  Christoph M. Kirsch,et al.  Giotto: a time-triggered language for embedded programming , 2003 .

[12]  Bo Zhang,et al.  A Predictable Servant-Based Execution Model for Safety-Critical Systems , 2017, 2017 IEEE International Symposium on Parallel and Distributed Processing with Applications and 2017 IEEE International Conference on Ubiquitous Computing and Communications (ISPA/IUCC).

[13]  Natarajan Meghanathan,et al.  A Survey of Contemporary Real-time Operating Systems , 2005, Informatica.

[14]  Ali Farhadi,et al.  YOLOv3: An Incremental Improvement , 2018, ArXiv.

[15]  Ming Yang,et al.  Making OpenVX Really "Real Time" , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[16]  Rodolfo Pellizzoni,et al.  Parallelism-Aware Memory Interference Delay Analysis for COTS Multicore Systems , 2014, 2015 27th Euromicro Conference on Real-Time Systems.

[17]  Jian Li,et al.  Power-efficient time-sensitive mapping in heterogeneous systems , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[18]  Edward A. Lee The Past, Present and Future of Cyber-Physical Systems: A Focus on Models , 2015, Sensors.

[19]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[20]  Jan-Michael Frahm,et al.  Re-Thinking CNN Frameworks for Time-Sensitive Autonomous-Driving Applications: Addressing an Industrial Challenge , 2019, 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[21]  Marco Caccamo,et al.  WCET Derivation under Single Core Equivalence with Explicit Memory Budget Assignment , 2017, ECRTS.

[22]  Xi Li,et al.  A Time-Aware Programming Framework for Constructing Predictable Real-Time Systems , 2017, 2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[23]  Thomas A. Henzinger,et al.  Event-Driven Programming with Logical Execution Times , 2004, HSCC.

[24]  Zheng Dong,et al.  Work-in-Progress: New Analysis Techniques for Supporting Hard Real-Time Sporadic DAG Task Systems on Multiprocessors , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[25]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[26]  Jian-Jia Chen,et al.  Bursty-Interference Analysis Techniques for Analyzing Complex Real-Time Task Models , 2014, 2014 IEEE Real-Time Systems Symposium.

[27]  James H. Anderson,et al.  Suspension-Aware Analysis for Hard Real-Time Multiprocessor Scheduling , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[28]  Shinpei Kato,et al.  Analysis of Memory System of Tiled Many-Core Processors , 2019, IEEE Access.

[29]  Ilias K. Savvas,et al.  SIRTOS: A simple real-time operating system , 2016, 2016 International Conference on Information and Digital Technologies (IDT).

[30]  Akshay Kumar Shastry,et al.  Functional Safety Assessment in Autonomous Vehicles , 2018 .

[31]  Howard Barringer,et al.  A Formal Framework for User Centric Control of Probabilistic Multi-agent Cyber-Physical Systems , 2009, CLIMA.

[32]  Chao Wang,et al.  Tickwerk: Design of a LET-Based SoC for Temporal Programming , 2017, 2017 IEEE International Symposium on Parallel and Distributed Processing with Applications and 2017 IEEE International Conference on Ubiquitous Computing and Communications (ISPA/IUCC).

[33]  Shinpei Kato,et al.  Autoware on Board: Enabling Autonomous Vehicles with Embedded Systems , 2018, 2018 ACM/IEEE 9th International Conference on Cyber-Physical Systems (ICCPS).

[34]  Ankit Agrawal,et al.  Analysis of Dynamic Memory Bandwidth Regulation in Multi-core Real-Time Systems , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[35]  Jian-Jia Chen,et al.  Fixed-Relative-Deadline Scheduling of Hard Real-Time Tasks with Self-Suspensions , 2014, 2014 IEEE Real-Time Systems Symposium.

[36]  Francisco J. Cazorla,et al.  Generating and Exploiting Deep Learning Variants to Increase Heterogeneous Resource Utilization in the NVIDIA Xavier , 2019, ECRTS.

[37]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[38]  Giuseppe Lipari,et al.  A C-DAG task model for scheduling complex real-time tasks on heterogeneous platforms: preemption matters , 2019, ArXiv.

[39]  Heikki Summala,et al.  Brake reaction times and driver behavior analysis , 2000 .

[40]  Raimondas Ciegis,et al.  Numerical Simulation of Nonlocal Delayed Feedback Controller for Simple Bioreactors , 2018, Informatica.

[41]  Nicola Capodieci,et al.  Memory interference characterization between CPU cores and integrated GPUs in mixed-criticality platforms , 2017, 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA).

[42]  Cong Liu,et al.  PredJoule: A Timing-Predictable Energy Optimization Framework for Deep Neural Networks , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[43]  Luca Benini,et al.  GPU-Accelerated Real-Time Path Planning and the Predictable Execution Model , 2017, ICCS.

[44]  Renato Mancuso,et al.  Deterministic Memory Abstraction and Supporting Multicore System Architecture , 2017, ECRTS.

[45]  Gregory Diamos,et al.  Harmony: an execution model and runtime for heterogeneous many core systems , 2008, HPDC '08.

[46]  Peter Biber,et al.  The normal distributions transform: a new approach to laser scan matching , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[47]  Shinpei Kato,et al.  ROSCH:Real-Time Scheduling Framework for ROS , 2018, 2018 IEEE 24th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA).

[48]  James H. Anderson,et al.  An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[49]  Joxan Jaffar,et al.  Symbolic execution for memory consumption analysis , 2016, LCTES.

[50]  Shahriar Nirjon,et al.  Zygarde: Time-Sensitive On-Device Deep Intelligence on Intermittently-Powered Systems , 2019, ArXiv.

[51]  Xi Li,et al.  Clockwerk: A Predictable and Efficient Extension of Logical Execution Time Model , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).

[52]  Ming Yang,et al.  GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[53]  Cong Liu,et al.  ApNet: Approximation-Aware Real-Time Neural Network , 2018, 2018 IEEE Real-Time Systems Symposium (RTSS).

[54]  Matti Siekkinen,et al.  Latency and throughput characterization of convolutional neural networks for mobile computer vision , 2018, MMSys.

[55]  Mark Klein,et al.  An Analysis of Input/Output Paradigms for Real-Time Systems , 1990 .

[56]  Ben Kenwright Fast Efficient Fixed-Size Memory Pool: No Loops and No Overhead , 2012 .

[57]  Lui Sha,et al.  Memory Bandwidth Management for Efficient Performance Isolation in Multi-Core Platforms , 2016, IEEE Transactions on Computers.

[58]  Chao Wang,et al.  Definitions of predictability for Cyber Physical Systems , 2016, J. Syst. Archit..

[59]  Sujan Kumar Saha,et al.  Spatio-Temporal GPU Management for Real-Time Cyber-Physical Systems , 2018 .

[60]  G. Johansson,et al.  Drivers' Brake Reaction Times , 1971, Human factors.

[61]  Cong Liu,et al.  S^3DNN: Supervised Streaming and Scheduling for GPU-Accelerated Real-Time DNN Workloads , 2018, 2018 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[62]  Akio Nakata,et al.  An Improved LLF Scheduling for Reducing Maximum Heap Memory Consumption by Considering Laxity Time , 2018, 2018 International Symposium on Theoretical Aspects of Software Engineering (TASE).

[63]  William D. Smart,et al.  Programming Robots with ROS: A Practical Introduction to the Robot Operating System , 2015 .

[64]  Cong Liu,et al.  GPES: a preemptive execution system for GPGPU computing , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.