The first milestone was completely achieved. Given a pre-configured
network, the encoder ran correctly on three machines. The second milestone
was only partially achieved. The exact hardware desired for the project
could not be collected due to the accelerated pace of completion, but a
reasonable substitute was used instead. The encoder was modified to run
on that setup. The final milestone was also partially reached. One reason
that real-time encoding could not be achieved was the hardware compromises
that were made. However, given ideal hardware, real-time compression could
have been made possible. The project did not achieve real-time because
initial performance estimates (before the hardware and software were available
to make more exact predictions) were slightly off target. Quite simply,
it is impossible to add the speeds of each machine and assume that the
parallelization will create a "virtual machine" equivalent to the sum.
At completion, the parallel encoder performed at approximately 70% of real-time.
This is a substantial improvement over the original encoder which could
manage just under 10% of real-time.