MolDRIVE, Molecular Dynamics in a Real-time Immersive Virtual Environment

"a virtual environment for visualization and steering of real-time molecular dynamics simulations"

Description

We have developed a system named MolDRIVE , which represents a virtual environment for visualization and steering of real-time molecular dynamics simulations. MolDRIVE is in fact a visualization and computational steering environment with an interface to several MD simulation programs, which run in parallel on remote supercomputers.

http://visualisation.tudelft.nl/~michal/thesis/projects/moldrive_img.jpg

Currently, it uses DEMMPSI [Beckers, 1999; Web-MD-demmpsi] and also Gromacs [Web-MD-gromacs]. Remote simulations allow the high performance graphics workstation, to fully concentrate on the visualization part of the process and larger systems can be visualized. The MolDRIVE system layout is shown in Figure 4.39. TheMD simulation, in this case DEMMPSI, runs remotely on parallel supercomputers such as a CRAY T3E (128 proc.), an SGI 1100/1200 Beowulf Linux cluster (54 proc.) or an SGI Origin 2000 (8 proc.). Gromacs is not running in parallel using MPI yet; the version used supports only PVM.

MolDRIVE System Components

The simulation server is a thread-based program, which communicates simultaneously through TCP/IP sockets with each MD simulation node on the supercomputer. The simulation server runs on an SGI Onyx2. At each time step the server transmits a data request of the visualization client to each simulation node. Each node handles this request and sends the simulation data back to the server. This data is then placed in shared memory. The system architecture allows transmission of user interactions back to the simulation. The visualization client also runs on the SGI Onyx2. The RWB visualization client is implemented using the RWB-Library [Koutek & Post, 2002; Web-RWBlib] and is based on Iris Performer and OpenGL. It runs in parallel on all 4 processors of the Onyx2 to maximize the speed of the visualization pipeline and to keep up with the interactive visualization frame rates. The visualization client creates a graphical representation of the simulated system and updates the particle position, forces and velocity vectors. It can also visualize the derived grid data from the simulation, such as particle densities, potentials, kinetic energy, etc. Through the 3D GUI the user has access to several visualization and steering tools. Shared memory is used to communicate and exchange simulation and communication data between the visualization client and the simulation server. The MolDRIVE manager reads an XML configuration file with the description of the simulation and the visualization environment. It initializes the shared memory data structures. It also activates and controls the RWB visualization client and the simulation clients (through the simulation server). The shared memory consists of particle data, such as position, velocity and forces, grid data such as particle density or potential, and the communication data, which are used to steer the simulation and to get feedback data. We use double buffering to speed up the data throughput. The control data is used to manage the read and write access from both visualization client and simulation server to the shared memory. RWB visualization client reads the data from the read buffer, while the simulation server fills in the write buffer with simulation data for the next time step. When both have finished the MolDRIVE manager switches the pointers and tells to the visualization client that new data is ready.

Another benefit of this method is that it reduces the effects of network latency. A small disadvantage is that during particle steering the write buffer is filled with simulation data which are one step behind. For the MolDRIVE system, we use a Na+-?-alumina simulation as an example, which runs in real time at reasonable frame-rates, up to 24 Hz, depending on the number of particles in the simulated system and the complexity of inner system relations and interactions. This Na+-?-alumina electrolyte is studied because of its fast ionic conduction properties. We usually run this simulation on up to 8 nodes in parallel on the supercomputer. The simulation speed scales up quite acceptably with the number of processors. DEMMPSI uses domain decomposition of problem space; thus, each processor has to simulate only the particles which fall within its sub-domain. In case of long range interaction forces with particles from other sub domains communication with other simulation nodes takes place. For systems containing 2000 up to 4500 particles, we have found experimentally that 8 nodes seems to be an optimal number for DEMMPSI. If more processors are used, communication between the computational nodes slows down the whole simulation. From our experience, if the refresh rate does not drop much below 8 Hz, we can still interactively perform the particle steering even with a system containing more than 2000 particles. On top of the MolDRIVE system we have implemented three particle steering methods, which we will describe in the following three sections.

Additional information

To read the full story see: http://visualisation.tudelft.nl/~michal/thesis/thesis/thesis_72dpi.pdf

Projects/MolDrive (last edited 2010-06-21 14:53:22 by localhost)