Oleksii Sliusarenko

 

I am a Ph.D. student in the Physics department working currently in a theoretical biophysics group (George Oster group). I am interested in simulations of bacterial pattern formation. All the work I have done using Matlab, but an increase in computer power is very beneficial for the application and I am thinking about a possibility of using a parallel computer for this application.

 

Since there are no result in the exact area obtained using parallel computers, I have chosen a different application for this homework, though related to our research group work.

 

 

Molecular Dynamics

 

What is Molecular Dynamics?

Molecular dynamics (MD) is currently a standard computational technique used in condensed matter physics, materials science, chemistry, structural biology, and other fields. This technique involves computing the temporal evolution of a system of N particles, interacting with each other by means of a certain law. In classical molecular dynamics, the evolution is based on the Newton's law, F=ma, and the forces are obtained as gradients of a certain potential which is function of all the particle coordinates.

Use of periodic boundary conditions is customary to simulate infinite systems. Thermodynamic variables such as pressure and temperature can be defined (even if they will fluctuate a bit because the number of particles is finite), and the technique can be used to study a large number of phenomena including phase transitions, liquid structure, defects in solids (vacancies, dislocations, grain boundaries, etc), amorphous materials, surfaces, clusters.

Typically, interactions are short range: two particles do not interact if their distance is larger than a certain cutoff distance (this does not mean that interactions should be pairwise: there can be many-body terms, but they are also typically local in space). This allows the researchers to create effective parallel algorithms for this problem.

Implementation.

Since the technique is used in a wide number of applications, we should stop only on general techniques, not on specific tasks solved. There are many software packages designed to target a wide range of MD applications, here is the list of some of them:

AMBER

GROMACS

NAMD

Performance

Many MD packages do good job in solving particle interactions on a short time scale. Though some researches are trying to use thus technique for enzymatic kinetics, the technique just reaches the level of being useful here.

There are few methods of comparing performance of MD packages. There is a benchmark for MD systems MDBNCH, the web page of the group shows the performance of some older systems. In addition the authors of different packages provide their results. Some results for GROMACS are shown here:

GROMACS benchmark

 

The DPPC membrane system from the GROMACS benchmark suite.
1024 DPPC lipids with 23 water molecules per lipid, totaling to 121856 atoms. A twin-range group based cut-off is used, 1.8 nm for electrostatics and 1.0 nm for Lennard-Jones interactions. The long-range contribution to electrostatics is updated every 10 steps. 5000 steps = 10ps. Time in minutes for the entire 10ps run.

 

No.

Processors

p1400

on Biowulf

galaxy

quasar

nimbus

1

179.4

623.0

-

-

2

65.4

280.0

-

-

4

75.2

147.0

-

-

6

68.1

92.0

-

57.3

8

57.2

75.0

57.4

-

10

63.5

64.0

48.0

-

12

90.3

55.4

40.3

-

14

95.1

48.3

39.2

-

16

100.0

37.5

-

-

 

An example of a computer system widely used for MD simulations is BioWulf, a 2030 processors Opteron / Xeon cluster at the National Institute of Health.

As we can see on the example of GROMACS running on BioWulf, the application is well scalable only to a few processors; though on some other machines the scaling is much better. The bottleneck could be rather irregular memory access since the particles in the computations do not stay in place, but constantly change the interaction members, this leads to an increase in data transfer between nodes; the problem is described on the MDBNCH website.