The Design, Implementation and Evaluation of SMART: A Scheduler for Multimedia Applications

Ph.D. Thesis, Department of Electrical Engineering, Stanford University, June 1999


Multimedia applications are becoming ubiquitous. Unlike conventional interactive and batch applications, these applications often have real-time requirements. As multimedia applications are integrated with conventional non-real-time applications in the general- purpose computing environment, the problem arises of how to support the resulting mix of activities. A key question is how does the operating system schedule processor cycles to enable applications with and without real-time requirements to co-exist and run effectively? To address this question, we have created SMART, a Scheduler for Multimedia And Real- Time applications. SMART explicitly supports the time constraints of real-time applications, and provides dynamic feedback to these applications to allow them to adapt their performance based on the availability of processor cycles. It is unique in its ability to make efficient use of processor cycles in meeting real-time requirements under a dynamically varying system load, even in the absence of admission control policies when the system is overloaded. SMART integrates support for real-time and non-real-time applications. This allows it to provide uniform controls that allow users to prioritize or proportionally allocate processor cycles across all applications, regardless of whether or not they have real-time requirements. SMART achieves this behavior by reducing this complex resource management problem into two decisions. One based on importance determines the overall resource allocation for each activity. The other based on urgency determines when each activity is given its allocation. SMART provides a common importance attribute for both real-time and conventional activities based on priorities and weighted fair queueing. SMART then uses an earliest-deadline urgency mechanism to order when activities are serviced, allowing iv real-time activities to make the most efficient use of their resource allocations to meet their time constraints. A bias on batch activities accounts for their ability to tolerate more varied service latencies. This improves performance for interactive and real-time activities during periods of transient overload. We have implemented SMART in a commercial operating system and measured its performance against other schedulers in executing applications with and without real-time requirements, including continuous media, interactive, and batch applications. Our results demonstrate SMART’s ability to provide superior performance for multimedia applications.



Columbia University Department of Computer Science