TY - GEN
T1 - On-Device CPU Scheduling for Robot Systems
AU - Partap, Aditi
AU - Grayson, Samuel
AU - Huzaifa, Muhammad
AU - Adve, Sarita
AU - Godfrey, Brighten
AU - Gupta, Saurabh
AU - Hauser, Kris
AU - Mittal, Radhika
N1 - Funding Information:
VI. CONCLUSION In this work, we develop Catan, a scheduler to manage on-device CPU resources for robotics applications. Catan provides a high-level interface for app developers to specify their requirements without worrying about low-level system configuration knobs. Our evaluation, using 2D navigation as a case-study shows (i) Scheduling decisions impact a robot’s performance (e.g., its ability to avoid collisions, the freshness of sensor data that it reacts to). (ii) It is important to adapt scheduling decisions over time – Catan is able to do so by dynamically re-solving the schedule. (iii) It is important to adapt to sudden fine-grained variability in resource usage – Catan is able to do so via priority based stealing. Catan therefore lowers the barrier (in terms of systems expertise and engineering effort) for developing high-performance robotics apps, and could enable achieving higher performance on resource-constrained platforms. ACKNOWLEDGEMENTS This work was supported by Intel, AG NIFA under grant 2021-67021-34418, the Applications Driving Architectures (ADA) Center, a JUMP Center co-sponsored by SRC and DARPA, the DARPA DSSOC program, and NSF under grant 2120464.
Publisher Copyright:
© 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - Robots have to take highly responsive real-time actions, driven by complex decisions involving a pipeline of sensing, perception, planning, and reaction tasks. These tasks must be scheduled on resource-constrained devices such that the performance goals and the requirements of the application are met. This is a difficult problem that requires handling multiple scheduling dimensions, and variations in computational resource usage and availability. In practice, system designers manually tune parameters for their specific hardware and application, which results in poor generalization and increases the development burden. In this work, we highlight the emerging need for scheduling CPU resources at runtime in robot systems. We use robot navigation as a case-study to understand the key scheduling requirements for such systems. Armed with this understanding, we develop a CPU scheduling framework, Catan, that dynamically schedules compute resources across different components of an app so as to meet the specified application requirements. Through experiments with a prototype implemented on ROS, we show the impact of system scheduling on meeting the application's performance goals, and how Catan dynamically adapts to runtime variations.
AB - Robots have to take highly responsive real-time actions, driven by complex decisions involving a pipeline of sensing, perception, planning, and reaction tasks. These tasks must be scheduled on resource-constrained devices such that the performance goals and the requirements of the application are met. This is a difficult problem that requires handling multiple scheduling dimensions, and variations in computational resource usage and availability. In practice, system designers manually tune parameters for their specific hardware and application, which results in poor generalization and increases the development burden. In this work, we highlight the emerging need for scheduling CPU resources at runtime in robot systems. We use robot navigation as a case-study to understand the key scheduling requirements for such systems. Armed with this understanding, we develop a CPU scheduling framework, Catan, that dynamically schedules compute resources across different components of an app so as to meet the specified application requirements. Through experiments with a prototype implemented on ROS, we show the impact of system scheduling on meeting the application's performance goals, and how Catan dynamically adapts to runtime variations.
UR - http://www.scopus.com/inward/record.url?scp=85146325889&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85146325889&partnerID=8YFLogxK
U2 - 10.1109/IROS47612.2022.9982085
DO - 10.1109/IROS47612.2022.9982085
M3 - Conference contribution
AN - SCOPUS:85146325889
T3 - IEEE International Conference on Intelligent Robots and Systems
SP - 11296
EP - 11303
BT - IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2022
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2022
Y2 - 23 October 2022 through 27 October 2022
ER -