CONCLUSIONSIn this paper, we have presented OpenGL Multipipe SDK, atoolkit for parallel scalable rendering. MPK provides applicationswith a high-level abstraction to the system’s graphics resourceswhile making low-level optimizations behind the scenes. Unlikeapplication-transparent systems like ATI’s CrossFire, Nvidia’s SLIor Chromium, MPK requires parts of an application to be rewrittento take advantage of MPK’s advanced scalability features.This application-aware approach prevents the overhead incurred byapplication-transparent approaches to get better scalability.At the most generic level, an application only needs to deal withOpenGL rendering areas – i.e., channels – by providing the drawingcode to handle a channel of arbitrary configuration (frustum,location in larger display setup, etc.). Everything else is handledby MPK: the type of windowing system, the system architecture,the type and topology of the interconnect. The architecture as suchdoes not depend on the use of OpenGL.MPK’s flexible compound-based decomposition system can beconfigured to scale any kind of target applications. The compoundtraversal scheme implements new techniques to provide better scalabilityfor applications. The callback-driven programming modelcoupled with the frame-driven execution model of MPK is extremelyeasy to use and intuitive for OpenGL application developers.We have presented scalability results for a few commonly usedcompounds and shown how asynchronous composition and multilevelcompound heirarchies can be configured to scale applicationsby removing limitations inherent with certain compounds.
|