Equalizer
VizSIG Meeting, October 2006
Stefan Eilemann
http://www.equalizergraphics.com/documents/EqualizerVizSIG06.pdf
Outline
• High performance visualisation (HPV)
• Equalizer
• Programming interface
• Resource management
• Future components
HPV
• Transparent and semi-transparent
solutions
• Programming interfaces
• Scene graphs
• Generic middleware
HPV Transparent Solutions
• Chromium, ModViz VGP, OMP
• Operate on OpenGL command stream
• Programming extensions for improved
performance and scalability (semi-
transparent)
• HPC analogy: auto-parallelising
compilers
Scene Graph API’s
• ScaleViz, Vega Prime, VTK, OpenSG
• Impose overall programming model
and data structure
• Best for developing new applications
• HPC analogy: CFD codes
Generic HPV Middleware
• Cavelib, VRJuggler, MPK
• Limited to HPV-critical areas of the
code
• Best for porting existing applications
• HPC analogy: MPI, PVM
Equalizer
A Programming Interface
and
Resource Management System
for
Scalable Graphics Applications
Equalizer Programming Interface
Applications are written against a client library
which abstracts the interface to the execution
environment
• Minimally invasive programming approach
• Abstracts multi-processing, synchronisation
and data transport
• Supports distributed rendering and performs
frame compositing
Equalizer Programming Interface
C++ classes which correspond to graphic entities,
e.g.:
• Node – a single computer in the cluster
• Pipe – a graphics card and rendering thread
• Window – an OpenGL drawable
• Channel – a viewport within a window
Equalizer Programming Interface
Application subclasses and overrides methods,
e.g.:
• Channel::draw – render using the provided frustum,
viewport and range
• Window::init – init OpenGL drawable and state
• Pipe::startFrame – update frame-specific data
• Node::init – initialise per node application data
Default methods implement typical use case
Resource Management System
Applications are deployed by a server which
balances the resource usage across the system
• Cen