Collage is a cross-platform C++ library for building heterogenous, distributed applications. Among other things, it is the cluster backend for the Equalizer parallel rendering framework. It provides an abstraction of different network connections, peer-to-peer messaging, node discovery, synchronization, and high-performance, object-oriented, versioned data distribution. It is designed for low-overhead multi-threaded execution, which allows applications to easily exploit multi-core architectures.