Tuned Pipes: End-to-End Throughput and Delay Guarantees for USB Devices

Tuned Pipes: End-to-End Throughput and Delay Guarantees for USB Devices
复制标题

调谐管道:USB 设备的端到端吞吐量和延迟保证

DOI:
--
复制
发表时间:
2018
期刊:
IEEE Real-Time Systems Symposium
影响因子:
--
通讯作者:
R. West
R. West
中科院分区:
--
文献类型:
--
作者:
A. Golchin;Zhuoqun Cheng;R. West

文献摘要

被引文献

相似文献

实时计算中的一个基本问题是及时处理设备输入和输出。例如,控制系统可能需要以规则的速率对来自传感器的输入数据进行采样和处理,使得到致动器的输出信号在特定的延迟范围内发生。输入/输出(I/O)设备使用不同类型的总线接口连接到主机。当今使用的最流行的接口之一是通用串行总线(USB)。USB现在无处不在,部分原因是它支持许多类别的设备,简化了连接主机所需的硬件。然而,典型的USB主机控制器驱动程序遭受影响任务和设备之间的数据传递的潜在定时延迟。因此,本文介绍了调优管道,主机控制器驱动程序和系统框架,保证端到端的延迟和吞吐量的要求,I/O传输。我们扩展了我们早期的工作,涉及USB 2.0,以支持更高的带宽USB 3.x通信。作为一个案例研究,我们展示了USB控制器局域网(CAN)如何保证时间隔离和端到端的保证一组外围设备和主机任务之间的通信。使用Linux的类似USB-CAN总线设置无法实现相同级别的时间保证,即使在使用SCHED_DEADLINE时也是如此。
A fundamental problem in real-time computing is handling device input and output in a timely manner. For example, a control system might require input data from a sensor to be sampled and processed at a regular rate so that output signals to actuators occur within specific delay bounds. Input/output (I/O) devices connect to the host computer using different types of bus interfaces. One of the most popular interfaces in use today is the universal serial bus (USB). USB is now ubiquitous, in part due to its support for many classes of devices with simplified hardware needed to connect to the host. However, typical USB host controller drivers suffer from potential timing delays that affect the delivery of data between tasks and devices. Consequently, this paper introduces tuned pipes, a host controller driver and system framework that guarantees end-to-end latency and throughput requirements for I/O transfers. We expand on our earlier work involving USB 2.0 to support higher bandwidth USB 3.x communication. As a case study, we show how a USB-Controller Area Network (CAN) guarantees temporal isolation and end-to-end guarantees on communication between a set of peripheral devices and host tasks. A comparable USB-CAN bus setup using Linux is not able to achieve the same level of temporal guarantees, even when using SCHED_DEADLINE.