High-performance C++ library for developing object-oriented distributed applications.
Collage is a cross-platform C++ library for building heterogenous, distributed applications. Among others, 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.
Collage provides different levels of abstraction to facilitate the development distributed applications:
Collage is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. It requires a C++11 compiler and uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:
Building from source is as simple as:
git clone https://github.com/Eyescale/Collage.git mkdir Collage/build cd Collage/build cmake -GNinja .. ninja