Multimedia applications such as video streaming and Voice over IP are becoming common today
with the tremendous growth of the Internet. General purpose operating systems thus are required to
support these applications. These multimedia applications have some timing constraints that need
to be satisfied for good quality. For example, video streaming applications require that each video
frame be decoded in time to be displayed every 33.3 milliseconds. In order to satisfy these timing
requirements, general purpose operating systems need to have fine-grained scheduling. Current
general purpose operating systems unfortunately are designed to maximize throughput to serve
traditional data-oriented applications and have coarse-grained scheduling and timers. Time
Sensitive Linux (TSL), designed by Goel, et al., solves this problem with fine-grained timers and
schedulers. The scheduler for TSL is implemented at a very low level. The controller that
implements the algorithm for resource allocation is implemented at a higher level. This controller
can easily be modified to implement new control algorithms.
Successful implementation of resource allocation to satisfy timing constraints of multimedia
applications requires two problems to be addressed. First, the resources required by the application
to satisfy the timing constraints should not exceed the total available resources in the system.
Second, the controller must adapt to changing needs of the applications and allocate enough
resources to satisfy the timing constraints of each application over time. The first problem has been
addressed elsewhere using intelligent data dropping with TSL. We focus on the second problem in
this thesis.
We design a proportion-period controller in this thesis for allocating CPU to multimedia video
applications with timing constraints. The challenges for the controller design include the coarse
granularity of the time-stamp markings of the video frames, the unpredictable decoding completion
times of the frames, the large variations in the decoding times of the frames, and the limit of the
control actuation to positive values. We set up the problem in a state space. We design a predictive
estimating controller to allocate the proportion of the CPU to a thread when its long term error is
small. When the decoding process is running behind by more than a certain threshold, we switch to
a different controller to drive the error back to a small value. This controller is the solution to a
dynamic optimization LQR tracking problem. / Graduation date: 2003
Identifer | oai:union.ndltd.org:ORGSU/oai:ir.library.oregonstate.edu:1957/31181 |
Date | 01 April 2003 |
Creators | Vahia, Varin |
Contributors | Shor, Molly H. |
Source Sets | Oregon State University |
Language | en_US |
Detected Language | English |
Type | Thesis/Dissertation |
Page generated in 0.002 seconds