Task mapping and remapping strategies for parallel entity-level simulations

Research from virtually all fields of scientific study rely on properties of the systems on which the studies are based. Models enable researchers to reason about phenomena that are impractical to study with direct experimentation. As scientists continue to improve their understanding of the fundamental principles governing their disciplines, model-based research has flourished. The advent of modern computing, accompanied by the development of increasingly sophisticated models, enables computer simulation, a effective as collection of computer algorithms, a scientist can employ large-scale computing resources to simulate its behavior. Through the use of highly refined parallel computing techniques, computer simulation enables researchers to study increasingly complex systems in greater detail. The entity-level modeling approach is motivated by the growing interest in emergent behaviors—the mechanisms by which collective dynamics of large populations emerge from individual behaviors. Entity-level models are based on the principle of explicitly describing the behavior of individual entities, rather than focusing on the aggregate behavior of an entire population. The utility of entity-level modeling has been recognized in numerous domains. Unfortunately, traditional computer simulation techniques are insufficient to realize efficient entity-level simulation applications. This dissertation addresses the challenges of simulating entity-level models on parallel and distributed computing platforms. We first describe an application template to represent the structure of entity-level models in a domain-independent fashion. We then identify two specific challenges generally associated with entity-level simulation. First, we describe task mapping strategies to cope with the problem of irregular work distribution inherent to entity-level simulations. Second, we identify application non-determinism as an impediment to sustainable application performance and demonstrate dynamic task remapping techniques to overcome this challenge. We use the template to study these issues in the context of two exemplar applications, from the fields of immunology and ecology. Our results demonstrate that template-aware strategies are able to effectively address the application performance challenges due to irregularity and non-determinism.