Distributed Systems for Computer Graphics
Computer graphics has yet to take advantage of the large-scale distributed systems of the past decade. With the exception of rendering, few graphics systems today are distributed. Instead, they run on powerful servers or, in the best case, a small cluster. Algorithms are designed for single hosts because distributing them is extremely hard. Unlike big data systems, which can logically partition data across keys, graphical systems typically have much more complex dependencies which are hard to distribute. However, the locality in these systems is not arbitrary, as it is typically bound to to a geometric representation of the problem. We are researching large-scale distributed systems that take advantage of this implicit locality to provide real-time, high performance graphics whose scale cannot be served by a few hosts. This research involves virtual world services such as queries and lookup, content simplification designed to load over a wide area network, and a runtime for distributed simulation. The Sirikata Project is designing and implementing an architecture for the virtual worlds of the future. Virtual worlds today exhibit properties that prevent success similar to applications such as the Web: they scale poorly, have centralized control, or cannot be easily extended. Our work focuses on solving the scalability challenges of virtual worlds by making geometric and physically based constraints an integral part of our architecture. Moreover, we address the issues of federation and extensibility by carefully separating the components of a virtual world, allowing each component to develop independently. Serving a virtual world over a wide area network involves not only new distributed, geometric lookup services, but also new content conditioning and optimization pipelines. The Nimbus project, in collaboration with the PhysBAM team at Stanford, is enabling modern graphics simulations to run on the computing cloud.
This work is funded by the National Science Foundation (NeTS-ANET Grants #0831163 and #0831374) and conducted in conjunction with the Intel Science and Technology Center -- Visual Computing.