BMC Bioinformatics (Jul 2022)

Optimize data-driven multi-agent simulation for COVID-19 transmission

  • Chao Jin,
  • Hao Zhang,
  • Ling Yin,
  • Yong Zhang,
  • Sheng-zhong Feng

DOI
https://doi.org/10.1186/s12859-022-04799-4
Journal volume & issue
Vol. 23, no. 1
pp. 1 – 14

Abstract

Read online

Abstract Background Multi-Agent Simulation is an essential technique for exploring complex systems. In research of contagious diseases, it is widely exploited to analyze their spread mechanisms, especially for preventing COVID-19. Nowadays, transmission dynamics and interventions of COVID-19 have been elaborately established by this method, but its computation performance is seldomly concerned. As it usually suffers from inadequate CPU utilization and poor data locality, optimizing the performance is challenging and important for real-time analyzing its spreading. Results This paper explores approaches to optimize multi-agent simulation for COVID-19 disease. The focus of this work is on the algorithm and data structure designs for improving performance, as well as its parallelization strategies. We propose two successive methods to optimize the computation. We construct a case-focused iteration algorithm to improve data locality, and propose a fast data-mapping scheme called hierarchical hash table to accelerate hash operations. As a result, The case-focused method degrades $$\sim 90 \%$$ ∼ 90 % cache references and achieves $$\times 4.3$$ × 4.3 speedup. Hierarchical hash table can further boost computation speed by 47%. And parallel implementation with 20 threads on CPU achieves $$\times 80$$ × 80 speedup consequently. Conclusions In this work, we propose optimizations for multi-agent simulation of COVID-19 transmission from aspects of algorithm and data structure. Benefit from improvement of locality and multi-thread implementation, our methods can significantly accelerate the simulation computation. It is promising in supporting real-time prevention of COVID-19 and other infectious diseases in the future.

Keywords