Submission information
Submission Number: 41
Submission ID: 67
Submission UUID: ef1695db-4193-42e1-a7e0-64f4571f7205
Submission URI: /form/project
Created: Thu, 06/11/2020 - 17:12
Completed: Thu, 06/11/2020 - 17:15
Changed: Thu, 11/18/2021 - 09:12
Remote IP address: 96.252.12.25
Submitted by: Chris Herdman
Language: English
Is draft: No
Webform: Project
Project Title | Using distributed computing to equilibrate Monte Carlo simulations |
---|---|
Program | Northeast |
Project Leader | Chris Herdman |
cherdman@middlebury.edu | |
Mobile Phone | |
Work Phone | |
Mentor(s) | Adrian Del Maestro |
Student-facilitator(s) | Brendan Philbin |
Mentee(s) | |
Project Description | Monte Carlo simulations often can take advantage of HPC hardware by using embarrassingly parallel workloads. However, these algorithms must first equilibrate from their initial state before useful statistical samples can be generated. In simulations of certain physical systems (especially those with "glassy" dynamics) this equilibration processes is one of the most computationally demanding parts of the calculation, yet cannot easily benefit from parallelization without communication between tasks. This project will involve implementing the "population annealing" method to speed up the equilibration process of a Monte Carlo code. The implementation of population annealing will use distributed computing techniques, in particular using MPI, to allow the equilibration process to take advantage of a large number of CPU cores in an HPC environment. |
Project Deliverables | --Implementation of the population annealing method in a path integral Monte Carlo code --An distributed computing implementation of population annealing using MPI --Benchmarking the population annealing based equilibration method on a computer cluster |
Project Deliverables | |
Student Research Computing Facilitator Profile | Brendan Philbin, Middlebury College |
Mentee Research Computing Profile | |
Student Facilitator Programming Skill Level | |
Mentee Programming Skill Level | |
Project Institution | Middlebury College |
Project Address | |
Anchor Institution | NE-University of Vermont |
Preferred Start Date | 06/11/2020 |
Start as soon as possible. | No |
Project Urgency | Already behind3Start date is flexible |
Expected Project Duration (in months) | |
Launch Presentation | |
Launch Presentation Date | |
Wrap Presentation | |
Wrap Presentation Date | |
Project Milestones |
|
Github Contributions | |
Planned Portal Contributions (if any) | |
Planned Publications (if any) | |
What will the student learn? | --Monte Carlo algorithms --running jobs on an HPC cluster --distributed computing using MPI --the population annealing method in Monte Carlo |
What will the mentee learn? | |
What will the Cyberteam program learn from this project? | |
HPC resources needed to complete this project? | Access to a HPC computer cluster |
Notes | |
What is the impact on the development of the principal discipline(s) of the project? | |
What is the impact on other disciplines? | Monte Carlo methods are widely used across a wide range of disciplines. Many applications of Monte Carlo have slow equilibration dynamics that severely limit the efficacy of the method. Population annealing is a broadly applicable algorithm that can be used in many other Monte Carlo applications. Many of these applications can benefit from an MPI population annealing which can be massively parallelized. |
Is there an impact physical resources that form infrastructure? | |
Is there an impact on the development of human resources for research computing? | Through their work on this project, the student developed expertise in Monte Carlo methods and using MPI for parallelization. These skills have a wide array of applications in the student’s future career in research computing. |
Is there an impact on institutional resources that form infrastructure? | |
Is there an impact on information resources that form infrastructure? | |
Is there an impact on technology transfer? | |
Is there an impact on society beyond science and technology? | |
Lessons Learned | |
Overall results | The population annealing algorithm displayed substantially faster equilibration, thus allowing for more efficient Monte Carlo sampling of the physical system. While ordinary Monte Carlo algorithms can be easily parallelized as an “embarrassingly parallel” workload, each independent process must independently equilibrate to statistically decorrelate from other processes; if this equilibration is slow, then there is a substantial computational inefficiency in the algorithm, despite the parallelization. By implementing population annealing in MPI, a parallel implementation can speed up the equilibration across the parallel job. This project demonstrated the efficacy of this approach via an implementation of MPI based population annealing in the Ising spin glass, a widely studied statistical model. |