A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.

Slides:



Advertisements
Similar presentations
Dynamic Generation of Data Broadcasting Programs for Dynamic Generation of Data Broadcasting Programs for a Broadcast Disk Array in a Mobile Computing.
Advertisements

February 20, Spatio-Temporal Bandwidth Reuse: A Centralized Scheduling Mechanism for Wireless Mesh Networks Mahbub Alam Prof. Choong Seon Hong.
I/O Management and Disk Scheduling
Hadi Goudarzi and Massoud Pedram
Energy Efficiency through Burstiness Athanasios E. Papathanasiou and Michael L. Scott University of Rochester, Computer Science Department Rochester, NY.
1 IK1500 Communication Systems IK1330 Lecture 3: Networking Anders Västberg
Chapter 101 Cleaning Policy When should a modified page be written out to disk?  Demand cleaning write page out only when its frame has been selected.
1. Overview  Introduction  Motivations  Multikernel Model  Implementation – The Barrelfish  Performance Testing  Conclusion 2.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Muhammad Mahmudul Islam Ronald Pose Carlo Kopp School of Computer Science & Software Engineering Monash University, Australia.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Ncue-csie1 A QoS Guaranteed Multipolling Scheme for Voice Traffic in IEEE Wireless LANs Der-Jiunn Deng 、 Chong-Shuo Fan 、 Chao-Yang Lin Speaker:
Modifying the SCSI / Fibre Channel Block Size Presented by Keith Bonneau, John Chrzanowski and Craig O’Brien Advised by Robert Kinicki and Mark Claypool.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (4) File Management & Input/Out Systems 10/14/2008 Yang Song (Prepared.
End-to-End Analysis of Distributed Video-on-Demand Systems P. Mundur, R. Simon, and A. K. Sood IEEE Transactions on Multimedia, Vol. 6, No. 1, Feb 2004.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Fair Scheduling in Web Servers CS 213 Lecture 17 L.N. Bhuyan.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
Figure 1.1 Interaction between applications and the operating system.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
Device Management.
Evaluating System Performance in Gigabit Networks King Fahd University of Petroleum and Minerals (KFUPM) INFORMATION AND COMPUTER SCIENCE DEPARTMENT Dr.
Computer Organization and Architecture
Device Management. Serial Port Serial Device Serial Device Memory CPU Printer Terminal Modem Mouse etc.
EstiNet Network Simulator & Emulator 2014/06/ 尉遲仲涵.
USB host for web camera connection
Page 19/17/2015 CSE 30341: Operating Systems Principles Optimal Algorithm  Replace page that will not be used for longest period of time  Used for measuring.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Microprocessor-based Systems
Network Aware Resource Allocation in Distributed Clouds.
1 Adaptive QoS Framework for Wireless Sensor Networks Lucy He Honeywell Technology & Solutions Lab No. 430 Guo Li Bin Road, Pudong New Area, Shanghai,
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,
Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Utilizing Call Admission Control for Pricing Optimization of Multiple Service Classes in Wireless Cellular Networks Authors : Okan Yilmaz, Ing-Ray Chen.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
BR 6/001 Universal Serial Bus Universal Serial Bus is a new synchronous serial protocol for low to medium speed data transmission Full speed signaling.
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
Computer Networks with Internet Technology William Stallings
Platform Architecture Lab USB Performance Analysis of Bulk Traffic Brian Leete
Muhammad Mahmudul Islam Ronald Pose Carlo Kopp School of Computer Science & Software Engineering Monash University, Australia.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Cello A Disk Scheduling Framework for Next Generation Operating Systems – Prashant J. Shenoy and Harrick M. Vin Presented by Evan Clark September 8, 2003.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 30 – Media Server (Part 5) Klara Nahrstedt Spring 2009.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
“A cost-based admission control algorithm for digital library multimedia systems storing heterogeneous objects” – I.R. Chen & N. Verma – The Computer Journal.
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
Efficient Resource Allocation for Wireless Multicast De-Nian Yang, Member, IEEE Ming-Syan Chen, Fellow, IEEE IEEE Transactions on Mobile Computing, April.
Author Utility-Based Scheduling for Bulk Data Transfers between Distributed Computing Facilities Xin Wang, Wei Tang, Raj Kettimuthu,
A Cluster Based On-demand Multi- Channel MAC Protocol for Wireless Multimedia Sensor Network Cheng Li1, Pu Wang1, Hsiao-Hwa Chen2, and Mohsen Guizani3.
Page Buffering, I. Pages to be replaced are kept in main memory for a while to guard against poorly performing replacement algorithms such as FIFO Two.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Rate-Adaptive MAC Protocol in High-Rate Personal Area Networks Byung-Seo Kim, Yuguang Fang and Tan F. Wong Department of Electrical and Computer Engineering.
Chapter 8: Memory Management. 8.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 8: Memory Management Background Swapping Contiguous.
Is Virtualization ready for End-to-End Application Performance?
Chapter 2 Scheduling.
Chapter 11: File System Implementation
So far… Text RO …. printf() RW link printf Linking, loading
Main Memory Background Swapping Contiguous Allocation Paging
Device Mgmt © 2004, D. J. Foreman.
Device Mgmt © 2004, D. J. Foreman.
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Presentation transcript:

A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan

Contents: Introduction A Real-Time USB System Architecture A Real-Time USB Device Driver –Cyclic-Executive-Based Method –Period Modification Policy and Admission Control Performance Evaluation –Surveillance system prototype Conclusion

Introduction Computer systems are very modularized Various I/O devices can be connected to few common interfaces (SCSI, USB, IEEE-1394) Need for resource allocation no longer remains at the kernel I/O subsystems can provide QoS guarantee for applications Further, various subsystems are interconnected with proper interface definitions

Introduction (USB) USB supports many types of devices: –HID (keyboard, mouse) –Block devices (disks) –Stereo speakers, video cameras etc Data transfer modes on the USB bus: –Periodic (Isochronous, Interrupt transfers) –Aperiodic (Control, Bulk transfers)

Introduction (USB issues) Varying bandwidth requirement for different devices; interaction with USB host controllers vary. Example: –HID demands periodic, but light workload –Storage device requires best-effort-service from the corresponding host controller Also, the OS has to manage a number of USB devices at the same time; devices compete for limited bus bandwidth Hence management of USB bandwidth is important if QoS requirements are considered

Introduction (bandwidth reservation scheme) USB 1.1 bandwidth reservation scheme in each 1ms time frame (fig) No QoS guarantee for each device (i.e. lower bound on the number of bytes per device in a 1ms time frame); but upper bound exists Start of Frame

Introduction (Main idea of this paper) A real-time USB driver architecture, in which a bus bandwidth reservation and scheduling mechanism is proposed to reserve and allocate USB bandwidth according to QoS requirements Design a real-time scheduling layer inside the USB driver to let the system comply with the USB specifications

A Real-Time USB System Architecture Device driver hierarchy of the USB subsystem USB subsystems on Linux is a layered architecture Provides a better abstraction of USB device drivers; hence kernel has a transparent view over the devices USB Core functions: –provides a set of consistent, abstracted API’s to the upper-level client drivers –Translates requests by device drivers into host-controller-awared data structures

A Real-Time USB System Architecture (Queue list structure) The USB communication channel Queue list structure of the OHCI USB Schedule

A Real-Time USB System Architecture (some significant terms) Transfer descriptors (TD): Data structures constructed by the OS to manage devices; USB host controller exercises TDs Endpoint descriptor (ED): Present at the head of TD list for each device; records the transfer info abt the device (device # of the host controller) USB Schedule: Memory resident table handled by the host controller; consists of a number of queues of TDs

A Real-Time USB System Architecture (USB communication channel) For bulk, control data transfers, host controller maintains a pointer to the head of the TD list, for each type For interrupt data transfers, the subsystem maintains 32 interrupt entries forming a tree structure List of TDs for isochronous transfers are hooked up at the root of the tree Each interrupt entry is visited every 32ms; all devices with a TD list are serviced b/w the interrupt entry and root within 1ms Isochronous queue will be serviced in every 1ms Done Queue: specifical queue for TDs after being serviced

A Real-Time USB Device Driver (Cyclic-Executive-Based method) Allocate USB bandwidth for USB devices Service requests of devices are intelligently hooked up on the tree structure based on their QoS requirements Propose period modification policy; corresponding admission control policy to determine if the system can satisfy the QoS requirements of new, existing requests Scheduling of ED/TD’s; Insertion of ED/TD’s into queues such that the USB protocol overheads are minimized

A Real-Time USB Device Driver (Period modification, Admission control) Period modification: move and modify all EDs to the root node Linux USB OHCI driver restricts periodic service requests to a set of fixed periods(1, 2, 4…..32ms) Comparison of two USB driver architecture. (a) Original USB driver architecture. (b) Real-time USB driver architecture.

A Real-Time USB Device Driver (Period modification, Admission control) The tree structure of the TD lists determines the frequencies of the traversing of nodes on paths to the root; device is serviced in 1ms corresponding to the path. 32 leaf nodes; 63 internal/leaf nodes; 63 different nodes to hookup EDs. Nodes at i th level are serviced at every 2 i ms. When ED is moved from any node to root node extra protocol overheads will occur Ex: 50 byte transfer for per 16ms can be translated to [50/16] + overhead within 1ms

A Real-Time USB Device Driver (How to choose proper nodes to insert EDs?) Move and modify EDs to nodes of larger heights to minimize the protocol overheads and additional bandwidth requirements due to period modification policy. Follow two guidelines: –Destination node of an original ED, must have a polling period shorter than the period pi of the corresponding request (For a 4096byte; 8ms cam transfer, if data is not transferred within 8ms to OHCI, cam buffer may be overwritten) –Since 1500 bytes can be transferred within 1ms. Total number of bytes for the services of all EDs on a path < = 1500bytes

A Real-Time USB Device Driver (How to choose proper nodes to insert EDs?) Consider the original workload: T1 = (1400bytes; 2ms), T2 = (1400bytes; 2ms), and T3 = (120bytes; 2ms). New revised workload: T 1 ’ = (700bytes; 1ms), T 2 ’ = (700bytes; 1ms), and T 3 ’ = (60bytes; 1ms) ED/TD reinsertion problem is a combinational problem (Greedy algorithm is used to solve this)

Performance Evaluation (Experimental Environments) USB based surveillance system (server, client architecture) Server managed several USB digital video cams Client- several PDA’s in a b n/w Two part experiment: –Part 1) Evaluated the effectiveness of bandwidth reservation method in terms of the number of accepted workloads and bandwidth utilizations –Part 2) Evaluated different workload configurations over the cyclic-executive-based scheduler to verify if the QoS requirements were satisfied or not.

