Implementation, performance analysis and optimization of a molecular dynamics tree algorithm for large-scale cluster systems
Molecular Dynamics has been a field using the most advanced computer systems for decades to perform simulations. Sophisticated methods with complicated potentials and parallelized implementations have been developed starting from simple models and a few hundred atoms within one simulation in the beginning. Nowadays, we see an increasing need for large-scale parallel simulations in molecular dynamics. Computer simulations are a cost-effective research tool.
Furthermore, a shift to multi-core processors provides computer systems allowing a much higher degree of parallelism in applications. It is possible to use implementations on these systems, which are based on established programming models and techniques. Nevertheless, it is necessary to analyze the limitations of such implementations on significant larger systems then common until now. Such an analysis work is an important step to the development of new programming models that make efficient use of modern multi-core processors.
This thesis project has been focused on the implementation and performance analysis of a tree code that is an important algorithm for molecular dynamic simulations. The tree code algorithm has been parallelized for distributed memory computer systems using MPI. The load-balancing applies space-filling curves for work decomposition. The performance of the implementation was tested finally with input data covering a large range of parameters like the number of processors in the jobs and the number of particles per processor.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)