Resumen:
|
Monte Carlo models provide a non-deterministic ap-proach to reproduce complex and computationally ex-pensive mathematical expressions by using probabilisticmodels and random numbers [1]. They convey severaldifferent techniques, among them, Metropolis MonteCarlo [2] and Kinetic Monte Carlo are probably the mostknown. Whereas Metropolis Monte Carlo has many ap-plications in engineering, statistics and finance [3–5],Kinetic Monte Carlo (KMC) arises as a variation of theMonte Carlo method that pays special attention to thetime evolution of a system [6, 7]. Such an approach ismainly used in Physics and related sciences [8, 9]. Givena number of mechanisms and the rate at which suchmechanisms take place, the KMC algorithm provides atemporal evolution of the system which can be com-bined with a discrete description of its spatial evolu-tion. There are several examples of applications of thismethod. To name a few, we can consider atom diffusionon a substrate [10], vacant diffusion in alloys [11], andepitaxial growth of different solids [12].Since KMC is by definition a sequential algorithm,the parallelization procedure to scale up simulation sizesand times is problematic. To deal this with issue, manyparallel processing approaches have been studied usingthe Single Program, Multiple Data (SPMD) technique inFlynn’s Taxonomy classification. There are two main re-search approaches in parallel KMC: asynchronous andsynchronous.Asynchronous KMC consists in decomposing thesample into several subgroups running in asynchronoustiming, with additional global methods for monitoringthe simulation coherence. The main advances in this ap-proach were a result of the research by Lubachevsky [15]for KMC simulation of Ising spin systems. This work byLubachevsky was the basis of the hybrid asynchronousalgorithm presented by Y. Shim [16], later improved byChen et al. [17
|