ABSTRACT

Department of Computer Science, University of Illinois at Urbana-Champaign

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2 Need for Biomolecular Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3 Parallel Molecular Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.4 NAMD’s Parallel Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.4.1 Force Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.4.2 Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.5 Enabling Large Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.5.1 Hierarchical Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.5.2 SMP Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5.3 Optimizing Fine-Grained Communication in NAMD . . . 70 4.5.4 Parallel Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.6 Scaling Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.7 Simulations Enabled by NAMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

The NAMD software, used by tens of thousands of scientists, is focused on the simulation of the molecular dynamics of biological systems, with the

Parallel Approach

primary thrust on all-atoms simulation methods using empirical force fields, and with a femtosecond time step resolution. Since biological systems of interest are of fixed size, efficient simulation of long time scales requires the application of fine-grained parallelization techniques so that systems of interest can be simulated in reasonable time. This need to improve the time to solution for the simulation of fixed sized systems drives the emphasis on “strong scaling” performance optimization that engendered this collaboration between physical and computer scientists.