Introduction

EnSight, using an Enterprise (formerly HPC or gold) license key has the capability of dealing with spatially partitioned data or temporally decomposition in an efficient distributed manner by utilizing what we call a server-of-servers (SOS for short). An SOS server resides between a normal client and a number of normal servers. Therefore, it appears as a normal server to the client, and as a normal client to the various normal servers.

When reading spatially decomposed data (or when the decomposition is done on the fly), each server is responsible for only a portion of the geometry for all time. This is useful, for example, when the entire geometry for a single timestep simply cannot fit into one server on one machine. When the data is temporally decomposed, each server is responsible for all of the geometry but only at one timestep. This is useful, for example, when the entire geometry at one timestep fits on one server and you desire to pre-cache (read ahead) to other timesteps to speed up time changes.

This arrangement allows for distributed parallel processing of the various portions of a model or different portions of time, and has been shown to scale quite well.

Currently, EnSight SOS spatially decomposed capability is optimized for EnSight Gold, Plot3d, and some EnSight User-Defined Reader data formats. All data formats permit temporal decomposition.

For spatial decomposition, recognize that your data must be spatially partitioned in some manner (hopefully in a way that will be reasonably load-balanced) in order for this approach to be useful. This partitioning can be done externally, be done by a reader internally, or be auto_distributed by the EnSight servers. Each of these options for spatial decomposition will now be discussed, because they have limitations. Temporal decomposition will be discussed at the very end of this document.