EpiSimdemics

With an increasingly urbanized and mobile population, the likelihood of a worldwide pandemic is increasing. With rising input sizes and strict deadlines for simulation results, e.g., for real-time planning during the outbreak of an epidemic, we must expand the use of high performance computing (HPC) approaches and, in particular, push the boundaries of scalability for this application area. EpiSimdemics simulates epidemic diffusion in extremely large and realistic social contact networks. It captures dynamics among co-evolving entities. Such applications typically involve large-scale, irregular graph processing, which makes them difficult to scale due to irregular communication, load imbalance, and the evolutionary nature of their workload.

Simulating contagion over dynamic networks

EpiSimdemics is a collaborative project between PPL and Virginia Tech to create a Charm++ version of EpiSimdemics. The challenges presented by this code are that the contagion model has small granularity with negligible FLOPs and a high relative ratio of communication and data IO to computation. The overarching goal here is to study how Charm++ can be applied to this kind of simulation to create an application suitable for Petascale machines. To this end, we developed an implementation of EpiSimdemics in Charm++ that enables future research by social, biological and computational scientists at unprecedented data and system scales. We also developed new methods for application-specific processing of graph data and demonstrated the effectiveness of these methods on the Cray XE6 of Blue Waters, and IBM Blue Gene/Q of Vulcan. Some of the salient features of charm++ that are used by the EpiSimdemics code are: Completion detection/Quiescence detection mechanism, Topological Routing and Aggregation Module, Charm++ SMP mode, and Interoperation with MPI IO. Projections tool was and is extensively used for identifying the scalability bottlenecks.

Papers / Talks