The University of Arizona, Department of Computer Science
NetTV
Overview
NetTV is a Scout-based network appliance that decodes and displays MPEG-compressed
video streams. Each video stream is implemented by a Scout path that runs
from the network device driver to the video frame buffer. NetTV includes
a graphical user interface that allows the user to interactively control
each video, for example, the video's frame rate and picture quality. Changing
a video's visual aspects affects how resources are allocated to the path
that carries the video. In effect, NetTV allows the user to see
Scout paths in action.
Here is a screenshot
of Scout running NetTV and rlogin.
Research Goals
- Paths. As the first network appliance developed in Scout, NetTV
(playing multiple video streams) has been the driving application in developing
Scout paths.
- Scheduling. Understanding how to schedule paths so that each
video meets its deadlines, especially when the system is operating under
load, is a central research problem of NetTV. We are developing a scheduling
mechanism that simultaneously supports soft-real time, I/O-bound best-effort,
and CPU-bound best-effort paths.
- Paths and Windows. Integrating paths and the window manager
has been a major challenge in Scout. Our goal is to support a fully functional
window manager (e.g., clipping, window hierarchy) in a way that allows
us to define paths to have direct access to the video frame buffer. Towards
this end, we have developed WIMP (Window Manager with Paths),
which is both rich enough to support the AWT toolkit, yet grants a video
path access to the frame buffer with a minimum of interference.
- End-to-End Paths. Scout paths are defined within a single system,
but in as much as a path can be viewed as an extension of a network connection,
it makes sense to think of paths on an end-to-end basis (i.e., from the
source OS, across the network, to the destination OS). NetTV, along with
NetCAM, provide an opportunity to develop such
end-to-end paths. The key issues are: the interplay of CPU scheduling and
network flow control; and how the application (video, in this case) adopts
to changing conditions. How the user specifies the collection of modules
along the end-to-end path is also of interest.
Router Graph
NetTV supports video paths that run from the network device driver (TULIP)
to the video frame buffer (TGA). In between, each path includes standard
Internet protocols (UDP and IP), an end-to-end flow control protocol (MFLOW),
the window manager (WIMP), and of course, the MPEG decompression protocol.
MPEG and MFLOW are interesting because they follow the Application Level
Framing design principle, that is, they work in integral numbers of MPEG
macro blocks. Finally, the NETTV router can be thought of as the Scout
equivalent of an application. It controls the graphical interface and calls
Scout's primitive path operations to be sent up the MPEG data path.
Status
- The MPEG data path works, although additional research is being done
with MFLOW.
- NETTV currently runs directly on top of WIMP. An AWT-based version,
written in Java, is in progress.
- The graphical interface supports tuning controls which, when the MPEG
data path uses the Proportional Share scheduler, adjust the CPU share allocated
to the path.
- Scout currently supports EDF, Priority-based, and Proportional Share
scheduling policies, with a fixed percentage of the CPU allocated to
each.
- We are developing a dynamic scheduler called BERT that can
seamlessly mix realtime and best-effort paths. BERT will be included
in a future release of Scout.
Papers
[OSDI96] D. Mosberger and L. Peterson.
Making Paths Explicit in the Scout Operating System. Proceedings of
OSDI '96 (October 1996). (PostScript)
[Bavi98a]
Andy Bavier, Brady Montz, and Larry Peterson.
Predicting MPEG Execution Times.
Proceedings of SIGMETRICS '98 (June 1998).
[Bavi98b]
Andy Bavier, Larry Peterson, and David Mosberger.
BERT: A Scheduler for Best-Effort and Realtime Paths.
Princeton University TR 587-98 (August 1998).
Contributors
[ Scout Home Page
|
Department Home Page ]
Send mail to:
scout@cs.arizona.edu
Last updated December 4, 1998