A Stream Processing Approach to Interactive Graphics on Clusters of
Ph.D. dissertation, Stanford University, July 2002.
Recent advances in VLSI technology have made it possible to implement the
entire graphics pipeline on a single chip. This departure from monolithic
multi-chip graphics systems has made high performance 3D graphics inexpensive
and commonplace. Despite the very high performance achievable on a modern
graphics accelerator, these systems have serious scalability limitations.
Typically their performance or utility is limited by the serial interface
between the host processor and the graphics subsystem, or the limited output
resolution they provide. In this thesis, we examine the potential for
constructing scalable graphics systems from multiple such graphics accelerators
housed in nodes of a cluster of off-the-shelf workstations.
The system we present, called Chromium, uses the notion of stream
processing to achieve scalability while retaining maximal flexibility.
Using Chromium's building blocks, parallel graphics systems can be build that
scale in both output resolution and input rate. In addition, because the
graphics commands being manipulated conform to industry-standard 3D graphics
API, Chromium can use unmodified programs as stream sources, allowing existing
applications to be retargeted to new display environments transparently. By
using a standard API, existing serial applications can often be parallelized
with very little effort. Chromium provides extensions to this API to allow
parallel applications to constrain the order of execution of their commands
with respect to those of their peers.
PDF Format (538 Kb)