title: Optimizing agent-based transmission models for infectious diseases.
abstract: BACKGROUND
  Infectious disease modeling and computational power have evolved such that large-scale agent-based models (ABMs) have become feasible. However, the increasing hardware complexity requires adapted software designs to achieve the full potential of current high-performance workstations.
  
  
  RESULTS
  We have found large performance differences with a discrete-time ABM for close-contact disease transmission due to data locality. Sorting the population according to the social contact clusters reduced simulation time by a factor of two. Data locality and model performance can also be improved by storing person attributes separately instead of using person objects. Next, decreasing the number of operations by sorting people by health status before processing disease transmission has also a large impact on model performance. Depending of the clinical attack rate, target population and computer hardware, the introduction of the sort phase decreased the run time from 26% up to more than 70%. We have investigated the application of parallel programming techniques and found that the speedup is significant but it drops quickly with the number of cores. We observed that the effect of scheduling and workload chunk size is model specific and can make a large difference.
  
  
  CONCLUSIONS
  Investment in performance optimization of ABM simulator code can lead to significant run time reductions. The key steps are straightforward: the data structure for the population and sorting people on health status before effecting disease propagation. We believe these conclusions to be valid for a wide range of infectious disease ABMs. We recommend that future studies evaluate the impact of data management, algorithmic procedures and parallelization on model performance.
authors.affiliation: Centre for Health Economics Research & Modeling of Infectious Diseases, Vaccine and Infectious Disease Institute, University of Antwerp, Antwerp, Belgium. lander.willem@uantwerp.be.|Modeling of Systems And Internet Communication, Department of Mathematics and Computer Science, University of Antwerp, Antwerp, Belgium. lander.willem@uantwerp.be.|Interuniversity Institute for Biostatistics and statistical Bioinformatics, Hasselt University, Hasselt, Belgium. lander.willem@uantwerp.be.
authors.forename: Lander
authors.initials: L
authors.lastname: Willem
authors.affiliation: Modeling of Systems And Internet Communication, Department of Mathematics and Computer Science, University of Antwerp, Antwerp, Belgium. sean.stijven@uantwerp.be.|Department of Information Technology, Ghent University-iMinds, Ghent, Belgium. sean.stijven@uantwerp.be.
authors.forename: Sean
authors.initials: S
authors.lastname: Stijven
authors.affiliation: HPC core facility CalcUA, Computational Mathematics, University of Antwerp, Antwerp, Belgium. engelbert.tijskens@uantwerp.be.
authors.forename: Engelbert
authors.initials: E
authors.lastname: Tijskens
authors.affiliation: Centre for Health Economics Research & Modeling of Infectious Diseases, Vaccine and Infectious Disease Institute, University of Antwerp, Antwerp, Belgium. philippe.beutels@uantwerp.be.|School of Public Health and Community Medicine, The University of New South Wales, Sydney, Australia. philippe.beutels@uantwerp.be.
authors.forename: Philippe
authors.initials: P
authors.lastname: Beutels
authors.affiliation: Centre for Health Economics Research & Modeling of Infectious Diseases, Vaccine and Infectious Disease Institute, University of Antwerp, Antwerp, Belgium. niel.hens@uhasselt.be.|Interuniversity Institute for Biostatistics and statistical Bioinformatics, Hasselt University, Hasselt, Belgium. niel.hens@uhasselt.be.
authors.forename: Niel
authors.initials: N
authors.lastname: Hens
authors.affiliation: Modeling of Systems And Internet Communication, Department of Mathematics and Computer Science, University of Antwerp, Antwerp, Belgium. jan.broeckhove@uantwerp.be.
authors.forename: Jan
authors.initials: J
authors.lastname: Broeckhove
mesh_terms: D000465:Algorithms; D003141:Communicable Diseases / Q000453:epidemiology*; D003198:Computer Simulation; D003201:Computers / Q000706:statistics & numerical data*; D018562:Disease Transmission, Infectious; D004812:Epidemiologic Methods; D006801:Humans; D015994:Incidence; D008962:Models, Theoretical; D012984:Software