Next: Milestones Up: Dec99-08 Design ReviewEfficient MPEG Previous: Assumptions and limitations

Technical approach

The technical approach for this project can be clearly divided into four sections. The first is the hardware. An operating system runs on top of the hardware. Next comes an environment for developing parallel applications. The final layer is the actual application.

The foundation for this project is a cost effective hardware approach. The price of outdated hardware falls rapidly. Although the MPEG-1 video compression algorithm is computationally intense, it is a highly parallel process. This means that, unlike most other processes, the workload for this task can be easily divided among a number of computers working at the same time. The implication is that a network of inexpensive hardware that is unsuitable for most applications can be effectively used to perform the compression. For this project, 6-10 PC's based on the Intel 486 processor will be used. The same idea holds for the networking hardware itself. By using outdated 10 Megabit networking hardware, acceptable performance can be achieved at a fraction of the price of the most recent products.

Of the operating systems that are available for PC's, Linux was chosen to be the most practical. Linux provides better support for networking than the Microsoft alternatives. Also, a range of toolkits for developing distributed applications will compile under Linux. Finally, it is free.

Several distributed application development environments were considered. These can be broken down into two broad categories. In the shared memory approach, each computer on the network accesses a shared data storage area as if it were its own. The Linda environment is one implementation of this approach. The second approach, notably represented by PVM (Parallel Virtual Machine) and MPI (Message Passing Interface) is called message passing. In this approach, each computer controls its own data. When two computers need to communicate, the data is sent by one computer and received by another. It was decided that message passing more closely matched the architecture required for this project. Furthermore, the more full featured nature of PVM made it more attractive than the lower level interface provided by MPI.

A group of researchers at the University of California-Berkeley has developed an efficient software based MPEG-1 video encoder based on reference code provided by MPEG's inventors. This code is freely available. For this project, that code will be used as a reference point which will be expanded, adapted, and optimized. This base can be updated through the application of research that has occurred since that program was written. However, due to the complexities of algorithms that compose the encoding process, as much code as possible will be reused.



Next: Milestones Up: Dec99-08 Design ReviewEfficient MPEG Previous: Assumptions and limitations