| Literature DB >> 26031500 |
Lander Willem1,2,3, Sean Stijven4,5, Engelbert Tijskens6, Philippe Beutels7,8, Niel Hens9,10, Jan Broeckhove11.
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.Entities:
Mesh:
Year: 2015 PMID: 26031500 PMCID: PMC4450454 DOI: 10.1186/s12859-015-0612-2
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.169
Fig. 1Social contact structure. People are member of a household cluster and the corresponding home district at night. During daytime, people can stay at home or go to a school or workplace in a day district.
Fig. 2Model design: classes and compositions. The digits represent the number of links that are possible. E.g., the Area can have 1 or many (*) Cluster objects, but a Cluster can only be part of 1 Area. The models differ in the implementation of the grey classes: FLUTE has less Cluster types in Area and the Population in SID does not contain Person objects.
Population statistics. Legend: [min - max] and (median)
| Name | Nassau, New York | Brooklyn, New York |
|---|---|---|
| Ages | [0 – 94] years | [0 - 94] years |
| Day districts | 386 | 630 |
| Home districts | 656 | 1231 |
| Day clusters | 140 861 | 183 451 |
| Households | 448 519 | 916 831 |
| Population size | 1 313 103 | 2 463 651 |
| Household size | [1 - 18] (3) | [1 - 16] (2) |
| Day cluster size | [1 - 25 339] (1) | [1 - 62 962] (2) |
| Home district size | [1565 – 2009] (2002) | [660 - 2 013] (2002) |
| Day district size | [1071 - 26 458] (2021) | [1370 - 62 962] (2002) |
Fig. 3Run time according to attack rate and population structure for Nassau simulations using FRED. Structured population: sorted according to day cluster (first) and household (second).
Fig. 4Attack rates for Nassau simulation using R 0 = 1.4 and seeding rate = 1e −4 according to implementation (top) and population structure (bottom). Results from 10 simulations. The original population structure is used to compare implementations (top) and FRED to compare population structures (bottom). Box: upper and lower quartile, wisker: minimum and maximum excluding outliers, circle: outliers (>1.5x interquartile range), […]: structured population e.g., [Day, Household] represents populations sorted according to day cluster (first) and household (second).
Timings for Nassau simulations with different population structures
| Population structure | FLUTE | FRED | SID |
|---|---|---|---|
| Randomized | 108 | 91 | 95 |
| Original RTI sequence | 101 | 94 | 92 |
| [ | 94 | 86 | 87 |
| [Household, Day ] | 93 | 80 | 87 |
| [ | 89 | 80 | 82 |
| [Day, Household ] | 81 | 69 | 78 |
Results in seconds with R 0 = 1.4 and seeding rate = 1e −4 (AR = ±62%). E.g., [Day, Household] represents populations sorted according to day cluster (first) and household (second)
Profiling results for Brooklyn simulations
| FLUTE | FRED | SID | ||||
|---|---|---|---|---|---|---|
| Basic | Sort | Basic | Sort | Basic | Sort | |
| Randomized population | ||||||
| - Branch instructions | 0.29 | 0.14 | 0.23 | 0.07 | 0.18 | 0.07 |
| - Data access | 1.85 | 0.99 | 2.12 | 0.97 | 1.69 | 0.78 |
| - LLC misses | 0.14 | 0.14 | 0.27 | 0.48 | 0.13 | 0.29 |
| - Run time (s) | 229 | 114 | 237 | 103 | 222 | 102 |
| [Day, Household ] population | ||||||
| - Branch instructions | 0.26 | 0.14 | 0.22 | 0.07 | 0.17 | 0.07 |
| - Data access | 1.23 | 0.85 | 1.42 | 0.67 | 0.66 | 0.35 |
| - LLC misses | 0.05 | 0.07 | 0.12 | 0.25 | 0.04 | 0.12 |
| - Run time (s) | 168 | 103 | 188 | 94 | 147 | 88 |
Results with R 0 = 1.4 and seeding rate = 1e −4 (AR = ±62%). All metrics, except run time, are given in LCPI: local cycles per instruction. LLC: last level cache. [Day, Household] populations are sorted according to day cluster (first) and household (second)
Fig. 5Speedup according to attack rate and epidemic seeding rate using FLUTE (basic) with 4 threads. All simulations were performed with a structured Brooklyn population sorted according to day cluster and household using dynamic scheduling with workload chunks of 1 cluster.
Fig. 6Speedup according to thread number and scheduling for Brooklyn simulations using SID. Results are shown for the basic and sort algorithm with dynamic and static parallel scheduling using workload chunk size of 1 and 10 clusters. All simulations were performed with a structured population sorted according to day cluster and household with R 0 = 1.4 and seeding rate of 1e −2 (AR = ±64 %).