Real­Time USB Communication in the Quest Operating System Eric Missimer, Ye Li, Richard West USB Scheduling Problem CAN bus style, high bandwidth, interconnect for distributed embedded systems ● ● Future cyber-physical applications ● ● ● Objectives ● Predictable data stream processing from different devices, e.g. different cameras QoS guarantees on communication channels sharing physical network links ● ● Request 1 2 Given a set of tuples: (w1, t1), (w2, t2), ..., (wn, tn) wi - time to send transaction i, depends on packet size and type of transaction ti - interval of transaction i, can either be: 1, 2, 4, 8, 16, 32, ...,1024 Request 2 3 Request 3 4 Request 4 (All Interval = 2) 5 Transactions cannot cross micro-frame (125µs) boundaries Reordering Point 6 Given a set of tuples is there an assignment such that all transactions obey their interval and do not cross micro-frame boundaries ● ● 1 Microframe # Motivations BU Operating Systems and Services 0µs Time in Microframe 125µs Figure 2: Dynamic Reordering Example Quest heuristic: sort ti by smallest to largest breaking ties using largest w i first Experimental Evaluation Applications ● Automotive systems ● Avionics ● Robotics ● Cyber-physical systems Figure 7: Bandwidth Allocation Experimental Setup Figure 1: RacerX Buggy Figure 3: Maximum Throughput Figure 4: Dynamic Reordering of Transactions Main Contributions OS Quest Linux Guarantee bandwidth allocations when opening connections with communication endpoints ● Table 1: Bandwidth Allocation Results Dynamically reorder transfer requests to avoid unnecessary rejections along with a USB scheduling algorithm that outperforms implementations such as those found in Linux ● Provide real-time guarantees for both asynchronous and periodic transfers References ● ● ● Tokens Third Tokens Passed Beagleboard Passed With Without Isoc Third Third Endpoints Beagleboard Beagleboard Opened 1499 1499 5 1499 300 7 Figure 6: Quest vs. Linux (First-Fit) USB Scheduling Figure 5: Real-Time Asynchronous Transactions http://www.cs.bu.edu/~richwest/quest.html Eric Missimer, Ye Li and Richard West, "Real-Time USB Communication in the Quest Operating System", in Proceedings of the 19th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Philadelphia, USA, April 2013