A Stream Processing Approach to Interactive Graphics on Clusters of Workstations

Greg Humphreys, 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)