Tuned pipes: end-to-end throughput and delay guarantees for USB devices
Files
Accepted manuscript
Date
2018-01-01
Authors
Golchin, Ahmad
Cheng, Zhuoqun
West, Richard
Version
OA Version
Accepted manuscript
Citation
Ahmad Golchin, Zhuoqun Cheng, Richard West. 2018. "Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices." 2018 39TH IEEE REAL-TIME SYSTEMS SYMPOSIUM (RTSS 2018). 39th IEEE Real-Time Systems Symposium (RTSS). Nashville, TN, 2018-12-11 - 2018-12-14. https://doi.org/10.1109/RTSS.2018.00037
Abstract
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.