Speed-FX has produced the first European 'personal supercomputer' designed for the digital film and media industries. The first implementation (which was publicly launched at NAB in Las Vegas, 18-21 April 2004), combines 8 dual-processor 'nodes', capable of processing, manipulating, combining and display in real time multiple moving image streams of 2048 x 1556 pixels (2K) or single streams of 4096 x 3112 pixels (4K), handling data streams of 1.6 Gigabytes/second at 4K. It is easily expandable to configurations with a bandwidth in excess of 6Gigabytes/second and 200 Gflops/second.. The hardware architecture employs a host together with a cluster of 4 to up to 32 nodes, each comprising a standard twin-processor PC, graphics card and RAID drives combined in a novel way that overcomes the well-known limitations of the standard PC (or PC cluster) with its i/o data bottlenecks for disks, network and graphics. The Speed-FX architecture 'stripes' the image data stream, so that each 'node' of the cluster processes a fraction of the frame (1/4 in a four-node system, 1/16th in a 16-node model). In this way, each PC processes an amount of data equivalent to standard definition video, while the system as a whole operates on the large image sizes required by the motion picture industry.
To make this possible, a parallel processing framework with a simple application programming interface (API) had to be developed, a parallel file system driver and a novel means of combining and synchronising the image 'stripes' from standard graphics cards. Two patent applications relating to the video combiner have been filed. The video combiner allows the dynamic display of multiple windows with independent zoom utilising standard graphics card capability despite separation of the image into stripes, giving the user a completely familiar application experience without additional latency or restrictions in the use of the display. The Speed-FX software components are; - Parallel Computation Framework -- the low level functionality used by all of the Speed-FX code to support communication, parallel I/O and the creation of objects on the cluster.
It uses a simple, highly efficient protocol optimised for low latency, real time parallel computing. - Parallel File system - gives access to the parallel file system as a standard Unix file system. This is implemented as a user level file system driver on top of a standard xfs file system. - Renderer -the control system to perform the rendering of an individual image. The system uses a series of plug-ins that can be executed on either a standalone machine or in parallel on a cluster, the plug-ins being identical in either case. This offers huge benefits for integrating third party image processing functionality as it avoids the well known parallel processing pitfalls. - Parallel Render Control -- provides high-level access to the rendering functionality. This includes the multi-threaded pre-emptive scheduling for fully interactive operation. - Parallel Output System -provides the ability to control the display of images and arbitrary graphics on the nodes of the cluster. It contains an OpenGL serialiser and the zoom/window control. It easily allows the interactive drawing of overlays and cursors. - Baselight film grading application, in a parallel version of the software application, which in its stand-alone version has already been used on a number of major feature films. - Software plug-ins for 'digital day-for-night,' damage repair based on Inpainting, line scratch detection and texture-based repair.
Funding SchemeCSC - Cost-sharing contracts
WC1B 3ST London
2825-114 Monte Da Caparica