Chromium and Parallel Rendering PDF Print E-mail

Should I care about Chromium?  What are its advantages and disadvantages?  

If applications are using Chromium does that mean they are just as fast as EnSight DR? 

EnSight 8.2 supports several types of parallel rendering for increased performance, increased display resolution, and virtual reality.  EnSight Gold supports shared-memory parallel rendering, which is limited to a single EnSight client and up to 36 screens. EnSight DR supports distributed-memory parallel rendering, which allows multiple EnSight clients running on one or more workstations to combine rendering results to support high-resolution and/or high-performance rendering to 1 or more screens.

Distributed-memory
Distributed-memory parallel rendering allows the user to combine the capability of multiple high-performance graphics pipes (in either a shared-memory machine or cluster configuration) in various ways.  The following brief descriptions of the distributed rendering methods will help you decide which approach is best for different applications.  It is quite likely that a user of EnSight DR will need to use different parallel rendering configuration in different circumstances.
 
Compositing

Parallel compositing enables users with an extremely large amount of visible geometry to distribute the client-side computation and rendering among multiple CPUs and GPUs in either a shared-memory machine or a cluster of workstations. The final result is an image in the EnSight rendering window that is indistinguishable from a standard EnSight client running on a single workstation, but at much higher performance.

Pros:  

  • very-high polygon rates (Billions of triangles / sec)
    scalable client memory and computation   
  • ability to render remotely and view locally

Cons:   

  • frame-rate cap dependent on network bandwidth   
  • resolution limited to a single workstation display


Summary: Compositing is for users working in a desktop environment who have large data that overwhelms the capability of a single workstation, in terms of memory, processing power, and/or rendering performance.  Note that compositing is not an application for ganging together dozens of old workstations that have no other use - compositing itself requires fast processors and a fast network in order to achieve any measure of scalability.

Replication
Replication is a distributed rendering strategy for users with data of moderate size which can be rendered on a single workstation at acceptable frame-rate, who are looking to increase display resolution or render to multi-screen virtual reality and/or stereo displays.

In replication mode each render node loads the full visible geometry, and each node is configured to render a different portion of the display. Replication has the absolute highest possible frame rate for distributed rendering, because the rendering performed by each node is completely independent.

Pros:

  • highest frame-rate option
  • unlimited resolution for multi-screen walls and VR


Cons:

  • not scalable in compute or rendering performance
  • aggregate memory requirement are higher than for compositing


Replication with Compositing
Replication can be combined with compositing when the features of replication and the performance of compositing are required.  As in the basic replication scenario, multiple render nodes are configured to render to multiple screens.  For each 'N' screens, some number of additional render nodes 'M' are designated to increase performance and lower the per-node memory requirements. The total amount of replicated data is the same as in the basic replicated case - the data is replicated N times, but each copy is distributed over M nodes, for an effective memory requirement of 1/M per node.

Pros:

  • high polygon rates
  • scalable client memory and computation


Cons:

  • higher hardware costs (M x N nodes)



Chromium
Chromium is a very flexible cluster rendering toolkit that allows the user to specify via a configuration file how the geometry and/or images from EnSight are transferred over the network and reassembled to one or more displays.  In this mode, EnSight is largely unaware of what happens to the geometry that it renders.  Depending on the Chromium configuration, the behavior may be similar to any of the other distributed rendering techniques discussed.  Chromium can potentially render in some configurations, which are currently not possible in with EnSight alone, such as rendering to a display wall without requiring the application to replicate the data.  In reality the performance of this mode can vary, because geometry still has to find it's way to the actual display nodes in the form of OpenGL commands.

Pros:

  • user-extensible
  • flexible rendering and display configurations
  • native support for Myrinet and SDP (Infiniband) communication


Cons:

  • Performance and scalability are highly dependent on the configuration, and certain modes may not perform or scale well at all.
  • Communication at the network layer is serial and can cause bottlenecks when rendering from M clients to N screens.
  • When display lists are transmitted through Chromium to a tiled display, the display lists have to be cached on the rendering node.  As a scene is transformed, these display lists may effectively cause the entire scene to be loaded on a single node, which is counter to the goals of cluster computing.
  • Immediate mode rendering can incur a high cost.


While Chromium, overall, works pretty well and can be configured to display to almost any environment in relatively short time, it is an open-source package with known limitations and limited support.

Please note that Chromium is not a CEI product and is not controlled by CEI.  No guarantee is made that Chromium will perform as advertised. We will make every effort to make EnSight conform to the Chromium API where required, but in some cases there may be Chromium features which do not work with EnSight.  There is commercial support for Chromium through Tungsten Graphics, including a proprietary version of Chromium that addresses some of the limitations of the open source version.

It is also possible to use Chromium in an application-transparent mode, by intercepting the OpenGL calls from a *single* application.  In particular it is quite easy to configure Chromium to take the OpenGL calls from one node and distribute them over a display wall.  This is similar in theory to replication mode, but note that the application
is *not* running in parallel, so the OpenGL stream from the application is serial.  This mode of Chromium can be useful for application that are not parallel in nature, but due to the performance and scaling limitations, this mode is not supported by EnSight DR.

 

valid xhtml? | valid CSS?

Joomla Templates by Joomlashack