Collage  1.4.0
High-performance C++ library for developing object-oriented distributed applications.
Collage Documentation

Table of Contents


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. Collage provides an abstraction of different network connections, peer-to-peer messaging, node discovery, synchronization and high-performance, object-oriented, versioned data distribution. Collage is designed for low-overhead multi-threaded execution which allows applications to easily exploit multi-core architectures.

The API documentation can be found on As with any open source project, the available source code, in particular the unit tests provide a reference for developing applications.

Technical questions can be posted to the Equalizer Developer Mailing List, or directly to

Commercial support, custom software development and porting services are available from Eyescale. Please contact for further information.


Collage provides different levels of abstraction to facilitate the development distributed applications:

  • Network Connections: stream-oriented point-to-point and reliable multicast connections for TCP/IP, InfiniBand RDMA, UDT, events, named and anonymous pipes, memory buffers and reliable multicast over UDP.
  • Peer-to-Peer Messaging: Endian-safe node-to-node message communication with thread-aware message dispatch.
  • Synchronization: Distributed barriers and synchronous messaging.
  • Object data distribution: high-performance, object-oriented, versioned data distribution for C++ objects based on delta serialization.
  • Detailed Changelog


Collage is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. Collage uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:

  • Linux: Ubuntu 14.04, RHEL 6.6 (Makefile, Ninja)
  • Windows: 7 (Visual Studio 2012)
  • Mac OS X: 10.8 (Makefile, Ninja)

Building from source is as simple as:

git clone
mkdir Collage/build
cd Collage/build
cmake ..