previous up next index
Previous: Resources and Timeline Up: Resources and Timeline Next: Resources

Deliverables

In order to defend my thesis, I intend on providing experimental results comparing the MagicEight programming model to a conventional one, and testing its performance across a range of systems. In order to quantify the overhead introduced by the MagicEight system, I propose showing the performance of a single processor system relative to a similar, conventionally programmed application (using relatively simple applications).

I also intend to provide results showing the performance of several test applications across a variety of system configurations. This will provide information about the scalability of the programming model, as well as the performance of the partitioning algorithms. In particular, the task partitioning proposed by the system may be compared to published ``optimal'' results.

The most complex test application I am contemplating is an implementation of multi-modal segmentation [11] with the goal of accurately tracking and segmenting people and other objects out of motion image sequences in real-time. Current implementations of this algorithm run 60 to 1000 times slower than real time on our fastest Alpha workstation, working with small (320x240) images. Accelerating this application will provide ample complexity for testing the MagicEight model, as well as enabling object-based applications that require accurate segmentation of people and other objects from complex scenes.

An implementation of the MagicEight system, along with ancillary tools, will be written in order to perform the above tests. This implementation is primarily intended for use with internetworked workstations, on top of a native OS. Supported platforms will be Compaq Alpha (running Digital Unix), Hewlett Packard HPPA (running HPUX), and Intel x86 and Motorola PPC (running Linux). If suitable specialized processors become available, their support will be attempted.

I'm not proposing to build a system that executes every program it is possible to write, just those programs which contain computational structures found in typical media applications. There are limitations to stream based programming -- discovering them is one reason to build such a system. Likewise, I'm not proposing to provide a pretty user interface to the intermediate data structures used to represent a MagicEight program.

The basic infrastructure of the MagicEight system software has already been written and tested in a heterogenous environment. The programmer's interface (between MagicEight programs and the system) has been defined, as have the internal data structures used to represent system element. The remaining work is that directly related to this thesis: developing and testing stream partitioning and scheduling algorithms for media tasks, and developing the test applications.


previous up next index
Previous: Resources and Timeline Up: Resources and Timeline Next: Resources

wad@media.mit.edu