Parallelization of a Dynamic Monte Carlo Algorithm: a Partially Rejection-Free Conservative Approach
G. Korniss, M. A. Novotny, and P. A. Rikvold (Florida State U.)

TL;DR
This paper presents a massively parallel, rejection-free Monte Carlo algorithm for simulating metastable decay in kinetic Ising models, demonstrating improved performance over traditional methods on distributed-memory architectures.
Contribution
It introduces a partially rejection-free, asynchronous parallel implementation of the n-fold way algorithm applicable to stochastic cellular automata, with performance benefits shown for large spin blocks.
Findings
The parallel algorithm outperforms the Metropolis method for large spin blocks.
It effectively handles asynchrony and causality in distributed-memory systems.
Application to ferromagnetic/ferroelectric films demonstrates practical utility.
Abstract
We experiment with a massively parallel implementation of an algorithm for simulating the dynamics of metastable decay in kinetic Ising models. The parallel scheme is directly applicable to a wide range of stochastic cellular automata where the discrete events (updates) are Poisson arrivals. For high performance, we utilize a continuous-time, asynchronous parallel version of the n-fold way rejection-free algorithm. Each processing element carries an lxl block of spins, and we employ the fast SHMEM-library routines on the Cray T3E distributed-memory parallel architecture. Different processing elements have different local simulated times. To ensure causality, the algorithm handles the asynchrony in a conservative fashion. Despite relatively low utilization and an intricate relationship between the average time increment and the size of the spin blocks, we find that for sufficiently large…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