Performance Evaluation (Part 1 of the experiment) - Request sets and metrics A number of workloads, with 20 requests per workload were generated to evaluate the performance of the admission control policy Periods of requests were among: –[1ms, 8ms], [8ms, 32ms], [1ms, 32ms] 1000 workloads for each period range Payload size of a request was determined based on utilization and period (USB bus was stressed to 93% capacity, excluding protocol overheads)

Performance Evaluation (Part 1 of the experiment) - Results Acceptance Ratio: Ratio of the number of accepted workloads to the total number of workloads Optimal Algorithm: Exhaustive-search-based which tries all possible combinations exhaustively to insert ED/TD’s into the polling binary tree Acceptance ratios under different period ranges

Performance Evaluation (Part 1 of the experiment) - Results Acceptance ratio of the admission control policy was close to that of the optimal algorithm when the period ranges are between [1, 8], [1, 32]ms. Because of protocol overheads (period transformation of admission control policy), admission control policy rejects more workloads when the period range is [16, 32]ms

Performance Evaluation (Part 1 of the experiment) – USB bandwidth utilizations Y-axis: bandwidth utilizations after the reinsertions of requests were done Root-Resident Utilization: USB bandwidth utilization assigned to a request. If request is moved away from root, RR Utilization can be reduced because of less protocol overheads

Performance Evaluation (Part 1 of the experiment) – Results Represents the amount of protocol overheads saving due to ED/TD reinsertion algorithm Saving was best achieved for longer periods of request [16, 32]ms Because of higher possibility in inserting the ED/TD’s of requests with long periods into nodes with lower levels of the polling tree

Performance Evaluation (Part 2 of the experiment) – Different workload configurations Evaluated the scheduler under two different workload configs; different polling periods, payload sizes, ratios of bandwidth utilizations (Table1, Sec 4.3.1) Two metrics: –Service time points of the two cameras –# of bytes received from each camera

Performance Evaluation (Part 2 of the experiment) – Results The distributions of service time points of each camera over time. The number of bytes received from a camera to the total number of bytes received from the two cameras.

Conclusions Paper proposed a cyclic-executive-based methodology to guarantee the QoS requirements of USB devices A bandwidth reservation algorithm to partition the available bandwidth Explore USB 2.0 (transfer rate of 480 bits/sec)