Plugging I/O Resource Leaks in General Purpose Real-Time Systems

I/O services provided by general-purpose operating systems and commodity hardware are designed for achieving high average-case performance without worrying about timing constraints. A common trend is to use such components to build systems that expect to meet timing constraints in order to function...

Full description

Bibliographic Details
Other Authors: Stanovich, Mark J. (authoraut)
Format: Others
Language:English
English
Published: Florida State University
Subjects:
Online Access:http://purl.flvc.org/fsu/fd/FSU_migr_etd-9460
Description
Summary:I/O services provided by general-purpose operating systems and commodity hardware are designed for achieving high average-case performance without worrying about timing constraints. A common trend is to use such components to build systems that expect to meet timing constraints in order to function properly. The area of real-time (RT) theoretical analysis provides techniques for designing such a system to meet timing constraints, however, the optimizations used for average-case performance do not lend themselves to real-time (RT) theoretical analysis techniques. The most common approaches for dealing with this problem on general-purpose systems is to either disable optimizations in order to apply RT analysis techniques or to forego applying any RT analysis. Neither of these approaches tends to work well. Disabling optimizations often results in poor performance that can support only a fraction of the average-case workload. On the other hand, foregoing RT analysis does not take advantage of very powerful techniques to design a system to meet timing constraints. The thesis of this dissertation is that optimizations for providing I/O service on general purpose systems can be leveraged while still taking advantage of theoretical techniques that have been developed over the past several decades. By capitalizing on average-case optimizations, a general-purpose system is able to support a wider spectrum of I/O timing constraints and increase system-wide performance, which includes applications that do not specify timing constraints. This dissertation describes a journey to develop a new approach that indirectly overrides scheduling optimizations when timing constraints might be in jeopardy. The distinguishing characteristic of this approach is that fewer scheduling decisions are required in comparison to the rigid micro-management style typically encountered in RT systems. This flexibility in scheduling provides a practical means to achieve high average-case performance while guaranteeing time constrained I/O service. Therefore, a larger number and broader range of time constrained applications can be supported as compared to existing approaches. Contributions of this dissertation include the following: (1) measurement techniques to obtain workload models amenable to existing RT theoretical analysis, (2) throttling approach to indirectly control built-in hardware scheduling optimizations for meeting time constrained I/O service, (3) modified aperiodic scheduling algorithm to reduce the effect of CPU context switching overhead incurred when providing I/O service, and (4) novel scheduling algorithm and subsequent analysis to balance throughput and response time depending on requested RT I/O guarantees. These contributions are demonstrated on an actual system using a general-purpose operating system and commodity hardware. === A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy. === Spring Semester, 2015. === April 13, 2015. === I/O, Real-Time === Includes bibliographical references. === Theodore P. Baker, Professor Co-Directing Dissertation; An-I Andy Wang, Professor Co-Directing Dissertation; Emmanuel G. Collins, University Representative; Piyush Kumar, Committee Member.