Sense-react systems (e.g. robotics and AR/VR) 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 scheduling problem that requires handling multiple scheduling dimensions, and variations in 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 sense-react systems. We study three canonical applications (face tracking, robot navigation, and VR) to first understand the key scheduling requirements for such systems. Armed with this understanding, we develop a 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 a widely-used robotics framework (ROS) and an open-source AR/VR platform, we show the impact of system scheduling on meeting the performance goals for the three applications, how Catan is able to achieve better application performance than hand-tuned configurations, and how it dynamically adapts to runtime variations.
翻译:智能反应系统(例如机器人和AR/VR)必须采取高度反应迅速的实时行动,由涉及感测、感知、规划和反应任务管道的复杂决定驱动。这些任务必须安排在资源限制装置上,以便达到性能目标和应用程序的要求。这是一个难以安排的问题,需要处理多个排期层面,以及资源使用和可用性的差异。在实践中,系统设计者为其具体硬件和应用手工调制参数,导致不全面化和增加发展负担。在这项工作中,我们强调正在需要将CPU资源安排在运行时的感官反应系统。我们研究三种卡星应用(面跟踪、机器人导航和VR),以便首先了解这些系统的关键排期要求。根据这种理解,我们开发一个排期框架,即Catan,动态排程将不同应用程序的不同组成部分的资源进行编组,以满足规定的应用要求。通过在广泛使用的机器人框架(ROS)和开放源的AR/VR平台上执行的原型模型的实验,我们展示了三种系统性能如何实现动态配置,我们展示了三个系统性应用的变换到如何实现动态目标。